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.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
//я поменял на BAD_REQUEST 06.12.24 23:00
|
||||
@ -88,5 +89,21 @@ public class EmployeeController {
|
||||
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 ))
|
@ -15,7 +15,7 @@ public class Code {
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
|
||||
private long value; // Убедитесь, что это поле существует
|
||||
private long value;
|
||||
|
||||
|
||||
// Геттеры и сеттеры для value
|
||||
}
|
@ -15,7 +15,7 @@ public class Employee {
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
|
||||
private String login; // Убедитесь, что это поле существует
|
||||
private String login;
|
||||
private String name;
|
||||
private String photo;
|
||||
private String position;
|
||||
@ -23,7 +23,9 @@ public class Employee {
|
||||
@Column(name = "last_visit")
|
||||
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;
|
||||
|
||||
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;
|
||||
|
||||
public interface EmployeeService {
|
||||
List<Employee> findAll(); // Методы, необходимые в контроллере
|
||||
List<Employee> findAll();
|
||||
Optional<Employee> findByLogin(String login);
|
||||
boolean validateCode(String login, long code);
|
||||
}
|
@ -8,6 +8,9 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class EmployeeServiceImpl implements EmployeeService {
|
||||
private final EmployeeRepository employeeRepository;
|
||||
@ -18,20 +21,17 @@ public class EmployeeServiceImpl implements EmployeeService {
|
||||
|
||||
@Override
|
||||
public List<Employee> findAll() {
|
||||
return employeeRepository.findAll(); // Реализуем метод findAll
|
||||
return employeeRepository.findAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Employee> findByLogin(String login) {
|
||||
return employeeRepository.findAll()
|
||||
.stream()
|
||||
.filter(employee -> employee.getLogin().equals(login))
|
||||
.findFirst();
|
||||
return Optional.ofNullable(employeeRepository.findByLogin(login));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validateCode(String login, long code) {
|
||||
// Реализуйте вашу логику для валидации кода
|
||||
return false; // Замените на действительную логику
|
||||
// Реализация проверки кода
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,23 +1,26 @@
|
||||
-- Создание таблицы employee
|
||||
CREATE TABLE IF NOT EXISTS employee (
|
||||
id INT PRIMARY KEY,
|
||||
login VARCHAR(255),
|
||||
id INT PRIMARY KEY,
|
||||
login VARCHAR(255),
|
||||
name VARCHAR(255),
|
||||
photo VARCHAR(255),
|
||||
position VARCHAR(255),
|
||||
last_visit TIMESTAMP
|
||||
);
|
||||
last_visit TIMESTAMP,
|
||||
password VARCHAR(255),
|
||||
role VARCHAR(50)
|
||||
);
|
||||
|
||||
-- Вставка данных в таблицу 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
|
||||
(1, 'pivanov', 'Иванов Петр Федорович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-12T08:30', 'password123'),
|
||||
(2, 'ipetrov', 'Петров Иван Константинович', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Аналитик', '2024-02-13T08:35', 'password456'),
|
||||
(3, 'asemenov', 'Семенов Анатолий Анатольевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Разработчик', '2024-02-13T08:31', 'password789'),
|
||||
(4, 'afedorov', 'Федоров Александр Сергеевич', 'https://funnyducks.ru/upload/iblock/0cd/0cdeb7ec3ed6fddda0f90fccee05557d.jpg', 'Тестировщик', '2024-02-12T08:36', 'password000');
|
||||
(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', 'user'),
|
||||
(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', 'user');
|
||||
|
||||
-- Создание таблицы code
|
||||
CREATE TABLE IF NOT EXISTS code (
|
||||
value BIGINT
|
||||
value BIGINT
|
||||
);
|
||||
|
||||
-- Вставка данных в таблицу code
|
||||
@ -27,4 +30,4 @@ VALUES
|
||||
(9223372036854775807),
|
||||
(1122334455667788990),
|
||||
(998877665544332211),
|
||||
(5566778899001122334);
|
||||
(5566778899001122334);
|
Loading…
x
Reference in New Issue
Block a user