package Ġno . nav . ar be id sp lass en . import api . transfer log Ċ Ċ import Ġno . nav . ar be id sp lass en . import api . exception . Import ApiError Ċ import Ġno . nav . ar be id sp lass en . import api . exception . ErrorType Ċ import Ġno . nav . ar be id sp lass en . import api . dto . Transfer Log DTO Ċ Ċ import Ġjak arta . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠTransfer Log Service ( private Ġval Ġtransfer Log Repository : ĠTransfer Log Repository ) Ġ{ ĊĊĊĠĠĠ Ġfun Ġexists By Provider Id And Md 5 ( provider Id : ĠLong , Ġmd 5 : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoolean Ġ= Ġtransfer Log Repository . exists By Provider Id And Md 5 ( provider Id , Ġmd 5 ) ĊĊĠĠĠ Ġfun Ġsave ( dto : ĠTransfer Log DTO ): ĠTransfer Log DTO Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtransfer Log Repository . save ( dto . to Entity ()). to DTO () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠfindBy Version Id And Provider Id ( version Id : ĠLong , Ġprovider Id : ĠLong ): ĠTransfer Log DTO Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġtransfer Log Repository . findById And Provider Id ( version Id , Ġprovider Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse Throw { ĠImport ApiError (" Transfer Ġ$ version Id Ġnot Ġfound ", ĠError Type . NOT _ FOUND ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to DTO () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠfindBy Version Id ( version Id : ĠLong ): ĠTransfer Log DTO Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtransfer Log Repository . findById ( version Id ). orElse Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImport ApiError (" Transfer Ġ$ version Id Ġnot Ġfound ", ĠError Type . NOT _ FOUND ) ĊĠĠĠĠĠĠĠ Ġ}. to DTO () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠTransfer Log DTO . to Entity (): ĠTransfer Log Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTransfer Log ( provider Id Ġ= Ġprovider Id , Ġmd 5 Ġ= Ġmd 5 , Ġpayload Ġ= Ġpayload !! , Ġitems Ġ= Ġitems , Ġmessage Ġ= Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠTransfer Log . to DTO (): ĠTransfer Log DTO Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTransfer Log DTO ( version Id Ġ= Ġid !! , Ġmessage Ġ= Ġmessage , Ġstatus Ġ= Ġstatus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmd 5 Ġ= Ġmd 5 , Ġcreated Ġ= Ġcreated , Ġupdated Ġ= Ġupdated , Ġpayload Ġ= Ġpayload , Ġitems Ġ= Ġitems , Ġprovider Id Ġ= Ġprovider Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġres end ( version Id : ĠLong ): Transfer Log DTO Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreceived Ġ= Ġtransfer Log Repository . findById ( version Id ). orElse Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImport ApiError (" Transfer Ġ$ version Id Ġnot Ġfound ", ĠError Type . NOT _ FOUND ) ĊĠĠĠĠĠĠĠ Ġ}. copy ( status Ġ= ĠTransfer Log Status . RECE IVED ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtransfer Log Repository . save ( received ). to DTO () ĊĠĠĠ Ġ} Ċ Ċ } Ċ