Add employee endpoint /visits

This commit is contained in:
Denis Oleynik 2025-02-20 12:40:15 +03:00
parent 6501d3098f
commit b5a88952ff
2 changed files with 44 additions and 1 deletions

View File

@ -53,6 +53,10 @@ public class AdminController {
Optional<List<Visits>> visits = Optional.ofNullable(employeeService.getEmployeeVisits(username));
if (visits.isEmpty()) {
return utils.BadRequest("VisitsIsEmpty");
}
return new ResponseEntity<>(visits.get(), HttpStatus.OK);
}

View File

@ -4,6 +4,7 @@ import com.example.nto.Utils;
import com.example.nto.entity.CodeBody;
import com.example.nto.entity.Employee;
import com.example.nto.entity.ResponseData;
import com.example.nto.entity.Visits;
import com.example.nto.service.CodeService;
import com.example.nto.service.EmployeeService;
import io.swagger.v3.oas.annotations.Operation;
@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -33,7 +35,7 @@ public class EmployeeController {
private final Utils utils = new Utils();
@Operation(summary = "Get employee info with login")
@Operation(summary = "Get employee info")
@ApiResponses(value = {
@ApiResponse(responseCode = "200",
description = "OK",
@ -65,6 +67,43 @@ public class EmployeeController {
}
}
@Operation(summary = "Get employee entries")
@ApiResponses(value = {
@ApiResponse(responseCode = "200",
description = "OK",
content = {@Content(mediaType = "application/json")}),
@ApiResponse(responseCode = "401",
description = "Login not found or invalid",
content = {@Content(mediaType = "application/json",
schema = @Schema(implementation = ResponseData.class))}),
@ApiResponse(responseCode = "400",
description = "Something went wrong",
content = {@Content(mediaType = "application/json",
schema = @Schema(implementation = ResponseData.class))})
})
@GetMapping("/visits")
public ResponseEntity<?> getEmployeeVisits(Authentication authentication) {
try {
String username = authentication.getName();
Optional<Employee> employee = employeeService.findByLogin(username);
if (employee.isEmpty()) {
return utils.NotFound("EmployeeNotFound");
}
Optional<List<Visits>> visits = Optional.ofNullable(employeeService.getEmployeeVisits(username));
if (visits.isEmpty()) {
return utils.BadRequest("VisitsIsEmpty");
}
return new ResponseEntity<>(visits.get(), HttpStatus.OK);
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
return utils.BadRequest(e.getLocalizedMessage());
}
}
@Operation(summary = "Open door with code")
@ApiResponses(value = {
@ApiResponse(responseCode = "200",