refactor base smartproc
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package com.iconplus.smartproc.controller;
|
||||
|
||||
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.JenisAnggaranRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListJenisAnggaranResponse;
|
||||
import com.iconplus.smartproc.model.response.JenisAnggaranResponse;
|
||||
import com.iconplus.smartproc.repository.JenisAnggaranRepository;
|
||||
import com.iconplus.smartproc.service.jenisanggaran.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||
@RestController
|
||||
@RequestMapping("/api/jenisanggaran")
|
||||
public class JenisAnggaranController {
|
||||
|
||||
@Autowired
|
||||
private JenisAnggaranRepository jenisanggaranRepository;
|
||||
|
||||
private final GetListJenisAnggaranService getListJenisAnggaranService;
|
||||
private final GetJenisAnggaranByIdService getJenisAnggaranByIdService;
|
||||
private final PostCreateJenisAnggaranService postCreateJenisAnggaranService;
|
||||
private final PutUpdateJenisAnggaranService putUpdateJenisAnggaranService;
|
||||
private final DeleteJenisAnggaranService deleteJenisAnggaranService;
|
||||
|
||||
public JenisAnggaranController(GetListJenisAnggaranService getListJenisAnggaranService,
|
||||
GetJenisAnggaranByIdService getJenisAnggaranByIdService,
|
||||
PostCreateJenisAnggaranService postCreateJenisAnggaranService,
|
||||
PutUpdateJenisAnggaranService putUpdateJenisAnggaranService,
|
||||
DeleteJenisAnggaranService deleteJenisAnggaranService) {
|
||||
this.getListJenisAnggaranService = getListJenisAnggaranService;
|
||||
this.getJenisAnggaranByIdService = getJenisAnggaranByIdService;
|
||||
this.postCreateJenisAnggaranService = postCreateJenisAnggaranService;
|
||||
this.putUpdateJenisAnggaranService = putUpdateJenisAnggaranService;
|
||||
this.deleteJenisAnggaranService = deleteJenisAnggaranService;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping
|
||||
public GetListJenisAnggaranResponse getListJenisAnggaran(@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);
|
||||
JenisAnggaranRequest jenisAnggaranRequest = JenisAnggaranRequest.builder()
|
||||
.search(search)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
|
||||
return getListJenisAnggaranService.execute(jenisAnggaranRequest);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public JenisAnggaranResponse createJenisAnggaran(@RequestBody JenisAnggaranRequest jenisAnggaranRequest) {
|
||||
return postCreateJenisAnggaranService.execute(jenisAnggaranRequest);
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public JenisAnggaranResponse getJenisAnggaranById(@PathVariable Long id) {
|
||||
return getJenisAnggaranByIdService.execute(JenisAnggaranRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public JenisAnggaranResponse updateJenisanggaran(@PathVariable Long id,
|
||||
@RequestBody JenisAnggaranRequest jenisAnggaranRequest){
|
||||
jenisAnggaranRequest.setId(id);
|
||||
return putUpdateJenisAnggaranService.execute(jenisAnggaranRequest);
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public EmptyResponse deleteJenisAnggaran(@PathVariable Long id) {
|
||||
return deleteJenisAnggaranService.execute(JenisAnggaranRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user