package Ġde . fh ro . inf . sa . jer ich o Demo . persistence . repositories . impl Ċ Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . model . Jo ke Dto Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . generated . Tables Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . generated . Tables . CATEG ORIES Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . generated . Tables . J OK ES Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . generated . tables . da os . J okes Dao Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . generated . tables . po jos . J okes Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . generated . tables . records . J okes Record Ċ import Ġde . fh ro . inf . sa . jer ich o Demo . persistence . repositories . IJ okes Repository Ċ import Ġorg . jooq . impl . DSL Ċ import Ġjava . util . concurrent . Comp letableFuture Ċ Ċ /** Ċ Ġ* Ġ@ author ĠPeter ĠK ur fer Ċ Ġ* ĠCreated Ġon Ġ 1 0 / 3 0 / 1 7 . Ċ Ġ*/ Ċ class ĠJ okes Repository ( j okes Dao : ĠJ okes Dao ) Ġ: ĠRepository Base < J okes , ĠJ okes Record , ĠInt >( j okes Dao , Ġ{ Ġj Ġ-> Ġj . id Ġ}), ĠI J okes Repository Ġ{ ĊĊ ĉ override Ġfun ĠgetRandom Jo ke (): ĠCompletableFuture < Jo ke Dto > Ġ{ Ċĉ ĉ return Ġdao . client (). fetch One ( Ċĉĉĉ ĉ DSL . using ( dao . configuration ()) Ċĉĉĉĉĉ ĉ . query (" SELECT Ġ* ĠFROM Ġrandom _ jo ke () ") Ċĉ ĉ ) Ġ{ Ġt Ġ-> ĠJo ke Dto ( t . getInteger (" jo ke _ id "), Ġt . getString (" jo ke _ text "), Ġt . getString (" category _ text ")) Ġ} Ċ ĉ } ĊĊ ĉ override Ġfun ĠfindBy Jo ke Async ( jo ke : ĠString ): ĠCompletableFuture < List < Jo ke Dto >> Ġ{ Ċĉ ĉ return Ġdao . client (). fetch ( Ċĉĉĉ ĉ DSL . using ( dao . configuration ()) Ċĉĉĉĉĉ ĉ . select ( J OK ES . ID , ĠJ OK ES . JO KE , ĠC ATEG ORIES . NAME ) Ċĉĉĉĉĉ ĉ . from ( J OK ES ) Ċĉĉĉĉĉ ĉ . leftJoin ( CATEG ORIES ) Ċĉĉĉĉĉ ĉ . on ( J OK ES . CATEGORY ID . eq ( CATEG ORIES . ID )) Ċĉĉĉĉĉ ĉ . where ( J OK ES . JO KE . eq ( jo ke )) Ċĉĉĉĉĉ ĉ . query Ċĉ ĉ ) Ġ{ Ġt Ġ-> ĠJo ke Dto ( t . getInteger (" id ", Ġ 0 ), Ġt . getString (" jo ke "), Ġt . getString (" name ")) Ġ} Ċ ĉ } ĊĊ ĉ override Ġfun ĠfindAll In cluding Category ( page Index : ĠInt , ĠpageSize : ĠInt ): ĠCompletableFuture < List < Jo ke Dto >> Ġ{ Ċĉ ĉ return Ġdao . client (). fetch ( Ċĉĉĉ ĉ DSL . using ( dao . configuration ()) Ċĉĉĉĉĉ ĉ . select ( J OK ES . ID , ĠJ OK ES . JO KE , ĠC ATEG ORIES . NAME ) Ċĉĉĉĉĉ ĉ . from ( J OK ES ) Ċĉĉĉĉĉ ĉ . leftJoin ( CATEG ORIES ) Ċĉĉĉĉĉ ĉ . on ( J OK ES . CATEGORY ID . eq ( CATEG ORIES . ID )) Ċĉĉĉĉĉ ĉ . limit ( pageSize ) Ċĉĉĉĉĉ ĉ . offset ( pageSize Ġ* Ġpage Index ) Ċĉĉĉĉĉ ĉ . query Ċĉ ĉ ) Ġ{ Ġt Ġ-> ĠJo ke Dto ( t . getInteger (" id ", Ġ 0 ), Ġt . getString (" jo ke ")) Ġ} Ċ ĉ } ĊĊ ĉ override Ġfun ĠfindAll Async ( page Index : ĠInt , ĠpageSize : ĠInt ): ĠCompletableFuture < List < J okes >> Ġ{ Ċĉ ĉ return Ġdao . client (). fetch ( Ċĉĉĉ ĉ DSL . using ( dao . configuration ()) Ċĉĉĉĉĉ ĉ . select () Ċĉĉĉĉĉ ĉ . from ( Tables . J OK ES ) Ċĉĉĉĉĉ ĉ . limit ( pageSize ) Ċĉĉĉĉĉ ĉ . offset ( pageSize Ġ* Ġpage Index ) Ċĉĉĉĉĉ ĉ . query ) Ġ{ Ġt Ġ-> ĠJ okes ( t ) Ġ} Ċ ĉ } Ċ Ċ } Ċ