config.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. import os
  2. from pydantic import BaseModel
  3. from dotenv import load_dotenv
  4. load_dotenv()
  5. class Settings(BaseModel):
  6. PROJECT_NAME: str = "AI Watch Platform"
  7. API_V1_STR: str = "/api/v1"
  8. SECRET_KEY: str = os.getenv("SECRET_KEY", "your-super-secret-key-change-it")
  9. ALGORITHM: str = "HS256"
  10. ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 7 # 7 days
  11. # Database
  12. MYSQL_USER: str = os.getenv("MYSQL_USER", "root")
  13. MYSQL_PASSWORD: str = os.getenv("MYSQL_PASSWORD", "password")
  14. MYSQL_SERVER: str = os.getenv("MYSQL_SERVER", "localhost")
  15. MYSQL_PORT: str = os.getenv("MYSQL_PORT", "3306")
  16. MYSQL_DB: str = os.getenv("MYSQL_DB", "ai_watch")
  17. # Simple Auth
  18. SIMPLE_AUTH_APP_ID: str = os.getenv("SIMPLE_AUTH_APP_ID", "app_a55698ff80d360a8")
  19. SIMPLE_AUTH_APP_SECRET: str = os.getenv("SIMPLE_AUTH_APP_SECRET", "FEuZXxcheRzuJcXGGsx9d1RIkagHqToW")
  20. SIMPLE_AUTH_BASE_URL: str = os.getenv("SIMPLE_AUTH_BASE_URL", "http://api.hnyunzhu.com:8976/api/v1/simple")
  21. @property
  22. def SQLALCHEMY_DATABASE_URI(self) -> str:
  23. return f"mysql+pymysql://{self.MYSQL_USER}:{self.MYSQL_PASSWORD}@{self.MYSQL_SERVER}:{self.MYSQL_PORT}/{self.MYSQL_DB}"
  24. settings = Settings()