Spaces:
Sleeping
Sleeping
| from typing import Optional | |
| from pydantic import PostgresDsn, computed_field | |
| from pydantic_settings import BaseSettings, SettingsConfigDict | |
| class SMTPConfig(BaseSettings): | |
| server: str | |
| port: int | |
| username: str | |
| password: str | |
| class Settings(BaseSettings): | |
| JWT_ALGORITHM: str | |
| JWT_EXPIRE: int | |
| SECRET_KEY: str | |
| POSTGRES_USER: str | |
| POSTGRES_PASSWORD: str | |
| POSTGRES_HOST: str | |
| POSTGRES_DB: str | |
| APP_NAME: str | |
| ENV: str | |
| DEBUG: bool | |
| PORT: int | |
| EMAIL_SERVER: str | |
| EMAIL_PORT: int | |
| EMAIL_USERNAME: str | |
| EMAIL_PASSWORD: str | |
| FERNET_KEY: str | |
| VERIFICATION_BASE_URL: str | |
| GOOGLE_CLIENT_ID: str | |
| GOOGLE_CLIENT_SECRET: str | |
| GOOGLE_REDIRECT_URI: str | |
| FCM_SERVER_KEY: Optional[str] = None | |
| SICK_LEAVE_LIMIT: int = 10 | |
| CASUAL_LEAVE_LIMIT: int = 10 | |
| AUTH_BASE: str = "https://accounts.google.com/o/oauth2/v2/auth" | |
| TOKEN_URL: str = "https://oauth2.googleapis.com/token" | |
| GMAIL_SEND_SCOPE: str = "https://www.googleapis.com/auth/gmail.send" | |
| FIREBASE_TYPE: str | |
| FIREBASE_PROJECT_ID: str | |
| FIREBASE_PRIVATE_KEY_ID: str | |
| FIREBASE_PRIVATE_KEY: str | |
| FIREBASE_CLIENT_EMAIL: str | |
| FIREBASE_CLIENT_ID: str | |
| FIREBASE_AUTH_URI: str | |
| FIREBASE_TOKEN_URI: str | |
| FIREBASE_AUTH_PROVIDER_X509_CERT_URL: str | |
| FIREBASE_CLIENT_X509_CERT_URL: str | |
| FIREBASE_UNIVERSE_DOMAIN: str | |
| def DATABASE_URL(self) -> PostgresDsn: | |
| """Sync DB URL""" | |
| return f"postgresql://{self.POSTGRES_USER}:{self.POSTGRES_PASSWORD}@{self.POSTGRES_HOST}/{self.POSTGRES_DB}" | |
| def ASYNC_DATABASE_URL(self) -> PostgresDsn: | |
| """Async DB URL""" | |
| return f"postgresql+asyncpg://{self.POSTGRES_USER}:{self.POSTGRES_PASSWORD}@{self.POSTGRES_HOST}/{self.POSTGRES_DB}" | |
| model_config = SettingsConfigDict( | |
| env_file=".env", case_sensitive=False, env_file_encoding="utf-8" | |
| ) | |
| settings = Settings() | |