From 11ef2b51c9cb2fbd3bf8f1f647f9959f1bb69dcc Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Sat, 30 Mar 2024 09:52:25 +0700 Subject: [PATCH] Secured admin client for control panel --- .../picker/api/impl/RoomPickerClient.java | 2 +- .../picker/cp/config/RoomPickerConfig.java | 3 +- .../picker/cp/util/AdminRoomPickerClient.java | 29 +++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 control-panel/src/main/java/ru/dragonestia/picker/cp/util/AdminRoomPickerClient.java diff --git a/client-impl/src/main/java/ru/dragonestia/picker/api/impl/RoomPickerClient.java b/client-impl/src/main/java/ru/dragonestia/picker/api/impl/RoomPickerClient.java index cbe29c8..6ec817b 100644 --- a/client-impl/src/main/java/ru/dragonestia/picker/api/impl/RoomPickerClient.java +++ b/client-impl/src/main/java/ru/dragonestia/picker/api/impl/RoomPickerClient.java @@ -63,7 +63,7 @@ public class RoomPickerClient { return userRepository; } - public @NotNull AccountRepository getAccountRepository() { + public @NotNull AccountRepository getAccountRepository() { return accountRepository; } diff --git a/control-panel/src/main/java/ru/dragonestia/picker/cp/config/RoomPickerConfig.java b/control-panel/src/main/java/ru/dragonestia/picker/cp/config/RoomPickerConfig.java index 6b52ccd..94d486e 100644 --- a/control-panel/src/main/java/ru/dragonestia/picker/cp/config/RoomPickerConfig.java +++ b/control-panel/src/main/java/ru/dragonestia/picker/cp/config/RoomPickerConfig.java @@ -7,6 +7,7 @@ import ru.dragonestia.picker.api.impl.RoomPickerClient; import ru.dragonestia.picker.cp.annotation.ServerURL; import ru.dragonestia.picker.cp.model.Account; import ru.dragonestia.picker.cp.model.provider.AccountProvider; +import ru.dragonestia.picker.cp.util.AdminRoomPickerClient; @Configuration public class RoomPickerConfig { @@ -28,7 +29,7 @@ public class RoomPickerConfig { @Bean RoomPickerClient adminClient() { - return new RoomPickerClient(serverUrl, "admin", "qwerty123"); + return new AdminRoomPickerClient(serverUrl, adminUsername, adminPassword); } @Bean diff --git a/control-panel/src/main/java/ru/dragonestia/picker/cp/util/AdminRoomPickerClient.java b/control-panel/src/main/java/ru/dragonestia/picker/cp/util/AdminRoomPickerClient.java new file mode 100644 index 0000000..eacc77e --- /dev/null +++ b/control-panel/src/main/java/ru/dragonestia/picker/cp/util/AdminRoomPickerClient.java @@ -0,0 +1,29 @@ +package ru.dragonestia.picker.cp.util; + +import org.jetbrains.annotations.NotNull; +import ru.dragonestia.picker.api.impl.RoomPickerClient; +import ru.dragonestia.picker.api.repository.NodeRepository; +import ru.dragonestia.picker.api.repository.RoomRepository; +import ru.dragonestia.picker.api.repository.UserRepository; + +public class AdminRoomPickerClient extends RoomPickerClient { + + public AdminRoomPickerClient(@NotNull String url, @NotNull String username, @NotNull String password) { + super(url, username, password); + } + + @Override + public @NotNull NodeRepository getNodeRepository() { + throw new UnsupportedOperationException(); + } + + @Override + public @NotNull RoomRepository getRoomRepository() { + throw new UnsupportedOperationException(); + } + + @Override + public @NotNull UserRepository getUserRepository() { + throw new UnsupportedOperationException(); + } +}