add master data api

This commit is contained in:
dirgantarasiahaan
2023-05-26 10:39:31 +07:00
parent c573eb2fb3
commit fe72608465
67 changed files with 2376 additions and 307 deletions

View File

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