Table of Contents

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

challengeRepository IDocVerificationChallengeRepository
userRepository IUserRepository
householdRepository IHouseholdRepository
socureClient ISocureClient
socureSettings SocureSettings
validator IValidator<ResubmitChallengeCommand>
idProofingEligibilitySettings IOptions<IdProofingEligibilitySettings>
logger ILogger<ResubmitChallengeCommandHandler>

Methods

Handle(ResubmitChallengeCommand, CancellationToken)

public Task<Result<ResubmitChallengeResponse>> Handle(ResubmitChallengeCommand command, CancellationToken cancellationToken = default)

Parameters

command ResubmitChallengeCommand
cancellationToken CancellationToken

Returns

Task<Result<ResubmitChallengeResponse>>