diff --git a/pom.xml b/pom.xml
index 48f4128..0c123d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,10 +37,6 @@
org.springframework.boot
spring-boot-starter-data-jpa
-
- org.springdoc
- springdoc-openapi-ui
-
org.junit.jupiter
junit-jupiter-engine
@@ -49,6 +45,29 @@
org.springframework.boot
spring-boot-starter-test
+
+ org.liquibase
+ liquibase-core
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.projectlombok
+ lombok
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
\ No newline at end of file
diff --git a/src/main/java/com/example/nto/controller/EmployeeController.java b/src/main/java/com/example/nto/controller/EmployeeController.java
index 62f199b..fdf1f9a 100644
--- a/src/main/java/com/example/nto/controller/EmployeeController.java
+++ b/src/main/java/com/example/nto/controller/EmployeeController.java
@@ -56,7 +56,6 @@ public class EmployeeController {
response.put("login", user.getLogin());
response.put("name", user.getName());
response.put("photo", user.getPhoto());
- response.put("position", user.getPosition());
response.put("lastVisit", user.getLastVisit());
return ResponseEntity.ok(response);
diff --git a/src/main/java/com/example/nto/entity/Authority.java b/src/main/java/com/example/nto/entity/Authority.java
new file mode 100644
index 0000000..4062caa
--- /dev/null
+++ b/src/main/java/com/example/nto/entity/Authority.java
@@ -0,0 +1,19 @@
+package com.example.nto.entity;
+
+import lombok.Data;
+import org.springframework.security.core.GrantedAuthority;
+
+import javax.persistence.*;
+
+@Entity
+@Data
+@Table(name="authority")
+public class Authority implements GrantedAuthority {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ @Column(name = "authority")
+ private String authority;
+}
diff --git a/src/main/java/com/example/nto/entity/Code.java b/src/main/java/com/example/nto/entity/Code.java
index c187e89..29e07b4 100644
--- a/src/main/java/com/example/nto/entity/Code.java
+++ b/src/main/java/com/example/nto/entity/Code.java
@@ -1,6 +1,7 @@
package com.example.nto.entity;
import lombok.Data;
+import lombok.Getter;
import javax.persistence.*;
@@ -10,7 +11,11 @@ import javax.persistence.*;
public class Code {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
- private long id;
+ private Long id;
- private long value;
+ @Column(name="name", nullable = false, unique = true)
+ private Long value;
+
+ @Column(name = "value", nullable = false, unique = true)
+ private String name;
}
diff --git a/src/main/java/com/example/nto/entity/Employee.java b/src/main/java/com/example/nto/entity/Employee.java
index 81d73f3..8cd5c3f 100644
--- a/src/main/java/com/example/nto/entity/Employee.java
+++ b/src/main/java/com/example/nto/entity/Employee.java
@@ -4,38 +4,49 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.*;
import javax.persistence.*;
+import java.sql.Timestamp;
import java.time.LocalDateTime;
+import java.util.Set;
+
@Data
@Entity
@Table(name = "employee")
-
-@JsonPropertyOrder({"id", "login", "name", "photo", "position", "lastVisit"})
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
- private long id;
+ private Long id;
- @Getter
- @Column(nullable = false, unique = true)
+ @Column(name="login", nullable = false, unique = true)
private String login;
- @Getter
- @Column(nullable = false)
+ @Column(name="name", nullable = false)
private String name;
- @Getter
- @Column(nullable = false)
+ @Column(name="password", nullable = false)
+ private String password;
+
+ @Column(name="photo")
private String photo;
- @Getter
- @Column(nullable = false)
- private String position;
+ @Column(name = "description")
+ private String description;
- @Getter
- @Column(name = "last_visit", nullable = false)
- private LocalDateTime lastVisit;
+ @Column(name = "birth_date")
+ private String birthDate;
- public Long getId() { return id; }
+ @Column(name = "avatar_url")
+ private String avatarUrl;
+ @Column(name = "entered_at")
+ private Timestamp joinedAt;
+
+ @Column(name = "created_at", nullable = false)
+ private Timestamp createdAt;
+
+ @Column(name = "last_visit")
+ private Timestamp lastVisit;
+
+ @OneToMany(fetch = FetchType.EAGER)
+ private Set authorities;
}
diff --git a/src/main/java/com/example/nto/entity/Enter.java b/src/main/java/com/example/nto/entity/Enter.java
new file mode 100644
index 0000000..896ea61
--- /dev/null
+++ b/src/main/java/com/example/nto/entity/Enter.java
@@ -0,0 +1,39 @@
+package com.example.nto.entity;
+
+
+import liquibase.pro.packaged.C;
+import lombok.Data;
+import lombok.Getter;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+import java.time.LocalDateTime;
+import java.util.Set;
+
+@Data
+@Entity
+@Table(name = "enter")
+public class Enter {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ @ManyToMany
+ @JoinTable(
+ name = "enter_employee", // Name of the join table
+ joinColumns = @JoinColumn(name = "enter_id"), // Column for this entity
+ inverseJoinColumns = @JoinColumn(name = "employee_id") // Column for the other entity
+ )
+ private Set employees;
+
+ @ManyToMany
+ @JoinTable(
+ name = "enter_code", // Name of the join table
+ joinColumns = @JoinColumn(name = "enter_id"), // Column for this entity
+ inverseJoinColumns = @JoinColumn(name = "code_id") // Column for the other entity
+ )
+ private Set codes;
+ @Column(nullable = false)
+ private Timestamp entered_at;
+
+}
diff --git a/src/main/java/com/example/nto/exception/AuthorityNotFoundException.java b/src/main/java/com/example/nto/exception/AuthorityNotFoundException.java
deleted file mode 100644
index 6f971e1..0000000
--- a/src/main/java/com/example/nto/exception/AuthorityNotFoundException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class AuthorityNotFoundException extends RuntimeException {
- public AuthorityNotFoundException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/CenterNotFoundException.java b/src/main/java/com/example/nto/exception/CenterNotFoundException.java
deleted file mode 100644
index 20d4a6f..0000000
--- a/src/main/java/com/example/nto/exception/CenterNotFoundException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class CenterNotFoundException extends RuntimeException {
- public CenterNotFoundException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/EmailAlreadyExistsException.java b/src/main/java/com/example/nto/exception/EmailAlreadyExistsException.java
deleted file mode 100644
index 49cfbc0..0000000
--- a/src/main/java/com/example/nto/exception/EmailAlreadyExistsException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class EmailAlreadyExistsException extends RuntimeException {
- public EmailAlreadyExistsException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/InvalidBirthDateException.java b/src/main/java/com/example/nto/exception/InvalidBirthDateException.java
deleted file mode 100644
index 8bd8a3e..0000000
--- a/src/main/java/com/example/nto/exception/InvalidBirthDateException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class InvalidBirthDateException extends RuntimeException {
- public InvalidBirthDateException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/InvalidDescriptionException.java b/src/main/java/com/example/nto/exception/InvalidDescriptionException.java
deleted file mode 100644
index b91c6a7..0000000
--- a/src/main/java/com/example/nto/exception/InvalidDescriptionException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class InvalidDescriptionException extends RuntimeException {
- public InvalidDescriptionException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/InvalidNameException.java b/src/main/java/com/example/nto/exception/InvalidNameException.java
deleted file mode 100644
index 1cc2218..0000000
--- a/src/main/java/com/example/nto/exception/InvalidNameException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class InvalidNameException extends RuntimeException {
- public InvalidNameException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/InvalidPasswordException.java b/src/main/java/com/example/nto/exception/InvalidPasswordException.java
deleted file mode 100644
index ac6af7c..0000000
--- a/src/main/java/com/example/nto/exception/InvalidPasswordException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class InvalidPasswordException extends RuntimeException {
- public InvalidPasswordException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/NoRequestBodyException.java b/src/main/java/com/example/nto/exception/NoRequestBodyException.java
deleted file mode 100644
index f419b80..0000000
--- a/src/main/java/com/example/nto/exception/NoRequestBodyException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class NoRequestBodyException extends RuntimeException {
- public NoRequestBodyException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/NoRequestParamsException.java b/src/main/java/com/example/nto/exception/NoRequestParamsException.java
deleted file mode 100644
index c97af8e..0000000
--- a/src/main/java/com/example/nto/exception/NoRequestParamsException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class NoRequestParamsException extends RuntimeException {
- public NoRequestParamsException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/OtherException.java b/src/main/java/com/example/nto/exception/OtherException.java
deleted file mode 100644
index 415d034..0000000
--- a/src/main/java/com/example/nto/exception/OtherException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class OtherException extends RuntimeException {
- public OtherException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/UserHasNoCenterException.java b/src/main/java/com/example/nto/exception/UserHasNoCenterException.java
deleted file mode 100644
index c887417..0000000
--- a/src/main/java/com/example/nto/exception/UserHasNoCenterException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class UserHasNoCenterException extends RuntimeException {
- public UserHasNoCenterException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/UserNotFoundException.java b/src/main/java/com/example/nto/exception/UserNotFoundException.java
deleted file mode 100644
index 5db2624..0000000
--- a/src/main/java/com/example/nto/exception/UserNotFoundException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class UserNotFoundException extends RuntimeException {
- public UserNotFoundException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/UsernameAlreadyExistsException.java b/src/main/java/com/example/nto/exception/UsernameAlreadyExistsException.java
deleted file mode 100644
index 52191f2..0000000
--- a/src/main/java/com/example/nto/exception/UsernameAlreadyExistsException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.nto.exception;
-
-public class UsernameAlreadyExistsException extends RuntimeException {
- public UsernameAlreadyExistsException(String message) {
- super(message);
- }
-}
diff --git a/src/main/java/com/example/nto/exception/handler/GlobalExceptionHandler.java b/src/main/java/com/example/nto/exception/handler/GlobalExceptionHandler.java
deleted file mode 100644
index 3f4f607..0000000
--- a/src/main/java/com/example/nto/exception/handler/GlobalExceptionHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.example.nto.exception.handler;
-
-import com.example.bootcamp.exception.*;
-import liquibase.pro.packaged.E;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-
-@ControllerAdvice
-public class GlobalExceptionHandler {
-
- @ExceptionHandler(CenterNotFoundException.class)
- public ResponseEntity handleCenterNotFoundException(CenterNotFoundException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.NOT_FOUND);
- }
-
- @ExceptionHandler(UserNotFoundException.class)
- public ResponseEntity handleUserNotFoundException(UserNotFoundException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.NOT_FOUND);
- }
-
- @ExceptionHandler(UserHasNoCenterException.class)
- public ResponseEntity handleUserException(UserHasNoCenterException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.CONFLICT);
- }
-
- @ExceptionHandler(NoRequestBodyException.class)
- public ResponseEntity handleNoRequestBodyException(NoRequestBodyException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
- }
-
- @ExceptionHandler(EmailAlreadyExistsException.class)
- public ResponseEntity handleEmailAlreadyExistsException(EmailAlreadyExistsException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.CONFLICT);
- }
-
- @ExceptionHandler(NoRequestParamsException.class)
- public ResponseEntity handleNoRequestParamsException(NoRequestParamsException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
- }
-
- @ExceptionHandler(InvalidBirthDateException.class)
- public ResponseEntity handleInvalidBirthDateException(InvalidBirthDateException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
- }
-
- @ExceptionHandler(InvalidPasswordException.class)
- public ResponseEntity handleInvalidPasswordException(InvalidPasswordException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
- }
-
- @ExceptionHandler(InvalidNameException.class)
- public ResponseEntity handleInvalidNameException(InvalidNameException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
- }
-
- @ExceptionHandler(InvalidDescriptionException.class)
- public ResponseEntity handleInvalidDescriptionException(InvalidDescriptionException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
- }
-
- @ExceptionHandler(OtherException.class)
- public ResponseEntity handleOtherException(OtherException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
- }
-
- @ExceptionHandler(UsernameAlreadyExistsException.class)
- public ResponseEntity handleUsernameAlreadyExistsException(UsernameAlreadyExistsException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.CONFLICT);
- }
-
- @ExceptionHandler(AuthorityNotFoundException.class)
- public ResponseEntity handleAuthorityNotFoundException(AuthorityNotFoundException e) {
- return new ResponseEntity<>(e.getMessage(), HttpStatus.NOT_FOUND);
- }
-}
diff --git a/src/main/java/com/example/nto/repository/EmployeeRepository.java b/src/main/java/com/example/nto/repository/EmployeeRepository.java
index db111ae..ad713bb 100644
--- a/src/main/java/com/example/nto/repository/EmployeeRepository.java
+++ b/src/main/java/com/example/nto/repository/EmployeeRepository.java
@@ -3,8 +3,10 @@ package com.example.nto.repository;
import com.example.nto.entity.Employee;
import org.springframework.data.jpa.repository.JpaRepository;
+import java.util.Optional;
+
public interface EmployeeRepository extends JpaRepository {
Boolean existsByLogin(String login);
- Employee getEmployeeByLogin(String login);
+ Optional findByLogin(String login);
}
\ No newline at end of file
diff --git a/src/main/java/com/example/nto/repository/EnterRepository.java b/src/main/java/com/example/nto/repository/EnterRepository.java
new file mode 100644
index 0000000..d3a6b7b
--- /dev/null
+++ b/src/main/java/com/example/nto/repository/EnterRepository.java
@@ -0,0 +1,9 @@
+package com.example.nto.repository;
+
+import com.example.nto.entity.Enter;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface EnterRepository extends JpaRepository {
+
+ Enter getByEmployee();
+}
diff --git a/src/main/java/com/example/nto/service/EmployeeService.java b/src/main/java/com/example/nto/service/EmployeeService.java
index 3cc5647..e523058 100644
--- a/src/main/java/com/example/nto/service/EmployeeService.java
+++ b/src/main/java/com/example/nto/service/EmployeeService.java
@@ -1,5 +1,8 @@
package com.example.nto.service;
+
+import org.springframework.stereotype.Service;
+
public interface EmployeeService {
boolean checkLogin(String login);
}
\ No newline at end of file
diff --git a/src/main/java/com/example/nto/service/EnterService.java b/src/main/java/com/example/nto/service/EnterService.java
new file mode 100644
index 0000000..77a9866
--- /dev/null
+++ b/src/main/java/com/example/nto/service/EnterService.java
@@ -0,0 +1,8 @@
+package com.example.nto.service;
+
+import com.example.nto.entity.Enter;
+import org.springframework.stereotype.Service;
+
+public interface EnterService {
+ Enter getEnterByLogin(String Login);
+}
diff --git a/src/main/java/com/example/nto/service/impl/EnterServiceImpl.java b/src/main/java/com/example/nto/service/impl/EnterServiceImpl.java
new file mode 100644
index 0000000..9fe4271
--- /dev/null
+++ b/src/main/java/com/example/nto/service/impl/EnterServiceImpl.java
@@ -0,0 +1,19 @@
+package com.example.nto.service.impl;
+
+import com.example.nto.entity.Enter;
+import com.example.nto.repository.EnterRepository;
+import com.example.nto.service.EnterService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class EnterServiceImpl implements EnterService {
+
+ private final EnterRepository enterRepository;
+
+ @Override
+ public Enter getEnterByLogin(String Login) {
+ return null;
+ }
+}
diff --git a/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java b/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java
new file mode 100644
index 0000000..997c207
--- /dev/null
+++ b/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java
@@ -0,0 +1,28 @@
+package com.example.nto.service.impl;
+
+import com.example.nto.entity.Employee;
+import com.example.nto.repository.EmployeeRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Service;
+
+import java.util.Optional;
+
+@Service
+@RequiredArgsConstructor
+public class UserDetailsServiceImpl implements UserDetailsService {
+
+ private final EmployeeRepository employeeRepository;
+
+ @Override
+ public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
+ Employee optionalPerson = employeeRepository.findByLogin(s);
+ if (optionalPerson.isEmpty()) {
+ throw new UsernameNotFoundException("User not found");
+ }
+
+ return optionalPerson.get();
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c6bfd72..68a4ece 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -9,18 +9,20 @@ spring:
enabled: true
jpa:
- #generate-ddl: false
- generate-ddl: true
+ generate-ddl: false
+ #generate-ddl: true
+
hibernate:
- #ddl-auto: none
- ddl-auto: create-drop
+ ddl-auto: none
+ #ddl-auto: create-drop
# Показываем запросы
show-sql: true
- # Своевременный запуск data.sql
- defer-datasource-initialization: true
+ liquibase:
+ enabled: true
+ change-log: classpath:db.changelog/db.changelog-master.xml
spring-doc:
swagger-ui:
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/2025-01-30--0001-code.xml b/src/main/resources/db.changelog/1.0/2025-01-30--0001-code.xml
new file mode 100644
index 0000000..b58a5dd
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-01-30--0001-code.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/2025-01-30--0002-employee.xml b/src/main/resources/db.changelog/1.0/2025-01-30--0002-employee.xml
new file mode 100644
index 0000000..77f49eb
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-01-30--0002-employee.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/2025-02-05--0003-authority.xml b/src/main/resources/db.changelog/1.0/2025-02-05--0003-authority.xml
new file mode 100644
index 0000000..2b33f7a
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-05--0003-authority.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/2025-02-05--0004-employee-authorities.xml b/src/main/resources/db.changelog/1.0/2025-02-05--0004-employee-authorities.xml
new file mode 100644
index 0000000..46cd0b8
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-05--0004-employee-authorities.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-01-30--0001-code-data.xml b/src/main/resources/db.changelog/data/2025-01-30--0001-code-data.xml
new file mode 100644
index 0000000..788cd95
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-01-30--0001-code-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-01-30--0002-employee-data.xml b/src/main/resources/db.changelog/data/2025-01-30--0002-employee-data.xml
new file mode 100644
index 0000000..ef03bb7
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-01-30--0002-employee-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ ALTER TABLE employee ALTER COLUMN created_at SET DEFAULT CURRENT_TIMESTAMP;
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-05--0003-authority-data.xml b/src/main/resources/db.changelog/data/2025-02-05--0003-authority-data.xml
new file mode 100644
index 0000000..bd32d7a
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-05--0003-authority-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-05--0004-employee-authorities-data.xml b/src/main/resources/db.changelog/data/2025-02-05--0004-employee-authorities-data.xml
new file mode 100644
index 0000000..95d9e18
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-05--0004-employee-authorities-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-18--0005-enter-data.xml b/src/main/resources/db.changelog/data/2025-02-18--0005-enter-data.xml
new file mode 100644
index 0000000..31f9111
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-18--0005-enter-data.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-01-30--0001-code-data.csv b/src/main/resources/db.changelog/data/csv/2025-01-30--0001-code-data.csv
new file mode 100644
index 0000000..0efe168
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-01-30--0001-code-data.csv
@@ -0,0 +1,6 @@
+name;value
+Вход "A";1234567890123456789
+Вход "Реактор";9223372036854775807
+Вход "Лаборатория";1122334455667788990
+Вход "Навигация";998877665544332211
+Вход "Б";5566778899001122334
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-01-30--0002-employee-data.csv b/src/main/resources/db.changelog/data/csv/2025-01-30--0002-employee-data.csv
new file mode 100644
index 0000000..af66e43
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-01-30--0002-employee-data.csv
@@ -0,0 +1,15 @@
+name;login;password;description;avatar_url
+Никита;nzh;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;sysadmin - is my passion;https://i.pinimg.com/736x/74/50/b2/7450b27aefa67d3ba126dab3023d3a4f.jpg
+Ксюша;ksh;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;ui/ux - true love;https://s2.hostingkartinok.com/uploads/images/2013/08/9b22035204e381ee2b54d10b9251d9e1.png
+Вася;vasya;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://i.pinimg.com/736x/45/76/20/45762041651b269c7375e4bc83137695.jpg
+Таня;tanya;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTfk_JZXZ8eWUU-8A6Ls7Qn4pcYpE16rUHy7g&s
+Максим;maksim;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQcj2Nr_VM4rvfLeHklb-JA_toVaDg7IFB4Nw&s
+Васек;vasya1;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://i.pinimg.com/736x/45/76/20/45762041651b269c7375e4bc83137695.jpg
+Танек;tanya1;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTfk_JZXZ8eWUU-8A6Ls7Qn4pcYpE16rUHy7g&s
+Максимок;maksim1;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQcj2Nr_VM4rvfLeHklb-JA_toVaDg7IFB4Nw&s
+Петя;petya;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRSwB8zx8dh25EpckaIBW8BRBzHCUNfLwiuhw&s
+Петька;petya1;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRSwB8zx8dh25EpckaIBW8BRBzHCUNfLwiuhw&s
+Катя;katya;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS_uvFIqpHNQ-DZP7XNbPyYmga5Z1KOxNQfZQ&s
+Катька;katya1;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS_uvFIqpHNQ-DZP7XNbPyYmga5Z1KOxNQfZQ&s
+Андрей;andrey;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;
+Андрюха;andrey1;$2b$12$.XPrLwQtsr2UzI6M/KiqFO6UY.aUyRULerAd.cgjAeQOLj0pljmPG;;
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-05--0003-authority-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-05--0003-authority-data.csv
new file mode 100644
index 0000000..2efec9a
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-05--0003-authority-data.csv
@@ -0,0 +1,3 @@
+authority
+ROLE_USER
+ROLE_ADMIN
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-05--0003-employee-authorities-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-05--0003-employee-authorities-data.csv
new file mode 100644
index 0000000..126b052
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-05--0003-employee-authorities-data.csv
@@ -0,0 +1,3 @@
+user_id;authorities_id
+1;2
+2;2
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-18--0005-enter-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-18--0005-enter-data.csv
new file mode 100644
index 0000000..7c0277b
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-18--0005-enter-data.csv
@@ -0,0 +1,8 @@
+employee_id;code_id
+1;1
+1;3
+1;4
+2;2
+2;3
+2;2
+2;5
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/db.changelog-master.xml b/src/main/resources/db.changelog/db.changelog-master.xml
new file mode 100644
index 0000000..e365c12
--- /dev/null
+++ b/src/main/resources/db.changelog/db.changelog-master.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file