Class SubmitIdProofingCommandHandler
- Namespace
- SEBT.Portal.UseCases.IdProofing
- Assembly
- SEBT.Portal.UseCases.dll
Handles ID proofing submission. Orchestrates the flow:
- Validate input
- Early exit if no ID provided (noIdProvided off-boarding)
- Reuse existing active challenge if one exists
- Co-loaded users with SNAP/TANF ID: complete at IAL1+ without Socure (DC warehouse IC+DOB when applicable, then on-file match)
- Load household PII for Socure when available (name, address, phone from state/CMS), then apply qualifying-household gate for Socure (DC) after the user has submitted the form
- Call Socure for risk assessment
- Create a new challenge if document verification is required
public class SubmitIdProofingCommandHandler : ICommandHandler<SubmitIdProofingCommand, SubmitIdProofingResponse>
- Inheritance
-
objectSubmitIdProofingCommandHandler
- Implements
Constructors
SubmitIdProofingCommandHandler(IUserRepository, IHouseholdRepository, IDocVerificationChallengeRepository, ISocureClient, SocureSettings, IValidator<SubmitIdProofingCommand>, IOptions<IdProofingEligibilitySettings>, ILogger<SubmitIdProofingCommandHandler>)
Handles ID proofing submission. Orchestrates the flow:
- Validate input
- Early exit if no ID provided (noIdProvided off-boarding)
- Reuse existing active challenge if one exists
- Co-loaded users with SNAP/TANF ID: complete at IAL1+ without Socure (DC warehouse IC+DOB when applicable, then on-file match)
- Load household PII for Socure when available (name, address, phone from state/CMS), then apply qualifying-household gate for Socure (DC) after the user has submitted the form
- Call Socure for risk assessment
- Create a new challenge if document verification is required
public SubmitIdProofingCommandHandler(IUserRepository userRepository, IHouseholdRepository householdRepository, IDocVerificationChallengeRepository challengeRepository, ISocureClient socureClient, SocureSettings socureSettings, IValidator<SubmitIdProofingCommand> validator, IOptions<IdProofingEligibilitySettings> idProofingEligibilitySettings, ILogger<SubmitIdProofingCommandHandler> logger)
Parameters
userRepositoryIUserRepositoryhouseholdRepositoryIHouseholdRepositorychallengeRepositoryIDocVerificationChallengeRepositorysocureClientISocureClientsocureSettingsSocureSettingsvalidatorIValidator<SubmitIdProofingCommand>idProofingEligibilitySettingsIOptions<IdProofingEligibilitySettings>loggerILogger<SubmitIdProofingCommandHandler>
Methods
Handle(SubmitIdProofingCommand, CancellationToken)
public Task<Result<SubmitIdProofingResponse>> Handle(SubmitIdProofingCommand command, CancellationToken cancellationToken = default)
Parameters
commandSubmitIdProofingCommandcancellationTokenCancellationToken
Returns
- Task<Result<SubmitIdProofingResponse>>