package com.airlock.iam.oauth2.infrastructure.validation;

import com.airlock.iam.oauth2.application.service.validation.ExistingAuthServerService;
import jakarta.inject.Inject;
import jakarta.inject.Provider;

public final class AuthorizationServerIdValidator {
   private final Provider<ExistingAuthServerService> existingAuthServerService;

   @Inject
   public AuthorizationServerIdValidator(Provider<ExistingAuthServerService> existingAuthServerService) {
      this.existingAuthServerService = existingAuthServerService;
   }

   public void validateAuthorizationServer(String authorizationServerId) {
      if (!((ExistingAuthServerService)this.existingAuthServerService.get()).isAuthorizationServerConfigured(authorizationServerId)) {
         throw new UnconfiguredAuthorizationServerException(authorizationServerId);
      }
   }
}
