|
import os |
|
from typing import Tuple |
|
from dotenv import load_dotenv |
|
from openai import OpenAI |
|
from utils.db_utils import DatabaseUtils |
|
|
|
def check_credentials() -> Tuple[bool, str]: |
|
"""Check if required credentials are set and valid |
|
|
|
Returns: |
|
Tuple[bool, str]: (is_valid, message) |
|
- is_valid: True if all credentials are valid |
|
- message: Error message if credentials are invalid |
|
""" |
|
|
|
load_dotenv() |
|
|
|
atlas_uri = os.getenv("ATLAS_URI") |
|
openai_key = os.getenv("OPENAI_API_KEY") |
|
|
|
if not atlas_uri: |
|
return False, """Please set up your MongoDB Atlas credentials: |
|
1. Go to Settings tab |
|
2. Add ATLAS_URI as a Repository Secret |
|
3. Paste your MongoDB connection string (should start with 'mongodb+srv://')""" |
|
|
|
if not openai_key: |
|
return False, """Please set up your OpenAI API key: |
|
1. Go to Settings tab |
|
2. Add OPENAI_API_KEY as a Repository Secret |
|
3. Paste your OpenAI API key""" |
|
|
|
return True, "" |
|
|
|
def init_clients(): |
|
"""Initialize OpenAI and MongoDB clients |
|
|
|
Returns: |
|
Tuple[OpenAI, DatabaseUtils]: OpenAI client and DatabaseUtils instance |
|
or (None, None) if initialization fails |
|
""" |
|
try: |
|
openai_client = OpenAI() |
|
db_utils = DatabaseUtils() |
|
return openai_client, db_utils |
|
except Exception as e: |
|
return None, None |
|
|