Class PortalUserProvisioningService
- Namespace
- KadicErp.WebApi.Services.PortalUserProvisioning
- Assembly
- KadicErp.WebApi.dll
Orquestación cross-módulo (Recruiting → Auth → Workforce → Notifications), por eso vive en WebApi. Reusa el CreateUserCommandHandler de KadicAuth (registrado selectivamente en Program.cs — el MediatR del ERP NO escanea KadicAuth.Application) y el flujo de tokens de reset-password existente.
public sealed class PortalUserProvisioningService : IPortalUserProvisioningService
- Inheritance
-
objectPortalUserProvisioningService
- Implements
Constructors
PortalUserProvisioningService(IMediator, ICurrentUser, AuthDbContext, IContractorRepository, IModuleChannelResolver, IOptions<PortalProvisioningOptions>, ILogger<PortalUserProvisioningService>)
public PortalUserProvisioningService(IMediator mediator, ICurrentUser currentUser, AuthDbContext authDb, IContractorRepository contractors, IModuleChannelResolver channelResolver, IOptions<PortalProvisioningOptions> options, ILogger<PortalUserProvisioningService> logger)
Parameters
mediatorIMediatorcurrentUserICurrentUserauthDbAuthDbContextcontractorsIContractorRepositorychannelResolverIModuleChannelResolveroptionsIOptions<PortalProvisioningOptions>loggerILogger<PortalUserProvisioningService>
Methods
ProvisionAsync(Guid, PortalProvisioningMode, Guid, CancellationToken)
Crea (o vincula) el usuario del portal para un contratista según el modo indicado. Best-effort: nunca lanza por fallos de correo — el estado parcial se comunica en el outcome para reintento manual.
public Task<PortalProvisioningOutcome> ProvisionAsync(Guid contractorId, PortalProvisioningMode mode, Guid portalRoleId, CancellationToken ct)
Parameters
contractorIdGuidmodePortalProvisioningModeportalRoleIdGuidctCancellationToken