99 lines
3.6 KiB
Java
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
|
|
);
|
|
}
|
|
}
|