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

import com.airlock.iam.common.api.domain.model.otp.UnverifiedOtp;
import com.airlock.iam.flow.api.domain.model.flow.FlowResult;
import com.airlock.iam.flow.domain.model.flow.FlowProvider;
import jakarta.inject.Inject;

public class OathOtpActivation {
   private final FlowProvider flowProvider;

   @Inject
   public OathOtpActivation(FlowProvider flowProvider) {
      this.flowProvider = flowProvider;
   }

   public FlowResult checkOtp(UnverifiedOtp unverifiedOtp) {
      return this.flowProvider.getCurrentOrStartNew().execute(step -> step.complete(unverifiedOtp), OathOtpActivationStep.class);
   }
}
