package Ġno . nav . f amil ie . integr as jon er . dok ark iv Ċ Ċ import Ġno . nav . f amil ie . integr as jon er . dok ark iv . client . K an Ik ke F er dig st ille Journal post Exception Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . Ress urs Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . Ress urs . Companion . failure Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . Ress urs . Companion . success Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . Ar k iver D okument Response Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . Log isk V ed leg g Request Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . Log isk V ed leg g Response Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . Opp dater Journal post Request Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . Opp dater Journal post Response Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . v 2 . Ar k iver D okument Request Ċ import Ġno . nav . security . token . support . core . api . Protected With Claims Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . validation . FieldError Ċ import Ġorg . springframework . validation . Object Error Ċ import Ġorg . springframework . web . bind . Method Argument Not Valid Exception Ċ import Ġorg . springframework . web . bind . annotation . Delete Mapping Ċ import Ġorg . springframework . web . bind . annotation . ExceptionHandler Ċ import Ġorg . springframework . web . bind . annotation . PathVariable Ċ import Ġorg . springframework . web . bind . annotation . PostMapping Ċ import Ġorg . springframework . web . bind . annotation . Put Mapping Ċ import Ġorg . springframework . web . bind . annotation . RequestBody Ċ import Ġorg . springframework . web . bind . annotation . Request Header Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestParam Ċ import Ġorg . springframework . web . bind . annotation . ResponseStatus Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġjava . util . HashMap Ċ import Ġjava . util . function . Consumer Ċ import Ġjavax . validation . Valid Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . ark iver ing . Ar k iver D okument Request Ġas ĠDeprecated Ar k iver D okument Request Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . dok ark iv . Ar k iver D okument Request Ġas ĠDeprecated Ar k iver D okument Request 2 Ċ Ċ @ RestController Ċ @ Protected With Claims ( issuer Ġ= Ġ" azure ad ") Ċ @ RequestMapping ("/ api / ark iv ") Ċ class ĠD ok ark iv Controller ( private Ġval Ġjo urn alf Ã¸ ring Service : ĠD ok ark iv Service ) Ġ{ ĊĊĠĠĠ Ġ@ ExceptionHandler ( Method Argument Not Valid Exception :: class ) ĊĠĠĠ Ġfun Ġhandle Validation Exceptions ( ex : ĠMethod Argument Not Valid Exception ): ĠResponseEntity < Ress urs < Any >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerrors : ĠMutable Map < String , ĠString > Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠ Ġex . binding Result . all Errors . forEach ( Consumer Ġ{ Ġerror : ĠObject Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfieldName Ġ= Ġ( error Ġas ĠField Error ). field ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠerrorMessage Ġ= Ġerror . getDefault Message () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerrors [ fieldName ] Ġ= ĠerrorMessage ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠLOG . warn (" Val ider ings fe il Ġav Ġinput Ġved Ġ ark iver ing : Ġ$ errors ") ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . bad Request (). body ( failure (" Val ider ings fe il Ġav Ġinput Ġved Ġ ark iver ing Ġ$ errors ", Ġerror Ġ= Ġex )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ExceptionHandler ( K an Ik ke F er dig st ille Journal post Exception :: class ) ĊĠĠĠ Ġfun Ġhandle K an Ik ke F er dig st ille Exception ( ex : ĠK an Ik ke F er dig st ille Journal post Exception ): ĠResponseEntity < Ress urs < Any >> Ġ{ ĊĠĠĠĠĠĠĠ ĠLOG . warn (" Fe il Ġved Ġfer dig st illing Ġ{}", Ġex . message ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . bad Request (). body ( failure ( ex . message , Ġerror Ġ= Ġex )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping ( path Ġ= Ġ["/ v 2 "], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġfun Ġ ark iver D okument V 2 (@ RequestBody Ġ@ Valid Ġdeprecated Ar k iver D okument Request : ĠDeprecated Ar k iver D okument Request , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Request Header ( name Ġ= ĠNAV _ USER _ ID ) Ġnav Ident : ĠString ? Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Ar k iver D okument Response >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . status ( HttpStatus . CREATED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( success ( jo urn alf Ã¸ ring Service . lag Journal post V 2 ( deprecated Ar k iver D okument Request , Ġnav Ident ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . ARK I VERT _ OK _ ME LD ING )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping ( path Ġ= Ġ["/ v 3 "], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġfun Ġ ark iver D okument V 3 (@ RequestBody Ġ@ Valid Ġ ark iver D okument Request : ĠDeprecated Ar k iver D okument Request 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Request Header ( name Ġ= ĠNAV _ USER _ ID ) Ġnav Ident : ĠString ? Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Ar k iver D okument Response >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . status ( HttpStatus . CREATED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( success ( jo urn alf Ã¸ ring Service . lag Journal post V 3 ( ark iver D okument Request , Ġnav Ident ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . ARK I VERT _ OK _ ME LD ING )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping ( path Ġ= Ġ["/ v 4 "], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġfun Ġ ark iver D okument V 4 (@ RequestBody Ġ@ Valid Ġ ark iver D okument Request : ĠAr k iver D okument Request , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Request Header ( name Ġ= ĠNAV _ USER _ ID ) Ġnav Ident : ĠString ? Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Ar k iver D okument Response >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . status ( HttpStatus . CREATED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( success ( jo urn alf Ã¸ ring Service . lag Journal post ( ark iver D okument Request , Ġnav Ident ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . ARK I VERT _ OK _ ME LD ING )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Put Mapping ( path Ġ= Ġ["/ v 2 /{ journal post Id } "], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġfun Ġopp dater Journal post (@ PathVariable ( name Ġ= Ġ" journal post Id ") Ġjournal post Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Request Header ( name Ġ= ĠNAV _ USER _ ID ) Ġnav Ident : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestBody Ġ@ Valid Ġopp dater Journal post Request : ĠO pp dater Journal post Request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Opp dater Journal post Response >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġjo urn alf Ã¸ ring Service . op pd ater Journal post ( op pd ater Journal post Request , Ġjournal post Id , Ġnav Ident ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok ( success ( response , Ġ" Opp dat ert Ġjournal post Ġ$ journal post Id Ġs ak st ilk ny tt ning ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Put Mapping ("/ v 2 /{ journal post Id }/ fer dig still ") ĊĠĠĠ Ġ@ ResponseStatus ( HttpStatus . OK ) ĊĠĠĠ Ġfun Ġfer dig still Journal post (@ PathVariable ( name Ġ= Ġ" journal post Id ") Ġjournal post Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestParam ( name Ġ= Ġ" journal fo eren de En het ") Ġjo urn alf Ã¸ ren de En het : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Request Header ( name Ġ= ĠNAV _ USER _ ID ) Ġnav Ident : ĠString ? Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Map < String , ĠString >>> Ġ{ ĊĊĠĠĠĠĠĠĠ Ġjo urn alf Ã¸ ring Service . fer dist ill Journal post ( journal post Id , Ġjo urn alf Ã¸ ren de En het , Ġnav Ident ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok ( success ( map Of (" journal post Id " Ġto Ġjournal post Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" F er dig st ilt Ġjournal post Ġ$ journal post Id ")) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ PostMapping ( path Ġ= Ġ["/ d okument /{ d okument info Id }/ log isk V ed leg g "], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġfun Ġle gg Til Log isk V ed leg g (@ PathVariable ( name Ġ= Ġ" d okument info Id ") Ġdokument info Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestBody Ġ@ Valid Ġrequest : ĠLog isk V ed leg g Request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Log isk V ed leg g Response >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . status ( HttpStatus . CREATED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( success ( jo urn alf Ã¸ ring Service . lag Ny tt Log isk V ed leg g ( d okument info Id , Ġrequest ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Opp rett et Ġlog isk Ġved leg g ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Delete Mapping ( path Ġ= Ġ["/ d okument /{ d okument info Id }/ log isk V ed leg g /{ log isk V ed leg g Id }" ]) ĊĠĠĠ Ġfun Ġs lett Log isk V ed leg g (@ PathVariable ( name Ġ= Ġ" d okument info Id ") Ġdokument info Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable ( name Ġ= Ġ" log isk V ed leg g Id ") Ġlog isk V ed leg g Id : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠResponseEntity < Ress urs < Log isk V ed leg g Response >> Ġ{ ĊĊĠĠĠĠĠĠĠ Ġjo urn alf Ã¸ ring Service . s lett Log isk V ed leg g ( d okument info Id , Ġlog isk V ed leg g Id ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . status ( HttpStatus . OK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( success ( Log isk V ed leg g Response ( log isk V ed leg g Id . to Long ()), Ġ" log isk Ġved leg g Ġs lett et ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOG Ġ= ĠLoggerFactory . getLogger ( D ok ark iv Controller :: class . java ) ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAR KI VERT _ OK _ ME LD ING Ġ= Ġ" Ar k iv ert Ġjournal post ĠOK " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNAV _ USER _ ID Ġ= Ġ" Nav - User - Id " ĊĠĠĠ Ġ} Ċ Ċ }