package Ġcom . se an sh ub in . cond orc et . domain Ċ Ċ import Ġcom . se an sh ub in . cond orc et . domain . db . Bal lot Ċ import Ġcom . se an sh ub in . cond orc et . domain . db . Report Ċ import Ġcom . se an sh ub in . cond orc et . util . db . Transaction Function Ċ import Ġjava . time . Instant Ċ Ċ class ĠApi Wrapped In Db Transaction ( private Ġval Ġapi : ĠApi , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġt : ĠTransaction Function ) Ġ: ĠApi Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġlast Sync ed (): ĠInt Ġ= Ġapi . last Sync ed () ĊĊĠĠĠ Ġoverride Ġfun Ġlogin ( name Or Email : ĠString , Ġpassword : ĠString ): ĠCredentials Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . login ( name Or Email , Ġpassword ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister ( name : ĠString , Ġemail : ĠString , Ġpassword : ĠString ): ĠCredentials Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . register ( name , Ġemail , Ġpassword ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate E lection ( credentials : ĠCredentials , Ġelection Name : ĠString ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . create E lection ( credentials , Ġelection Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcopy E lection ( credentials : ĠCredentials , Ġnew E lection Name : ĠString , Ġelection To Copy Name : ĠString ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . copy E lection ( credentials , Ġnew E lection Name , Ġelection To Copy Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist E lection s ( credentials : ĠCredentials ): ĠList < E lection Summary > Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . list E lection s ( credentials ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget E lection ( credentials : ĠCredentials , Ġelection Name : ĠString ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . get E lection ( credentials , Ġelection Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdone Editing E lection ( credentials : ĠCredentials , Ġelection Name : ĠString ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . done Editing E lection ( credentials , Ġelection Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġend E lection ( credentials : ĠCredentials , Ġelection Name : ĠString ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . end E lection ( credentials , Ġelection Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Candidate Names ( credentials : ĠCredentials , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelection Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcandidate Names : ĠList < String >): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . set Candidate Names ( credentials , Ġelection Name , Ġcandidate Names ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset V ot ers ( credentials : ĠCredentials , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelection Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġel igible V oter Names : ĠList < String >): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . set V ot ers ( credentials , Ġelection Name , Ġel igible V oter Names ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset V ot ers To All ( credentials : ĠCredentials , Ġelection Name : ĠString ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . set V ot ers To All ( credentials , Ġelection Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist Bal lots ( credentials : ĠCredentials , Ġvot er Name : ĠString ): ĠList < Bal lot > Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . list Bal lots ( credentials , Ġvot er Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Bal lot ( credentials : ĠCredentials , Ġelection Name : ĠString , Ġvot er Name : ĠString ): ĠBal lot Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . get Bal lot ( credentials , Ġelection Name , Ġvot er Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcast Bal lot ( credentials : ĠCredentials , Ġelection Name : ĠString , Ġvot er Name : ĠString , Ġrank ings : ĠMap < String , ĠInt >): ĠBal lot Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . cast Bal lot ( credentials , Ġelection Name , Ġvot er Name , Ġrank ings ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset EndDate ( credentials : ĠCredentials , Ġelection Name : ĠString , ĠendDate : ĠInstant ?): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . set EndDate ( credentials , Ġelection Name , ĠendDate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Secret Bal lot ( credentials : ĠCredentials , Ġelection Name : ĠString , Ġsecret Bal lot : ĠBoolean ): ĠE lection Detail Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . set Secret Bal lot ( credentials , Ġelection Name , Ġsecret Bal lot ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġt ally ( credentials : ĠCredentials , Ġelection Name : ĠString ): ĠReport Ġ= Ġt . in Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġapi . t ally ( credentials , Ġelection Name ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ