diff --git a/src/main/java/roomescape/view/controller/AdminPageController.java b/src/main/java/roomescape/view/controller/AdminPageController.java deleted file mode 100644 index 61d78f42..00000000 --- a/src/main/java/roomescape/view/controller/AdminPageController.java +++ /dev/null @@ -1,40 +0,0 @@ -package roomescape.view.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; - -import roomescape.system.auth.annotation.Admin; - -@Controller -public class AdminPageController { - - @Admin - @GetMapping("/admin") - public String showAdminPage() { - return "admin/index"; - } - - @Admin - @GetMapping("/admin/reservation") - public String showAdminReservationPage() { - return "admin/reservation-new"; - } - - @Admin - @GetMapping("/admin/time") - public String showAdminTimePage() { - return "admin/time"; - } - - @Admin - @GetMapping("/admin/theme") - public String showAdminThemePage() { - return "admin/theme"; - } - - @Admin - @GetMapping("/admin/waiting") - public String showAdminWaitingPage() { - return "admin/waiting"; - } -} diff --git a/src/main/java/roomescape/view/controller/AuthPageController.java b/src/main/java/roomescape/view/controller/AuthPageController.java deleted file mode 100644 index 328679ff..00000000 --- a/src/main/java/roomescape/view/controller/AuthPageController.java +++ /dev/null @@ -1,13 +0,0 @@ -package roomescape.view.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; - -@Controller -public class AuthPageController { - - @GetMapping("/login") - public String showLoginPage() { - return "login"; - } -} diff --git a/src/main/java/roomescape/view/controller/ClientPageController.java b/src/main/java/roomescape/view/controller/ClientPageController.java deleted file mode 100644 index 480845b6..00000000 --- a/src/main/java/roomescape/view/controller/ClientPageController.java +++ /dev/null @@ -1,27 +0,0 @@ -package roomescape.view.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; - -import roomescape.system.auth.annotation.LoginRequired; - -@Controller -public class ClientPageController { - - @GetMapping("/") - public String showPopularThemePage() { - return "index"; - } - - @LoginRequired - @GetMapping("/reservation") - public String showReservationPage() { - return "reservation"; - } - - @LoginRequired - @GetMapping("/reservation-mine") - public String showReservationMinePage() { - return "reservation-mine"; - } -} diff --git a/src/main/java/roomescape/view/controller/PageController.kt b/src/main/java/roomescape/view/controller/PageController.kt new file mode 100644 index 00000000..5bbe9afc --- /dev/null +++ b/src/main/java/roomescape/view/controller/PageController.kt @@ -0,0 +1,48 @@ +package roomescape.view.controller + +import org.springframework.stereotype.Controller +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.PathVariable +import org.springframework.web.bind.annotation.RequestMapping +import roomescape.system.auth.annotation.Admin +import roomescape.system.auth.annotation.LoginRequired + +@Controller +class AuthPageController { + + @GetMapping("/login") + fun showLoginPage(): String = "login" +} + +@Controller +@RequestMapping("/admin") +class AdminPageController { + + @Admin + @GetMapping + fun showIndexPage() = "admin/index" + + @Admin + @GetMapping("/{page}") + fun showAdminSubPage(@PathVariable page: String) = when (page) { + "reservation" -> "admin/reservation-new" + "time" -> "admin/time" + "theme" -> "admin/theme" + "waiting" -> "admin/waiting" + else -> "admin/index" + } +} + +@Controller +class ClientPageController { + @GetMapping("/") + fun showPopularThemePage(): String = "index" + + @LoginRequired + @GetMapping("/reservation") + fun showReservationPage(): String = "reservation" + + @LoginRequired + @GetMapping("/reservation-mine") + fun showReservationMinePage(): String = "reservation-mine" +}