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

import com.airlock.iam.base.api.domain.model.mapification.MapifiedValues;
import com.airlock.iam.base.domain.model.mapification.MapifiedValuesBuilder;
import com.airlock.iam.flow.api.domain.model.selection.Option;

public class OptionMapificationUtil {
   private static final String LAST_SELECTED_KEY = "lastSelected";
   private static final String NAME_KEY = "name";

   public static Option demapify(MapifiedValues values) {
      Boolean lastSelected = values.get("lastSelected");
      return lastSelected ? Option.lastSelectedOptionOf(values.get("name")) : Option.of(values.get("name"));
   }

   public static MapifiedValues mapify(Option option) {
      return MapifiedValuesBuilder.mapifiedValues().put("name", option.getName()).put("lastSelected", option.isLastSelected()).build();
   }
}
