49 lines
1.7 KiB
Java
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();
|
|
}
|
|
}
|