package Ġcom . myapp . repository Ċ Ċ import Ġcom . myapp . domain . Micro post Ċ import Ġcom . myapp . domain . User Ċ import Ġcom . myapp . dto . request . Page Params Ċ import Ġcom . myapp . generated . tables . Micro post . MICRO POST Ċ import Ġcom . myapp . generated . tables . User . USER Ċ import Ġcom . myapp . repository . exception . Record NotFoundException Ċ import Ġorg . jooq . DSL Context Ċ import Ġorg . jooq . Record Ċ import Ġorg . springframework . stereotype . Repository Ċ Ċ @ Repository Ċ class ĠMicro post Repository Impl ( ĊĠĠĠ Ġprivate Ġval Ġd sl : ĠDSL Context Ċ ) Ġ: ĠMicro post Repository , ĠP ager Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġfind One ( id : ĠLong ) Ġ= ĊĠĠĠĠĠĠĠ Ġd sl . select () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( MICRO POST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ( USER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on ( MICRO POST . USER _ ID . eq ( USER . ID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( MICRO POST . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One ( mapper ()) Ġ?: Ġthrow ĠRecord NotFoundException () ĊĊĠĠĠ Ġoverride Ġfun ĠfindAll ByUser ( userId : ĠLong , Ġpage Params : ĠPage Params ): ĠList < Micro post > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġd sl . select () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( MICRO POST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ( USER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on ( MICRO POST . USER _ ID . eq ( USER . ID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( MICRO POST . USER _ ID . eq ( userId )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. and ( page Params . to Condition ( MICRO POST . ID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. orderBy ( MICRO POST . ID . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. limit ( page Params . count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch ( mapper ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( micro post : ĠMicro post ) Ġ= ĊĠĠĠĠĠĠĠ Ġd sl . insert Into ( MICRO POST , ĠMIC RO POST . CONTENT , ĠMIC RO POST . USER _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. values ( micro post . content , Ġmicro post . user . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. return ing () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let ( mapper ( micro post )) ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġd sl . delete From ( MICRO POST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( MICRO POST . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmapper () Ġ= Ġ{ Ġr : ĠRecord Ġ-> ĊĠĠĠĠĠĠĠ ĠMicro post ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecord Ġ= Ġr . into ( MICRO POST ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= ĠUser ( r . into ( USER )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmapper ( original : ĠMicro post ) Ġ= Ġ{ Ġr : ĠRecord Ġ-> ĊĠĠĠĠĠĠĠ ĠMicro post ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecord Ġ= Ġr . into ( MICRO POST ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġoriginal . user ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }