package Ġbr . com . j ir atorio . controller Ċ Ċ import Ġbr . com . j ir atorio . domain . Account Ċ import Ġbr . com . j ir atorio . domain . request . H oliday Request Ċ import Ġbr . com . j ir atorio . domain . response . holiday . H oliday Response Ċ import Ġbr . com . j ir atorio . service . H oliday Service Ċ import Ġorg . springframework . data . domain . Page Ċ import Ġorg . springframework . data . domain . Page able Ċ import Ġorg . springframework . data . web . Page able Default Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . security . core . annotation . Authentication Principal Ċ import Ġorg . springframework . web . bind . annotation . Delete Mapping Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ 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 . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġorg . springframework . web . servlet . support . Servlet Uri Components Builder Ċ import Ġjavax . validation . Valid Ċ Ċ @ RestController Ċ @ RequestMapping ("/ boards /{ board Id }/ h olidays ") Ċ class ĠH oliday Controller ( private Ġval Ġh oliday Service : ĠH oliday Service ) Ġ{ ĊĊĠĠĠ Ġ@ GetMapping ĊĠĠĠ Ġfun Ġindex ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġboard Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Page able Default ( sort Ġ= Ġ[" date "]) Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠPage < H oliday Response > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġh oliday Service . findBy Board ( board Id , Ġpage able ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping ĊĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġboard Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Valid Ġ@ RequestBody Ġh oliday : ĠH oliday Request ĊĠĠĠ Ġ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġh oliday Service . create ( board Id , Ġh oliday ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠServlet Uri Components Builder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Current Request () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. path ("/ { id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( id ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . created ( location ). build < Any >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping ( params Ġ= Ġ[" import = true "]) ĊĠĠĠ Ġfun Ġimport H olidays ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġboard Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Authentication Principal Ġaccount : ĠAccount ĊĠĠĠ Ġ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġh oliday Service . import H olidays ( board Id , Ġaccount ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity < Any >( HttpStatus . CREATED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Delete Mapping ("/ { id }") ĊĠĠĠ Ġfun Ġdelete (@ PathVariable Ġid : ĠLong ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġh oliday Service . delete ( id ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . no Content (). build < Any >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("/ { id }") ĊĠĠĠ Ġfun Ġfind ById (@ PathVariable Ġid : ĠLong ): ĠH oliday Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġh oliday Service . findById ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Put Mapping ("/ { holiday Id }") ĊĠĠĠ Ġfun Ġupdate ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġboard Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġh oliday Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Valid Ġ@ RequestBody Ġh oliday Request : ĠH oliday Request ĊĠĠĠ Ġ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġh oliday Service . update ( board Id , Ġh oliday Id , Ġh oliday Request ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . no Content (). build < Any >() ĊĠĠĠ Ġ} Ċ Ċ } Ċ