Test Java All

This commit is contained in:
Kevin
2023-05-25 11:08:22 +07:00
parent 87474cde81
commit c781c36a5d
11 changed files with 398 additions and 58 deletions

View File

@@ -1,74 +1,82 @@
package com.iconplus.smartproc.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.iconplus.smartproc.exception.ResourceNotFoundException;
import com.iconplus.smartproc.model.entity.UnitInisiator;
import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.GetListUnitInisiatorResponse;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.service.unitinisiator.*;
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/unitinisiator")
public class UnitInisiatorController {
@Autowired
private UnitInisiatorRepository unitinisiatorRepository;
//get all data
@GetMapping
public List<UnitInisiator> getAllUnitinisiator(){
return unitinisiatorRepository.findAll();
}
@Autowired
private UnitInisiatorRepository unitinisiatorRepository;
// create
@PostMapping
public UnitInisiator createUnitinisiator(@RequestBody UnitInisiator unitinisiator) {
return unitinisiatorRepository.save(unitinisiator);
}
private final GetListUnitInisiatorService getListUnitInisiatorService;
private final GetUnitInisiatorByIdService getUnitInisiatorByIdService;
private final PostCreateUnitInisiatorService postCreateUnitInisiatorService;
private final PutUpdateUnitInisiatorService putUpdateUnitInisiatorService;
private final DeleteUnitInisiatorService deleteUnitInisiatorService;
// get unitinisiator by id rest api
@GetMapping("/{id}")
public ResponseEntity<UnitInisiator> getUnitinisiatorById(@PathVariable Long id) {
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
return ResponseEntity.ok(unitinisiator);
}
public UnitInisiatorController(GetListUnitInisiatorService getListUnitInisiatorService,
GetUnitInisiatorByIdService getUnitInisiatorByIdService,
PostCreateUnitInisiatorService postCreateUnitInisiatorService,
PutUpdateUnitInisiatorService putUpdateUnitInisiatorService,
DeleteUnitInisiatorService deleteUnitInisiatorService) {
this.getListUnitInisiatorService = getListUnitInisiatorService;
this.getUnitInisiatorByIdService = getUnitInisiatorByIdService;
this.postCreateUnitInisiatorService = postCreateUnitInisiatorService;
this.putUpdateUnitInisiatorService = putUpdateUnitInisiatorService;
this.deleteUnitInisiatorService = deleteUnitInisiatorService;
}
// update jenispengadaan rest api
@PutMapping("/{id}")
public ResponseEntity<UnitInisiator> updateUnitinisiator(@PathVariable Long id, @RequestBody UnitInisiator unitInisiatorDetails){
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
unitinisiator.setUnitInisiator(unitInisiatorDetails.getUnitInisiator());
unitinisiator.setKeterangan(unitInisiatorDetails.getKeterangan());
@GetMapping
public GetListUnitInisiatorResponse getListUnitInisiator(@RequestParam(name = "search", required = false) String search,
@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size){
UnitInisiator updatedUnitInisiator = unitinisiatorRepository.save(unitinisiator);
return ResponseEntity.ok(updatedUnitInisiator);
}
Pageable pageable = PageRequest.of((page - 1), size);
UnitInisiatorRequest unitInisiatorRequest = UnitInisiatorRequest.builder()
.search(search)
.pageable(pageable)
.build();
// delete jenispengadaan rest api
@DeleteMapping("/{id}")
public ResponseEntity<Map<String, Boolean>> deleteUnitinisiator(@PathVariable Long id){
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id));
return getListUnitInisiatorService.execute(unitInisiatorRequest);
}
unitinisiatorRepository.delete(unitinisiator);
Map<String, Boolean> response = new HashMap<>();
response.put("deleted", Boolean.TRUE);
return ResponseEntity.ok(response);
}
@PostMapping
public UnitInisiatorResponse createUnitInisiator(@RequestBody UnitInisiatorRequest unitInisiatorRequest) {
return postCreateUnitInisiatorService.execute(unitInisiatorRequest);
}
@GetMapping("/{id}")
public UnitInisiatorResponse getUnitInisiatorById(@PathVariable Long id) {
return getUnitInisiatorByIdService.execute(UnitInisiatorRequest.builder()
.id(id)
.build());
}
@PutMapping("/{id}")
public UnitInisiatorResponse updateUnitinisiator(@PathVariable Long id,
@RequestBody UnitInisiatorRequest unitInisiatorRequest){
unitInisiatorRequest.setId(id);
return putUpdateUnitInisiatorService.execute(unitInisiatorRequest);
}
@DeleteMapping("/{id}")
public EmptyResponse deleteUnitInisiator(@PathVariable Long id) {
return deleteUnitInisiatorService.execute(UnitInisiatorRequest.builder()
.id(id)
.build());
}
}