ProfileUtilisateurController.java
package com.sintia.ffl.admin.optique.api.controllers;
import com.sintia.ffl.admin.optique.services.services.ProfileUtilisateurService;
import com.sintia.ffl.adminui.commons.dto.ProfilUtilisateurDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Optional;
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/v1/affectation-profil")
public class ProfileUtilisateurController {
private final ProfileUtilisateurService profileUtilisateurService;
@GetMapping(value = "/get-profil/{utilisateur}")
@Operation(operationId = "getProfil", summary = "Récupérer le profil de l'utilisateur", description = "Récupérer le profil de l'utilisateur", responses = {
@ApiResponse(responseCode = "200", description = "Traitement terminé normalement"),
@ApiResponse(responseCode = "204", description = "Données non-trouvées") })
public ResponseEntity<ProfilUtilisateurDTO> getProfil(@PathVariable String utilisateur)
throws NoSuchFieldException {
log.info("getProfil : {}", utilisateur);
if (null != utilisateur) {
Optional<ProfilUtilisateurDTO> profil = profileUtilisateurService.getProfilUtilisateur(utilisateur);
return profil.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.noContent().build());
}
return ResponseEntity.noContent().build();
}
}