Initial commit

This commit is contained in:
2026-06-01 16:48:21 +02:00
commit 53d157535a
159 changed files with 13641 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
"""Domain entity: VacationDays.
This is the REFERENCE entity — copy this shape for the other entities
(parental_leave, planned_leave, child, break_period, ...). A domain entity is a
plain dataclass with no framework or persistence concerns.
"""
from dataclasses import dataclass
from datetime import datetime
from uuid import UUID
@dataclass
class VacationDays:
"""Manual vacation (semester) entry per parent per year.
Swedish semester is typically 25 statutory days/year; days above 20 may be
saved up to 5 years. `saved_days_in` carries those over so the tips engine
can warn before they expire.
"""
id: UUID
personal_data_uuid: UUID
workspace_id: UUID
year: int
total_days: int # entitlement for this year
saved_days_in: int = 0 # carried over from prior years
created_at: datetime | None = None
updated_at: datetime | None = None