Table of Contents

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
object
PortalUserProvisioningService
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

mediator IMediator
currentUser ICurrentUser
authDb AuthDbContext
contractors IContractorRepository
channelResolver IModuleChannelResolver
options IOptions<PortalProvisioningOptions>
logger ILogger<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

contractorId Guid
mode PortalProvisioningMode
portalRoleId Guid
ct CancellationToken

Returns

Task<PortalProvisioningOutcome>