package com.airlock.iam.flow.shared.application.configuration.step;

import com.airlock.iam.flow.api.domain.model.step.StepAction;
import com.airlock.iam.flow.shared.application.configuration.userdata.CommonUserDataStepConfig;

public interface CommonDataEditStepConfig extends CommonUserDataStepConfig {
   CommonDataEditStepConfig.NextDataEditActions DEFAULT_USER_DATA_EDIT_ACTIONS = new CommonDataEditStepConfig.NextDataEditActions() {
      @Override
      public StepAction editRequired() {
         return CommonDataEditStepConfig.DefaultNextDataEditActionCodes.USER_DATA_EDIT_REQUIRED;
      }

      @Override
      public StepAction editPossible() {
         return CommonDataEditStepConfig.DefaultNextDataEditActionCodes.USER_DATA_EDIT_POSSIBLE;
      }
   };

   enum DefaultNextDataEditActionCodes implements StepAction {
      USER_DATA_EDIT_POSSIBLE,
      USER_DATA_EDIT_REQUIRED;
   }

   interface NextDataEditActions {
      StepAction editRequired();

      StepAction editPossible();
   }
}
