49 lines
1.7 KiB
Java

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();
}
}