diff --git a/pom.xml b/pom.xml
index 88282ee..9f969bd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
org.example
- NTO-2024
+ Android-Bootcamp-2025-Backend
1.0-SNAPSHOT
@@ -14,6 +14,9 @@
UTF-8
+
org.springframework.boot
spring-boot-starter-parent
@@ -22,36 +25,47 @@
- org.projectlombok
- lombok
+ com.h2database
+ h2
+
+
+ org.liquibase
+ liquibase-core
+
+
org.springframework.boot
spring-boot-starter-web
-
- com.h2database
- h2
-
+
org.springframework.boot
spring-boot-starter-data-jpa
+
+
+ org.projectlombok
+ lombok
+
+
org.springdoc
springdoc-openapi-ui
1.7.0
- org.junit.jupiter
- junit-jupiter-engine
- test
+ org.projectlombok
+ lombok
+
org.springframework.boot
- spring-boot-starter-test
- test
+ spring-boot-starter-security
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/example/nto/config/WebSecurityConfig.java b/src/main/java/com/example/nto/config/WebSecurityConfig.java
new file mode 100644
index 0000000..8ddce5d
--- /dev/null
+++ b/src/main/java/com/example/nto/config/WebSecurityConfig.java
@@ -0,0 +1,5 @@
+package com.example.nto.config;
+
+public class WebSecurityConfig {
+
+}
diff --git a/src/main/java/com/example/nto/dto/EmployeeRegisterDTO.java b/src/main/java/com/example/nto/dto/EmployeeRegisterDTO.java
new file mode 100644
index 0000000..c837eed
--- /dev/null
+++ b/src/main/java/com/example/nto/dto/EmployeeRegisterDTO.java
@@ -0,0 +1,10 @@
+package com.example.nto.dto;
+
+import lombok.Data;
+
+@Data
+public class EmployeeRegisterDTO {
+ private String login;
+ private String name;
+ private String password;
+}
diff --git a/src/main/java/com/example/nto/entity/Code.java b/src/main/java/com/example/nto/entity/Code.java
index 0dec04e..b1e64cb 100644
--- a/src/main/java/com/example/nto/entity/Code.java
+++ b/src/main/java/com/example/nto/entity/Code.java
@@ -7,7 +7,6 @@ import javax.persistence.*;
@Data
@Entity
@Builder
-@NoArgsConstructor
@AllArgsConstructor
@Getter
public class Code {
diff --git a/src/main/java/com/example/nto/entity/Employee.java b/src/main/java/com/example/nto/entity/Employee.java
index 5eea5ac..f387774 100644
--- a/src/main/java/com/example/nto/entity/Employee.java
+++ b/src/main/java/com/example/nto/entity/Employee.java
@@ -1,18 +1,14 @@
package com.example.nto.entity;
import lombok.AllArgsConstructor;
-import lombok.Builder;
import lombok.Data;
-import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.time.LocalDateTime;
@Data
@Entity
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
+@Table(name="employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -22,10 +18,12 @@ public class Employee {
private String login;
@Column(name = "name")
private String name;
- @Column(name = "photo")
- private String photo;
+ @Column(name="password")
+ private String password;
+ @Column(name = "photo_url")
+ private String photoUrl;
@Column(name = "position")
private String position;
- @Column(name = "lastVisit")
+ @Column(name = "last_visit")
private LocalDateTime lastVisit;
}
diff --git a/src/main/java/com/example/nto/service/EmployeeService.java b/src/main/java/com/example/nto/service/EmployeeService.java
index 1d21330..48d16f6 100644
--- a/src/main/java/com/example/nto/service/EmployeeService.java
+++ b/src/main/java/com/example/nto/service/EmployeeService.java
@@ -4,7 +4,5 @@ import com.example.nto.entity.Code;
import com.example.nto.entity.Employee;
public interface EmployeeService {
- String getAuth(String login);
- Employee getInfo(String login);
- String patchOpen(String login, long value);
+
}
diff --git a/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java
index 47feabf..ce5eb31 100644
--- a/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java
+++ b/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java
@@ -41,7 +41,7 @@ public class EmployeeServiceImpl implements EmployeeService {
}
@Override
- public String patchOpen(String login, long value) {
+ public String patchOpen(String login, long value) { // Сделать возвращение статуса, а не строчки
Employee employeeLogin=employeeRepository.findByLogin(login);
Code codeValue=codeRepository.findByValue(value);
if(employeeLogin==null) {
diff --git a/src/main/java/com/example/nto/util/EmployeeMapper.java b/src/main/java/com/example/nto/util/EmployeeMapper.java
new file mode 100644
index 0000000..84824a7
--- /dev/null
+++ b/src/main/java/com/example/nto/util/EmployeeMapper.java
@@ -0,0 +1,17 @@
+package com.example.nto.util;
+
+import com.example.nto.dto.EmployeeRegisterDTO;
+import com.example.nto.entity.Employee;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public class EmployeeMapper {
+ public EmployeeRegisterDTO convertToRegisterDTO(Employee employee){
+ EmployeeRegisterDTO employeeRegisterDTO = new EmployeeRegisterDTO();
+ employeeRegisterDTO.setLogin(employee.getLogin());
+ employeeRegisterDTO.setPassword(employee.getPassword());
+ employeeRegisterDTO.setName(employee.getName());
+
+ return employeeRegisterDTO;
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c6bfd72..73a1d48 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,28 +1,17 @@
spring:
-
- datasource:
+ datasourse:
url: jdbc:h2:mem:testdb
h2:
console:
- #enabled: false
enabled: true
+ liquibase:
+ enabled: true
+ change-log: classpath:db.changelog/1.0/db.changelog-master.xml
+
jpa:
- #generate-ddl: false
- generate-ddl: true
-
+ generate-ddl: false
hibernate:
- #ddl-auto: none
- ddl-auto: create-drop
-
- # Показываем запросы
- show-sql: true
-
- # Своевременный запуск data.sql
- defer-datasource-initialization: true
-
- spring-doc:
- swagger-ui:
- path: /swagger-ui.html
- operationsSorter: method
\ No newline at end of file
+ ddl-auto: none
+ show-sql: true
\ No newline at end of file
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
deleted file mode 100644
index 03720a9..0000000
--- a/src/main/resources/data.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-INSERT INTO employee (id, login, name, photo, position, last_visit)
-VALUES
-(1, 'pivanov', 'Иванов Петр Федорович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-12T08:30'),
-(2, 'ipetrov', 'Петров Иван Константинович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Аналитик', '2024-02-13T08:35'),
-(3, 'asemenov', 'Семенов Анатолий Анатольевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-13T08:31'),
-(4, 'afedorov', 'Федоров Александр Сергеевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Тестировщик', '2024-02-12T08:36');
-
-INSERT INTO code (value)
-VALUES
-(1234567890123456789),
-(9223372036854775807),
-(1122334455667788990),
-(998877665544332211),
-(5566778899001122334);
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0001-employee.xml b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0001-employee.xml
new file mode 100644
index 0000000..74dce1f
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0001-employee.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0002-code.xml b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0002-code.xml
new file mode 100644
index 0000000..1a5ef32
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0002-code.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0003-authority.xml b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0003-authority.xml
new file mode 100644
index 0000000..6005d57
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0003-authority.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0004-employee-authority.xml b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0004-employee-authority.xml
new file mode 100644
index 0000000..413653d
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/1.0/2025-02-18-0004-employee-authority.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/data/2025-02-18-0001-employee-data.xml b/src/main/resources/db.changelog/1.0/data/2025-02-18-0001-employee-data.xml
new file mode 100644
index 0000000..abdd5eb
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/2025-02-18-0001-employee-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/data/2025-02-18-0002-code-data.xml b/src/main/resources/db.changelog/1.0/data/2025-02-18-0002-code-data.xml
new file mode 100644
index 0000000..fe67e6b
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/2025-02-18-0002-code-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/data/2025-02-18-0003-authority-data.xml b/src/main/resources/db.changelog/1.0/data/2025-02-18-0003-authority-data.xml
new file mode 100644
index 0000000..d574058
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/2025-02-18-0003-authority-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/data/2025-02-18-0004-employee-authority-data.xml b/src/main/resources/db.changelog/1.0/data/2025-02-18-0004-employee-authority-data.xml
new file mode 100644
index 0000000..8d83aed
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/2025-02-18-0004-employee-authority-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0001-employee-data.csv b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0001-employee-data.csv
new file mode 100644
index 0000000..8eebab1
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0001-employee-data.csv
@@ -0,0 +1,8 @@
+login;name;password;position;photo_url;last_visit
+pivanov;Иванов Петр Федорович;abcd;Разработчик;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;2024-02-12T08:30:21
+ipetrov;Петров Иван Константинович;abcd;Аналитик;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;2024-02-13T08:35:44
+asemenov;Семенов Анатолий Анатольевич;abcd;Разработчик;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;2024-02-13T08:31:33
+afedorov;Федоров Александр Сергеевич;abcd;Тестировщик;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;2024-02-12T08:36:09
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0002-code-data.csv b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0002-code-data.csv
new file mode 100644
index 0000000..6d381a6
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0002-code-data.csv
@@ -0,0 +1,8 @@
+value
+1234567890123456789
+9223372036854775807
+1122334455667788990
+998877665544332211
+5566778899001122334
+
+
diff --git a/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0003-authority-data.csv b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0003-authority-data.csv
new file mode 100644
index 0000000..2de6959
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0003-authority-data.csv
@@ -0,0 +1,3 @@
+authorities
+ROLE_USER
+ROLE_ADMIN
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0004-employee-authority-data.csv b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0004-employee-authority-data.csv
new file mode 100644
index 0000000..6e6f6fb
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/data/csv/2025-02-18-0004-employee-authority-data.csv
@@ -0,0 +1,5 @@
+employee_id;authority_id
+1;1
+2;1
+3;1
+4;1
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/db.changelog-master.xml b/src/main/resources/db.changelog/1.0/db.changelog-master.xml
new file mode 100644
index 0000000..6bf3c31
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/db.changelog-master.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file