package Ġcom . github . zel dig as . text 2 con fl . cli . upload Ċ Ċ import Ġcom . github . zel dig as . conf client . model . Attachment Ċ import Ġcom . github . zel dig as . conf client . model . Con fluence Page Ċ import Ġcom . github . zel dig as . conf client . model . Label Ċ import Ġcom . github . zel dig as . text 2 con fl . convert . Page Ċ import Ġcom . github . zel dig as . text 2 con fl . convert . Page Content Ċ Ċ const Ġval ĠHASH _ PROPERTY Ġ= Ġ" content hash " Ċ const Ġval ĠEDIT OR _ PROPERTY Ġ= Ġ" editor " Ċ Ċ interface ĠPage Upload Operations Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate OrUpdate Page Content ( page : ĠPage , Ġspace : ĠString , Ġparent Page Id : ĠString ): ĠServer Page ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Page Labels ( server Page : ĠServer Page , Ġcontent : ĠPage Content ) ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Page Attachments ( server Page : ĠServer Page , Ġcontent : ĠPage Content ) ĊĊĠĠĠ Ġsuspend Ġfun Ġfind Child Pages ( page Id : ĠString ): ĠList < Con fluence Page > ĊĠĠĠ Ġsuspend Ġfun Ġdelete Page With Children ( page Id : ĠString ) Ċ Ċ } Ċ Ċ enum Ġclass ĠChange Detector ( ĊĠĠĠ Ġval Ġextra Data : ĠList < String >, ĊĠĠĠ Ġval Ġstrategy : Ġ( server Page : ĠCon fluence Page , Ġcontent : ĠPage Content ) Ġ-> ĠBoolean Ċ ) Ġ{ ĊĠĠĠ ĠHASH ( emptyList (), Ġ{ Ġserver Page , Ġcontent Ġ-> ĊĠĠĠĠĠĠĠ Ġserver Page . page Property ( HASH _ PROPERTY )?. value Ġ!= Ġcontent . hash ĊĠĠĠ Ġ}), ĊĠĠĠ ĠCONTENT ( listOf (" body . storage "), Ġ{ Ġserver Page , Ġcontent Ġ-> ĊĠĠĠĠĠĠĠ Ġserver Page . body ?. storage ?. value Ġ!= Ġcontent . body ĊĠĠĠ Ġ}) Ċ } Ċ Ċ data Ġclass ĠServer Page ( ĊĠĠĠ Ġval Ġid : ĠString , Ġval Ġtitle : ĠString , Ġval Ġparent : ĠString , Ġval Ġlabels : ĠList < Label >, Ġval Ġattachments : ĠList < Attachment > Ċ )