package com.airlock.iam.login.domain.model.targetapp;

import com.airlock.iam.base.api.domain.model.plugin.LogicForConfig;
import com.airlock.iam.login.api.domain.model.location.ForwardLocation;
import com.airlock.iam.login.api.domain.model.targetapp.URIBasedApplicationSelector;
import com.airlock.iam.login.application.configuration.targetapp.RegexApplicationSelectorConfig;
import jakarta.inject.Inject;

@LogicForConfig(RegexApplicationSelectorConfig.class)
public final class RegexApplicationSelector implements URIBasedApplicationSelector {
   private final RegexApplicationSelectorConfig config;

   @Inject
   public RegexApplicationSelector(RegexApplicationSelectorConfig config) {
      this.config = config;
   }

   @Override
   public boolean isSelected(ForwardLocation location) {
      return this.config.getUriPattern().matcher(location.value().toString()).matches();
   }
}
