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 |