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()
  • Method Details

    • validateConnector

      public io.smallrye.mutiny.Uni<ai.pipestream.connector.intake.ConnectorConfig> validateConnector(String connectorId, String apiKey)
      Validate a connector's API key and fetch its configuration.

      Behavior:

      • Discovers and calls connector-service to validate the API key and retrieve connector metadata.
      • Then verifies the owning account exists and is active via account-service.
      Reactive semantics:
      • Returns a Uni<ConnectorConfig> 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 connector-service and account-service.
      Parameters:
      connectorId - The connector ID
      apiKey - The plaintext API key to validate
      Returns:
      a Uni emitting ConnectorConfig when validation succeeds