package Ġorg . learning . server . controller . rest Ċ Ċ import Ġorg . learning . server . common . Session Helper Ċ import Ġorg . learning . server . entity .* Ċ import Ġorg . learning . server . entity . base . Chapter Info Ċ import Ġorg . learning . server . form . Course Form Ċ import Ġorg . learning . server . form . Resource Form Ċ import Ġorg . learning . server . model . common . Response Ċ import Ġorg . learning . server . model . common . Responses Ċ import Ġorg . learning . server . model . complex . Course Open Info Ċ import Ġorg . learning . server . service . IC ourse Service Ċ import Ġorg . learning . server . service . impl . Course Service Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . web . bind . annotation . PostMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . validation . Valid Ċ Ċ @ RestController Ċ @ RequestMapping ("/ api / course ") Ċ class ĠCourse Controller Ġ{ ĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġcourse Service : ĠI Course Service ĊĠĠĠ Ġprivate Ġvar Ġcourse : ĠString Ġ= Ġ" course " ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä»ħ ä¾Ľ æµĭè¯ķ ï¼Į æŁ¥æī¾ æīĢæľī è¯¾ç¨ĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ all ") ĊĠĠĠ Ġfun Ġall (): ĠResponse < Iterable < Course >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResponse s . ok ( course Service . all ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ç®¡çĲĨ çļĦ è¯¾ç¨ĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ list / admin ") ĊĠĠĠ Ġfun Ġadmin List ( request : ĠHttpServletRequest ): ĠResponse < Iterable < Course >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠResponse s . ok ( course Service . admin List ( user )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ æĪĳ è¦ģ ä¸ĬçļĦ è¯¾ç¨ĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ list ") ĊĠĠĠ Ġfun Ġlist ( request : ĠHttpServletRequest ): ĠResponse < Iterable < Course Open Info >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠResponse s . ok ( course Service . list ( user )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å½ĵåīį è¯¾ç¨ĭ çļĦ åŁºç¡Ģ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ get ") ĊĠĠĠ Ġfun Ġget ( course Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Course > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . get ( course Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł æĸ° è¯¾ç¨ĭ ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ create ") ĊĠĠĠ Ġfun Ġcreate (@ Valid Ġcourse Form : ĠCourse Form , Ġrequest : ĠHttpServletRequest ): ĠResponse < Course > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . create ( course Form , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¿®æĶ¹ è¯¾ç¨ĭ çļĦ åŁºç¡Ģ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ update ") ĊĠĠĠ Ġfun Ġupdate (@ Valid Ġcourse Form : ĠCourse Form , Ġrequest : ĠHttpServletRequest ): ĠResponse < Course > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . update ( course Form , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ ä¸Ģ éĹ¨ è¯¾ç¨ĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ delete ") ĊĠĠĠ Ġfun Ġdelete ( course Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠResponse s . ok ( course Service . delete ( course Id , Ġuser )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġåľ¨ è¯¾ç¨ĭ ä¸Ń æ·»åĬł Tag ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ tag / create ") ĊĠĠĠ Ġfun Ġcreate Tag ( course Id : ĠInt , Ġname : ĠString , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Course Tag >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . create Tag ( course Id , Ġname , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġåľ¨ è¯¾ç¨ĭ ä¸Ń ç§»éĻ¤ tag ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ tag / delete ") ĊĠĠĠ Ġfun Ġremove Tag ( course Id : ĠInt , Ġtag Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Course Tag >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . delete Tag ( course Id , Ġtag Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ä¸Ģä¸ª è¯¾ç¨ĭ çļĦ chapter s ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ chapter / get ") ĊĠĠĠ Ġfun Ġget Chapter s ( course Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Chapter Info >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . get Chapter s ( course Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġåľ¨ order å¤Ħ åĪĽå»ºä¸Ģä¸ª chapter ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ chapter / create ") ĊĠĠĠ Ġfun Ġcreate Chapter ( course Id : ĠInt , Ġname : ĠString , Ġindex : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Chapter Info >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . create Chapter ( course Id , Ġname , Ġindex , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæĽ´æĸ° ä¸Ģä¸ª chapter çļĦ åĲįåŃĹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ chapter / update ") ĊĠĠĠ Ġfun Ġupdate Chapter ( course Id : ĠInt , Ġchapter Id : ĠInt , Ġname : ĠString , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Chapter Info >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . update Chapter ( course Id , Ġchapter Id , Ġname , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç§»åĬ¨ ä¸Ģä¸ª chapter çļĦ ä½įç½® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ chapter / move ") ĊĠĠĠ Ġfun Ġmove Chapter ( course Id : ĠInt , Ġchapter Id : ĠInt , Ġindex : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Chapter Info >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . move Chapter ( course Id , Ġchapter Id , Ġindex , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ ä¸Ģä¸ª chapter ï¼Ī åĮħåĲ« åŃĲ çº§ media ï¼ī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ chapter / delete ") ĊĠĠĠ Ġfun Ġdelete Chapter ( course Id : ĠInt , Ġchapter Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Chapter Info >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . delete Chapter ( course Id , Ġchapter Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ä¸Ģä¸ª è¯¾ç¨ĭ çļĦ resources ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ resource / get ") ĊĠĠĠ Ġfun Ġget Resources ( course Id : ĠInt , Ġrequest : ĠHttpServletRequest ) Ġ: ĠResponse < Iterable < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . getResources ( course Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĽå»º ä¸Ģä¸ª èµĦæºĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ resource / create ") ĊĠĠĠ Ġfun Ġcreate Resource ( course Id : ĠInt , Ġ@ Valid Ġresource Form : ĠResource Form , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . create Resource ( course Id , Ġresource Form , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæĽ´æĸ° ä¸Ģä¸ª èµĦæºĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ resource / update ") ĊĠĠĠ Ġfun Ġupdate Resource ( course Id : ĠInt , Ġresource Id : ĠInt , Ġname : ĠString , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . update Resource ( course Id , Ġresource Id , Ġname , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ ä¸Ģä¸ª èµĦæºĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ resource / delete ") ĊĠĠĠ Ġfun Ġdelete Resource ( course Id : ĠInt , Ġresource Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . delete Resource ( course Id , Ġresource Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ä¸Ģä¸ª chapter çļĦ medi as ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ media / get ") ĊĠĠĠ Ġfun Ġget Med ias ( chapter Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Media >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . get Med ias ( chapter Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĽå»º ä¸Ģä¸ª media ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ media / create ") ĊĠĠĠ Ġfun Ġcreate Media ( chapter Id : ĠInt , Ġname : ĠString , Ġindex : ĠInt , Ġresource Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Media >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . create Media ( chapter Id , Ġname , Ġindex , Ġresource Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæĽ´æĸ° ä¸Ģä¸ª media ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ media / update ") ĊĠĠĠ Ġfun Ġupdate Media ( chapter Id : ĠInt , Ġmedia Id : ĠInt , Ġname : ĠString , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Media >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . update Media ( chapter Id , Ġmedia Id , Ġname , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç§»åĬ¨ ä¸Ģä¸ª media ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ media / move ") ĊĠĠĠ Ġfun Ġmove Media ( chapter Id : ĠInt , Ġmedia Id : ĠInt , Ġindex : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Media >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . move Media ( chapter Id , Ġmedia Id , Ġindex , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ ä¸Ģä¸ª media ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ media / delete ") ĊĠĠĠ Ġfun Ġdelete Media ( chapter Id : ĠInt , Ġmedia Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Iterable < Media >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . delete Media ( chapter Id , Ġmedia Id , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĳ è¯¾ç¨ĭ ä¸Ń æ·»åĬł ä¸Ģä¸ª ç®¡çĲĨåĳĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ admin / add ") ĊĠĠĠ Ġfun Ġadd Admin ( course Id : ĠInt , Ġadmin Uid : ĠString , Ġrequest : ĠHttpServletRequest ): ĠResponse < Course > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . add Admin ( course Id , Ġadmin Uid , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĳ è¯¾ç¨ĭ ä¸Ń åĪłéĻ¤ ä¸Ģä¸ª ç®¡çĲĨåĳĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ admin / delete ") ĊĠĠĠ Ġfun Ġdelete Admin ( course Id : ĠInt , Ġadmin Uid : ĠString , Ġrequest : ĠHttpServletRequest ): ĠResponse < Course > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . delete Admin ( course Id , Ġadmin Uid , Ġuser ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä¸» åĬ¨ æĶ¾ å¼ĥ å¯¹ ä¸Ģä¸ª è¯¾ç¨ĭ çļĦ ç®¡çĲĨ æĿĥéĻĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ("/ admin / exit ") ĊĠĠĠ Ġfun Ġexit Admin ( course Id : ĠInt , Ġrequest : ĠHttpServletRequest ): ĠResponse < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠSession Helper . of ( request ). user () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcourse Service . exit Admin ( course Id , Ġuser ) ĊĠĠĠ Ġ} Ċ }