Files
smartproc-be/src/main/java/com/iconplus/smartproc/controller/DrpController.java
dirgantarasiahaan 6deddb3f15 refactor
2023-05-31 14:00:28 +07:00

106 lines
4.7 KiB
Java

package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.model.request.DrpDokumenRequest;
import com.iconplus.smartproc.model.request.DrpRequest;
import com.iconplus.smartproc.model.response.*;
import com.iconplus.smartproc.service.drp.*;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
@RestController
@RequestMapping("/api/drp")
public class DrpController {
private final GetDrpService getDrpService;
private final GetListDrpService getListDrpService;
private final PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService;
private final PostCreateTahunDrpService postCreateTahunDrpService;
private final DeleteDokumenUploadService deleteDokumenUploadService;
private final PostCreateDrpService postCreateDrpService;
private final EditUploadDokumenDrpService editUploadDokumenDrpService;
public DrpController(GetDrpService getDrpService,
GetListDrpService getListDrpService,
PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService,
PostCreateTahunDrpService postCreateTahunDrpService,
DeleteDokumenUploadService deleteDokumenUploadService,
PostCreateDrpService postCreateDrpService,
EditUploadDokumenDrpService editUploadDokumenDrpService) {
this.getDrpService = getDrpService;
this.getListDrpService = getListDrpService;
this.postDrpUploadDokumenRKAPService = postDrpUploadDokumenRKAPService;
this.postCreateTahunDrpService = postCreateTahunDrpService;
this.deleteDokumenUploadService = deleteDokumenUploadService;
this.postCreateDrpService = postCreateDrpService;
this.editUploadDokumenDrpService = editUploadDokumenDrpService;
}
@GetMapping
public GetListDrpResponse getListDrp(@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);
DrpRequest drpRequest = DrpRequest.builder()
.search(search)
.pageable(pageable)
.build();
return getListDrpService.execute(drpRequest);
}
@GetMapping("/{id}")
public DrpResponse getDrp(@PathVariable Long id) {
return getDrpService.execute(DrpRequest.builder()
.id(id)
.build());
}
@PostMapping("/tahun")
public DrpResponse createTahunDrp(@RequestBody DrpRequest drpRequest) {
return postCreateTahunDrpService.execute(drpRequest);
}
@PostMapping
public DrpResponse createDrp(@RequestBody DrpRequest drpRequest) {
return postCreateDrpService.execute(drpRequest);
}
@PostMapping("/upload/dokumen")
public DrpDokumenResponse uploadDokumenRkap(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId,
@RequestParam(name = "keterangan") String keterangan,
@RequestParam(name = "file") MultipartFile file) throws IOException {
return postDrpUploadDokumenRKAPService.execute(DrpDokumenRequest.builder()
.jenisDokumenId(jenisDokumenId)
.keterangan(keterangan)
.file(file)
.build());
}
@DeleteMapping("/upload/dokumen")
public EmptyResponse deleteDokumenRkap(@RequestBody DrpDokumenRequest drpDokumenRequest) {
return deleteDokumenUploadService.execute(drpDokumenRequest);
}
@PutMapping("/upload/dokumen")
public DrpDokumenResponse editUploadDrpDokumen(@RequestParam(name = "filename") String filename,
@RequestParam(name = "jenisDokumenId") Long jenisDokumenId,
@RequestParam(name = "keterangan") String keterangan,
@RequestParam(name = "file") MultipartFile file) {
return editUploadDokumenDrpService.execute(DrpDokumenRequest.builder()
.filename(filename)
.jenisDokumenId(jenisDokumenId)
.keterangan(keterangan)
.file(file)
.build());
}
}