| 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() |
|
|
| @staticmethod |
| 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") |
|
|