package Ġit . mail . persistence . api Ċ Ċ import Ġit . mail . domain . Mail Message Ċ import Ġit . mail . domain . Mail Message Status Ċ import Ġit . mail . domain . Mail MessageType Ċ import Ġit . mail . domain . Mail MessageType State Ċ import Ġit . mail . domain . Slice Ċ import Ġjava . time . Instant Ċ Ċ interface ĠMail Message Repository Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġfind One WithType ById ( id : ĠLong ): ĠMail Message ? ĊĊĠĠĠ Ġsuspend Ġfun ĠfindAll WithType By Statuses And Sending Started Before ( statuses : ĠCollection < Mail Message Status >, Ġsending Started Before : ĠInstant ): ĠList < Mail Message > ĊĊĠĠĠ Ġsuspend Ġfun ĠfindAll Ids By Status In ( statuses : ĠCollection < Mail Message Status >): ĠList < Long > ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate ( mail Message : ĠMail Message ): ĠMail Message ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Message Status ( id : ĠLong , Ġstatus : ĠMail Message Status ): ĠInt ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Message Status And Sending Started Time ById And Status In ( ĊĠĠĠĠĠĠĠ Ġid : ĠLong , ĊĠĠĠĠĠĠĠ Ġstatuses : ĠCollection < Mail Message Status >, ĊĠĠĠĠĠĠĠ Ġstatus : ĠMail Message Status , ĊĠĠĠĠĠĠĠ Ġsending Started At : ĠInstant ĊĠĠĠ Ġ): ĠInt ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Message Status And Sent Time ( id : ĠLong , Ġstatus : ĠMail Message Status , Ġsent At : ĠInstant ): ĠInt ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Message Status Failed Count And Sending Started Time ( id : ĠLong , Ġstatus : ĠMail Message Status , Ġfailed Count : ĠInt , Ġsending Started At : ĠInstant ?): ĠInt Ċ } Ċ Ċ interface ĠMail MessageType Repository Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġfind ById ( id : ĠLong ): ĠMail MessageType ? ĊĊĠĠĠ Ġsuspend Ġfun ĠfindAll S liced ( page : ĠInt , Ġsize : ĠInt ): ĠSlice < Mail MessageType > ĊĊĠĠĠ Ġsuspend Ġfun Ġexists One WithName ( name : ĠString ): ĠBoolean ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate ( mail MessageType : ĠMail MessageType ): ĠMail MessageType ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Description And Max Retries Count ( id : ĠLong , Ġdescription : ĠString ?, Ġmax Retries Count : ĠInt ?): ĠInt ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate State ( id : ĠLong , Ġstate : ĠMail MessageType State ): ĠInt Ċ } Ċ