Add admin endpoint /{username}/block

This commit is contained in:
Denis Oleynik 2025-02-20 12:20:22 +03:00
parent 6dd60a2f2f
commit 6501d3098f
4 changed files with 29 additions and 1 deletions

View File

@ -55,4 +55,23 @@ public class AdminController {
return new ResponseEntity<>(visits.get(), HttpStatus.OK);
}
@PostMapping("/{username}/block")
public ResponseEntity<?> blockEmployee(@PathVariable("username") String username) {
Optional<Employee> employee = employeeService.findByLogin(username);
if (employee.isEmpty()) {
return utils.NotFound("EmployeeNotFound");
}
employeeService.block(employee.get().getId());
String prefix = "B";
if (employee.get().getBlocked()) {
prefix = "Unb";
}
return utils.Ok("Employee" + prefix + "lockedSuccess");
}
}

View File

@ -28,6 +28,6 @@ public class GlobalController {
})
public ResponseEntity<ResponseData> login() {
return utils.Ok("Auth success!");
return utils.Ok("AuthSuccess");
}
}

View File

@ -23,6 +23,8 @@ public interface EmployeeService {
Optional<Employee> findByLogin(String login);
void block(long Id);
Optional<Code> findCodeById(Long id);
List<Employee> getAllEmployees();

View File

@ -28,6 +28,13 @@ public class EmployeeServiceImpl implements EmployeeService {
return EmployeeRepository.findByLogin(login);
}
@Override
public void block(long Id) {
Employee employee = EmployeeRepository.getById(Id);
employee.setBlocked(!employee.getBlocked());
EmployeeRepository.save(employee);
}
@Override
public Optional<Code> findCodeById(Long id) {
return Optional.of(codeRepository.getById(id));