74 lines
3.1 KiB
Java
74 lines
3.1 KiB
Java
package com.iconplus.smartproc.controller;
|
|
|
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
|
import com.iconplus.smartproc.model.request.SumberDanaRequest;
|
|
import com.iconplus.smartproc.model.response.GetListSumberDanaResponse;
|
|
import com.iconplus.smartproc.model.response.SumberDanaResponse;
|
|
import com.iconplus.smartproc.service.sumberdana.*;
|
|
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/sumberdana")
|
|
public class SumberDanaController {
|
|
|
|
private GetListSumberDanaService getListSumberDanaService;
|
|
private PostCreateSumberDanaService postCreateSumberDanaService;
|
|
private DeleteSumberDanaService deleteSumberDanaService;
|
|
private GetSumberDanaService getSumberDanaService;
|
|
private PutSumberDanaService putSumberDanaService;
|
|
|
|
public SumberDanaController(GetListSumberDanaService getListSumberDanaService,
|
|
PostCreateSumberDanaService postCreateSumberDanaService,
|
|
DeleteSumberDanaService deleteSumberDanaService,
|
|
GetSumberDanaService getSumberDanaService,
|
|
PutSumberDanaService putSumberDanaService) {
|
|
this.getListSumberDanaService = getListSumberDanaService;
|
|
this.postCreateSumberDanaService = postCreateSumberDanaService;
|
|
this.deleteSumberDanaService = deleteSumberDanaService;
|
|
this.getSumberDanaService = getSumberDanaService;
|
|
this.putSumberDanaService = putSumberDanaService;
|
|
}
|
|
|
|
@GetMapping
|
|
public GetListSumberDanaResponse getListSumberDana(@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);
|
|
SumberDanaRequest sumberDanaRequest = SumberDanaRequest.builder()
|
|
.search(search)
|
|
.pageable(pageable)
|
|
.build();
|
|
|
|
return getListSumberDanaService.execute(sumberDanaRequest);
|
|
}
|
|
|
|
@PostMapping
|
|
public SumberDanaResponse createSumberDana(@RequestBody SumberDanaRequest request) {
|
|
return postCreateSumberDanaService.execute(request);
|
|
}
|
|
|
|
@GetMapping("/{id}")
|
|
public SumberDanaResponse getSumberDanaById(@PathVariable Long id) {
|
|
return getSumberDanaService.execute(SumberDanaRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
|
|
@PutMapping("/{id}")
|
|
public SumberDanaResponse updateBidang(@PathVariable Long id, @RequestBody SumberDanaRequest request){
|
|
request.setId(id);
|
|
return putSumberDanaService.execute(request);
|
|
}
|
|
|
|
@DeleteMapping("/{id}")
|
|
public EmptyResponse deleteBidang(@PathVariable Long id){
|
|
return deleteSumberDanaService.execute(SumberDanaRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
}
|