Commit 4df9c4af authored by Your Name's avatar Your Name

Add provider_config parameter to all OAuth provider __init__ methods

parent 6d3dffd2
...@@ -24,7 +24,7 @@ import httpx ...@@ -24,7 +24,7 @@ import httpx
import asyncio import asyncio
import time import time
import random import random
from typing import Dict, List, Optional, Union from typing import Dict, List, Optional, Union, Any
from anthropic import Anthropic from anthropic import Anthropic
from ..models import Model from ..models import Model
from ..config import config from ..config import config
...@@ -46,9 +46,14 @@ class ClaudeProviderHandler(BaseProviderHandler): ...@@ -46,9 +46,14 @@ class ClaudeProviderHandler(BaseProviderHandler):
# NOTE: OAuth2 API uses its own model naming scheme that differs from standard Anthropic API # NOTE: OAuth2 API uses its own model naming scheme that differs from standard Anthropic API
def __init__(self, provider_id: str, api_key: Optional[str] = None, user_id: Optional[int] = None): def __init__(self, provider_id: str, api_key: Optional[str] = None, user_id: Optional[int] = None, provider_config: Optional[Any] = None):
super().__init__(provider_id, api_key, user_id=user_id) super().__init__(provider_id, api_key, user_id=user_id)
self.provider_config = config.get_provider(provider_id) if provider_config is not None:
# Use provider config passed from factory (user-specific config)
self.provider_config = provider_config
else:
# Fallback to global config
self.provider_config = config.get_provider(provider_id)
# Get credentials file path from config # Get credentials file path from config
if isinstance(self.provider_config, dict): if isinstance(self.provider_config, dict):
......
...@@ -23,7 +23,7 @@ Why did the programmer quit his job? Because he didn't get arrays! ...@@ -23,7 +23,7 @@ Why did the programmer quit his job? Because he didn't get arrays!
import httpx import httpx
import time import time
import os import os
from typing import Dict, List, Optional, Union from typing import Dict, List, Optional, Union, Any
from openai import OpenAI from openai import OpenAI
from ..models import Model from ..models import Model
from ..config import config from ..config import config
......
...@@ -36,7 +36,7 @@ import time ...@@ -36,7 +36,7 @@ import time
import json import json
import platform import platform
import uuid import uuid
from typing import Dict, List, Optional, Union from typing import Dict, List, Optional, Union, Any
from openai import AsyncOpenAI from openai import AsyncOpenAI
from ..models import Model from ..models import Model
from ..config import config from ..config import config
...@@ -63,8 +63,13 @@ class QwenProviderHandler(BaseProviderHandler): ...@@ -63,8 +63,13 @@ class QwenProviderHandler(BaseProviderHandler):
For non-admin users, credentials are loaded from the database. For non-admin users, credentials are loaded from the database.
""" """
def __init__(self, provider_id: str, api_key: Optional[str] = None, user_id: Optional[int] = None): def __init__(self, provider_id: str, api_key: Optional[str] = None, user_id: Optional[int] = None, provider_config: Optional[Any] = None):
super().__init__(provider_id, api_key, user_id=user_id) super().__init__(provider_id, api_key, user_id=user_id)
if provider_config is not None:
# Use provider config passed from factory (user-specific config)
self.provider_config = provider_config
else:
# Fallback to global config
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment