Spaces:
Paused
Paused
| from services.auth.api_key_auth_base import ApiKeyAuthBase | |
| from services.auth.auth_type import AuthType | |
| class ApiKeyAuthFactory: | |
| def __init__(self, provider: str, credentials: dict): | |
| auth_factory = self.get_apikey_auth_factory(provider) | |
| self.auth = auth_factory(credentials) | |
| def validate_credentials(self): | |
| return self.auth.validate_credentials() | |
| def get_apikey_auth_factory(provider: str) -> type[ApiKeyAuthBase]: | |
| match provider: | |
| case AuthType.FIRECRAWL: | |
| from services.auth.firecrawl.firecrawl import FirecrawlAuth | |
| return FirecrawlAuth | |
| case AuthType.JINA: | |
| from services.auth.jina.jina import JinaAuth | |
| return JinaAuth | |
| case _: | |
| raise ValueError("Invalid provider") | |