Files
smartproc-be/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java
2023-05-23 11:26:15 +07:00

69 lines
2.5 KiB
Java

package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.model.entity.MetodePengadaan;
import com.iconplus.smartproc.exception.ResourceNotFoundException;
import com.iconplus.smartproc.repository.MetodePengadaanRepository;
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;
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
@RestController
@RequestMapping("/api/metodepengadaan")
public class MetodePengadaanController {
@Autowired
private MetodePengadaanRepository metodepengadaanRepository;
//get all data
@GetMapping
public List<MetodePengadaan> getAllMetodepengadaans(){
return metodepengadaanRepository.findAll();
}
// create
@PostMapping
public MetodePengadaan createMetodepengadaan(@RequestBody MetodePengadaan metodepengadaan) {
return metodepengadaanRepository.save(metodepengadaan);
}
// get metodepengadaan by id rest api
@GetMapping("/{id}")
public ResponseEntity<MetodePengadaan> getMetodepengadaanById(@PathVariable Long id) {
MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
return ResponseEntity.ok(metodepengadaan);
}
// update metodepengadaan rest api
@PutMapping("/{id}")
public ResponseEntity<MetodePengadaan> updateMetodepengadaan(@PathVariable Long id, @RequestBody MetodePengadaan metodePengadaanDetails){
MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
metodepengadaan.setMetodePengadaan(metodePengadaanDetails.getMetodePengadaan());
metodepengadaan.setKeterangan(metodePengadaanDetails.getKeterangan());
MetodePengadaan updatedMetodePengadaan = metodepengadaanRepository.save(metodepengadaan);
return ResponseEntity.ok(updatedMetodePengadaan);
}
// delete metodepengadaan rest api
@DeleteMapping("/{id}")
public ResponseEntity<Map<String, Boolean>> deleteMetodepengadaan(@PathVariable Long id){
MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
metodepengadaanRepository.delete(metodepengadaan);
Map<String, Boolean> response = new HashMap<>();
response.put("deleted", Boolean.TRUE);
return ResponseEntity.ok(response);
}
}