78 lines
3.7 KiB
Java
78 lines
3.7 KiB
Java
package com.iconplus.smartproc.controller;
|
|
|
|
|
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
|
import com.iconplus.smartproc.model.request.JenisKontrakRequest;
|
|
import com.iconplus.smartproc.model.response.GetListJenisKontrakResponse;
|
|
import com.iconplus.smartproc.model.response.JenisKontrakResponse;
|
|
import com.iconplus.smartproc.service.jeniskontrak.*;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
|
|
@RestController
|
|
@RequestMapping("/api/jeniskontrak")
|
|
public class JenisKontrakController {
|
|
|
|
private final GetListJenisKontrakService getListJenisKontrakService;
|
|
private final GetJenisKontrakByIdService getJenisKontrakByIdService;
|
|
private final PostCreateJenisKontrakService postCreateJenisKontrakService;
|
|
private final PutUpdateJenisKontrakService putUpdateJenisKontrakService;
|
|
private final DeleteJenisKontrakService deleteJenisKontrakService;
|
|
|
|
public JenisKontrakController(GetListJenisKontrakService getListJenisKontrakService,
|
|
GetJenisKontrakByIdService getJenisKontrakByIdService,
|
|
PostCreateJenisKontrakService postCreateJenisKontrakService,
|
|
PutUpdateJenisKontrakService putUpdateJenisKontrakService,
|
|
DeleteJenisKontrakService deleteJenisKontrakService) {
|
|
this.getListJenisKontrakService = getListJenisKontrakService;
|
|
this.getJenisKontrakByIdService = getJenisKontrakByIdService;
|
|
this.postCreateJenisKontrakService = postCreateJenisKontrakService;
|
|
this.putUpdateJenisKontrakService = putUpdateJenisKontrakService;
|
|
this.deleteJenisKontrakService = deleteJenisKontrakService;
|
|
}
|
|
|
|
|
|
@GetMapping
|
|
public GetListJenisKontrakResponse getListJenisKontrak(@RequestParam(name = "search", required = false) String search,
|
|
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
|
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
|
|
|
Pageable pageable = PageRequest.of((page - 1), size);
|
|
JenisKontrakRequest jenisKontrakRequest = JenisKontrakRequest.builder()
|
|
.search(search)
|
|
.pageable(pageable)
|
|
.build();
|
|
|
|
return getListJenisKontrakService.execute(jenisKontrakRequest);
|
|
}
|
|
|
|
@PostMapping
|
|
public JenisKontrakResponse createJenisKontrak(@RequestBody JenisKontrakRequest jenisKontrakRequest) {
|
|
return postCreateJenisKontrakService.execute(jenisKontrakRequest);
|
|
}
|
|
|
|
@GetMapping("/{id}")
|
|
public JenisKontrakResponse getJenisKontrakById(@PathVariable Long id) {
|
|
return getJenisKontrakByIdService.execute(JenisKontrakRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
|
|
|
|
@PutMapping("/{id}")
|
|
public JenisKontrakResponse updateJeniskontrak(@PathVariable Long id,
|
|
@RequestBody JenisKontrakRequest jenisKontrakRequest){
|
|
jenisKontrakRequest.setId(id);
|
|
return putUpdateJenisKontrakService.execute(jenisKontrakRequest);
|
|
}
|
|
|
|
@DeleteMapping("/{id}")
|
|
public EmptyResponse deleteJenisKontrak(@PathVariable Long id) {
|
|
return deleteJenisKontrakService.execute(JenisKontrakRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
}
|