package Ġcom . github . fel ipe hj cost a . mar vel app . cache . data Ċ Ċ import Ġandroidx . room . Dao Ċ import Ġandroidx . room . Insert Ċ import Ġandroidx . room . On Conflict Strategy Ċ import Ġandroidx . room . Query Ċ import Ġio . reactivex . Maybe Ċ import Ġio . reactivex . Single Ċ Ċ @ Dao Ċ abstract Ġclass ĠChar acters Dao Ġ{ ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġ* ĠFROM Ġcharacter , Ġthumbnail , Ġcom ic _ list , Ġstory _ list , Ġevent _ list , Ġseries _ list ĊĠĠĠĠĠĠĠ ĠWHERE Ġid Ġ= Ġ: id ĊĠĠĠĠĠĠĠ ĠAND Ġthumbnail . thumbnail _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġcom ic _ list . com ic _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġstory _ list . story _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġevent _ list . event _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġseries _ list . series _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠLIMIT Ġ 1 ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġabstract Ġfun Ġfind ById ( id : ĠLong ): ĠMaybe < Character Relations > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġ* ĠFROM Ġcharacter , Ġthumbnail , Ġcom ic _ list , Ġstory _ list , Ġevent _ list , Ġseries _ list ĊĠĠĠĠĠĠĠ ĠWHERE ĊĠĠĠĠĠĠĠ Ġthumbnail . thumbnail _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġcom ic _ list . com ic _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġstory _ list . story _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġevent _ list . event _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ ĠAND Ġseries _ list . series _ list _ character _ id Ġ= Ġcharacter . id ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġabstract Ġfun Ġall (): ĠSingle < List < Character Relations >> ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( character Entity : ĠCharacter Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( url Entity : ĠUrl Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( thumbnail Entity : ĠThumb nail Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( com ic List Entity : ĠCom ic List Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( story List Entity : ĠStory List Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( event List Entity : ĠEvent List Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( series List Entity : ĠSeries List Entity ): ĠLong ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġinsert ( summary Entity : ĠSummary Entity ): ĠLong ĊĊĠĠĠ Ġfun Ġinsert ( character Relations : ĠCharacter Relations ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcharacter Id Ġ= Ġinsert ( character Relations . character ) ĊĠĠĠĠĠĠĠ Ġcharacter Relations . urls . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . character Id Ġ= Ġcharacter Relations . character . id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġinsert ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcharacter Relations . thumbnail . character Id Ġ= Ġcharacter Id ĊĠĠĠĠĠĠĠ Ġcharacter Relations . thumbnail . id Ġ= Ġinsert ( character Relations . thumbnail ) ĊĠĠĠĠĠĠĠ Ġcharacter Relations . com ic List Relations . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom ic List . character Id Ġ= Ġcharacter Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom ic List . id Ġ= Ġinsert ( com ic List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom ic List Summary . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . com ic List Id Ġ= Ġcom ic List . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġinsert ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcharacter Relations . story List Relations . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstory List Entity . character Id Ġ= Ġcharacter Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstory List Entity . id Ġ= Ġinsert ( story List Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstory List Summary . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . story List Id Ġ= Ġstory List Entity . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġinsert ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcharacter Relations . event List Relations . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent List Entity . character Id Ġ= Ġcharacter Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent List Entity . id Ġ= Ġinsert ( event List Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent List Summary . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . event List Id Ġ= Ġevent List Entity . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġinsert ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcharacter Relations . series List Relations . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseries List Entity . character Id Ġ= Ġcharacter Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseries List Entity . id Ġ= Ġinsert ( series List Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseries List Summary . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . series List Id Ġ= Ġseries List Entity . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġinsert ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ