Establish project architecture and design decisions

This commit is contained in:
2026-07-11 16:27:59 +02:00
parent 3946b88d12
commit 5b4d52b201
11 changed files with 217 additions and 0 deletions
View File
View File
+25
View File
@@ -0,0 +1,25 @@
"""Shared base classes for the Meeting Assistant domain model."""
from datetime import datetime, timezone
from uuid import UUID, uuid4
from pydantic import BaseModel, ConfigDict, Field
def utc_now() -> datetime:
"""Return the current time as a timezone-aware UTC datetime."""
return datetime.now(timezone.utc)
class DomainModel(BaseModel):
"""Base class for persistent domain entities."""
model_config = ConfigDict(
extra="forbid",
validate_assignment=True,
use_enum_values=False,
)
id: UUID = Field(default_factory=uuid4)
created_at: datetime = Field(default_factory=utc_now)
updated_at: datetime = Field(default_factory=utc_now)
View File
View File
View File
View File
View File