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 convertAllToDTO(Collection 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 { +} 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 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 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"> - + 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"> - + 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"> - + 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 @@ + + + + + + + + + + + + + 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"> - + 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"> - + 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"> - + 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 @@ + + + + + + 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