add master data api
This commit is contained in:
@@ -1,65 +1,77 @@
|
||||
package com.iconplus.smartproc.controller;
|
||||
|
||||
import com.iconplus.smartproc.model.entity.JenisKontrak;
|
||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
||||
import com.iconplus.smartproc.repository.JenisKontrakRepository;
|
||||
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.JenisKontrakRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListJenisKontrakResponse;
|
||||
import com.iconplus.smartproc.model.response.JenisKontrakResponse;
|
||||
import com.iconplus.smartproc.service.jeniskontrak.*;
|
||||
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/jeniskontrak")
|
||||
public class JenisKontrakController {
|
||||
@Autowired
|
||||
private JenisKontrakRepository jeniskontrakRepository;
|
||||
|
||||
//get all data
|
||||
@GetMapping
|
||||
public List<JenisKontrak> getAllJeniskontraks(){
|
||||
return jeniskontrakRepository.findAll();
|
||||
}
|
||||
private final GetListJenisKontrakService getListJenisKontrakService;
|
||||
private final GetJenisKontrakByIdService getJenisKontrakByIdService;
|
||||
private final PostCreateJenisKontrakService postCreateJenisKontrakService;
|
||||
private final PutUpdateJenisKontrakService putUpdateJenisKontrakService;
|
||||
private final DeleteJenisKontrakService deleteJenisKontrakService;
|
||||
|
||||
// create
|
||||
@PostMapping
|
||||
public JenisKontrak createJeniskontrak(@RequestBody JenisKontrak jeniskontrak) {
|
||||
return jeniskontrakRepository.save(jeniskontrak);
|
||||
}
|
||||
public JenisKontrakController(GetListJenisKontrakService getListJenisKontrakService,
|
||||
GetJenisKontrakByIdService getJenisKontrakByIdService,
|
||||
PostCreateJenisKontrakService postCreateJenisKontrakService,
|
||||
PutUpdateJenisKontrakService putUpdateJenisKontrakService,
|
||||
DeleteJenisKontrakService deleteJenisKontrakService) {
|
||||
this.getListJenisKontrakService = getListJenisKontrakService;
|
||||
this.getJenisKontrakByIdService = getJenisKontrakByIdService;
|
||||
this.postCreateJenisKontrakService = postCreateJenisKontrakService;
|
||||
this.putUpdateJenisKontrakService = putUpdateJenisKontrakService;
|
||||
this.deleteJenisKontrakService = deleteJenisKontrakService;
|
||||
}
|
||||
|
||||
// get jeniskontrak by id rest api
|
||||
@GetMapping("/{id}")
|
||||
public ResponseEntity<JenisKontrak> getJeniskontrakById(@PathVariable Long id) {
|
||||
JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
||||
return ResponseEntity.ok(jeniskontrak);
|
||||
}
|
||||
|
||||
// update jeniskontrak rest api
|
||||
@PutMapping("/{id}")
|
||||
public ResponseEntity<JenisKontrak> updateJeniskontrak(@PathVariable Long id, @RequestBody JenisKontrak jenisKontrakDetails){
|
||||
JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
||||
@GetMapping
|
||||
public GetListJenisKontrakResponse getListJenisKontrak(@RequestParam(name = "search", required = false) String search,
|
||||
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
||||
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
||||
|
||||
jeniskontrak.setJenisKontrak(jenisKontrakDetails.getJenisKontrak());
|
||||
jeniskontrak.setKeterangan(jenisKontrakDetails.getKeterangan());
|
||||
Pageable pageable = PageRequest.of((page - 1), size);
|
||||
JenisKontrakRequest jenisKontrakRequest = JenisKontrakRequest.builder()
|
||||
.search(search)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
|
||||
JenisKontrak updatedJenisKontrak = jeniskontrakRepository.save(jeniskontrak);
|
||||
return ResponseEntity.ok(updatedJenisKontrak);
|
||||
}
|
||||
return getListJenisKontrakService.execute(jenisKontrakRequest);
|
||||
}
|
||||
|
||||
// delete jeniskontrak rest api
|
||||
@DeleteMapping("/{id}")
|
||||
public ResponseEntity<Map<String, Boolean>> deleteJeniskontrak(@PathVariable Long id){
|
||||
JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
||||
@PostMapping
|
||||
public JenisKontrakResponse createJenisKontrak(@RequestBody JenisKontrakRequest jenisKontrakRequest) {
|
||||
return postCreateJenisKontrakService.execute(jenisKontrakRequest);
|
||||
}
|
||||
|
||||
jeniskontrakRepository.delete(jeniskontrak);
|
||||
Map<String, Boolean> response = new HashMap<>();
|
||||
response.put("deleted", Boolean.TRUE);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
@GetMapping("/{id}")
|
||||
public JenisKontrakResponse getJenisKontrakById(@PathVariable Long id) {
|
||||
return getJenisKontrakByIdService.execute(JenisKontrakRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public JenisKontrakResponse updateJeniskontrak(@PathVariable Long id,
|
||||
@RequestBody JenisKontrakRequest jenisKontrakRequest){
|
||||
jenisKontrakRequest.setId(id);
|
||||
return putUpdateJenisKontrakService.execute(jenisKontrakRequest);
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public EmptyResponse deleteJenisKontrak(@PathVariable Long id) {
|
||||
return deleteJenisKontrakService.execute(JenisKontrakRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user