package Ġcom . sample Ċ Ċ import Ġorg . u fo ss . kot ys a . r 2 dbc . Reactor Sql Client Ċ import Ġjava . util .* Ċ Ċ private Ġval Ġrole _ user _ uuid Ġ= ĠUUID . fromString (" 7 9 e 9 eb 4 5 - 2 8 3 5 - 4 9 c 8 - ad 3 b - c 9 5 1 b 5 9 1 bc 7 f ") Ċ private Ġval Ġrole _ admin _ uuid Ġ= ĠUUID . fromString (" 6 7 d 4 3 0 6 e - d 9 9 d - 4 e 5 4 - 8 b 1 d - 5 b 1 e 9 2 6 9 1 a 4 e ") Ċ Ċ class ĠUser Repository ( private Ġval Ġclient : ĠRe actor Sql Client ) Ġ{ ĊĊĠĠĠ Ġfun Ġcount () Ġ= Ġclient Ġselect Count All From ĠUSER ĊĊĠĠĠ Ġfun ĠfindAll () Ġ= Ġclient Ġselect All From ĠUSER ĊĊĠĠĠ Ġfun Ġfind One ( id : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( client Ġselect From ĠUSER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhere ĠUSER . id Ġeq Ġid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch One () ĊĊĠĠĠ Ġfun Ġselect With Join () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( client . select Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser Dto ("${ it [ USER . firstname ]} Ġ${ it [ USER . lastname ] }", Ġit [ USER . alias ], Ġit [ ROLE . label ] !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĠUSER Ġinner Join ĠROLE Ġon ĠUSER . role Id Ġeq ĠROLE . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch All () ĊĊĠĠĠ Ġfun Ġdelete All () Ġ= Ġclient Ġdelete All From ĠUSER ĊĊĠĠĠ Ġfun Ġsave ( user : ĠUser ) Ġ= Ġclient Ġinsert Ġuser ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( client Ġcreate Table IfNot Exists ĠUSER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( delete All ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( save ( User (" John ", Ġ" Do e ", Ġfalse , Ġrole _ user _ uuid , Ġid Ġ= Ġ 1 2 3 ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( save ( User (" Big ", Ġ" Boss ", Ġtrue , Ġrole _ admin _ uuid , Ġ" The Boss "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. block () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠRole Repository ( private Ġval Ġclient : ĠRe actor Sql Client ) Ġ{ ĊĠĠĠ Ġfun Ġdelete All () Ġ= Ġclient Ġdelete All From ĠROLE ĊĊĠĠĠ Ġfun Ġsave ( role : ĠRole ) Ġ= Ġclient Ġinsert Ġrole ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( client Ġcreate Table IfNot Exists ĠROLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( delete All ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( save ( Role (" user ", Ġrole _ user _ uuid ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( save ( Role (" admin ", Ġrole _ admin _ uuid ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then ( save ( Role (" god "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. block () ĊĠĠĠ Ġ} Ċ } Ċ