package Ġcom . cy b 3 r ko . m 3 ok otlin . services Ċ Ċ import Ġcom . cy b 3 r ko . m 3 ok otlin . M 3 O Ċ import Ġcom . cy b 3 r ko . m 3 ok otlin . data .* Ċ import Ġcom . cy b 3 r ko . m 3 ok otlin . data . Sun nah Books Response . Sun nah Book Ċ import Ġcom . cy b 3 r ko . m 3 ok otlin . data . Sun nah Collections Response . Sun nah Collection Ċ import Ġio . ktor . client . request .* Ċ Ċ private Ġconst Ġval ĠSERVICE Ġ= Ġ" sun nah " Ċ Ċ /** Ċ Ġ* Ġ** Tr ad itions Ġand Ġpractices Ġof Ġthe ĠIsl am ic Ġprop het , ĠMu ham mad Ġ( p bu h )** Ċ Ġ* Ċ Ġ* ĠSun nah Ġare Ġthe Ġtrad itions Ġand Ġpractices Ġof Ġthe ĠIsl am ic Ġprop het , ĠMu ham mad , Ċ Ġ* Ġthat Ġconst itute Ġa Ġmodel Ġfor ĠM us li ms Ġto Ġfollow . ĠAccording Ġto Ġclass ical ĠIsl am ic Ċ Ġ* Ġthe ories , Ġthe Ġsun nah Ġare Ġdocumented Ġby Ġhad ith Ġ( the Ġverb ally Ġtransmitted Ċ Ġ* Ġrecord Ġof Ġthe Ġte ach ings , Ġde eds Ġand Ġsay ings , Ġsilent Ġpermissions Ġor Ċ Ġ* Ġdis appro vals Ġof ĠMu ham mad ), Ġand Ġalong Ġwith Ġthe ĠQ uran Ġ( the Ġbook Ġof ĠIsl am ), Ġare Ċ Ġ* Ġthe Ġdiv ine Ġre vel ation Ġ( W ah y ) Ġdelivered Ġthrough ĠMu ham mad Ġthat Ġmake Ġup Ġthe Ċ Ġ* Ġprimary Ġsources Ġof ĠIsl am ic Ġlaw Ġand Ġbel ief / the ology . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ object ĠSun nah Service Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġlist Ġof Ġbooks Ġfrom Ġwithin Ġa Ġcollection . ĠA Ġbook Ġcan Ġcontain Ġmany ĊĠĠĠĠ Ġ* Ġchapter s Ġeach Ġwith Ġits Ġown Ġhad ith s . ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġbooks ( ĊĠĠĠĠĠĠĠ Ġcollection : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠSun nah Books Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠM 3 O . ktor HttpClient . post ( M 3 O . getUrl ( SERVICE , Ġ" Books ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= ĠSun nah Books Request ( collection , Ġlimit , Ġpage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġall Ġthe Ġchapter s Ġof Ġa Ġgiven Ġbook Ġwithin Ġa Ġcollection . ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġchapter s ( ĊĠĠĠĠĠĠĠ Ġbook : ĠInt , ĊĠĠĠĠĠĠĠ Ġcollection : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠSun nah Chapter s Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠM 3 O . ktor HttpClient . post ( M 3 O . getUrl ( SERVICE , Ġ" Chapter s ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= ĠSun nah Chapter sRequest ( book , Ġcollection , Ġlimit , Ġpage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġlist Ġof Ġavailable Ġcollections . ĠA Ġcollection Ġis Ġa Ġcompilation Ġof ĊĠĠĠĠ Ġ* Ġhad ith s Ġcollected Ġand Ġwritten Ġby Ġan Ġauthor . ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġcollections ( limit : ĠInt Ġ= Ġ 0 , Ġpage : ĠInt Ġ= Ġ 0 ): ĠSun nah Collections Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠM 3 O . ktor HttpClient . post ( M 3 O . getUrl ( SERVICE , Ġ" Collections ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= ĠSun nah Collections Request ( limit , Ġpage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠH ad ith s Ġreturns Ġa Ġlist Ġof Ġhad ith s Ġand Ġtheir Ġcorresponding Ġtext Ġfor Ġa ĊĠĠĠĠ Ġ* Ġgiven Ġbook Ġwithin Ġa Ġcollection . ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġhad ith s ( ĊĠĠĠĠĠĠĠ Ġbook : ĠInt , ĊĠĠĠĠĠĠĠ Ġcollection : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠSun nah H ad ith s Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠM 3 O . ktor HttpClient . post ( M 3 O . getUrl ( SERVICE , Ġ" H ad ith s ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= ĠSun nah H ad ith sRequest ( book , Ġcollection , Ġlimit , Ġpage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun ĠSun nah Book . chapter s ( ĊĠĠĠĠĠĠĠ Ġcollection : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ) Ġ= Ġchapter s ( this . id , Ġcollection , Ġlimit , Ġpage ) ĊĊĠĠĠ Ġsuspend Ġfun ĠSun nah Book . had ith s ( ĊĠĠĠĠĠĠĠ Ġcollection : ĠString , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ) Ġ= Ġhad ith s ( this . id , Ġcollection , Ġlimit , Ġpage ) ĊĊĠĠĠ Ġsuspend Ġfun ĠSun nah Collection . books ( limit : ĠInt Ġ= Ġ 0 , Ġpage : ĠInt Ġ= Ġ 0 ) Ġ= Ġbooks ( this . name , Ġlimit , Ġpage ) ĊĊĠĠĠ Ġsuspend Ġfun ĠSun nah Collection . chapter s ( ĊĠĠĠĠĠĠĠ Ġbook : ĠInt , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ) Ġ= Ġchapter s ( book , Ġthis . name , Ġlimit , Ġpage ) ĊĊĠĠĠ Ġsuspend Ġfun ĠSun nah Collection . had ith s ( ĊĠĠĠĠĠĠĠ Ġbook : ĠInt , ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ) Ġ= Ġhad ith s ( book , Ġthis . name , Ġlimit , Ġpage ) Ċ } Ċ