diff --git a/app/build.gradle b/app/build.gradle index 8138321..7bb57bf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ configurations { } dependencies { - implementation project(":api") + implementation project(":client-api") developmentOnly("org.springframework.boot:spring-boot-devtools") implementation 'org.springframework.boot:spring-boot-starter-aop' implementation 'org.springframework.boot:spring-boot-starter-security' diff --git a/api/build.gradle b/client-api/build.gradle similarity index 100% rename from api/build.gradle rename to client-api/build.gradle diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/ApiException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/ApiException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/ApiException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/ApiException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/ExceptionFactory.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/ExceptionFactory.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/ExceptionFactory.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/ExceptionFactory.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/InvalidNodeIdentifierException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/InvalidNodeIdentifierException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/InvalidNodeIdentifierException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/InvalidNodeIdentifierException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/InvalidRoomIdentifierException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/InvalidRoomIdentifierException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/InvalidRoomIdentifierException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/InvalidRoomIdentifierException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/InvalidUsernamesException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/InvalidUsernamesException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/InvalidUsernamesException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/InvalidUsernamesException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/NoRoomsAvailableException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/NoRoomsAvailableException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/NoRoomsAvailableException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/NoRoomsAvailableException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/NodeAlreadyExistException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/NodeAlreadyExistException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/NodeAlreadyExistException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/NodeAlreadyExistException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/NodeNotFoundException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/NodeNotFoundException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/NodeNotFoundException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/NodeNotFoundException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/NotPersistedNodeException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/NotPersistedNodeException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/NotPersistedNodeException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/NotPersistedNodeException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/RoomAlreadyExistException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/RoomAlreadyExistException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/RoomAlreadyExistException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/RoomAlreadyExistException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/RoomAreFullException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/RoomAreFullException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/RoomAreFullException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/RoomAreFullException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/exception/RoomNotFoundException.java b/client-api/src/main/java/ru/dragonestia/picker/api/exception/RoomNotFoundException.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/exception/RoomNotFoundException.java rename to client-api/src/main/java/ru/dragonestia/picker/api/exception/RoomNotFoundException.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/NodeRepository.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/NodeRepository.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/NodeRepository.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/NodeRepository.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/RoomPickerRepository.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/RoomPickerRepository.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/RoomPickerRepository.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/RoomPickerRepository.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/RoomRepository.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/RoomRepository.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/RoomRepository.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/RoomRepository.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/UserRepository.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/UserRepository.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/UserRepository.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/UserRepository.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/details/NodeDetails.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/details/NodeDetails.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/details/NodeDetails.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/details/NodeDetails.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/details/RoomDetails.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/details/RoomDetails.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/details/RoomDetails.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/details/RoomDetails.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/details/UserDetails.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/details/UserDetails.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/details/UserDetails.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/details/UserDetails.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/ErrorResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/ErrorResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/ErrorResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/ErrorResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkUsersWithRoomResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkUsersWithRoomResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkUsersWithRoomResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkUsersWithRoomResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkedRoomsWithUserResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkedRoomsWithUserResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkedRoomsWithUserResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/LinkedRoomsWithUserResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomInfoResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomInfoResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomInfoResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomInfoResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomListResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomListResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomListResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomListResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomPickerInfoResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomPickerInfoResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomPickerInfoResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomPickerInfoResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomUserListResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomUserListResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomUserListResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/RoomUserListResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/SearchUserResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/SearchUserResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/SearchUserResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/SearchUserResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/UserDetailsResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/UserDetailsResponse.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/UserDetailsResponse.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/UserDetailsResponse.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RUser.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RUser.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RUser.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RUser.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java similarity index 100% rename from api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java rename to client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java diff --git a/api/src/main/java/ru/dragonestia/picker/api/utils/ValidateIdentifier.java b/client-api/src/main/java/ru/dragonestia/picker/api/utils/ValidateIdentifier.java similarity index 58% rename from api/src/main/java/ru/dragonestia/picker/api/utils/ValidateIdentifier.java rename to client-api/src/main/java/ru/dragonestia/picker/api/utils/ValidateIdentifier.java index 5363618..c88a2d6 100644 --- a/api/src/main/java/ru/dragonestia/picker/api/utils/ValidateIdentifier.java +++ b/client-api/src/main/java/ru/dragonestia/picker/api/utils/ValidateIdentifier.java @@ -5,14 +5,14 @@ public class ValidateIdentifier { private ValidateIdentifier() {} public static boolean forNode(String nodeId) { - return nodeId.matches("^[a-z\\d-]+$"); + return nodeId.matches("^(?!-)[a-z\\d-]{0,31}[a-z\\d](?!-)$"); } public static boolean forRoom(String roomId) { - return roomId.matches("^[a-z\\d-]+$"); + return roomId.matches("^(?!-)[a-z\\d-]{0,31}[a-z\\d](?!-)$"); } public static boolean forUser(String username) { - return username.matches("^[aA-zZ\\d-.\\s:@_;]+$"); + return username.matches("^[aA-zZ\\d-.\\s:@_;]{1,64}$"); } } diff --git a/control-panel/build.gradle b/control-panel/build.gradle index d06cadc..677c16e 100644 --- a/control-panel/build.gradle +++ b/control-panel/build.gradle @@ -27,7 +27,7 @@ vaadin { } dependencies { - implementation project(":api") + implementation project(":client-api") implementation 'com.vaadin:vaadin-spring-boot-starter' compileOnly 'org.projectlombok:lombok' diff --git a/settings.gradle b/settings.gradle index 4d6c145..a98138d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,4 +3,5 @@ rootProject.name = 'RoomPicker' include 'app' include 'control-panel' include 'api' +include 'client-api'