package Ġio . p ale ocr after . book search . books Ċ Ċ import Ġio . p ale ocr after . book search . Db Migration Ċ import Ġio . p ale ocr after . book search . create Or Modify Columns Ċ import Ġnl . s ie gm ann . ep ub lib . ep ub . E pub Reader Ċ import Ġorg . jetbrains . ex posed . sql . Schema Utils Ċ import Ġorg . jetbrains . ex posed . sql . or Ċ import Ġorg . jetbrains . ex posed . sql . statements . api . Ex posed Blob Ċ import Ġorg . jetbrains . ex posed . sql . transactions . Transaction Manager Ċ Ċ object ĠCreate Book Tables Migration Ġ: ĠDb Migration (" create - book - tables ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠSchema Utils . create Missing Tables And Columns ( Books , ĠChapter s , ĠImages , ĠClass Mappings ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠAdd Cover Migration Ġ: ĠDb Migration (" add - book - covers ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠSchema Utils . create Missing Tables And Columns ( Books ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbooks Missing Cover s Ġ= ĠBook . find Ġ{ ĠBooks . cover . isNull () Ġor ĠBooks . cover Mime . isNull () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġe pub Reader Ġ= ĠE pub Reader () ĊĠĠĠĠĠĠĠ Ġfor Ġ( book Ġin Ġbooks Missing Cover s ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe pub Ġ= Ġe pub Reader . read E pub ( book . content . bytes . inputStream ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe pub . cover Image . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbook . cover Ġ= ĠEx posed Blob ( it . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbook . cover Mime Ġ= Ġit . media Type . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠAdd Indexing Indicator Migration Ġ: ĠDb Migration (" add - book - indexing - indicator ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠBooks . create Or Modify Columns ( Books . indexing ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠAdd Tags Table Migration Ġ: ĠDb Migration (" add - tags - table ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠSchema Utils . create Missing Tables And Columns ( Book Tags ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠRe stricted Books Migration Ġ: ĠDb Migration (" restricted - books - schema ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠBooks . create Or Modify Columns ( Books . restricted ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠCreate C itations Migration Ġ: ĠDb Migration (" create - cit ations ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠBooks . create Or Modify Columns ( Books . citation Template ) ĊĠĠĠĠĠĠĠ ĠChapter s . create Or Modify Columns ( Chapter s . citation Parameter ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbooks Missing C itations Ġ= ĠBook . find Ġ{ ĠBooks . citation Template . isNull () Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( book Ġin Ġbooks Missing C itations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbook . citation Template Ġ= Ġbook . title . toLowerCase () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġchapter s Missing C itations Ġ= ĠChapter . find Ġ{ ĠChapter s . citation Parameter . isNull () Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( chapter Ġin Ġchapter s Missing C itations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchapter . citation Parameter Ġ= Ġextract C itation Parameter ( chapter . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠAdd Search ByDefault Migration Ġ: ĠDb Migration (" search - by - default ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ ĠBooks . create Or Modify Columns ( Books . sear ched ByDefault ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠFix Book Tags PrimaryKey Ġ: ĠDb Migration (" fix - book - tags - primary - key ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( Transaction Manager . current ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Column Ġ= Ġthis . db . dialect . table Columns ( Book Tags )[ Book Tags ]?. find Ġ{ Ġit . name . toLowerCase () Ġ== Ġ" id " Ġ} Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtableName Ġ= Ġidentity ( Book Tags ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexec (" ALTER ĠTABLE Ġ$ tableName ĠDROP ĠCONSTRAINT Ġpk _ book tags ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexec (" ALTER ĠTABLE Ġ$ tableName ĠDROP ĠCOLUMN Ġ${ db . identifier Manager . quote Identifier When Wrong Case Or Ne cessary ( id Column . name )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexec (" ALTER ĠTABLE Ġ$ tableName ĠADD ĠPRIMARY ĠKEY Ġ(${ identity ( Book Tags . book )}, Ġ${ identity ( Book Tags . tag )}) ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexec (" DROP ĠINDEX ĠIF ĠEXISTS Ġbook tags _ book ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ