30 lines
927 B
Python
30 lines
927 B
Python
import os
|
|
from dataclasses import dataclass
|
|
|
|
@dataclass
|
|
class DatabaseConfig:
|
|
address: str
|
|
port: int
|
|
name: str
|
|
username: str
|
|
password: str
|
|
|
|
@staticmethod
|
|
def from_env() -> "DatabaseConfig":
|
|
return DatabaseConfig(
|
|
address=os.environ.get("DATABASE_ADDRESS") or "192.168.2.250",
|
|
port=int(os.environ.get("DATABASE_PORT") or "3306"),
|
|
name=os.environ.get("DATABASE_NAME") or "EVENTS",
|
|
username=os.environ.get("DATABASE_USERNAME") or "root",
|
|
password=os.environ.get("DATABASE_PASSWORD") or "def",
|
|
)
|
|
|
|
def validate(self) -> None:
|
|
if not self.address:
|
|
raise ValueError("Database address mangler")
|
|
if not self.name:
|
|
raise ValueError("Database name mangler")
|
|
if not self.username:
|
|
raise ValueError("Database username mangler")
|
|
# du kan legge til flere regler her
|