Vai al contenuto

Servizi e API

Panoramica dei servizi Angular frontend e dei backend Lambda che espongono le API REST.

Lambda groups

SignGroupLambda (src/utils/endpoints.ts) mappa i gruppi di API:

Gruppo Uso principale
auth Login SSO
people Anagrafica, leave, Zapier
admin Posizioni, skills, business unit
collaboration Clienti, progetti
procurement Fornitori, contratti
recruitment Candidature
cms Contenuti FAQ
resource Risorse (generico)

L'URL effettivo è risolto da getApiUrl(SignGroupLambda.*) in base all'environment.

Endpoints REST

Base path: /v1/... (vedi Endpoints in src/utils/endpoints.ts).

Endpoint Servizio FE Funzionalità
/auth/login AuthService Scambio OAuth code → JWT
/auth/policies PoliciesService ACL UI (flag per risorsa/azione)
/persons PeopleService CRUD anagrafica, sezioni profilo
/persons/zapier ZapierService Feedback e straordinari
/business-units BusinessunitService Dipartimenti
/positions PositionService Posizioni lavorative
/skills SkillService Competenze
/teams TeamsService Team e membri (filtri/search server-side)
/projects ProjectService Progetti e membri (create/update includono business, type, teamSeniority, poSupportLevel, poInteraction, smOperativity; people è solo response, auto-calcolato)
/projects/filters ProjectService Catalogo opzioni filtro progetti
/clients ClientService Clienti
/buyers BuyerService Fornitori
/buyers/sync BuyerService Sync fornitori esterni
/buyer-contracts BuyerContractService Contratti
/job-applications RecruitingService Candidature
/leave-requests PermissionsService Assenze / permessi
/leave-requests/libemax-sync PermissionsService Stato sync Libemax
/contents FaqService Articoli FAQ

Servizi frontend

Servizio Responsabilità
AuthService SSO, token, ruolo JWT display, isSelf
PoliciesService ACL UI da /auth/policies
CurrentUserProfileService Profilo utente loggato (es. avatar)
PeopleService Anagrafica e profili
TeamsService Team
ProjectService Progetti
ClientService Clienti
BuyerService Fornitori
BuyerContractService Contratti
RecruitingService Candidature
PermissionsService Leave requests
SkillService Skills
PositionService Posizioni
BusinessunitService Business unit
FaqService Contenuti CMS
ZapierService Invio form a Zapier
TableFiltersService Opzioni filtro condivise (people, recruiting, permissions)
FormDropdownValuesService Valori dropdown per form
PositionAndBusinessunitService Stato condiviso tab posizioni/BU
AddSkillDialogService Stato dialog skill su profilo

Autenticazione HTTP

Tutte le chiamate autenticate passano dall'auth interceptor (src/interceptors/) che aggiunge il Bearer token dall'localStorage.

Eccezione: POST /auth/login usa Basic Auth con credenziali da environment.basicAuthorization.

Servizi UI (non HTTP)

Servizio Ruolo
ToastService Notifiche
LoaderService Stato caricamento globale
ViewportService Breakpoint mobile
MobileMenuService Menu mobile sidebar

File di riferimento

File Ruolo
src/utils/endpoints.ts Path API e lambda groups
src/utils/getApiUrl.ts Risoluzione URL per environment
src/services/*.ts Implementazione servizi
src/environments/ URL base per stage/prod