feat: added visit controller

This commit is contained in:
Petr Rudichev 2025-02-19 17:37:42 +03:00
parent 54b4c4a42a
commit 98d238f9c9

View File

@ -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<List<VisitDTO>> getAll() {
return ResponseEntity.ok(visitService.getAll());
}
@GetMapping("/employee/{employeeId}")
public ResponseEntity<List<VisitDTO>> getAllVisitByEmployee(@PathVariable long employeeId) {
return ResponseEntity.ok(visitService.getAllVisitByEmployee(employeeId));
}
@GetMapping("/{visitId}")
public ResponseEntity<VisitDTO> getById(@PathVariable long visitId) {
return ResponseEntity.ok(visitService.getById(visitId));
}
@DeleteMapping("/{visitId}")
public ResponseEntity<Void> delete(@PathVariable long visitId) {
visitService.delete(visitId);
return ResponseEntity.noContent().build();
}
@PostMapping("/open/{startTerminalId}/{employeeId}/{passageName}")
public ResponseEntity<VisitDTO> open(@PathVariable long employeeId, @PathVariable long startTerminalId, @PathVariable String passageName) {
return ResponseEntity.ok(visitService.open(employeeId, startTerminalId, passageName));
}
@PostMapping("/exit/{endTerminalId}/{employeeId}")
public ResponseEntity<Void> open(@PathVariable long employeeId, @PathVariable long endTerminalId) {
visitService.exit(employeeId, endTerminalId);
return ResponseEntity.noContent().build();
}
}