diff --git a/src/models.py b/src/models.py index 441f3f6..b2597bf 100644 --- a/src/models.py +++ b/src/models.py @@ -127,8 +127,12 @@ class ComdirectBase(BaseModel): return _parse_decimal_german(decimal_str) -class ComdirectBaseBook(ComdirectBase): +class ComdirectGiro(ComdirectBase): date_book: date | None = Field(alias="Buchungstag", examples=["07.09.2026"]) + type: str = Field( + alias="Vorgang", examples=["Lastschrift / Belastung", "Kartenumsatz"] + ) + text: str = Field(alias="Buchungstext") @field_validator("date_book", mode="before") @classmethod @@ -136,14 +140,7 @@ class ComdirectBaseBook(ComdirectBase): return _parse_date_german(date_str) -class ComdirectGiro(ComdirectBaseBook): - type: str = Field( - alias="Vorgang", examples=["Lastschrift / Belastung", "Kartenumsatz"] - ) - text: str = Field(alias="Buchungstext") - - -class ComdirectCreditCard(ComdirectBaseBook): +class ComdirectCreditCard(ComdirectGiro): # "Buchungstag";"Umsatztag";"Vorgang";"Referenz";"Buchungstext";"Umsatz in EUR"; date_book: date | None = Field(alias="Buchungstag", examples=["07.09.2026"]) date_val: date | None = Field(alias="Umsatztag", default=None)