25 lines
689 B
Python
25 lines
689 B
Python
from pydantic import BaseModel
|
|
from dotenv import load_dotenv
|
|
import os
|
|
|
|
# .env laden
|
|
load_dotenv()
|
|
|
|
class Settings(BaseModel):
|
|
db_host: str = os.getenv("DB_HOST", "localhost")
|
|
db_port: int = int(os.getenv("DB_PORT", "5432"))
|
|
db_name: str = os.getenv("DB_NAME", "server_worklog")
|
|
db_user: str = os.getenv("DB_USER", "postgres")
|
|
db_password: str = os.getenv("DB_PASSWORD", "postgres")
|
|
|
|
secret_key: str = os.getenv("SECRET_KEY", "CHANGE_ME")
|
|
|
|
@property
|
|
def database_url(self):
|
|
return (
|
|
f"postgresql+psycopg://{self.db_user}:{self.db_password}"
|
|
f"@{self.db_host}:{self.db_port}/{self.db_name}"
|
|
)
|
|
|
|
settings = Settings()
|
|
|