package Ġli . do er f . feed er . viewer . controllers Ċ Ċ import Ġli . do er f . feed er . common . util . getLogger Ċ import Ġli . do er f . feed er . viewer . dto . Item Dto Ċ import Ġli . do er f . feed er . viewer . dto . to Dto Ċ import Ġli . do er f . feed er . viewer . services . Item Service Ċ import Ġli . do er f . feed er . viewer . util . User Utils Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ @ RestController Ċ @ Prefix Controller Ċ @ RequestMapping ("/ items ") Ċ class ĠItems Controller Ġ@ Autowired Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġuser Utils : ĠUser Utils , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġitem Service : ĠItem Service Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" JAVA _ CLASS _ ON _ COMP AN ION ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlog Ġ= Ġget Logger ( java Class ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("/ by Feed /{ feed Id }") ĊĠĠĠ Ġfun ĠgetAll By Feed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable Ġfeed Id : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestParam ( required Ġ= Ġfalse ) Ġfrom : ĠLong ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestParam ( required Ġ= Ġfalse , ĠdefaultValue Ġ= Ġ" 3 0 ") Ġsize : ĠInt ĊĠĠĠ Ġ): ĠResponseEntity < List < Item Dto >> Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . debug (" retrie ving Ġal Ġentries Ġfor Ġfeed Ġp key =$ feed Id ") ĊĠĠĠĠĠĠĠ Ġval Ġitem Dto s Ġ= Ġitem Service . getItems By Feed ( feed Id , Ġuser Utils . getCurrent User (), Ġfrom , Ġsize ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity ( item Dto s , ĠHttpStatus . OK ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ PostMapping ("/ { itemId }/ read ") ĊĠĠĠ Ġfun Ġmark As Read (@ PathVariable ĠitemId : ĠLong ): ĠResponseEntity < Item Dto > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitem Service . mark As Read ( itemId , Ġuser Utils . getCurrent User ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok ( item . to Dto ( true )) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ@ PostMapping ("/ { itemId }/ unread ") ĊĠĠĠ Ġfun Ġmark As Un read (@ PathVariable ĠitemId : ĠLong ): ĠResponseEntity < Item Dto > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitem Service . mark As Un read ( itemId , Ġuser Utils . getCurrent User ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok ( item . to Dto ( false )) ĊĠĠĠ Ġ} ĊĊĊ Ċ } Ċ