File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ from pydantic import BaseSettings , Field , PostgresDsn
2+
3+ class Settings (BaseSettings ):
4+ APP_NAME : str = "WorkoutAPI"
5+ ENV : str = "development"
6+ POSTGRES_USER : str = Field ("workout" , env = "POSTGRES_USER" )
7+ POSTGRES_PASSWORD : str = Field ("workout" , env = "POSTGRES_PASSWORD" )
8+ POSTGRES_DB : str = Field ("workout_db" , env = "POSTGRES_DB" )
9+ POSTGRES_HOST : str = Field ("db" , env = "POSTGRES_HOST" )
10+ POSTGRES_PORT : int = Field (5432 , env = "POSTGRES_PORT" )
11+ POSTGRES_DSN : PostgresDsn | str = Field (
12+ None , env = "POSTGRES_DSN"
13+ ) # accept full DSN or compose
14+ DATABASE_URL : str | None = Field (None , env = "DATABASE_URL" )
15+
16+ def __init__ (self , ** values ):
17+ super ().__init__ (** values )
18+ if not self .POSTGRES_DSN :
19+ self .POSTGRES_DSN = f"postgresql+asyncpg://{ self .POSTGRES_USER } :{ self .POSTGRES_PASSWORD } @{ self .POSTGRES_HOST } :{ self .POSTGRES_PORT } /{ self .POSTGRES_DB } "
20+
21+ class Config :
22+ env_file = ".env"
23+
24+ settings = Settings ()
You can’t perform that action at this time.
0 commit comments