AutoMate Technisch Help

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

Personas

Gebruikersprofielen met gekoppelde assets en licenties

Assets

Individuele toewijsbare resources (applicaties, devices, etc.)

AssetTypes

Categorieën van assets

Bundles

Groepen van assets die als pakket worden toegewezen

Licenses

Microsoft 365 licentie definities

AttributeTypes

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

GET

/organization-attributes

Alle attributen voor de tenant

GET

/organization-attributes/{id}

Specifiek attribuut

GET

/organization-attributes/categories

Beschikbare categorieën

POST

/organization-attributes

Nieuw attribuut aanmaken

PUT

/organization-attributes/{id}

Attribuut bijwerken

DELETE

/organization-attributes/{id}

Attribuut verwijderen

GET

/organization-attributes/{id}/history

Wijzigingshistorie

GET

/organization-attributes/{id}/logs

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: OrgModelImpactEvaluator berekent de impact van draft wijzigingen vóór activatie

  • Draft resolutions: conflicten in draft wijzigingen worden opgelost via Hangfire job OrgModelResolutionJob

  • Audit trail: OrgModelAuditService logt alle wijzigingen via OrgModelAuditRepository

Zie ook: OrgModel Versioning, OrgModel Draft Resolutions, OrgModel Portal UI.

De OrgModel error codes zijn gedefinieerd in OrgModelErrorCodes:

// Voorbeelden DraftAlreadyExists // 409 - al een draft aanwezig DraftNotFound // 404 - geen draft gevonden om te activeren VersionNotFound // 404 - versie niet gevonden

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

nieuw medewerker

medewerker gewijzigd

TriggerType: EmployeeOnboarding

TriggerType: EmployeeUpdated

accountEnabled → false

AutoMate Formulier
Management Portal

FormEmployeeWorkflowTriggerJob
RunForCreatedAsync

FormEmployeeWorkflowTriggerJob
RunForUpdatedAsync

WorkflowTriggerService

TriggerType: EmployeeOffboarded

Hangfire BatchJob
WorkflowDispatcherJob

Samenwerking tussen componenten

submit

UserTypes
Personas / Assets / Bundles

AutoMate Formulier
Management Portal

OrganizationAttributes
Tenant-specifieke velden

OrgModel
Organisatiestructuur

Workflow Trigger
FormEmployeeWorkflowTriggerJob

Workflow Execution
Hangfire

IAM HR Sync
Attribute Mapping

Registratie

De UserTypes feature maakt gebruik van extension methods voor DI-registratie, afkomstig uit de geïntegreerde Tasks.UserType library:

services.RegisterUserTypeApplication(); services.RegisterUserTypeInfrastructure();

De OrgModel services worden apart geregistreerd via hun eigen repositories en services:

// Repositories OrgModelAttributesRepository OrgModelVersionsRepository OrgModelVersionAttributesRepository OrgModelDraftResolutionsRepository OrgModelAuditRepository // Services OrgModelAttributesService OrgModelVersionsService OrgModelResolutionHandler OrgModelImpactEvaluator OrgModelAuditService

Licenties worden geregistreerd via AddLicensesApplication() en AddLicensesInfrastructure(), afkomstig uit de Tasks.License.Microsoft library.

Last modified: 24 March 2026