From 126c8e0cb0669eca713bc4a2ac228b04a562427c Mon Sep 17 00:00:00 2001 From: Universall <universall@server.com> Date: Tue, 18 Feb 2025 19:00:29 +0300 Subject: [PATCH] [TEMP] Code entity --- .../components/auth/models/code/CodeDTO.java | 10 +++++++ .../auth/models/code/CodeMapper.java | 26 +++++++++++++++++++ .../auth/models/code/CodeModel.java | 22 ++++++++++++++++ .../auth/models/code/CodeRepository.java | 6 +++++ .../auth/models/code/service/CodeService.java | 9 +++++++ .../models/code/service/CodeServiceImpl.java | 23 ++++++++++++++++ .../acss/controllers/acs/ACSController.java | 13 ++++++++++ .../acss/controllers/user/UserController.java | 5 ++++ src/main/resources/application.properties | 2 +- .../resources/db/changelog/01/0001-users.xml | 2 +- .../resources/db/changelog/01/0002-roles.xml | 2 +- .../db/changelog/01/0003-user_roles.xml | 2 +- .../resources/db/changelog/01/0004-codes.xml | 17 ++++++++++++ .../db/changelog/data/0001-user-data.xml | 2 +- .../db/changelog/data/0002-roles-data.xml | 2 +- .../changelog/data/0003-user_roles-data.xml | 2 +- .../db/changelog/data/0004-codes-data.xml | 9 +++++++ .../db/changelog/data/csv/0004-codes-data.csv | 5 ++++ 18 files changed, 152 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/displaynone/acss/components/auth/models/code/CodeDTO.java create mode 100644 src/main/java/com/displaynone/acss/components/auth/models/code/CodeMapper.java create mode 100644 src/main/java/com/displaynone/acss/components/auth/models/code/CodeModel.java create mode 100644 src/main/java/com/displaynone/acss/components/auth/models/code/CodeRepository.java create mode 100644 src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeService.java create mode 100644 src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeServiceImpl.java create mode 100644 src/main/java/com/displaynone/acss/controllers/acs/ACSController.java create mode 100644 src/main/resources/db/changelog/01/0004-codes.xml create mode 100644 src/main/resources/db/changelog/data/0004-codes-data.xml create mode 100644 src/main/resources/db/changelog/data/csv/0004-codes-data.csv diff --git a/src/main/java/com/displaynone/acss/components/auth/models/code/CodeDTO.java b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeDTO.java new file mode 100644 index 0000000..50253bf --- /dev/null +++ b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeDTO.java @@ -0,0 +1,10 @@ +package com.displaynone.acss.components.auth.models.code; + +import lombok.Data; + + +@Data +public class CodeDTO { + private Long id; + private Long value; +} diff --git a/src/main/java/com/displaynone/acss/components/auth/models/code/CodeMapper.java b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeMapper.java new file mode 100644 index 0000000..243d166 --- /dev/null +++ b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeMapper.java @@ -0,0 +1,26 @@ +package com.displaynone.acss.components.auth.models.code; + +import com.displaynone.acss.components.auth.models.role.RoleDTO; +import com.displaynone.acss.components.auth.models.role.RoleMapper; +import com.displaynone.acss.components.auth.models.role.RoleModel; +import com.displaynone.acss.utils.GlobalUtils; +import lombok.experimental.UtilityClass; + +import java.util.Collection; +import java.util.List; + +@UtilityClass +public class CodeMapper { + public CodeDTO convertToDTO(CodeModel model) { + CodeDTO dto = new CodeDTO(); + + dto.setId(model.getId()); + dto.setValue(model.getValue()); + + return dto; + } + + public List<RoleDTO> convertAllToDTO(Collection<RoleModel> models) { + return GlobalUtils.convertAllToDTO(models, RoleMapper::convertToDTO); + } +} diff --git a/src/main/java/com/displaynone/acss/components/auth/models/code/CodeModel.java b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeModel.java new file mode 100644 index 0000000..dcfa0f1 --- /dev/null +++ b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeModel.java @@ -0,0 +1,22 @@ +package com.displaynone.acss.components.auth.models.code; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Entity +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CodeModel { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + private long value; +} \ No newline at end of file diff --git a/src/main/java/com/displaynone/acss/components/auth/models/code/CodeRepository.java b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeRepository.java new file mode 100644 index 0000000..f131a1d --- /dev/null +++ b/src/main/java/com/displaynone/acss/components/auth/models/code/CodeRepository.java @@ -0,0 +1,6 @@ +package com.displaynone.acss.components.auth.models.code; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CodeRepository extends JpaRepository<CodeModel, Long> { +} diff --git a/src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeService.java b/src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeService.java new file mode 100644 index 0000000..71f35bb --- /dev/null +++ b/src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeService.java @@ -0,0 +1,9 @@ +package com.displaynone.acss.components.auth.models.code.service; + +import com.displaynone.acss.components.auth.models.code.CodeModel; + +public interface CodeService { + CodeModel getCodeByValue(Long value); + + boolean isValid(Long code); +} diff --git a/src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeServiceImpl.java b/src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeServiceImpl.java new file mode 100644 index 0000000..a6945e5 --- /dev/null +++ b/src/main/java/com/displaynone/acss/components/auth/models/code/service/CodeServiceImpl.java @@ -0,0 +1,23 @@ +package com.displaynone.acss.components.auth.models.code.service; + +import com.displaynone.acss.components.auth.models.code.CodeModel; +import com.displaynone.acss.components.auth.models.code.CodeRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + + +@Component +@RequiredArgsConstructor +public class CodeServiceImpl implements CodeService { + private final CodeRepository codeRepository; + + @Override + public CodeModel getCodeByValue(Long value) { + return null; + } + + @Override + public boolean isValid(Long code) { + return false; + } +} diff --git a/src/main/java/com/displaynone/acss/controllers/acs/ACSController.java b/src/main/java/com/displaynone/acss/controllers/acs/ACSController.java new file mode 100644 index 0000000..8210759 --- /dev/null +++ b/src/main/java/com/displaynone/acss/controllers/acs/ACSController.java @@ -0,0 +1,13 @@ +package com.displaynone.acss.controllers.acs; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/acs") +public class ACSController { + @PostMapping("/open") + public ResponseEntity<Void> open() {} +} diff --git a/src/main/java/com/displaynone/acss/controllers/user/UserController.java b/src/main/java/com/displaynone/acss/controllers/user/UserController.java index 9c37bcc..071442a 100644 --- a/src/main/java/com/displaynone/acss/controllers/user/UserController.java +++ b/src/main/java/com/displaynone/acss/controllers/user/UserController.java @@ -17,4 +17,9 @@ public class UserController { UserModel user = (UserModel) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); return ResponseEntity.ok(UserMapper.convertToDTO(user)); } + + @GetMapping("/login/{login}") + public ResponseEntity<UserDTO> getUserByLogin() { + // TODO + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 3f4d95a..8ed8610 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,4 @@ -server.port=8080 +server.port=8085 spring.application.name=ACSS diff --git a/src/main/resources/db/changelog/01/0001-users.xml b/src/main/resources/db/changelog/01/0001-users.xml index e0f7929..cdaf877 100644 --- a/src/main/resources/db/changelog/01/0001-users.xml +++ b/src/main/resources/db/changelog/01/0001-users.xml @@ -4,7 +4,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd"> - <changeSet id="1" author="universall"> + <changeSet id="users" author="universall"> <createTable tableName="users"> <column name="id" type="INTEGER" autoIncrement="true"> <constraints primaryKey="true"/> diff --git a/src/main/resources/db/changelog/01/0002-roles.xml b/src/main/resources/db/changelog/01/0002-roles.xml index 59dfc94..dc8fdce 100644 --- a/src/main/resources/db/changelog/01/0002-roles.xml +++ b/src/main/resources/db/changelog/01/0002-roles.xml @@ -4,7 +4,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd"> - <changeSet id="1" author="universall"> + <changeSet id="roles" author="universall"> <createTable tableName="roles"> <column name="id" type="INTEGER" autoIncrement="true"> <constraints primaryKey="true"/> diff --git a/src/main/resources/db/changelog/01/0003-user_roles.xml b/src/main/resources/db/changelog/01/0003-user_roles.xml index e27e673..d002d59 100644 --- a/src/main/resources/db/changelog/01/0003-user_roles.xml +++ b/src/main/resources/db/changelog/01/0003-user_roles.xml @@ -4,7 +4,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd"> - <changeSet id="2" author="universall"> + <changeSet id="user_roles" author="universall"> <createTable tableName="user_roles"> <column name="user_id" type="INTEGER"> <constraints nullable="false"/> diff --git a/src/main/resources/db/changelog/01/0004-codes.xml b/src/main/resources/db/changelog/01/0004-codes.xml new file mode 100644 index 0000000..c678ca2 --- /dev/null +++ b/src/main/resources/db/changelog/01/0004-codes.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<databaseChangeLog + xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog + https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd"> + <changeSet id="codes" author="universall"> + <createTable tableName="codes"> + <column name="id" type="INTEGER" autoIncrement="true"> + <constraints primaryKey="true"/> + </column> + <column name="value" type="INTEGER"> + <constraints unique="true" nullable="false"/> + </column> + </createTable> + </changeSet> +</databaseChangeLog> diff --git a/src/main/resources/db/changelog/data/0001-user-data.xml b/src/main/resources/db/changelog/data/0001-user-data.xml index cfe6654..cd89c56 100644 --- a/src/main/resources/db/changelog/data/0001-user-data.xml +++ b/src/main/resources/db/changelog/data/0001-user-data.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd"> - <changeSet id="0001-users-data" author="universall"> + <changeSet id="users-data" author="universall"> <loadData tableName="users" file="db/changelog/data/csv/0001-users-data.csv" separator=";" quotchar='"'/> </changeSet> </databaseChangeLog> diff --git a/src/main/resources/db/changelog/data/0002-roles-data.xml b/src/main/resources/db/changelog/data/0002-roles-data.xml index 9da2bf4..b5ee39c 100644 --- a/src/main/resources/db/changelog/data/0002-roles-data.xml +++ b/src/main/resources/db/changelog/data/0002-roles-data.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd"> - <changeSet id="0002-roles-data" author="universall"> + <changeSet id="roles-data" author="universall"> <loadData tableName="roles" file="db/changelog/data/csv/0002-roles-data.csv" separator=";" quotchar='"'/> </changeSet> </databaseChangeLog> diff --git a/src/main/resources/db/changelog/data/0003-user_roles-data.xml b/src/main/resources/db/changelog/data/0003-user_roles-data.xml index f2edbcb..55120eb 100644 --- a/src/main/resources/db/changelog/data/0003-user_roles-data.xml +++ b/src/main/resources/db/changelog/data/0003-user_roles-data.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd"> - <changeSet id="0002-user_roles-data" author="universall"> + <changeSet id="user_roles-data" author="universall"> <loadData tableName="user_roles" file="db/changelog/data/csv/0003-user_roles-data.csv" separator=";" quotchar='"'/> </changeSet> </databaseChangeLog> diff --git a/src/main/resources/db/changelog/data/0004-codes-data.xml b/src/main/resources/db/changelog/data/0004-codes-data.xml new file mode 100644 index 0000000..732da24 --- /dev/null +++ b/src/main/resources/db/changelog/data/0004-codes-data.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<databaseChangeLog + xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd"> + <changeSet id="codes-data" author="universall"> + <loadData tableName="codes" file="db/changelog/data/csv/0004-codes-data.csv" separator=";" quotchar='"'/> + </changeSet> +</databaseChangeLog> diff --git a/src/main/resources/db/changelog/data/csv/0004-codes-data.csv b/src/main/resources/db/changelog/data/csv/0004-codes-data.csv new file mode 100644 index 0000000..c2aca49 --- /dev/null +++ b/src/main/resources/db/changelog/data/csv/0004-codes-data.csv @@ -0,0 +1,5 @@ +1;1234567890123456789 +2;9223372036854775807 +3;1122334455667788990 +4;998877665544332211 +5;5566778899001122334 \ No newline at end of file