package Ġtop . j ot yy . data . dao Ċ Ċ import Ġorg . jetbrains . ex posed . dao . id . Entity ID Ċ import Ġorg . jetbrains . ex posed . sql . transactions . transaction Ċ import Ġorg . joda . time . DateTime Ċ import Ġtop . j ot yy . data . database . table . Blog Entity Ċ import Ġtop . j ot yy . data . database . table . Categories Ċ import Ġtop . j ot yy . data . model . response . Blog Response Ċ Ċ /** Ċ Ġ* ĠBlog ĠDAO Ġlayer Ċ Ġ*/ Ċ class ĠBlog Dao Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdd Ġnew Ġblog ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtitle ĠBlog Ġtitle ĊĠĠĠĠ Ġ* Ġ@ param Ġsub Url ĠBlog Ġpath ĊĠĠĠĠ Ġ* Ġ@ param Ġcover Image ĠBlog Ġcover Ġimage Ġpath ĊĠĠĠĠ Ġ* Ġ@ param Ġcontent ĠBlog Ġcontent ĊĠĠĠĠ Ġ* Ġ@ param Ġcategory Name ĠCategory Ġof Ġblog ĊĠĠĠĠ Ġ* Ġ@ param Ġtags ĠTags Ġof Ġblog ĊĠĠĠĠ Ġ* Ġ@ param Ġstatus ĠBlog Ġstatus ĊĠĠĠĠ Ġ* Ġ@ param Ġenable Comment ĠIf Ġblog Ġcan Ġbe Ġcommented ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Blog ( ĊĠĠĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġsub Url : ĠString , ĊĠĠĠĠĠĠĠ Ġcover Image : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcontent : ĠString , ĊĠĠĠĠĠĠĠ Ġcategory Id : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġcategory Name : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtags : ĠString ?, ĊĠĠĠĠĠĠĠ Ġstatus : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġenable Comment : ĠInt ? ĊĠĠĠ Ġ) Ġ= Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠ ĠBlog Entity . new Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sub Url Ġ= Ġsub Url ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . cover Image Ġ= Ġcover Image ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . content Ġ= Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . categoryId Ġ= Ġcategory Id ?. let Ġ{ ĠEntity ID ( it , ĠCategories ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . category Name Ġ= Ġcategory Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . tags Ġ= Ġtags ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . status Ġ= Ġstatus Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . enable Comment Ġ= Ġenable Comment Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelete Ġblog ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġid Ġblog Ġid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete Blog ( id : ĠInt ) Ġ= Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠ ĠBlog Entity . findById ( id )?. delete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġblog ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġid ĠBlog Ġid ĊĠĠĠĠ Ġ* Ġ@ param Ġtitle ĠBlog Ġtitle ĊĠĠĠĠ Ġ* Ġ@ param Ġsub Url ĠBlog Ġpath ĊĠĠĠĠ Ġ* Ġ@ param Ġcover Image ĠBlog Ġcover Ġimage Ġpath ĊĠĠĠĠ Ġ* Ġ@ param Ġcontent ĠBlog Ġcontent ĊĠĠĠĠ Ġ* Ġ@ param Ġcategory Id ĠCategory Ġid ĊĠĠĠĠ Ġ* Ġ@ param Ġcategory Name ĠCategory Ġname ĊĠĠĠĠ Ġ* Ġ@ param Ġtags ĠTags Ġof Ġblog ĊĠĠĠĠ Ġ* Ġ@ param Ġstatus ĠBlog Ġstatus ĊĠĠĠĠ Ġ* Ġ@ param Ġenable Comment ĠIf Ġblog Ġcan Ġbe Ġcommented ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupdate Blog ( ĊĠĠĠĠĠĠĠ Ġid : ĠInt , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsub Url : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcover Image : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcontent : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcategory Id : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġcategory Name : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtags : ĠString ?, ĊĠĠĠĠĠĠĠ Ġstatus : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġenable Comment : ĠInt ? ĊĠĠĠ Ġ) Ġ= Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠ ĠBlog Entity . findById ( id )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġtitle Ġ?: Ġthis . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sub Url Ġ= Ġsub Url Ġ?: Ġthis . sub Url ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . cover Image Ġ= Ġcover Image Ġ?: Ġthis . cover Image ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . content Ġ= Ġcontent Ġ?: Ġthis . content ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . categoryId Ġ= Ġif Ġ( categoryId Ġ!= Ġnull ) ĠEntity ID ( categoryId , ĠCategories ) Ġelse Ġthis . categoryId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . category Name Ġ= Ġcategory Name Ġ?: Ġthis . category Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . tags Ġ= Ġtags Ġ?: Ġthis . tags ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . status Ġ= Ġstatus Ġ?: Ġthis . status ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . enable Comment Ġ= Ġenable Comment Ġ?: Ġthis . enable Comment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . updatedAt Ġ= ĠDateTime () ĊĠĠĠĠĠĠĠ Ġ} ?. let Ġ{ ĠBlog Response . from Entity ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġb logs ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġlimit Ġnum Ġof Ġquery ĊĠĠĠĠ Ġ* Ġ@ param Ġoffset Ġoffset Ġof Ġfirst Ġrecord ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget B logs ( limit : ĠInt Ġ= Ġ 1 0 , Ġoffset : ĠLong Ġ= Ġ 0 L ) Ġ= Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠ ĠBlog Entity . all (). limit ( limit , Ġoffset ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBlog Response . from Entity ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġblog Ġby Ġid ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġid Ġblog Ġid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Blog ById ( id : ĠInt ) Ġ= Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠ ĠBlog Entity . findById ( id )?. let Ġ{ ĠBlog Response . from Entity ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ