|
|
@ -5,6 +5,7 @@ from typing import Annotated, Any, Literal |
|
|
|
from pydantic import ( |
|
|
|
AnyUrl, |
|
|
|
BeforeValidator, |
|
|
|
EmailStr, |
|
|
|
HttpUrl, |
|
|
|
PostgresDsn, |
|
|
|
computed_field, |
|
|
@ -74,9 +75,8 @@ class Settings(BaseSettings): |
|
|
|
SMTP_HOST: str | None = None |
|
|
|
SMTP_USER: str | None = None |
|
|
|
SMTP_PASSWORD: str | None = None |
|
|
|
# TODO: update type to EmailStr when sqlmodel supports it |
|
|
|
EMAILS_FROM_EMAIL: str | None = None |
|
|
|
EMAILS_FROM_NAME: str | None = None |
|
|
|
EMAILS_FROM_EMAIL: EmailStr | None = None |
|
|
|
EMAILS_FROM_NAME: EmailStr | None = None |
|
|
|
|
|
|
|
@model_validator(mode="after") |
|
|
|
def _set_default_emails_from(self) -> Self: |
|
|
@ -91,10 +91,8 @@ class Settings(BaseSettings): |
|
|
|
def emails_enabled(self) -> bool: |
|
|
|
return bool(self.SMTP_HOST and self.EMAILS_FROM_EMAIL) |
|
|
|
|
|
|
|
# TODO: update type to EmailStr when sqlmodel supports it |
|
|
|
EMAIL_TEST_USER: str = "test@example.com" |
|
|
|
# TODO: update type to EmailStr when sqlmodel supports it |
|
|
|
FIRST_SUPERUSER: str |
|
|
|
EMAIL_TEST_USER: EmailStr = "test@example.com" |
|
|
|
FIRST_SUPERUSER: EmailStr |
|
|
|
FIRST_SUPERUSER_PASSWORD: str |
|
|
|
|
|
|
|
def _check_default_secret(self, var_name: str, value: str | None) -> None: |
|
|
|