admin rights
This commit is contained in:
parent
8d16d2d456
commit
7b4e949563
@ -6,6 +6,7 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
//я поменял на BAD_REQUEST 06.12.24 23:00
|
//я поменял на BAD_REQUEST 06.12.24 23:00
|
||||||
@ -88,5 +89,21 @@ public class EmployeeController {
|
|||||||
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Invalid login or password");
|
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Invalid login or password");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/workers")
|
||||||
|
public ResponseEntity<?> getAllWorkers(@RequestBody Map<String, String> payload) {
|
||||||
|
String login = payload.get("login");
|
||||||
|
String password = payload.get("password");
|
||||||
|
|
||||||
|
Optional<Employee> employee = employeeService.findByLogin(login);
|
||||||
|
|
||||||
|
if (employee.isPresent() && employee.get().getPassword().equals(password) && employee.get().getRole().equals("admin")) {
|
||||||
|
List<Employee> allEmployees = employeeService.findAll(); // Получить всех сотрудников
|
||||||
|
return ResponseEntity.ok(allEmployees);
|
||||||
|
} else {
|
||||||
|
return ResponseEntity.status(HttpStatus.FORBIDDEN).body("Access denied");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// made by truettwo and maks ))
|
// made by truettwo and maks ))
|
@ -15,7 +15,7 @@ public class Code {
|
|||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private long id;
|
private long id;
|
||||||
|
|
||||||
private long value; // Убедитесь, что это поле существует
|
private long value;
|
||||||
|
|
||||||
|
|
||||||
// Геттеры и сеттеры для value
|
|
||||||
}
|
}
|
@ -15,7 +15,7 @@ public class Employee {
|
|||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private long id;
|
private long id;
|
||||||
|
|
||||||
private String login; // Убедитесь, что это поле существует
|
private String login;
|
||||||
private String name;
|
private String name;
|
||||||
private String photo;
|
private String photo;
|
||||||
private String position;
|
private String position;
|
||||||
@ -23,7 +23,9 @@ public class Employee {
|
|||||||
@Column(name = "last_visit")
|
@Column(name = "last_visit")
|
||||||
private LocalDateTime lastVisit;
|
private LocalDateTime lastVisit;
|
||||||
|
|
||||||
private String password; // Добавлено поле для пароля
|
private String password;
|
||||||
|
|
||||||
|
private String role;
|
||||||
|
|
||||||
|
|
||||||
// Геттеры и сеттеры для login, name, password и других полей
|
|
||||||
}
|
}
|
@ -4,5 +4,5 @@ import com.example.nto.entity.Employee;
|
|||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
|
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
|
||||||
Employee findByLogin(String login); // Этот метод должен искать сотрудника по логину
|
Employee findByLogin(String login);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import java.util.List;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface EmployeeService {
|
public interface EmployeeService {
|
||||||
List<Employee> findAll(); // Методы, необходимые в контроллере
|
List<Employee> findAll();
|
||||||
Optional<Employee> findByLogin(String login);
|
Optional<Employee> findByLogin(String login);
|
||||||
boolean validateCode(String login, long code);
|
boolean validateCode(String login, long code);
|
||||||
}
|
}
|
@ -8,6 +8,9 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class EmployeeServiceImpl implements EmployeeService {
|
public class EmployeeServiceImpl implements EmployeeService {
|
||||||
private final EmployeeRepository employeeRepository;
|
private final EmployeeRepository employeeRepository;
|
||||||
@ -18,20 +21,17 @@ public class EmployeeServiceImpl implements EmployeeService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Employee> findAll() {
|
public List<Employee> findAll() {
|
||||||
return employeeRepository.findAll(); // Реализуем метод findAll
|
return employeeRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<Employee> findByLogin(String login) {
|
public Optional<Employee> findByLogin(String login) {
|
||||||
return employeeRepository.findAll()
|
return Optional.ofNullable(employeeRepository.findByLogin(login));
|
||||||
.stream()
|
|
||||||
.filter(employee -> employee.getLogin().equals(login))
|
|
||||||
.findFirst();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean validateCode(String login, long code) {
|
public boolean validateCode(String login, long code) {
|
||||||
// Реализуйте вашу логику для валидации кода
|
// Реализация проверки кода
|
||||||
return false; // Замените на действительную логику
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,23 +1,26 @@
|
|||||||
-- Создание таблицы employee
|
-- Создание таблицы employee
|
||||||
CREATE TABLE IF NOT EXISTS employee (
|
CREATE TABLE IF NOT EXISTS employee (
|
||||||
id INT PRIMARY KEY,
|
id INT PRIMARY KEY,
|
||||||
login VARCHAR(255),
|
login VARCHAR(255),
|
||||||
name VARCHAR(255),
|
name VARCHAR(255),
|
||||||
photo VARCHAR(255),
|
photo VARCHAR(255),
|
||||||
position VARCHAR(255),
|
position VARCHAR(255),
|
||||||
last_visit TIMESTAMP
|
last_visit TIMESTAMP,
|
||||||
);
|
password VARCHAR(255),
|
||||||
|
role VARCHAR(50)
|
||||||
|
);
|
||||||
|
|
||||||
-- Вставка данных в таблицу employee
|
-- Вставка данных в таблицу employee
|
||||||
INSERT INTO employee (id, login, name, photo, position, last_visit, password)
|
INSERT INTO employee (id, login, name, photo, position, last_visit, password, role)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 'pivanov', 'Иванов Петр Федорович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-12T08:30', 'password123'),
|
(1, 'pivanov', 'Иванов Петр Федорович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-12T08:30', 'password123', 'admin'),
|
||||||
(2, 'ipetrov', 'Петров Иван Константинович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Аналитик', '2024-02-13T08:35', 'password456'),
|
(2, 'ipetrov', 'Петров Иван Константинович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Аналитик', '2024-02-13T08:35', 'password456', 'user'),
|
||||||
(3, 'asemenov', 'Семенов Анатолий Анатольевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-13T08:31', 'password789'),
|
(3, 'asemenov', 'Семенов Анатолий Анатольевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-13T08:31', 'password789', 'user'),
|
||||||
(4, 'afedorov', 'Федоров Александр Сергеевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Тестировщик', '2024-02-12T08:36', 'password000');
|
(4, 'afedorov', 'Федоров Александр Сергеевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Тестировщик', '2024-02-12T08:36', 'password000', 'user');
|
||||||
|
|
||||||
-- Создание таблицы code
|
-- Создание таблицы code
|
||||||
CREATE TABLE IF NOT EXISTS code (
|
CREATE TABLE IF NOT EXISTS code (
|
||||||
value BIGINT
|
value BIGINT
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Вставка данных в таблицу code
|
-- Вставка данных в таблицу code
|
||||||
@ -27,4 +30,4 @@ VALUES
|
|||||||
(9223372036854775807),
|
(9223372036854775807),
|
||||||
(1122334455667788990),
|
(1122334455667788990),
|
||||||
(998877665544332211),
|
(998877665544332211),
|
||||||
(5566778899001122334);
|
(5566778899001122334);
|
Loading…
x
Reference in New Issue
Block a user