config.py 877 B

12345678910111213141516171819202122232425262728293031
  1. from functools import lru_cache
  2. from pydantic_settings import BaseSettings
  3. class Settings(BaseSettings):
  4. APP_NAME: str = "ajyy"
  5. API_V1_PREFIX: str = "/api"
  6. DATABASE_URL: str = "sqlite+pysqlite:///:memory:"
  7. SECRET_KEY: str = "change-me-in-production"
  8. ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 12
  9. ALGORITHM: str = "HS256"
  10. INIT_ADMIN_USERNAME: str = "admin"
  11. INIT_ADMIN_PASSWORD: str = "Admin@123"
  12. STORAGE_TYPE: str = "local" # local | minio
  13. LOCAL_STORAGE_DIR: str = "./uploads"
  14. MINIO_ENDPOINT: str = "127.0.0.1:9000"
  15. MINIO_ACCESS_KEY: str = ""
  16. MINIO_SECRET_KEY: str = ""
  17. MINIO_BUCKET: str = "ajyy"
  18. MINIO_SECURE: bool = False
  19. MINIO_BASE_URL: str = ""
  20. CORS_ORIGINS: str = "*"
  21. class Config:
  22. env_file = ".env"
  23. extra = "ignore"
  24. @lru_cache
  25. def get_settings() -> Settings:
  26. return Settings()