api_key_auth_factory.py 847 B

1234567891011121314151617181920212223242526
  1. from services.auth.api_key_auth_base import ApiKeyAuthBase
  2. from services.auth.auth_type import AuthType
  3. class ApiKeyAuthFactory:
  4. def __init__(self, provider: str, credentials: dict):
  5. auth_factory = self.get_apikey_auth_factory(provider)
  6. self.auth = auth_factory(credentials)
  7. def validate_credentials(self):
  8. return self.auth.validate_credentials()
  9. @staticmethod
  10. def get_apikey_auth_factory(provider: str) -> type[ApiKeyAuthBase]:
  11. match provider:
  12. case AuthType.FIRECRAWL:
  13. from services.auth.firecrawl.firecrawl import FirecrawlAuth
  14. return FirecrawlAuth
  15. case AuthType.JINA:
  16. from services.auth.jina.jina import JinaAuth
  17. return JinaAuth
  18. case _:
  19. raise ValueError("Invalid provider")