Files
fiscad/src/main/java/io/gmss/infocad/controllers/decoupage/DepartementController.java
2025-01-10 00:25:33 +01:00

99 lines
3.6 KiB
Java

package io.gmss.infocad.controllers.decoupage;
import io.gmss.infocad.entities.decoupage.Departement;
import io.gmss.infocad.interfaces.decoupage.DepartementService;
import io.gmss.infocad.paylaods.ApiResponse;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@RestController
@RequestMapping(value = "api/departement", produces = MediaType.APPLICATION_JSON_VALUE)
public class DepartementController {
private final DepartementService departementService;
public DepartementController(DepartementService departementService) {
this.departementService = departementService;
}
@PostMapping("/create")
public ResponseEntity<?> createDepartement(@RequestBody @Valid @Validated Departement departement) {
try{
departement = departementService.createDepartement(departement);
return new ResponseEntity<>(
new ApiResponse<>(true, departement, "Departement créé avec succès."),
HttpStatus.OK
);
}catch (Exception e){
return new ResponseEntity<>(
new ApiResponse<>(false, e.getMessage()),
HttpStatus.OK
);
}
}
@PutMapping("/update/{id}")
public ResponseEntity<?> updateDepartement(@PathVariable Long id, @RequestBody Departement departement) {
try{
return new ResponseEntity<>(
new ApiResponse<>(true, departementService.updateDepartement(id, departement), "Département mis à jour avec succès."),
HttpStatus.OK
);
}catch (Exception e){
return new ResponseEntity<>(
new ApiResponse<>(false, e.getMessage()),
HttpStatus.OK
);
}
}
@DeleteMapping("/delete/{id}")
public ResponseEntity<?> deleteDepartementr(@PathVariable Long id) {
try{
departementService.deleteDepartement(id);
return new ResponseEntity<>(
new ApiResponse<>(true,"Département supprimé avec succès."),
HttpStatus.OK
);
}catch (Exception e){
return new ResponseEntity<>(
new ApiResponse<>(false, e.getMessage()),
HttpStatus.OK
);
}
}
@GetMapping("/all")
public ResponseEntity<?> getAllDepartementList() {
return new ResponseEntity<>(
new ApiResponse<>(true, departementService.getDepartementList(), "Liste des département chargée avec succès."),
HttpStatus.OK
);
}
@GetMapping("/all-paged")
public ResponseEntity<?> getAllDepartementPaged(@RequestParam int pageNo, @RequestParam int pageSize) {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, departementService.getDepartementList(pageable), "Liste des département chargée avec succès."),
HttpStatus.OK
);
}
@GetMapping("/id/{id}")
public ResponseEntity<?> getDepartementById(@PathVariable Long id) {
return new ResponseEntity<>(
new ApiResponse<>(true, departementService.getDepartementById(id), "Département trouvé avec succès."),
HttpStatus.OK
);
}
}