Spaces:
Runtime error
Runtime error
File size: 1,789 Bytes
2f43b92 15ea62b 0359012 15ea62b 2f43b92 15ea62b 4e4ad14 15ea62b 4e4ad14 15ea62b d67439e 64a3eee 4e4ad14 d67439e 4e4ad14 d67439e 9d9b02c 4e4ad14 8713eac 15ea62b 0359012 15ea62b 0359012 15ea62b 0359012 4e4ad14 15ea62b 0359012 4e4ad14 d67439e 4e4ad14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
from os import environ as env
from typing import Any, Dict, List, Optional, Union
from pydantic import AnyHttpUrl, field_validator
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
API_V1_STR: str = "/api/v1"
PROJECT_NAME: str = "Whisper API"
PROJECT_VERSION: str = "0.1.0"
SECRET_KEY: str = env.get("SECRET_KEY")
ACCESS_TOKEN_EXPIRE_MINUTES: int = (
env.get("ACCESS_TOKEN_EXPIRE_MINUTES") or 60 * 24 * 7
)
SERVER_NAME: str = env.get("SERVER_NAME")
SERVER_HOST: AnyHttpUrl = env.get("SERVER_HOST")
POSTGRES_DATABASE_URL: str = env.get("POSTGRES_DATABASE_URL")
TEST_DATABASE_URL: str = env.get("POSTGRES_DATABASE_URL")
BACKEND_CORS_ORIGINS: List[AnyHttpUrl] = [
"http://localhost:3000",
"http://localhost:8080",
"http://localhost:8000",
]
@field_validator("SECRET_KEY")
def secret_key_must_be_set(cls, v: Optional[str], values: Dict[str, Any]) -> str:
if not v:
raise ValueError("SECRET_KEY must be set")
return v
@field_validator("SERVER_NAME")
def server_name_must_be_set(cls, v: Optional[str], values: Dict[str, Any]) -> str:
if not v:
raise ValueError("SERVER_NAME must be set")
return v
@field_validator("SERVER_HOST")
def server_host_must_be_set(
cls, v: Optional[str], values: Dict[str, Any]
) -> AnyHttpUrl:
if not v:
raise ValueError("SERVER_HOST must be set")
return v
@field_validator("POSTGRES_DATABASE_URL")
def postgres_db_url_must_be_set(
cls, v: Optional[str], values: Dict[str, Any]
) -> str:
if not v:
raise ValueError("POSTGRES_DATABASE_URL must be set")
return v
settings = Settings()
|