Test all Java
This commit is contained in:
@@ -1,69 +1,82 @@
|
||||
package com.iconplus.smartproc.controller;
|
||||
|
||||
import com.iconplus.smartproc.model.entity.Lokasi;
|
||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
||||
import com.iconplus.smartproc.repository.LokasiRepository;
|
||||
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.LokasiRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListLokasiResponse;
|
||||
import com.iconplus.smartproc.model.response.LokasiResponse;
|
||||
import com.iconplus.smartproc.repository.LokasiRepository;
|
||||
import com.iconplus.smartproc.service.lokasi.*;
|
||||
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/lokasi")
|
||||
public class LokasiController {
|
||||
|
||||
@Autowired
|
||||
private LokasiRepository lokasiRepository;
|
||||
|
||||
//get all data
|
||||
private final GetListLokasiService getListLokasiService;
|
||||
private final GetLokasiByIdService getLokasiByIdService;
|
||||
private final PostCreateLokasiService postCreateLokasiService;
|
||||
private final PutUpdateLokasiService putUpdateLokasiService;
|
||||
private final DeleteLokasiService deleteLokasiService;
|
||||
|
||||
public LokasiController(GetListLokasiService getListLokasiService,
|
||||
GetLokasiByIdService getLokasiByIdService,
|
||||
PostCreateLokasiService postCreateLokasiService,
|
||||
PutUpdateLokasiService putUpdateLokasiService,
|
||||
DeleteLokasiService deleteLokasiService) {
|
||||
this.getListLokasiService = getListLokasiService;
|
||||
this.getLokasiByIdService = getLokasiByIdService;
|
||||
this.postCreateLokasiService = postCreateLokasiService;
|
||||
this.putUpdateLokasiService = putUpdateLokasiService;
|
||||
this.deleteLokasiService = deleteLokasiService;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping
|
||||
public List<Lokasi> getAllLokasis(){
|
||||
return lokasiRepository.findAll();
|
||||
public GetListLokasiResponse getListLokasi(@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);
|
||||
LokasiRequest lokasiRequest = LokasiRequest.builder()
|
||||
.search(search)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
|
||||
return getListLokasiService.execute(lokasiRequest);
|
||||
}
|
||||
|
||||
// create
|
||||
@PostMapping
|
||||
public Lokasi createLokasi(@RequestBody Lokasi lokasi) {
|
||||
return lokasiRepository.save(lokasi);
|
||||
public LokasiResponse createLokasi(@RequestBody LokasiRequest lokasiRequest) {
|
||||
return postCreateLokasiService.execute(lokasiRequest);
|
||||
}
|
||||
|
||||
// get lokasi by id rest api
|
||||
@GetMapping("/{id}")
|
||||
public ResponseEntity<Lokasi> getLokasiById(@PathVariable Long id) {
|
||||
Lokasi lokasi = lokasiRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Lokasi not exist with id :" + id));
|
||||
return ResponseEntity.ok(lokasi);
|
||||
public LokasiResponse getLokasiById(@PathVariable Long id) {
|
||||
return getLokasiByIdService.execute(LokasiRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
// update lokasi rest api
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public ResponseEntity<Lokasi> updateSumberdana(@PathVariable Long id, @RequestBody Lokasi lokasiDetails){
|
||||
Lokasi lokasi = lokasiRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Lokasi not exist with id :" + id));
|
||||
|
||||
lokasi.setLokasi(lokasiDetails.getLokasi());
|
||||
lokasi.setKeterangan(lokasiDetails.getKeterangan());
|
||||
|
||||
Lokasi updatedLokasi = lokasiRepository.save(lokasi);
|
||||
return ResponseEntity.ok(updatedLokasi);
|
||||
public LokasiResponse updateLokasi(@PathVariable Long id,
|
||||
@RequestBody LokasiRequest LokasiRequest){
|
||||
LokasiRequest.setId(id);
|
||||
return putUpdateLokasiService.execute(LokasiRequest);
|
||||
}
|
||||
|
||||
// delete lokasi rest api
|
||||
@DeleteMapping("/{id}")
|
||||
public ResponseEntity<Map<String, Boolean>> deleteLokasi(@PathVariable Long id){
|
||||
Lokasi lokasi = lokasiRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Lokasi not exist with id :" + id));
|
||||
|
||||
lokasiRepository.delete(lokasi);
|
||||
Map<String, Boolean> response = new HashMap<>();
|
||||
response.put("deleted", Boolean.TRUE);
|
||||
return ResponseEntity.ok(response);
|
||||
public EmptyResponse deleteLokasi(@PathVariable Long id) {
|
||||
return deleteLokasiService.execute(LokasiRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user