/* Ċ Ġ* ĠRunner Be ĠÂ© Ġ 2 0 2 2 ĠTeam ĠApple M ango . Ġall Ġrights Ġreserved . Ċ Ġ* ĠRunner Be Ġlicense Ġis Ġunder Ġthe ĠMIT . Ċ Ġ* Ċ Ġ* Ġ[ aaa . kt ] Ġcreated Ġby ĠJ i ĠS ung bin Ġon Ġ 2 2 . Ġ 2 . Ġ 2 4 . Ġìĺ¤ ìłĦ Ġ 5 : 4 4 Ċ Ġ* Ċ Ġ* ĠPlease Ġsee : Ġhttps :// github . com / app lem ango - runner be / Runner Be - Android / blob / main / LICENSE . Ċ Ġ*/ Ċ Ċ package Ġteam . app lem ango . runner be . data . running item . repository Ċ Ċ import Ġteam . app lem ango . runner be . data . common . is Success NonNull Ċ import Ġteam . app lem ango . runner be . data . common . to Base Result Ċ import Ġteam . app lem ango . runner be . data . running item . constant . Not Y et Verify Code Ċ import Ġteam . app lem ango . runner be . data . running item . constant . Success Code Ċ import Ġteam . app lem ango . runner be . data . running item . mapper . to Domain Ċ import Ġteam . app lem ango . runner be . data . util . extension . require Successful Body Ċ import Ġteam . app lem ango . runner be . data . util . running Item Api Ċ import Ġteam . app lem ango . runner be . domain . running item . common . Base Result Ċ import Ġteam . app lem ango . runner be . domain . running item . model . running item . Running Item Ċ import Ġteam . app lem ango . runner be . domain . running item . model . running item . Running Item Api Body Data Ċ import Ġteam . app lem ango . runner be . domain . running item . model . running item . information . Running Item Information Ċ import Ġteam . app lem ango . runner be . domain . running item . repository . Running Item Repository Ċ Ċ class ĠRunning Item Repository Impl Ġ: ĠRunning Item Repository Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġwrite ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠĠĠĠĠ Ġitem : ĠRunning Item Api Body Data , ĊĠĠĠ Ġ): ĠBase Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . write ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . write Running Item ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . code Ġin ĠlistOf ( Success Code , ĠNot Y et Verify Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). to Base Result () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġload Items ( ĊĠĠĠĠĠĠĠ Ġitem Type : ĠString , ĊĠĠĠĠĠĠĠ Ġinclude End Items : ĠString , ĊĠĠĠĠĠĠĠ Ġitem Filter : ĠString , ĊĠĠĠĠĠĠĠ Ġdistance : ĠString , ĊĠĠĠĠĠĠĠ Ġgender : ĠString , ĊĠĠĠĠĠĠĠ Ġmin Age : ĠString , ĊĠĠĠĠĠĠĠ Ġmax Age : ĠString , ĊĠĠĠĠĠĠĠ Ġjob : ĠString , ĊĠĠĠĠĠĠĠ Ġlatitude : ĠFloat , ĊĠĠĠĠĠĠĠ Ġlongitude : ĠFloat , ĊĠĠĠĠĠĠĠ Ġkeyword : ĠString , ĊĠĠĠ Ġ): ĠList < Running Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . load Items ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Type Ġ= Ġitem Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude End Items Ġ= Ġinclude End Items , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Filter Ġ= Ġitem Filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ= Ġdistance , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ= Ġgender , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Age Ġ= Ġmin Age , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Age Ġ= Ġmax Age , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjob Ġ= Ġjob , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlatitude Ġ= Ġlatitude , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlongitude Ġ= Ġlongitude , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeyword Ġ= Ġkeyword ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . load Running Items ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . code Ġin ĠlistOf ( Success Code , ĠNot Y et Verify Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). to Domain () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġload Detail ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠ Ġ): ĠRunning Item Information Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . load Information ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . get Running Item Information ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . code Ġin Ġ 1 0 1 5 .. 1 0 2 0 Ġ|| Ġbody . code Ġ== ĠNot Y et Verify Code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). to Domain () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġfinish ( jwt : ĠString , Ġpost Id : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . finish ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . finish ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . is Success Ġ!= Ġnull Ġ// Ġreceive Ġonly Ġis Success Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). is Success NonNull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġedit ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠĠĠĠĠ Ġitem : ĠRunning Item Api Body Data , ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . edit ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . edit ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . is Success Ġ!= Ġnull Ġ// Ġreceive Ġonly Ġis Success Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). is Success NonNull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . delete ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . delete ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . is Success Ġ!= Ġnull Ġ// Ġreceive Ġonly Ġis Success Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). is Success NonNull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġrequest Join ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠ Ġ): ĠBase Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . request Join ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . request Join ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . is Success Ġ!= Ġnull Ġ// Ġreceive Ġonly Ġis Success Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). to Base Result () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġjoin Manage ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠĠĠĠĠ Ġrunner Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġstate : ĠString , ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . join Manage ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrunner Id Ġ= Ġrunner Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġstate ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . join Manage ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . is Success Ġ!= Ġnull Ġ// Ġreceive Ġonly Ġis Success Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). is Success NonNull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġreport ( ĊĠĠĠĠĠĠĠ Ġjwt : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt , ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrunning Item Api . report ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ= Ġjwt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . require Successful Body ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Name Ġ= Ġ" running Item Api . report ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Verify Builder Ġ= Ġ{ Ġbody Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . is Success Ġ!= Ġnull Ġ// Ġreceive Ġonly Ġis Success Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). is Success NonNull ĊĠĠĠ Ġ} Ċ } Ċ