package Ġcom . pms . plac eman age ments ystem server side . apic ont roller . scheduling Ċ Ċ import Ġcom . pms . plac eman age ments ystem server side . apic ont roller . contract . Api Controller Ċ import Ġcom . pms . plac eman age ments ystem server side . dto . Scheduling Post Response Dto Ċ import Ġcom . pms . plac eman age ments ystem server side . models . api . response . ApiResponse Model Ċ import Ġcom . pms . plac eman age ments ystem server side . models . api . response . Status Response Model Ċ import Ġcom . pms . plac eman age ments ystem server side . models . enums . Status Response TypeEnum Ċ import Ġcom . pms . plac eman age ments ystem server side . models . scheduling . Scheduling Model Ċ import Ġcom . pms . plac eman age ments ystem server side . service . scheduling . Scheduling Service Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ Ċ @ RestController Ċ @ RequestMapping ( value Ġ= Ġ["/ pms - api / scheduler "]) Ċ class ĠS cheduling Api Controller Ġ: ĠApi Controller < Scheduling Model > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Scheduling Api Controller :: class . java ) ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscheduling Service : ĠS cheduling Service ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( item : ĠS cheduling Model ): ĠApiResponse Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" create :: item : Ġ$ item ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Updated Ġ= Ġscheduling Service . create ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 0 0 0 , ĠS cheduling Post Response Dto ( item . id , Ġitem . status . name , Ġitem . space Found ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" create ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġ" NÃ£o Ġexiste Ġes pa Ã§o Ġpara Ġess a Ġsolicit aÃ§Ã£o !", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" NÃ£o Ġexiste Ġes pa Ã§o Ġpara Ġess a Ġsolicit aÃ§Ã£o !" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread By Filter ( item : ĠS cheduling Model ): ĠApiResponse Model Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġfiltered S chedul ings : ĠList < Scheduling Model >? ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" read By Filter :: item : Ġ$ item ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfiltered S chedul ings Ġ= Ġscheduling Service . read () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" read By Filter :: filtered S chedul ings : Ġ$ filtered S chedul ings ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model () ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread (): ĠApiResponse Model Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscheduling Model List Ġ= Ġscheduling Service . read () ĊĠĠĠĠĠĠĠ Ġlogger . info (" read :: scheduling Model List : Ġ$ scheduling Model List ") ĊĠĠĠĠĠĠĠ Ġreturn ĠApiResponse Model ( 2 0 0 0 0 , Ġscheduling Model List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( item : ĠS cheduling Model , Ġid : ĠLong ): ĠApiResponse Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . id Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" read :: update : Ġ$ item ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheduling Service . update ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus Response Model ( Status Response TypeEnum . SUCCESS . status ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( id : ĠLong ): ĠApiResponse Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheduling Service . delete ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus Response Model ( Status Response TypeEnum . SUCCESS . status ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApiResponse Model () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }