1 package io.extact.rms.client.console.ui.admin;
2
3 import static io.extact.rms.client.console.ui.textio.TextIoUtils.*;
4
5 import lombok.RequiredArgsConstructor;
6
7 import io.extact.rms.client.api.dto.UserAccountClientDto;
8 import io.extact.rms.client.console.ui.TransitionMap.RmsScreen;
9 import io.extact.rms.client.console.ui.TransitionMap.Transition;
10
11 public class AdminMainScreen implements RmsScreen {
12
13 @RequiredArgsConstructor
14 public enum AdminMenuList {
15
16 ENTRY_RENTAL_ITEM("レンタル品登録", Transition.ENTRY_RENTAL_ITEM),
17 ENTRY_USER("ユーザ登録", Transition.ENTRY_USER),
18 EDIT_USER("ユーザ編集", Transition.EDIT_USER),
19 RELOGIN("再ログイン", Transition.LOGIN),
20 END("終了", Transition.END);
21
22 private final String name;
23 private final Transition transition;
24
25 Transition getTransition() {
26 return transition;
27 }
28
29 @Override
30 public String toString() {
31 return name;
32 }
33 }
34
35 @Override
36 public Transition play(UserAccountClientDto loginUser, boolean printHeader) {
37
38 printScreenHeader(loginUser, "管理者サービスメニュー画面");
39
40 var selectedMenu = newEnumInputReader(AdminMenuList.class)
41 .read("メニュー番号を入力して下さい。");
42
43 return selectedMenu.getTransition();
44 }
45 }