refactor base smartproc

This commit is contained in:
dirgantarasiahaan
2023-05-23 11:26:15 +07:00
parent 329d515577
commit beff4babe0
85 changed files with 1642 additions and 839 deletions

View File

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