package Ġuk . gov . just ice . digital . h mp ps . oauth 2 server . resource . api Ċ Ċ import Ġio . swagger . annotations . Api Ċ import Ġio . swagger . annotations . ApiModelProperty Ċ import Ġio . swagger . annotations . ApiOperation Ċ import Ġio . swagger . annotations . Api Param Ċ import Ġio . swagger . annotations . ApiResponse Ċ import Ġio . swagger . annotations . Api Responses Ċ import Ġorg . apache . commons . text . Word Utils Ċ import Ġorg . springframework . security . access . pre post . Pre Authorize Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestParam Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġuk . gov . just ice . digital . h mp ps . oauth 2 server . model . Error Detail Ċ import Ġuk . gov . just ice . digital . h mp ps . oauth 2 server . security . UserService Ċ import Ġjavax . validation . constraints . NotEmpty Ċ Ċ @ RestController Ċ @ Api ( tags Ġ= Ġ["/ api / pr ison user "]) Ċ @ RequestMapping ("/ api / pr ison user ") Ċ class ĠPr ison UserController ( private Ġval ĠuserService : ĠUserService ) Ġ{ ĊĠ Ġ@ GetMapping ĊĠ Ġ@ Pre Authorize (" has Role (' ROLE _ USE _ OF _ FORCE ') ") ĊĠ Ġ@ ApiOperation ( ĊĠĠĠ Ġvalue Ġ= Ġ" Find Ġpr ison Ġusers Ġby Ġfirst Ġand Ġlast Ġnames .", ĊĠĠĠ Ġnotes Ġ= Ġ" Find Ġpr ison Ġusers Ġby Ġfirst Ġand Ġlast Ġnames .", ĊĠĠĠ Ġnickname Ġ= Ġ" Pr ison Ġusers ", ĊĠĠĠ Ġproduces Ġ= Ġ" application / json " ĊĠ Ġ) ĊĠ Ġ// Ġ 2 0 0 Ġresponse Ġadded Ġautomatically ĊĠ Ġ@ Api Responses ( value Ġ= Ġ[ ApiResponse ( code Ġ= Ġ 4 0 1 , Ġmessage Ġ= Ġ" Unauthorized .", Ġresponse Ġ= ĠError Detail :: class )]) ĊĠ Ġfun Ġpr ison Users By First And LastName ( ĊĠĠĠ Ġ@ Api Param ( ĊĠĠĠĠĠ Ġvalue Ġ= Ġ" The Ġfirst Ġname Ġto Ġmatch . ĠCase Ġins ensitive .", ĊĠĠĠĠĠ Ġrequired Ġ= Ġtrue ĊĠĠĠ Ġ) Ġ@ RequestParam Ġ@ NotEmpty ĠfirstName : ĠString , ĊĠĠĠ Ġ@ Api Param ( ĊĠĠĠĠĠ Ġvalue Ġ= Ġ" The Ġlast Ġname Ġto Ġmatch . ĠCase Ġins ensitive ", ĊĠĠĠĠĠ Ġrequired Ġ= Ġtrue ĊĠĠĠ Ġ) Ġ@ RequestParam Ġ@ NotEmpty ĠlastName : ĠString , ĊĠ Ġ): ĠList < Pr ison User > Ġ{ ĊĠĠĠ Ġreturn ĠuserService . find Pr ison Users By First And Last Names ( firstName , ĠlastName ) ĊĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠ ĠPr ison User ( ĊĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġit . username , ĊĠĠĠĠĠĠĠĠĠ Ġstaff Id Ġ= Ġit . userId . to Long OrNull (), ĊĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġit . email , ĊĠĠĠĠĠĠĠĠĠ Ġverified Ġ= Ġit . verified , ĊĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= ĠWord Utils . capitalize Fully ( it . firstName ), ĊĠĠĠĠĠĠĠĠĠ ĠlastName Ġ= ĠWord Utils . capitalize Fully ( it . lastName ), ĊĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠWord Utils . capitalize Fully ("${ it . firstName } Ġ${ it . lastName } "), ĊĠĠĠĠĠĠĠĠĠ Ġactive Case Load Id Ġ= Ġit . active Case Load Id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġcopy Ġof ĠPr ison User Dto Ġwith Ġadded ĠSwagger Ġannotations . Ċ Ġ* ĠDone Ġto Ġkeep Ġpresentation Ġlayer Ġdetail Ġout Ġof Ġthe Ġservice Ġlayer . Ċ Ġ*/ Ċ data Ġclass ĠPr ison User ( ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġtrue , Ġexample Ġ= Ġ" RO _ USER _ TEST ") ĊĠ Ġval Ġusername : ĠString , ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġtrue , Ġexample Ġ= Ġ" 1 2 3 4 5 6 4 7 8 9 ") ĊĠ Ġval Ġstaff Id : ĠLong ?, ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġfalse , Ġexample Ġ= Ġ" ry an ort on @ just ice . gov . uk ") ĊĠ Ġval Ġemail : ĠString ?, ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġtrue , Ġexample Ġ= Ġ" true ") ĊĠ Ġval Ġverified : ĠBoolean , ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġtrue , Ġexample Ġ= Ġ" R yan ") ĊĠ Ġval ĠfirstName : ĠString , ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġtrue , Ġexample Ġ= Ġ" Or ton ") ĊĠ Ġval ĠlastName : ĠString , ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġtrue , Ġexample Ġ= Ġ" R yan ĠOr ton ") ĊĠ Ġval Ġname : ĠString , ĊĠ Ġ@ ApiModelProperty ( required Ġ= Ġfalse , Ġexample Ġ= Ġ" M DI ") ĊĠ Ġval Ġactive Case Load Id : ĠString ? Ċ ) Ċ