package Ġ<%= Ġbase Package Ġ% >. controllers Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġ<%= Ġbase Package Ġ% >. models . dto . Create Widget Request Ċ import Ġ<%= Ġbase Package Ġ% >. models . dto . widget Response Ċ import Ġ<%= Ġbase Package Ġ% >. services . Widget Service Ċ import Ġcom . k ue . route . json Ċ import Ġspark . Route Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠWidget Controller Ġ@ Inject Ġconstructor Ġ( val ĠobjectMapper : ĠObjectMapper , Ġval Ġwidget Service : ĠWidget Service ) Ġ{ ĊĊĠĠĠ Ġval Ġcreate Ġ= Ġjson ( Route () Ġ{ Ġreq , Ġres Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġwidget Request Ġ= ĠobjectMapper . readValue ( req . body (), ĠCreate Widget Request :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġwidget Ġ= Ġwidget Service . create ( widget Request ) ĊĠĠĠĠĠĠĠ Ġwidget Response ( widget ) ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġval Ġlist Ġ= Ġjson ( Route () Ġ{ Ġreq , Ġres Ġ-> ĊĠĠĠĠĠĠĠ Ġwidget Service . list (). map Ġ{ Ġwidget Response ( it ) Ġ} ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġval Ġsecure Create Ġ= Ġsec ured Polit ely ( create ) ĊĊĠĠĠ Ġval Ġsecure List Ġ= Ġsec ured Polit ely ( list ) Ċ Ċ } Ċ