package Ġorg . ire ader . data . local . dao Ċ Ċ import Ġandroidx . room . Dao Ċ import Ġandroidx . room . Query Ċ import Ġandroidx . room . Rewrite Queries To Drop Unused Columns Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġorg . ire ader . common _ models . entities . Downloaded Book Ċ import Ġorg . ire ader . common _ models . entities . Library Book Ċ Ċ @ Dao Ċ interface ĠLibrary Dao Ġ: ĠBase Dao < org . ire ader . common _ models . entities . Book > Ġ{ ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .` key `, Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠ Ġlibrary . last Update , CO AL ES CE ( C . unread Count , Ġ 0 ) Ġ Ġas Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count , ĠMAX ( history . read At ) Ġas Ġlast Read ĊĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠ ĠH AV ING Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠ ĠORDER ĠBY ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read Desc ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated Desc ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread Desc ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added Desc ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched Desc ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND ĠDESC , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġtitle ĠĊĠĠĠ ĠEND ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġsubscribe All ( sort : ĠString ): ĠFlow < List < Library Book >> ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .` key `, Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠ Ġlibrary . last Update , CO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count , ĠMAX ( history . read At ) Ġas Ġlast Read ĊĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠ ĠH AV ING Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠ ĠORDER ĠBY ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read Desc ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated Desc ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread Desc ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added Desc ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched Desc ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND ĠDESC , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġtitle ĠĊĠĠĠ ĠEND ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġsuspend Ġfun ĠfindAll ( sort : ĠString ): ĠList < Library Book > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count , ĠMAX ( history . read At ) Ġas Ġlast Read ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE ĠNOT ĠEXISTS ĊĠĠĠĠĠĠĠĠĠ Ġ( SELECT Ġbook category . book Id ĠFROM Ġbook category ĠWHERE Ġlibrary . id Ġ= Ġbook category . book Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read Desc ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated Desc ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread Desc ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added Desc ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched Desc ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND ĠDESC , ĊĠĠĠĠĠĠĠ ĠCASE ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠ ĠEND ; ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġsubscribe Un categor ized ( sort : ĠString ): ĠFlow < List < Library Book >> ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count , ĠMAX ( history . read At ) Ġas Ġlast Read ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE ĠNOT ĠEXISTS ĊĠĠĠĠĠĠĠĠĠ Ġ( SELECT Ġbook category . book Id ĠFROM Ġbook category ĠWHERE Ġlibrary . id Ġ= Ġbook category . book Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read Desc ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated Desc ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread Desc ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added Desc ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched Desc ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND ĠDESC , ĊĠĠĠĠĠĠĠ ĠCASE ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠ ĠEND ; ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġsuspend Ġfun Ġfind Un categor ized ( sort : ĠString ): ĠList < Library Book > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( A . total , Ġ 0 ) ĠAS Ġtotal , CO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġtotal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠA ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠA . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠĠĠĠĠ ĠH AV ING Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠORDER ĠBY ĊĠĠĠĠĠĠĠ ĠCASE ĠWHEN Ġ: sort Ġ== Ġ' total Chapter s ' ĠTHEN Ġtotal ĠEND , ĠĊĠĠĠĠĠĠĠ ĠCASE ĠWHEN Ġ: sort Ġ== Ġ' total Chapter s Desc ' ĠTHEN Ġtotal ĠEND ĠDESC ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġsubscribe All With Total Chapter s ( sort : ĠString ): ĠFlow < List < Library Book >> ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( A . total , Ġ 0 ) ĠAS Ġtotal , CO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġtotal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠA ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠA . book Id ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠĠĠĠĠ ĠH AV ING Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠORDER ĠBY ĊĠĠĠĠĠĠĠ ĠCASE ĠWHEN Ġ: sort Ġ== Ġ' total Chapter s ' ĠTHEN Ġtotal ĠEND , ĠĊĠĠĠĠĠĠĠ ĠCASE ĠWHEN Ġ: sort Ġ== Ġ' total Chapter s Desc ' ĠTHEN Ġtotal ĠEND ĠDESC ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġsuspend Ġfun ĠfindAll With Total Chapter s ( sort : ĠString ): ĠList < Library Book > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( A . total , Ġ 0 ) ĠAS Ġtotal , CO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġtotal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠA ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠA . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE ĠNOT ĠEXISTS ĊĠĠĠĠĠĠĠĠĠ Ġ( SELECT Ġbook category . book Id ĠFROM Ġbook category ĠWHERE Ġlibrary . id Ġ= Ġbook category . book Id ) ĠĠĠĠ ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY Ġtotal ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġsuspend Ġfun Ġfind Un categor ized With Total Chapter s (): ĠList < Library Book > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( A . total , Ġ 0 ) ĠAS Ġtotal , ĊĠĠĠĠĠ ĠCO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġtotal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠA ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠA . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE ĠNOT ĠEXISTS ĊĠĠĠĠĠĠĠĠĠ Ġ( SELECT Ġbook category . book Id ĠFROM Ġbook category ĠWHERE Ġlibrary . id Ġ= Ġbook category . book Id ) ĠĠ ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY Ġtotal ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġsuspend Ġfun Ġsubscribe Un categor ized With Total Chapter s (): ĠList < Library Book > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , Ġlibrary . custom Cover , Ġlibrary . favorite , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update Ġ, MAX ( history . read At ) Ġas Ġlast Read , ĠCO AL ES CE ( R . read Count , Ġ 0 ) Ġ Ġas Ġread Count , CO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġbook category ĊĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġlibrary ĠON Ġbook category . book Id Ġ= Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE Ġbook category . categoryId Ġ= Ġ: categoryId ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read Desc ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated Desc ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread Desc ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added Desc ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched Desc ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND ĠDESC , ĊĠĠĠĠĠĠĠ ĠCASE ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠ ĠEND ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġsubscribe All In Category ( sort : ĠString , Ġcategory Id : ĠLong ): ĠFlow < List < Library Book >> ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , Ġlibrary . custom Cover , Ġlibrary . favorite , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠMAX ( history . read At ) Ġas Ġlast Read , CO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġbook category ĊĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġlibrary ĠON Ġbook category . book Id Ġ= Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE Ġbook category . categoryId Ġ= Ġ: categoryId ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND , ĊĠĠĠ ĠCASE ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' title Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Read Desc ' ĠTHEN Ġlast Read ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' last Updated Desc ' ĠTHEN Ġlast Update ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' unread Desc ' ĠTHEN Ġunread ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date Added Desc ' ĠTHEN Ġdata Added ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' date F etched Desc ' ĠTHEN ĠC . date Fetch ĊĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġsource Id ĊĠĠĠ ĠEND ĠDESC , ĊĠĠĠĠĠĠĠ ĠCASE ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠĠĠ ĠWHEN Ġ: sort Ġ= Ġ' source Desc ' ĠTHEN Ġtitle ĊĠĠĠĠĠĠĠ ĠEND ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġsuspend Ġfun ĠfindAll In Category ( sort : ĠString , Ġcategory Id : ĠLong ): ĠList < Library Book > ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , Ġlibrary . custom Cover , Ġlibrary . favorite , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( A . total , Ġ 0 ) ĠAS Ġtotal , ĊĠĠĠĠĠĠĠĠĠ ĠCO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġbook category ĊĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġlibrary ĠON Ġbook category . book Id Ġ= Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġtotal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠA ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠA . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE Ġbook category . categoryId Ġ= Ġ: categoryId ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY Ġtotal ; ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġsubscribe All In Category With Total Chapter s ( categoryId : ĠLong ): ĠFlow < List < Library Book >> ĊĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , Ġlibrary . source Id , Ġlibrary .' key ', Ġlibrary . title , Ġlibrary . status , Ġlibrary . cover , Ġlibrary . custom Cover , Ġlibrary . favorite , ĊĠĠĠĠĠĠĠĠĠ Ġlibrary . last Update , ĠCO AL ES CE ( A . total , Ġ 0 ) ĠAS Ġtotal , ĊĠĠĠĠĠĠĠĠĠ ĠCO AL ES CE ( C . unread Count , Ġ 0 ) ĠAS Ġunread , ĠCO AL ES CE ( R . read Count , Ġ 0 ) ĠAS Ġread Count ĊĠĠĠĠĠĠĠ ĠFROM Ġbook category ĊĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġlibrary ĠON Ġbook category . book Id Ġ= Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) Ġ ĠAS Ġunread Count , chapter . date Fetch ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠC ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠC . book Id ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġread Count ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġchapter . read Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠR ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠR . book Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġchapter . book Id , ĠCOUNT (*) ĠAS Ġtotal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġchapter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġchapter . book Id ĊĠĠĠĠĠĠĠ Ġ) ĠAS ĠA ĊĠĠĠĠĠĠĠ ĠON Ġlibrary . id Ġ= ĠA . book Id ĊĠĠĠ ĠLEFT ĠJOIN Ġ( ĊĠĠĠ ĠSELECT Ġhistory . read At , history . book Id ĠFROM Ġhistory ĊĠĠĠ Ġ) ĠAS Ġhistory ĠON Ġhistory . book Id Ġ== Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠWHERE Ġbook category . categoryId Ġ= Ġ: categoryId ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠORDER ĠBY Ġtotal ; ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun ĠfindAll In Category With Total Chapter s ( categoryId : ĠLong ): ĠFlow < List < Library Book >> ĊĊĠĠĠ Ġ@ Rewrite Queries To Drop Unused Columns ĊĠĠĠ Ġ@ Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSELECT Ġlibrary . id , COUNT ( chapter . id ) Ġas Ġtotal Chapter s , SUM ( chapter . content Ġ> Ġ 0 ) Ġas Ġtotal Downloaded Chapter ĊĠĠĠĠĠĠĠ ĠFROM Ġlibrary ĊĠĠĠĠĠĠĠ ĠLEFT ĠJOIN Ġchapter ĠON Ġlibrary . id Ġ= Ġchapter . book Id ĊĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġlibrary . id ĊĠĠĠĠĠĠĠ ĠH AV ING Ġtotal Chapter s Ġ== Ġtotal Downloaded Chapter ĠAND Ġlibrary . favorite Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġfind Downloaded Books (): ĠList < Downloaded Book > Ċ } Ċ