/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 ĠB eno Ã® t ĠPri ou x Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . github . bin out . soc cer . interfaces . rest Ċ Ċ import Ġio . github . bin out . soc cer . application . GetAll Players Ċ import Ġio . github . bin out . soc cer . application . Add Season Ċ import Ġio . github . bin out . soc cer . application . GetAll Se asons Ċ import Ġio . github . bin out . soc cer . application . Get Season Ċ import Ġio . github . bin out . soc cer . application . Get Season Stats Ċ import Ġio . github . bin out . soc cer . domain . season . Season Statistics Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ @ RestController Ċ @ RequestMapping (" rest / se asons ") Ċ class ĠSe asons Resource Ġ( ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Se asons : ĠGetAll Se asons , ĊĠĠĠĠĠĠĠ Ġval Ġadd Season : ĠAdd Season , ĊĠĠĠĠĠĠĠ Ġval Ġget Season : ĠGet Season , ĊĠĠĠĠĠĠĠ Ġval Ġget Season Stats : ĠGet Season Stats , ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Players : ĠGetAll Players ) Ġ{ ĊĊĠĠĠ Ġ@ GetMapping ĊĠĠĠ Ġfun Ġall (): ĠList < Rest Season > Ġ= ĠgetAll Se asons . execute (). map Ġ{ Ġit . to Rest Model () Ġ} ĊĊĠĠĠ Ġ@ Put Mapping ("{ name }") ĊĠĠĠ Ġfun Ġput (@ PathVariable (" name ") Ġname : ĠString ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseason Name Ġ= ĠSe ason Name ( name ). name ĊĠĠĠĠĠĠĠ Ġadd Season . execute ( season Name ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok (). build < Any >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("{ name }") ĊĠĠĠ Ġfun Ġget (@ PathVariable (" name ") Ġname : ĠString ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseason Name Ġ= ĠSe ason Name ( name ). name ĊĠĠĠĠĠĠĠ Ġreturn Ġget Season . execute ( season Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĠResponseEntity . ok ( Rest Season ( it . name )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠResponseEntity . not Found (). build < Any >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("{ name }/ stats ") ĊĠĠĠ Ġfun Ġstats (@ PathVariable (" name ") Ġname : ĠString ): ĠResponseEntity < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseason Name Ġ= ĠSe ason Name ( name ). name ĊĠĠĠĠĠĠĠ Ġreturn Ġget Season Stats . execute ( season Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĠResponseEntity . ok ( to Rest Stat List ( it )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠResponseEntity . not Found (). build < Any >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Rest Stat List ( s : ĠSe ason Statistics ): ĠList < Rest Stat > Ġ= ĠgetAll Players . execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġs . to Rest Stat ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Descending Ġ{ Ġit . nb Matches Ġ} Ċ Ċ } Ċ