add master data api
This commit is contained in:
@@ -1,68 +1,82 @@
|
||||
package com.iconplus.smartproc.controller;
|
||||
|
||||
import com.iconplus.smartproc.model.entity.MetodePenyampaian;
|
||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.MetodePenyampaianRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListMetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.model.response.MetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
import com.iconplus.smartproc.service.metodepenyampaian.*;
|
||||
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/metodepenyampaian")
|
||||
public class MetodePenyampaianController {
|
||||
@Autowired
|
||||
private MetodePenyampaianRepository metodepenyampaianRepository;
|
||||
|
||||
//get all data
|
||||
@GetMapping
|
||||
public List<MetodePenyampaian> getAllMetodepenyampaians(){
|
||||
return metodepenyampaianRepository.findAll();
|
||||
}
|
||||
@Autowired
|
||||
private MetodePenyampaianRepository metodepenyampaianRepository;
|
||||
|
||||
// create
|
||||
@PostMapping
|
||||
public MetodePenyampaian createMetodepenyampaian(@RequestBody MetodePenyampaian metodepenyampaian) {
|
||||
return metodepenyampaianRepository.save(metodepenyampaian);
|
||||
}
|
||||
private final GetListMetodePenyampaianService getListMetodePenyampaianService;
|
||||
private final GetMetodePenyampaianByIdService getMetodePenyampaianByIdService;
|
||||
private final PostCreateMetodePenyampaianService postCreateMetodePenyampaianService;
|
||||
private final PutUpdateMetodePenyampaianService putUpdateMetodePenyampaianService;
|
||||
private final DeleteMetodePenyampaianService deleteMetodePenyampaianService;
|
||||
|
||||
// get metodepenyampaian by id rest api
|
||||
@GetMapping("/{id}")
|
||||
public ResponseEntity<MetodePenyampaian> getMetodepenyampaianById(@PathVariable Long id) {
|
||||
MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
||||
return ResponseEntity.ok(metodepenyampaian);
|
||||
}
|
||||
public MetodePenyampaianController(GetListMetodePenyampaianService getListMetodePenyampaianService,
|
||||
GetMetodePenyampaianByIdService getMetodePenyampaianByIdService,
|
||||
PostCreateMetodePenyampaianService postCreateMetodePenyampaianService,
|
||||
PutUpdateMetodePenyampaianService putUpdateMetodePenyampaianService,
|
||||
DeleteMetodePenyampaianService deleteMetodePenyampaianService) {
|
||||
this.getListMetodePenyampaianService = getListMetodePenyampaianService;
|
||||
this.getMetodePenyampaianByIdService = getMetodePenyampaianByIdService;
|
||||
this.postCreateMetodePenyampaianService = postCreateMetodePenyampaianService;
|
||||
this.putUpdateMetodePenyampaianService = putUpdateMetodePenyampaianService;
|
||||
this.deleteMetodePenyampaianService = deleteMetodePenyampaianService;
|
||||
}
|
||||
|
||||
// update metodepenyampaian rest api
|
||||
@PutMapping("/{id}")
|
||||
public ResponseEntity<MetodePenyampaian> updateMetodepenyampaian(@PathVariable Long id, @RequestBody MetodePenyampaian metodePenyampaianDetails){
|
||||
MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
||||
|
||||
metodepenyampaian.setMetodePenyampaian(metodePenyampaianDetails.getMetodePenyampaian());
|
||||
metodepenyampaian.setKeterangan(metodePenyampaianDetails.getKeterangan());
|
||||
@GetMapping
|
||||
public GetListMetodePenyampaianResponse getListMetodePenyampaian(@RequestParam(name = "search", required = false) String search,
|
||||
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
||||
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
||||
|
||||
MetodePenyampaian updatedMetodePenyampaian = metodepenyampaianRepository.save(metodepenyampaian);
|
||||
return ResponseEntity.ok(updatedMetodePenyampaian);
|
||||
}
|
||||
Pageable pageable = PageRequest.of((page - 1), size);
|
||||
MetodePenyampaianRequest metodePenyampaianRequest = MetodePenyampaianRequest.builder()
|
||||
.search(search)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
|
||||
// delete metodepenyampaian rest api
|
||||
@DeleteMapping("/{id}")
|
||||
public ResponseEntity<Map<String, Boolean>> deleteMetodepenyampaian(@PathVariable Long id){
|
||||
MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
||||
return getListMetodePenyampaianService.execute(metodePenyampaianRequest);
|
||||
}
|
||||
|
||||
metodepenyampaianRepository.delete(metodepenyampaian);
|
||||
Map<String, Boolean> response = new HashMap<>();
|
||||
response.put("deleted", Boolean.TRUE);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
@PostMapping
|
||||
public MetodePenyampaianResponse createMetodePenyampaian(@RequestBody MetodePenyampaianRequest metodePenyampaianRequest) {
|
||||
return postCreateMetodePenyampaianService.execute(metodePenyampaianRequest);
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public MetodePenyampaianResponse getMetodePenyampaianById(@PathVariable Long id) {
|
||||
return getMetodePenyampaianByIdService.execute(MetodePenyampaianRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public MetodePenyampaianResponse updateMetodepenyampaian(@PathVariable Long id,
|
||||
@RequestBody MetodePenyampaianRequest metodePenyampaianRequest){
|
||||
metodePenyampaianRequest.setId(id);
|
||||
return putUpdateMetodePenyampaianService.execute(metodePenyampaianRequest);
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public EmptyResponse deleteMetodePenyampaian(@PathVariable Long id) {
|
||||
return deleteMetodePenyampaianService.execute(MetodePenyampaianRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user