Class ResubmitChallengeCommandHandler
- Namespace
- SEBT.Portal.UseCases.IdProofing
- Assembly
- SEBT.Portal.UseCases.dll
Handles a user-initiated retry after a Socure RESUBMIT decision (DC-301).
RESUBMIT is terminal at Socure — the original workflow ended and cannot be resumed.
This handler starts a brand-new evaluation against the docv_stepup workflow
(which only emits ACCEPT/REJECT, structurally capping retries at one) and persists a
fresh DocVerificationChallenge row in Pending. The prior Resubmit challenge is
left untouched as a terminal record.
public class ResubmitChallengeCommandHandler : ICommandHandler<ResubmitChallengeCommand, ResubmitChallengeResponse>
- Inheritance
-
objectResubmitChallengeCommandHandler
- Implements
Constructors
ResubmitChallengeCommandHandler(IDocVerificationChallengeRepository, IUserRepository, IHouseholdRepository, ISocureClient, SocureSettings, IValidator<ResubmitChallengeCommand>, IOptions<IdProofingEligibilitySettings>, ILogger<ResubmitChallengeCommandHandler>)
Handles a user-initiated retry after a Socure RESUBMIT decision (DC-301).
RESUBMIT is terminal at Socure — the original workflow ended and cannot be resumed.
This handler starts a brand-new evaluation against the docv_stepup workflow
(which only emits ACCEPT/REJECT, structurally capping retries at one) and persists a
fresh DocVerificationChallenge row in Pending. The prior Resubmit challenge is
left untouched as a terminal record.
public ResubmitChallengeCommandHandler(IDocVerificationChallengeRepository challengeRepository, IUserRepository userRepository, IHouseholdRepository householdRepository, ISocureClient socureClient, SocureSettings socureSettings, IValidator<ResubmitChallengeCommand> validator, IOptions<IdProofingEligibilitySettings> idProofingEligibilitySettings, ILogger<ResubmitChallengeCommandHandler> logger)
Parameters
challengeRepositoryIDocVerificationChallengeRepositoryuserRepositoryIUserRepositoryhouseholdRepositoryIHouseholdRepositorysocureClientISocureClientsocureSettingsSocureSettingsvalidatorIValidator<ResubmitChallengeCommand>idProofingEligibilitySettingsIOptions<IdProofingEligibilitySettings>loggerILogger<ResubmitChallengeCommandHandler>
Methods
Handle(ResubmitChallengeCommand, CancellationToken)
public Task<Result<ResubmitChallengeResponse>> Handle(ResubmitChallengeCommand command, CancellationToken cancellationToken = default)
Parameters
commandResubmitChallengeCommandcancellationTokenCancellationToken
Returns
- Task<Result<ResubmitChallengeResponse>>