11"""tipg config."""
22
33import pathlib
4- from typing import Any , Dict , List , Optional
4+ from typing import Dict , List , Optional
55
66from pydantic import (
77 DirectoryPath ,
@@ -117,7 +117,7 @@ class PostgresSettings(BaseSettings):
117117 postgres_user : Optional [str ] = None
118118 postgres_pass : Optional [str ] = None
119119 postgres_host : Optional [str ] = None
120- postgres_port : Optional [str ] = None
120+ postgres_port : Optional [int ] = None
121121 postgres_dbname : Optional [str ] = None
122122
123123 database_url : Optional [PostgresDsn ] = None
@@ -131,18 +131,20 @@ class PostgresSettings(BaseSettings):
131131
132132 # https://github.com/tiangolo/full-stack-fastapi-postgresql/blob/master/%7B%7Bcookiecutter.project_slug%7D%7D/backend/app/app/core/config.py#L42
133133 @field_validator ("database_url" , mode = "before" )
134- def assemble_db_connection (cls , v : Optional [str ], info : FieldValidationInfo ) -> Any :
134+ def assemble_db_connection (
135+ cls , v : Optional [str ], info : FieldValidationInfo
136+ ) -> PostgresDsn :
135137 """Validate db url settings."""
136138 if isinstance (v , str ):
137- return v
139+ return PostgresDsn ( v )
138140
139141 return PostgresDsn .build (
140142 scheme = "postgresql" ,
141143 username = info .data .get ("postgres_user" ),
142144 password = info .data .get ("postgres_pass" ),
143145 host = info .data .get ("postgres_host" , "" ),
144146 port = info .data .get ("postgres_port" , 5432 ),
145- path = f"/ { info .data .get (' postgres_dbname' ) or '' } " ,
147+ path = info .data .get (" postgres_dbname" , "" ) ,
146148 )
147149
148150
0 commit comments