fix db credentials show on logs/frontend (#602)

This commit is contained in:
wengtad
2021-07-02 04:42:29 +08:00
committed by GitHub
parent 98c2138970
commit 4d853c4ca8
3 changed files with 29 additions and 2 deletions

View File

@@ -133,6 +133,20 @@ class AppSettings(BaseSettings):
)
return determine_sqlite_path()
DB_URL_PUBLIC: str = "" # hide credentials to show on logs/frontend
@validator("DB_URL_PUBLIC", pre=True)
def public_db_url(cls, v: Optional[str], values: dict[str, Any]) -> str:
url = values.get("DB_URL")
engine = values.get("DB_ENGINE", "sqlite")
if engine == "postgres":
user = values.get("POSTGRES_USER")
password = values.get("POSTGRES_PASSWORD")
return url.replace(user, "*****", 1).replace(password, "*****", 1)
else:
# sqlite
return url
DEFAULT_GROUP: str = "Home"
DEFAULT_EMAIL: str = "changeme@email.com"
DEFAULT_PASSWORD: str = "MyPassword"