diff --git a/src/main/java/com/example/nto/controller/VisitController.java b/src/main/java/com/example/nto/controller/VisitController.java new file mode 100644 index 0000000..850852c --- /dev/null +++ b/src/main/java/com/example/nto/controller/VisitController.java @@ -0,0 +1,48 @@ +package com.example.nto.controller; + +import com.example.nto.dto.entity.VisitDTO; +import com.example.nto.service.VisitService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequiredArgsConstructor +@RequestMapping("api/v1/visits") +public class VisitController { + private final VisitService visitService; + + @GetMapping + public ResponseEntity> getAll() { + return ResponseEntity.ok(visitService.getAll()); + } + + @GetMapping("/employee/{employeeId}") + public ResponseEntity> getAllVisitByEmployee(@PathVariable long employeeId) { + return ResponseEntity.ok(visitService.getAllVisitByEmployee(employeeId)); + } + + @GetMapping("/{visitId}") + public ResponseEntity getById(@PathVariable long visitId) { + return ResponseEntity.ok(visitService.getById(visitId)); + } + + @DeleteMapping("/{visitId}") + public ResponseEntity delete(@PathVariable long visitId) { + visitService.delete(visitId); + return ResponseEntity.noContent().build(); + } + + @PostMapping("/open/{startTerminalId}/{employeeId}/{passageName}") + public ResponseEntity open(@PathVariable long employeeId, @PathVariable long startTerminalId, @PathVariable String passageName) { + return ResponseEntity.ok(visitService.open(employeeId, startTerminalId, passageName)); + } + + @PostMapping("/exit/{endTerminalId}/{employeeId}") + public ResponseEntity open(@PathVariable long employeeId, @PathVariable long endTerminalId) { + visitService.exit(employeeId, endTerminalId); + return ResponseEntity.noContent().build(); + } +}