package com.airlock.iam.flow.shared.domain.model.emailotp;

import com.airlock.iam.flow.api.domain.model.step.StepAction;
import com.airlock.iam.flow.api.domain.model.step.StepError;
import com.airlock.iam.flow.api.domain.model.step.StepResult;
import com.airlock.iam.flow.shared.domain.model.otp.GenericOtpCheckingStep;

public interface EmailOtpCheckingStep extends GenericOtpCheckingStep {
   String RESEND_POSSIBLE_ATTRIBUTE = "resendPossible";
   String EMAIL_ADDRESS_ATTRIBUTE = "emailAddress";

   StepResult resend();

   enum EmailOtpStepActions implements StepAction {
      EMAIL_OTP_CHECK_REQUIRED;
   }

   enum EmailOtpStepErrors implements StepError {
      EMAIL_OTP_RESEND_REFUSED;
   }
}
