Spaces:
Sleeping
Sleeping
| import os | |
| from typing import List, Union | |
| from pydantic_settings import BaseSettings | |
| from pydantic import AnyHttpUrl, validator | |
| class Settings(BaseSettings): | |
| PROJECT_NAME: str = "SkillSync" | |
| API_V1_STR: str = "/api/v1" | |
| SECRET_KEY: str = "changethis" | |
| ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 8 | |
| # CORS | |
| BACKEND_CORS_ORIGINS: Union[str, List[str]] = "" | |
| def assemble_cors_origins(cls, v: Union[str, List[str]]) -> Union[List[str], str]: | |
| if isinstance(v, str): | |
| if not v.strip(): | |
| return [] | |
| if not v.startswith("["): | |
| return [i.strip() for i in v.split(",")] | |
| else: | |
| import json | |
| try: | |
| return json.loads(v) | |
| except Exception: | |
| return [v] | |
| elif isinstance(v, list): | |
| return v | |
| return [] | |
| # Database | |
| POSTGRES_SERVER: str = "localhost" | |
| POSTGRES_USER: str = "postgres" | |
| POSTGRES_PASSWORD: str = "postgres" | |
| POSTGRES_DB: str = "skillsync" | |
| DATABASE_URL: str = "sqlite:///./sql_app.db" | |
| # AI - Groq | |
| GROQ_API_KEY: str = "gsk_..." | |
| # Supabase Auth | |
| SUPABASE_URL: str = "https://your-project.supabase.co" | |
| SUPABASE_KEY: str = "your-anon-key" | |
| SUPABASE_JWT_SECRET: str = "your-jwt-secret" | |
| class Config: | |
| case_sensitive = True | |
| env_file = ".env" | |
| extra = "ignore" | |
| settings = Settings() | |