diff --git a/pom.xml b/pom.xml
index 808ae46..1b4dc08 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,11 @@
org.projectlombok
lombok
-
+
+ org.liquibase
+ liquibase-core
+ 4.27.0
+
org.springframework.boot
spring-boot-starter-web
diff --git a/src/main/java/com/example/nto/config/WebSecurityConfig.java b/src/main/java/com/example/nto/config/WebSecurityConfig.java
index 8ed8804..a2a6420 100644
--- a/src/main/java/com/example/nto/config/WebSecurityConfig.java
+++ b/src/main/java/com/example/nto/config/WebSecurityConfig.java
@@ -28,10 +28,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
+
.authorizeRequests()
.antMatchers("/h2-console/**").permitAll()
.antMatchers("/api/employees/register").permitAll()
- .antMatchers("/api/employees/{login}").permitAll()
+ .antMatchers("/api/employees/{username}").permitAll()
.antMatchers("/api/employees/paginated").permitAll()
.antMatchers("/api/employees/unoccupied").permitAll()
.antMatchers("/api/authority/").permitAll()
diff --git a/src/main/java/com/example/nto/controller/CodeController.java b/src/main/java/com/example/nto/controller/CodeController.java
index 3487733..7523ac4 100644
--- a/src/main/java/com/example/nto/controller/CodeController.java
+++ b/src/main/java/com/example/nto/controller/CodeController.java
@@ -12,9 +12,9 @@ public class CodeController {
private final CodeService codeService;
- @PatchMapping("/api/{login}/open")
- public Employee update(@PathVariable String login, @RequestBody Code newCode) {
-// return codeService.openDoor(login, newCode.getValue());
+ @PatchMapping("/api/{username}/open")
+ public Employee update(@PathVariable String username, @RequestBody Code newCode) {
+// return codeService.openDoor(username, newCode.getValue());
return null;
//TODO Service доделать и открыть тут коммент
}
diff --git a/src/main/java/com/example/nto/controller/CredentialsController.java b/src/main/java/com/example/nto/controller/CredentialsController.java
deleted file mode 100644
index 5bbb605..0000000
--- a/src/main/java/com/example/nto/controller/CredentialsController.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.example.nto.controller;
-
-import com.example.nto.dto.CredentialsDTO;
-import com.example.nto.service.CredentialsService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api/credentials")
-@RequiredArgsConstructor
-public class CredentialsController {
-
- private final CredentialsService credentialsService;
-
- @GetMapping
- public List getAllCredentials() {
- return credentialsService.getAllCredentials();
- }
-
- @GetMapping("/{id}")
- public ResponseEntity getCredentialsById(@PathVariable long id) {
- return ResponseEntity.ok(credentialsService.getCredentialsById(id));
- }
-
- @PostMapping
- public ResponseEntity createCredentials(@RequestBody CredentialsDTO dto) {
- return ResponseEntity.ok(credentialsService.createCredentials(dto));
- }
-
- @PutMapping("/{id}")
- public ResponseEntity updateCredentials(@PathVariable long id, @RequestBody CredentialsDTO dto) {
- return ResponseEntity.ok(credentialsService.updateCredentials(id, dto));
- }
-
- @DeleteMapping("/{id}")
- public ResponseEntity deleteCredentials(@PathVariable long id) {
- credentialsService.deleteCredentials(id);
- return ResponseEntity.noContent().build();
- }
-}
\ 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 a11a32b..a2c83b7 100644
--- a/src/main/java/com/example/nto/controller/EmployeeController.java
+++ b/src/main/java/com/example/nto/controller/EmployeeController.java
@@ -19,10 +19,10 @@ public class EmployeeController {
private final EmployeeService employeeService;
- @GetMapping("/{login}")
+ @GetMapping("/{username}")
@ResponseStatus(HttpStatus.OK)
- public ResponseEntity findByLogin(@PathVariable String login) {
- if (employeeService.findExistByLogin(login)) {
+ public ResponseEntity findByUsername(@PathVariable String username) {
+ if (employeeService.findExistByUsername(username)) {
return ResponseEntity.ok("Done");
} else return ResponseEntity.badRequest().body("User is not found");
}
diff --git a/src/main/java/com/example/nto/dto/EmployeeDTO.java b/src/main/java/com/example/nto/dto/EmployeeDTO.java
index 62eb87b..44f5941 100644
--- a/src/main/java/com/example/nto/dto/EmployeeDTO.java
+++ b/src/main/java/com/example/nto/dto/EmployeeDTO.java
@@ -7,7 +7,7 @@ import java.time.LocalDateTime;
@Data
public class EmployeeDTO {
private long id;
- private String login;
+ private String username;
private String name;
private String password;
private long authority_id;
diff --git a/src/main/java/com/example/nto/dto/UserRegisterDTO.java b/src/main/java/com/example/nto/dto/UserRegisterDTO.java
index cb083c0..cee8f4e 100644
--- a/src/main/java/com/example/nto/dto/UserRegisterDTO.java
+++ b/src/main/java/com/example/nto/dto/UserRegisterDTO.java
@@ -4,7 +4,7 @@ import lombok.Data;
@Data
public class UserRegisterDTO {
- private String login;
+ private String username;
private String password;
private String name;
private String lastname;
diff --git a/src/main/java/com/example/nto/entity/Employee.java b/src/main/java/com/example/nto/entity/Employee.java
index 2615daa..8db3b12 100644
--- a/src/main/java/com/example/nto/entity/Employee.java
+++ b/src/main/java/com/example/nto/entity/Employee.java
@@ -24,8 +24,8 @@ public class Employee implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
- @Column(name = "login")
- private String login;
+ @Column(name = "username")
+ private String username;
@Column(name = "name")
private String name;
@Column(name = "password")
diff --git a/src/main/java/com/example/nto/repository/CredentialsRepository.java b/src/main/java/com/example/nto/repository/CredentialsRepository.java
index ffc5d2c..87fcf1b 100644
--- a/src/main/java/com/example/nto/repository/CredentialsRepository.java
+++ b/src/main/java/com/example/nto/repository/CredentialsRepository.java
@@ -8,5 +8,5 @@ import java.util.Optional;
@Repository
public interface CredentialsRepository extends JpaRepository {
- Optional findByLogin(String login);
+ Optional findByLogin(String username);
}
\ No newline at end of file
diff --git a/src/main/java/com/example/nto/repository/EmployeeRepository.java b/src/main/java/com/example/nto/repository/EmployeeRepository.java
index 715590b..429d31c 100644
--- a/src/main/java/com/example/nto/repository/EmployeeRepository.java
+++ b/src/main/java/com/example/nto/repository/EmployeeRepository.java
@@ -10,11 +10,8 @@ import java.util.Optional;
@Repository
public interface EmployeeRepository extends JpaRepository {
- @Query("select e from Employee e where e.login = ?1")
- Optional findByLogin(String login);
- @Query("select e from Employee e where e.id = ?1")
+ Optional findByUsername(String username);
Employee findById(long id);
- @Query("select count(e) = 1 from Employee e where login = ?1")
- Boolean findExistByLogin(String login);
+ Boolean findExistByUsername(String username);
}
diff --git a/src/main/java/com/example/nto/service/CodeService.java b/src/main/java/com/example/nto/service/CodeService.java
index 79e340d..f4fb452 100644
--- a/src/main/java/com/example/nto/service/CodeService.java
+++ b/src/main/java/com/example/nto/service/CodeService.java
@@ -8,5 +8,5 @@ import java.util.Optional;
public interface CodeService {
Boolean findExistByValue(Long value);
- Optional openDoor(String login, Long value);
+ Optional openDoor(String username, Long value);
}
diff --git a/src/main/java/com/example/nto/service/EmployeeService.java b/src/main/java/com/example/nto/service/EmployeeService.java
index 05688df..0baf492 100644
--- a/src/main/java/com/example/nto/service/EmployeeService.java
+++ b/src/main/java/com/example/nto/service/EmployeeService.java
@@ -9,15 +9,15 @@ import java.util.Optional;
public interface EmployeeService {
Employee updateEmployee(long id, Employee newEmployee);
- Optional findByLogin(String login);
+ Optional findByUsername(String username);
EmployeeDTO findById(Long id);
- boolean findExistByLogin(String login);
+ boolean findExistByUsername(String username);
EmployeeDTO createUser(UserRegisterDTO dto);
- EmployeeDTO getUserByUsername(String login);
+ EmployeeDTO getUserByUsername(String username);
EmployeeDTO get(String name);
}
diff --git a/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java b/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java
index 83a6a04..09ced4c 100644
--- a/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java
+++ b/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java
@@ -41,7 +41,7 @@ public class EmployeeCodeServiceImpl implements EmployeeService, CodeService {
Employee employee = optionalEmployee.get();
employee.setName(newEmployee.getName());
- employee.setLogin(newEmployee.getUsername());
+ employee.setUsername(newEmployee.getUsername());
employee.setPhoto(newEmployee.getPhoto());
employee.setPosition(newEmployee.getPosition());
employee.setLastVisit(newEmployee.getLastVisit());
@@ -50,11 +50,11 @@ public class EmployeeCodeServiceImpl implements EmployeeService, CodeService {
}
@Override
- public Optional findByLogin(String login) {
- if (employeeRepository.findExistByLogin(login))
- return employeeRepository.findByLogin(login);
+ public Optional findByUsername(String username) {
+ if (employeeRepository.findExistByUsername(username))
+ return employeeRepository.findByUsername(username);
throw new ResponseStatusException(HttpStatus.UNAUTHORIZED,
- "There is no account with login " + login + " or it is incorrect");
+ "There is no account with login " + username + " or it is incorrect");
}
@@ -67,17 +67,17 @@ public class EmployeeCodeServiceImpl implements EmployeeService, CodeService {
}
@Override
- public boolean findExistByLogin(String login) {
- if (employeeRepository.findExistByLogin(login))
+ public boolean findExistByUsername(String username) {
+ if (employeeRepository.findExistByUsername(username))
throw new ResponseStatusException(HttpStatus.OK, "Login is existing, processing");
throw new ResponseStatusException(HttpStatus.UNAUTHORIZED,
- "There is no account with login " + login + " or it is incorrect");
+ "There is no account with login " + username + " or it is incorrect");
}
@Override
- public Optional openDoor(String login, Long value) {
+ public Optional openDoor(String username, Long value) {
// if (findByLogin(login) != null && findExistByValue(value)) {
// Optional employee = findByLogin(login);
// employee.ifPresent(employee1 -> employee1.setLastVisit(LocalDateTime.now()));
@@ -106,11 +106,11 @@ public class EmployeeCodeServiceImpl implements EmployeeService, CodeService {
if (roleUser.isEmpty()) throw new RuntimeException("Roles not found");
Credentials credentials = new Credentials();
- credentials.setLogin(dto.getLogin());
+ credentials.setLogin(dto.getUsername());
credentials.setHashedPassword(passwordEncoder.encode(dto.getPassword()));
Credentials credentialSave = credentialsRepository.save(credentials);
Employee employee = new Employee();
- employee.setLogin(dto.getLogin());
+ employee.setUsername(dto.getUsername());
employee.setName(dto.getName());
employee.setPassword(passwordEncoder.encode(dto.getPassword()));
employee.setCredentials(credentials);
@@ -122,12 +122,12 @@ public class EmployeeCodeServiceImpl implements EmployeeService, CodeService {
return EmployeeMapper.convertDTO(savedUser);
}
@Override
- public EmployeeDTO getUserByUsername(String login) {
- System.out.println(login);
- Optional optionalUsers = employeeRepository.findByLogin(login);
+ public EmployeeDTO getUserByUsername(String username) {
+ System.out.println(username);
+ Optional optionalUsers = employeeRepository.findByUsername(username);
System.out.println(optionalUsers);
if (optionalUsers.isEmpty()) {
- throw new PersonNotFoundException("User with username " + login + "not found");
+ throw new PersonNotFoundException("User with username " + username + "not found");
}
return EmployeeMapper.convertDTO(optionalUsers.get());
}
diff --git a/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java b/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java
index c6a5ef7..f97c2fa 100644
--- a/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java
+++ b/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java
@@ -17,7 +17,7 @@ public class UserDetailsServiceImpl implements UserDetailsService {
private final EmployeeRepository employeeRepository;
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
- Optional optionalUsers = employeeRepository.findByLogin(s);
+ Optional optionalUsers = employeeRepository.findByUsername(s);
if(optionalUsers.isEmpty()) {
throw new UsernameNotFoundException("User not found");
diff --git a/src/main/java/com/example/nto/utils/EmployeeMapper.java b/src/main/java/com/example/nto/utils/EmployeeMapper.java
index 85bdf9c..c97efca 100644
--- a/src/main/java/com/example/nto/utils/EmployeeMapper.java
+++ b/src/main/java/com/example/nto/utils/EmployeeMapper.java
@@ -10,7 +10,7 @@ public class EmployeeMapper {
public static EmployeeDTO convertDTO(Employee user) {
EmployeeDTO employeeDTO = new EmployeeDTO();
employeeDTO.setId(user.getId());
- employeeDTO.setLogin(user.getLogin());
+ employeeDTO.setUsername(user.getUsername());
employeeDTO.setName(user.getName());
if (user.getAuthority() != null) {
employeeDTO.setAuthority_id(user.getAuthority().getId());
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c6bfd72..500cdaa 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,27 +1,25 @@
spring:
-
datasource:
url: jdbc:h2:mem:testdb
+
h2:
console:
- #enabled: false
enabled: true
+ path: /h2-console
+ settings:
+ web-allow-others: true
+
+ liquibase:
+ enabled: true
+ change-log: classpath:db.changelog/db.changelog-master.xml
jpa:
- #generate-ddl: false
- generate-ddl: true
-
+ generate-ddl: false
hibernate:
- #ddl-auto: none
- ddl-auto: create-drop
-
- # Показываем запросы
+ ddl-auto: none
show-sql: true
- # Своевременный запуск data.sql
- defer-datasource-initialization: true
-
spring-doc:
swagger-ui:
path: /swagger-ui.html
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
deleted file mode 100644
index f945842..0000000
--- a/src/main/resources/data.sql
+++ /dev/null
@@ -1,41 +0,0 @@
-INSERT into credentials (login, hashed_password)
-VALUES
-('pivanov','$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e'),
-('ipetrov','$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e'),
-('asemenov','$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e'),
-('afedorov','$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e');
-INSERT INTO employee (login, credentials, name, password, photo, position, last_visit)
-VALUES
-('pivanov', 1, 'Иванов Петр Федорович', '$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-12T08:30'),
-('ipetrov', 2, 'Петров Иван Константинович', '$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Аналитик', '2024-02-13T08:35'),
-('asemenov', 3, 'Семенов Анатолий Анатольевич', '$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-13T08:31'),
-('afedorov', 4, 'Федоров Александр Сергеевич', '$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Тестировщик', '2024-02-12T08:36');
-
-INSERT INTO code (value)
-VALUES
-(1234567890123456789),
-(9223372036854775807),
-(1122334455667788990),
-(998877665544332211),
-(5566778899001122334);
-
-INSERT into authority (authority)
-VALUES
-('ROlE_USER'),
-('ROLE_ADMIN');
-
-UPDATE employee SET authority_id = (1);
-
-
-INSERT into terminal (type, name)
-VALUES
-('qr', 'name1'),
-('nfc', 'name2');
-INSERT into pass (employee, time)
-VALUES
-('1', '2023-05-29T10:15:30'),
-('2', '2021-05-29T10:15:30'),
-('3', '2022-05-29T10:15:30'),
-('4', '2025-05-29T10:15:30');
-
-UPDATE pass SET terminal = (1);
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-authority.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-authority.xml
new file mode 100644
index 0000000..6101139
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-authority.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-code.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-code.xml
new file mode 100644
index 0000000..8434599
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-code.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-credentials.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-credentials.xml
new file mode 100644
index 0000000..19b2bbf
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-credentials.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-employee-authorities.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-employee-authorities.xml
new file mode 100644
index 0000000..fe04a92
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-employee-authorities.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-employee.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-employee.xml
new file mode 100644
index 0000000..28e9aaf
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-employee.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-pass.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-pass.xml
new file mode 100644
index 0000000..13db1a3
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-pass.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/1.0/2025-02-19--0001-terminal.xml b/src/main/resources/db.changelog/1.0/2025-02-19--0001-terminal.xml
new file mode 100644
index 0000000..3ec2860
--- /dev/null
+++ b/src/main/resources/db.changelog/1.0/2025-02-19--0001-terminal.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-authority-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-authority-data.xml
new file mode 100644
index 0000000..9549a43
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-authority-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-code-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-code-data.xml
new file mode 100644
index 0000000..ebd72ef
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-code-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-credentials-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-credentials-data.xml
new file mode 100644
index 0000000..bb197ef
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-credentials-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-employee-authorities-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-employee-authorities-data.xml
new file mode 100644
index 0000000..594c684
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-employee-authorities-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-employee-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-employee-data.xml
new file mode 100644
index 0000000..3e55117
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-employee-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-pass-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-pass-data.xml
new file mode 100644
index 0000000..8804743
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-pass-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/2025-02-19--0001-terminal-data.xml b/src/main/resources/db.changelog/data/2025-02-19--0001-terminal-data.xml
new file mode 100644
index 0000000..56a0826
--- /dev/null
+++ b/src/main/resources/db.changelog/data/2025-02-19--0001-terminal-data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-19--0001-authority-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-authority-data.csv
new file mode 100644
index 0000000..2efec9a
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-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-19--0001-code-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-code-data.csv
new file mode 100644
index 0000000..44a67f9
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-code-data.csv
@@ -0,0 +1,6 @@
+value
+123456789
+123456789
+123456789
+123456789
+123456789
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-19--0001-credentials-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-credentials-data.csv
new file mode 100644
index 0000000..448461d
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-credentials-data.csv
@@ -0,0 +1,5 @@
+login;hashed_password
+pivanov;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e
+ipetrov;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e
+asemenov;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e
+afedorov;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-19--0001-employee-authorities-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-employee-authorities-data.csv
new file mode 100644
index 0000000..b90a7a7
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-employee-authorities-data.csv
@@ -0,0 +1,5 @@
+employee_id;authorities_id
+1;1
+2;1
+3;1
+4;2
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-19--0001-employee-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-employee-data.csv
new file mode 100644
index 0000000..fb56e33
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-employee-data.csv
@@ -0,0 +1,5 @@
+username;credentials;name;password;photo;position
+pivanov;1; Иванов Петр Федорович;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;Разработчик
+ipetrov;2; Петров Иван Константинович;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;Аналитик
+asemenov;3; Семенов Анатолий Анатольевич;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;Разработчик
+afedorov;4; Федоров Александр Сергеевич;$2a$10$mq/UrB0MPG6.Fw2h.4gRauGYa7Zy37dveEU3U1mn22oHxCK7km24e;https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg;Тестировщик
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-19--0001-pass-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-pass-data.csv
new file mode 100644
index 0000000..c4c41ea
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-pass-data.csv
@@ -0,0 +1,5 @@
+employee;time
+1;2023-05-29T10:15:30
+2;2021-05-29T10:15:30
+3;2022-05-29T10:15:30
+4;2025-05-29T10:15:30
\ No newline at end of file
diff --git a/src/main/resources/db.changelog/data/csv/2025-02-19--0001-terminal-data.csv b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-terminal-data.csv
new file mode 100644
index 0000000..961c46e
--- /dev/null
+++ b/src/main/resources/db.changelog/data/csv/2025-02-19--0001-terminal-data.csv
@@ -0,0 +1,3 @@
+type;name
+qr;name1
+nfc;name2
\ 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..9ee695c
--- /dev/null
+++ b/src/main/resources/db.changelog/db.changelog-master.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file