package Ġno . nav . kl age . d okument . api . controller Ċ Ċ import Ġio . swagger . annotations . Api Ċ import Ġio . swagger . annotations . ApiOperation Ċ import Ġno . nav . kl age . d okument . clients . k ab al smart editor api . K ab al Smart Editor ApiClient Ċ import Ġno . nav . kl age . d okument . clients . k ab al smart editor api . model . request . Comment Input Ċ import Ġno . nav . kl age . d okument . clients . k ab al smart editor api . model . response . Comment Output Ċ import Ġno . nav . kl age . d okument . clients . k ab al smart editor api . model . response . Document Output Ċ import Ġno . nav . kl age . d okument . domain . d okument er under ar be id . Persistent D okument Id Ċ import Ġno . nav . kl age . d okument . service . D okument Under Ar be id Service Ċ import Ġno . nav . kl age . op pg ave . config . Security Configuration . Companion . IS SU ER _ AAD Ċ import Ġno . nav . kl age . op pg ave . util . getLogger Ċ import Ġno . nav . kl age . op pg ave . util . get Secure Logger Ċ import Ġno . nav . security . token . support . core . api . Protected With Claims Ċ import Ġorg . springframework . web . bind . annotation .* Ċ import Ġjava . util .* ĊĊ Ċ @ RestController Ċ @ Api ( tags Ġ= Ġ[" k ab al - api - d okument er "]) Ċ @ Protected With Claims ( issuer Ġ= ĠISS U ER _ AAD ) Ċ @ RequestMapping ("/ be handling er /{ be handling Id }/ d okument er / smart editor /{ d okument Id }") Ċ class ĠSmart Editor Controller ( ĊĠĠĠ Ġprivate Ġval Ġk ab al Smart Editor ApiClient : ĠK ab al Smart Editor ApiClient , ĊĠĠĠ Ġprivate Ġval Ġdokument Under Ar be id Service : ĠD okument Under Ar be id Service Ċ Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" JAVA _ CLASS _ ON _ COMP AN ION ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= Ġget Logger ( java Class . enc lo sing Class ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsecure Logger Ġ= Ġget Secure Logger () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Update Ġdocument ", ĊĠĠĠĠĠĠĠ Ġnotes Ġ= Ġ" Update Ġdocument " ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Put Mapping ĊĠĠĠ Ġfun Ġupdate Document ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" d okument Id ") Ġdocument Id : ĠUUID , ĊĠĠĠĠĠĠĠ Ġ@ RequestBody Ġjson Input : ĠString ĊĠĠĠ Ġ): ĠDocument Output Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsmart Editor Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Under Ar be id Service . get Smart Editor Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpersistent D okument Id Ġ= ĠPersistent D okument Id ( document Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġk ab al Smart Editor ApiClient . update Document ( smart Editor Id , Ġjson Input ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Get Ġdocument ", ĊĠĠĠĠĠĠĠ Ġnotes Ġ= Ġ" Get Ġdocument " ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ GetMapping ĊĠĠĠ Ġfun Ġget Document (@ PathVariable (" d okument Id ") Ġdocument Id : ĠUUID ): ĠDocument Output Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsmart Editor Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Under Ar be id Service . get Smart Editor Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpersistent D okument Id Ġ= ĠPersistent D okument Id ( document Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġk ab al Smart Editor ApiClient . getDocument ( smart Editor Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Create Ġcomment Ġfor Ġa Ġgiven Ġdocument ", ĊĠĠĠĠĠĠĠ Ġnotes Ġ= Ġ" Create Ġcomment Ġfor Ġa Ġgiven Ġdocument " ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ PostMapping ("/ comments ") ĊĠĠĠ Ġfun Ġcreate Comment ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" d okument Id ") Ġdocument Id : ĠUUID , ĊĠĠĠĠĠĠĠ Ġ@ RequestBody Ġcomment Input : ĠComment Input ĊĠĠĠ Ġ): ĠComment Output Ġ{ ĊĠĠĠĠĠĠĠ Ġ// TODO : ĠSk al Ġhv em Ġsom Ġhel st Ġf Ã¥ Ġkom ment ere ? ĊĠĠĠĠĠĠĠ Ġval Ġsmart Editor Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Under Ar be id Service . get Smart Editor Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpersistent D okument Id Ġ= ĠPersistent D okument Id ( document Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġk ab al Smart Editor ApiClient . create comment ( smart Editor Id , Ġcomment Input ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Get Ġall Ġcomments Ġfor Ġa Ġgiven Ġdocument ", ĊĠĠĠĠĠĠĠ Ġnotes Ġ= Ġ" Get Ġall Ġcomments Ġfor Ġa Ġgiven Ġdocument " ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ GetMapping ("/ comments ") ĊĠĠĠ Ġfun ĠgetAll Comments With Possible Threads ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" d okument Id ") Ġdocument Id : ĠUUID ĊĠĠĠ Ġ): ĠList < Comment Output > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsmart Editor Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Under Ar be id Service . get Smart Editor Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpersistent D okument Id Ġ= ĠPersistent D okument Id ( document Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġk ab al Smart Editor ApiClient . getAll Comments With Possible Threads ( smart Editor Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Reply Ġto Ġa Ġgiven Ġcomment ", ĊĠĠĠĠĠĠĠ Ġnotes Ġ= Ġ" Reply Ġto Ġa Ġgiven Ġcomment " ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ PostMapping ("/ comments /{ comment Id }/ replies ") ĊĠĠĠ Ġfun Ġreply To Comment ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" d okument Id ") Ġdocument Id : ĠUUID , ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" comment Id ") Ġcomment Id : ĠUUID , ĊĠĠĠĠĠĠĠ Ġ@ RequestBody Ġcomment Input : ĠComment Input , ĊĠĠĠ Ġ): ĠComment Output Ġ{ ĊĠĠĠĠĠĠĠ Ġ// TODO : ĠSk al Ġhv em Ġsom Ġhel st Ġf Ã¥ Ġkom ment ere ? ĊĠĠĠĠĠĠĠ Ġval Ġsmart Editor Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Under Ar be id Service . get Smart Editor Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpersistent D okument Id Ġ= ĠPersistent D okument Id ( document Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġk ab al Smart Editor ApiClient . reply To Comment ( smart Editor Id , Ġcomment Id , Ġcomment Input ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Get Ġa Ġgiven Ġcomment ", ĊĠĠĠĠĠĠĠ Ġnotes Ġ= Ġ" Get Ġa Ġgiven Ġcomment " ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ GetMapping ("/ comments /{ comment Id }") ĊĠĠĠ Ġfun Ġget Comment With Possible Thread ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" d okument Id ") Ġdocument Id : ĠUUID , ĊĠĠĠĠĠĠĠ Ġ@ PathVariable (" comment Id ") Ġcomment Id : ĠUUID ĊĠĠĠ Ġ): ĠComment Output Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsmart Editor Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdokument Under Ar be id Service . get Smart Editor Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpersistent D okument Id Ġ= ĠPersistent D okument Id ( document Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠreadOnly Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġk ab al Smart Editor ApiClient . get Comment With Possible Thread ( smart Editor Id , Ġcomment Id ) ĊĠĠĠ Ġ} Ċ }