| | 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") |
| |
|