UserTypes & AutoMate Formulier
Deze sectie beschrijft hoe UserTypes, OrgModel, het AutoMate Formulier en Workflows technisch samenwerken. De UserTypes feature is georganiseerd onder API/Src/AutoMate.API/Features/UserTypes/.
Componenten
UserTypes
UserTypes definiëren de templates voor medewerkerprofielen. De volgende sub-resources vormen samen het UserTypes domein:
Sub-resource | Beschrijving |
|---|---|
| Gebruikersprofielen met gekoppelde assets en licenties |
| Individuele toewijsbare resources (applicaties, devices, etc.) |
| Categorieën van assets |
| Groepen van assets die als pakket worden toegewezen |
| Microsoft 365 licentie definities |
| Definities van veld-typen voor het formulier |
Endpoints voor alle sub-resources volgen het FastEndpoints patroon: Endpoint<TRequest, TResponse> of EndpointWithoutRequest<TResponse>.
OrganizationAttributes
OrganizationAttributes zijn tenant-specifieke custom attributen die bepalen welke extra velden beschikbaar zijn in het AutoMate Formulier. Ze zijn georganiseerd in categorieën.
OrganizationAttributesService coördineert de business logica, OrganizationAttributesRepository verzorgt persistentie.
Relevante endpoints:
Methode | Pad | Beschrijving |
|---|---|---|
|
| Alle attributen voor de tenant |
|
| Specifiek attribuut |
|
| Beschikbare categorieën |
|
| Nieuw attribuut aanmaken |
|
| Attribuut bijwerken |
|
| Attribuut verwijderen |
|
| Wijzigingshistorie |
|
| Audit logs |
Tenant ID wordt verkregen via de X-Tenant-Id header via IMultiTenantService.GetTenantId(). Het attribuut-ID staat nooit in de request body.
OrgModel (Organisatiemodel)
Het OrgModel bevat de organisatiestructuur van een tenant met volledig versioning. Het is een apart subsysteem binnen de UserTypes feature, georganiseerd onder Features/UserTypes/OrgModel/.
Kenmerken:
Versioning: actieve versie plus draft versie; maximaal één draft tegelijk
Draft changes: wijzigingen worden eerst als draft geregistreerd, dan pas geactiveerd
Impact evaluatie:
OrgModelImpactEvaluatorberekent de impact van draft wijzigingen vóór activatieDraft resolutions: conflicten in draft wijzigingen worden opgelost via Hangfire job
OrgModelResolutionJobAudit trail:
OrgModelAuditServicelogt alle wijzigingen viaOrgModelAuditRepository
Zie ook: OrgModel Versioning, OrgModel Draft Resolutions, OrgModel Portal UI.
De OrgModel error codes zijn gedefinieerd in OrgModelErrorCodes:
AutoMate Formulier
Het AutoMate Formulier is de UI in het Management Portal waarmee medewerkerdata ingevoerd en bijgewerkt wordt. Het formulier is dynamisch: de beschikbare velden worden bepaald door de UserTypes definities en de OrganizationAttributes van de tenant.
Bij submit van het formulier wordt een Hangfire job ge-enqueued die de bijbehorende workflows triggert.
Formulier submit flow
Samenwerking tussen componenten
Registratie
De UserTypes feature maakt gebruik van extension methods voor DI-registratie, afkomstig uit de geïntegreerde Tasks.UserType library:
De OrgModel services worden apart geregistreerd via hun eigen repositories en services:
Licenties worden geregistreerd via AddLicensesApplication() en AddLicensesInfrastructure(), afkomstig uit de Tasks.License.Microsoft library.