/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠSer gio ĠBel da Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . ser gio bel da . backend . database . dao Ċ Ċ import Ġcom . ser gio bel da . backend . database . entity . New Project Entity Ċ import Ġcom . ser gio bel da . backend . database . entity . Project Entity Ċ import Ġcom . ser gio bel da . backend . database . mapper . to Project Entity Ċ import Ġcom . ser gio bel da . backend . database . mapper . to Project Entity List Ċ import Ġcom . ser gio bel da . backend . database . table . Project Table Ċ import Ġorg . jetbrains . ex posed . sql . delete Where Ċ import Ġorg . jetbrains . ex posed . sql . replace Ċ import Ġorg . jetbrains . ex posed . sql . select Ċ import Ġorg . jetbrains . ex posed . sql . selectAll Ċ import Ġorg . jetbrains . ex posed . sql . transactions . experimental . new Sus pended Transaction Ċ import Ġorg . jetbrains . ex posed . sql . update Ċ import Ġjava . util . UUID Ċ Ċ class ĠProject Dao Ġ: ĠI Project Dao Ġ{ ĊĊĠĠĠ Ġ// ĠThrow Ġjava . util . NoSuch ElementException : ĠCollection Ġis Ġempty . ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Project ( id : ĠUUID ): ĠProject Entity Ġ= Ġnew Sus pended Transaction Ġ{ ĊĠĠĠĠĠĠĠ ĠProject Table . select Ġ{ ĠProject Table . id Ġeq Ġid Ġ}. single (). to Project Entity () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Projects (): ĠList < Project Entity > Ġ= Ġnew Sus pended Transaction Ġ{ ĊĠĠĠĠĠĠĠ ĠProject Table . selectAll (). to Project Entity List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Project ( project : ĠNew Project Entity ): ĠUUID Ġ= ĊĠĠĠĠĠĠĠ Ġnew Sus pended Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject Table . replace Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . id ?. let Ġ{ Ġuuid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ id ] Ġ= Ġuuid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ name ] Ġ= Ġproject . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ description ] Ġ= Ġproject . description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġget ĠProject Table . id ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupdate Project ( project : ĠProject Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnew Sus pended Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject Table . update ({ ĠProject Table . id Ġeq Ġproject . id Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ name ] Ġ= Ġproject . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ description ] Ġ= Ġproject . description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete Project ( id : ĠUUID ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnew Sus pended Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject Table . delete Where Ġ{ ĠProject Table . id Ġeq Ġid Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ