package com.airlock.iam.admin.domain.service.token.generic;

import com.airlock.iam.admin.application.configuration.generic.ui.StringValueTokenControllerUiElementConfig;
import com.airlock.iam.admin.domain.model.token.generic.GenericTokenUiElement;
import com.airlock.iam.admin.domain.model.token.generic.StringValueGenericTokenUiElement;
import com.airlock.iam.base.api.domain.model.plugin.LogicForConfig;
import jakarta.inject.Inject;

@LogicForConfig(StringValueTokenControllerUiElementConfig.class)
public final class StringValueTokenControllerUiElementService implements TokenControllerUiElementService {
   private final StringValueTokenControllerUiElementConfig config;

   @Inject
   public StringValueTokenControllerUiElementService(StringValueTokenControllerUiElementConfig config) {
      this.config = config;
   }

   @Override
   public GenericTokenUiElement getElement() {
      return StringValueGenericTokenUiElement.builder()
         .label(this.config.getLabel())
         .property(this.config.getProperty())
         .hideIfEmpty(this.config.isHideIfEmpty())
         .build();
   }
}
