Class ConnectorValidationService

java.lang.Object
ai.pipeline.connector.intake.service.ConnectorValidationService

@ApplicationScoped public class ConnectorValidationService extends Object
Service for validating connector API keys and fetching connector configuration.

This service provides the boundary between connector-intake-service and connector-service, ensuring proper microservice architecture without database coupling.

Uses dynamic-grpc with Stork service discovery to locate connector-service.

  • Constructor Details

    • ConnectorValidationService

      public ConnectorValidationService()
      Default constructor for CDI.
  • Method Details

    • validateDataSource

      public io.smallrye.mutiny.Uni<DataSourceConfig> validateDataSource(String datasourceId, String apiKey)
      Validate a datasource's API key and fetch its configuration.

      Behavior:

      • Discovers and calls datasource-admin to validate the API key and retrieve datasource config.
      • Then verifies the owning account exists and is active via account-service.
      Reactive semantics:
      • Returns a Uni<DataSourceConfig> that emits on completion of two remote gRPC calls.
      • Authentication failures are mapped to io.grpc.StatusRuntimeException with UNAUTHENTICATED.
      • Missing or inactive accounts are mapped to PERMISSION_DENIED.
      Side effects: network calls to datasource-admin and account-service.
      Parameters:
      datasourceId - The datasource ID
      apiKey - The plaintext API key to validate
      Returns:
      a Uni emitting DataSourceConfig when validation succeeds