Class UserRestApi

java.lang.Object
com.modulink.Controller.UserModules.GDU.UserRestApi

@RestController @RequestMapping("/dashboard/gdu/api") public class UserRestApi extends Object
Controller REST per l'esposizione dei dati utente tramite API JSON.

Fornisce endpoint per il recupero asincrono delle informazioni di base degli utenti (nome, cognome, email), filtrati rigorosamente per azienda di appartenenza. Utilizzato principalmente da componenti frontend come campi di autocompletamento o liste dinamiche.

Since:
1.4.0
Version:
1.0.5
Author:
Modulink Team
  • Field Details

  • Constructor Details

    • UserRestApi

      public UserRestApi(CustomUserDetailsService customUserDetailsService, UserRepository userRepository, AziendaService aziendaService)
      Costruttore per l'iniezione delle dipendenze.
      Parameters:
      customUserDetailsService - Servizio utenti.
      userRepository - Repository utenti.
      aziendaService - Servizio aziende.
      Since:
      1.4.0
  • Method Details

    • getUsers

      @GetMapping("/users") public org.springframework.http.ResponseEntity<List<UserRestApi.UserBasicInfo>> getUsers(Principal principal)
      Recupera la lista di tutti gli utenti colleghi (stessa azienda) dell'utente richiedente.

      Esclude l'utente richiedente dalla lista risultante.

      Parameters:
      principal - Identità dell'utente autenticato.
      Returns:
      Lista di UserRestApi.UserBasicInfo in formato JSON.
      Since:
      1.4.0
    • parseUsers

      public static List<UserRestApi.UserBasicInfo> parseUsers(List<UtenteEntity> users)
      Metodo di utilità per la conversione di una lista di entità Utente in DTO leggeri.
      Parameters:
      users - Lista di entità Utente.
      Returns:
      Lista di DTO UserBasicInfo.
    • getUser

      @GetMapping("/admin/users/{id}") public org.springframework.http.ResponseEntity<List<UserRestApi.UserBasicInfo>> getUser(@PathVariable int id, Principal principal)
      Endpoint amministrativo (in sviluppo) per recuperare utenti di una specifica azienda.

      Attualmente protetto da logica hardcoded (ID azienda 0) per restrizione accesso.

      Parameters:
      id - ID dell'azienda target.
      principal - Identità richiedente.
      Returns:
      Lista utenti o stato Forbidden.
      Since:
      1.4.0