From 337d27425eedbab6b6821ec812dfabb6a4514d54 Mon Sep 17 00:00:00 2001 From: Tiago Scholten Date: Mon, 12 Oct 2026 17:08:05 +0200 Subject: [PATCH] added payment info to activities --- src/fiber_package/events/activity.py | 6 +++++- src/fiber_package/events/submodels.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 src/fiber_package/events/submodels.py diff --git a/src/fiber_package/events/activity.py b/src/fiber_package/events/activity.py index bf63afa..0ee85dc 100644 --- a/src/fiber_package/events/activity.py +++ b/src/fiber_package/events/activity.py @@ -1,6 +1,8 @@ from typing import Annotated, Self from .communication import CommunicationModel +from .submodels import ActivityPaymentInfo + class ActivityModel(CommunicationModel): category: Annotated[ @@ -11,12 +13,14 @@ class ActivityModel(CommunicationModel): start_time: datetime end_time: datetime + payment_info: ActivityPaymentInfo | None = None + #signuplist: GroupRef | None = None # TODO: implement signup list (huge modular system) # TODO: see Felt 'activiteiten' DB schema. Things like: - # costs, payment method, email, target group, maximal attendees .... + # email, target group, maximal attendees .... @model_validator(mode='after') def check_end_after_start(self) -> Self: diff --git a/src/fiber_package/events/submodels.py b/src/fiber_package/events/submodels.py new file mode 100644 index 0000000..e933c02 --- /dev/null +++ b/src/fiber_package/events/submodels.py @@ -0,0 +1,10 @@ +from decimal import Decimal +from typing import Annotated + +from pydantic import BaseModel, Field + +class ActivityPaymentInfo(BaseModel): + contribution: Annotated[Decimal, Field(decimal_places=2, ge=0)] + nnv_contribution: Annotated[Decimal | None, Field(None, decimal_places=2, ge=0)] = None + +