eetlijst-python 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- eetlijst/__init__.py +3 -0
- eetlijst/eetlijst.py +37 -0
- eetlijst/exceptions.py +2 -0
- eetlijst/generated/__init__.py +1153 -0
- eetlijst/generated/all_attendances.py +13 -0
- eetlijst/generated/all_events.py +13 -0
- eetlijst/generated/all_expenses.py +13 -0
- eetlijst/generated/all_groups.py +27 -0
- eetlijst/generated/all_settlements.py +13 -0
- eetlijst/generated/all_users_in_group.py +20 -0
- eetlijst/generated/app_status.py +16 -0
- eetlijst/generated/async_base_client.py +393 -0
- eetlijst/generated/automatic_events.py +18 -0
- eetlijst/generated/base_model.py +28 -0
- eetlijst/generated/client.py +1748 -0
- eetlijst/generated/create_expense.py +15 -0
- eetlijst/generated/create_group.py +15 -0
- eetlijst/generated/create_list_item.py +15 -0
- eetlijst/generated/create_many_list_items.py +20 -0
- eetlijst/generated/create_settlement.py +15 -0
- eetlijst/generated/enums.py +555 -0
- eetlijst/generated/exceptions.py +83 -0
- eetlijst/generated/fragments.py +237 -0
- eetlijst/generated/get_attendance.py +17 -0
- eetlijst/generated/get_event.py +15 -0
- eetlijst/generated/get_group.py +20 -0
- eetlijst/generated/get_user.py +13 -0
- eetlijst/generated/get_user_in_group.py +20 -0
- eetlijst/generated/group_total_expense.py +45 -0
- eetlijst/generated/input_types.py +4702 -0
- eetlijst/generated/join_group.py +17 -0
- eetlijst/generated/list_items.py +13 -0
- eetlijst/generated/remove_account.py +16 -0
- eetlijst/generated/settle_unsettled_expenses.py +21 -0
- eetlijst/generated/settlement_expenses.py +13 -0
- eetlijst/generated/update_attendance.py +17 -0
- eetlijst/generated/update_event.py +15 -0
- eetlijst/generated/update_expense.py +20 -0
- eetlijst/generated/update_expense_distribution.py +23 -0
- eetlijst/generated/update_group.py +15 -0
- eetlijst/generated/update_list_item.py +15 -0
- eetlijst/generated/update_many_attendance.py +22 -0
- eetlijst/generated/update_user.py +15 -0
- eetlijst/generated/update_user_in_group.py +17 -0
- eetlijst/generated/update_users_in_group.py +25 -0
- eetlijst/services/__init__.py +9 -0
- eetlijst/services/app/__init__.py +1 -0
- eetlijst/services/app/app.py +20 -0
- eetlijst/services/app/transformers.py +10 -0
- eetlijst/services/event_attendance/__init__.py +1 -0
- eetlijst/services/event_attendance/event_attendance.py +94 -0
- eetlijst/services/event_attendance/transformers.py +58 -0
- eetlijst/services/events/__init__.py +1 -0
- eetlijst/services/events/events.py +148 -0
- eetlijst/services/events/transformers.py +67 -0
- eetlijst/services/expenses/__init__.py +1 -0
- eetlijst/services/expenses/expenses.py +98 -0
- eetlijst/services/expenses/transformers.py +73 -0
- eetlijst/services/expenses/utils.py +31 -0
- eetlijst/services/group_list/__init__.py +1 -0
- eetlijst/services/group_list/group_list.py +95 -0
- eetlijst/services/group_list/transformers.py +38 -0
- eetlijst/services/group_users/__init__.py +1 -0
- eetlijst/services/group_users/group_users.py +130 -0
- eetlijst/services/group_users/transformers.py +84 -0
- eetlijst/services/groups/__init__.py +1 -0
- eetlijst/services/groups/groups.py +84 -0
- eetlijst/services/groups/transformers.py +140 -0
- eetlijst/services/settlements/__init__.py +1 -0
- eetlijst/services/settlements/settlements.py +225 -0
- eetlijst/services/settlements/transformers.py +95 -0
- eetlijst/services/settlements/utils.py +84 -0
- eetlijst/services/users/__init__.py +1 -0
- eetlijst/services/users/transformers.py +103 -0
- eetlijst/services/users/users.py +44 -0
- eetlijst/utils/__init__.py +0 -0
- eetlijst/utils/datetime.py +25 -0
- eetlijst_python-0.0.1.dist-info/METADATA +80 -0
- eetlijst_python-0.0.1.dist-info/RECORD +81 -0
- eetlijst_python-0.0.1.dist-info/WHEEL +5 -0
- eetlijst_python-0.0.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
from typing import Any, Optional, Union
|
|
2
|
+
|
|
3
|
+
import httpx
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class GraphQLClientError(Exception):
|
|
7
|
+
"""Base exception."""
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class GraphQLClientHttpError(GraphQLClientError):
|
|
11
|
+
def __init__(self, status_code: int, response: httpx.Response) -> None:
|
|
12
|
+
self.status_code = status_code
|
|
13
|
+
self.response = response
|
|
14
|
+
|
|
15
|
+
def __str__(self) -> str:
|
|
16
|
+
return f"HTTP status code: {self.status_code}"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GraphQLClientInvalidResponseError(GraphQLClientError):
|
|
20
|
+
def __init__(self, response: httpx.Response) -> None:
|
|
21
|
+
self.response = response
|
|
22
|
+
|
|
23
|
+
def __str__(self) -> str:
|
|
24
|
+
return "Invalid response format."
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class GraphQLClientGraphQLError(GraphQLClientError):
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
message: str,
|
|
31
|
+
locations: Optional[list[dict[str, int]]] = None,
|
|
32
|
+
path: Optional[list[str]] = None,
|
|
33
|
+
extensions: Optional[dict[str, object]] = None,
|
|
34
|
+
original: Optional[dict[str, object]] = None,
|
|
35
|
+
):
|
|
36
|
+
self.message = message
|
|
37
|
+
self.locations = locations
|
|
38
|
+
self.path = path
|
|
39
|
+
self.extensions = extensions
|
|
40
|
+
self.original = original
|
|
41
|
+
|
|
42
|
+
def __str__(self) -> str:
|
|
43
|
+
return self.message
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_dict(cls, error: dict[str, Any]) -> "GraphQLClientGraphQLError":
|
|
47
|
+
return cls(
|
|
48
|
+
message=error["message"],
|
|
49
|
+
locations=error.get("locations"),
|
|
50
|
+
path=error.get("path"),
|
|
51
|
+
extensions=error.get("extensions"),
|
|
52
|
+
original=error,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class GraphQLClientGraphQLMultiError(GraphQLClientError):
|
|
57
|
+
def __init__(
|
|
58
|
+
self,
|
|
59
|
+
errors: list[GraphQLClientGraphQLError],
|
|
60
|
+
data: Optional[dict[str, Any]] = None,
|
|
61
|
+
):
|
|
62
|
+
self.errors = errors
|
|
63
|
+
self.data = data
|
|
64
|
+
|
|
65
|
+
def __str__(self) -> str:
|
|
66
|
+
return "; ".join(str(e) for e in self.errors)
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def from_errors_dicts(
|
|
70
|
+
cls, errors_dicts: list[dict[str, Any]], data: Optional[dict[str, Any]] = None
|
|
71
|
+
) -> "GraphQLClientGraphQLMultiError":
|
|
72
|
+
return cls(
|
|
73
|
+
errors=[GraphQLClientGraphQLError.from_dict(e) for e in errors_dicts],
|
|
74
|
+
data=data,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class GraphQLClientInvalidMessageFormat(GraphQLClientError): # noqa: N818
|
|
79
|
+
def __init__(self, message: Union[str, bytes]) -> None:
|
|
80
|
+
self.message = message
|
|
81
|
+
|
|
82
|
+
def __str__(self) -> str:
|
|
83
|
+
return "Invalid message format."
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import Any, Optional
|
|
3
|
+
|
|
4
|
+
from .base_model import BaseModel
|
|
5
|
+
from .enums import AttendanceStatus
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AttendanceFields(BaseModel):
|
|
9
|
+
created_at: datetime
|
|
10
|
+
updated_at: datetime
|
|
11
|
+
comment: Optional[str]
|
|
12
|
+
number_guests: int
|
|
13
|
+
status: AttendanceStatus
|
|
14
|
+
linked_event: "AttendanceFieldsLinkedEvent"
|
|
15
|
+
user_in_group: Optional["AttendanceFieldsUserInGroup"]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class AttendanceFieldsLinkedEvent(BaseModel):
|
|
19
|
+
id: str
|
|
20
|
+
name: str
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class AttendanceFieldsUserInGroup(BaseModel):
|
|
24
|
+
order: Optional[int]
|
|
25
|
+
user: "AttendanceFieldsUserInGroupUser"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class AttendanceFieldsUserInGroupUser(BaseModel):
|
|
29
|
+
id: str
|
|
30
|
+
name: str
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class ExpenseFields(BaseModel):
|
|
34
|
+
id: str
|
|
35
|
+
event_id: Optional[str]
|
|
36
|
+
settled_id: Optional[str]
|
|
37
|
+
description: str
|
|
38
|
+
payed_amount: int
|
|
39
|
+
deleted: bool
|
|
40
|
+
settlement_expense_id: Optional[str]
|
|
41
|
+
expense_distributions: list["ExpenseFieldsExpenseDistributions"]
|
|
42
|
+
payed_at: datetime
|
|
43
|
+
payed_by: "ExpenseFieldsPayedBy"
|
|
44
|
+
updated_at: datetime
|
|
45
|
+
updated_by: Optional["ExpenseFieldsUpdatedBy"]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class ExpenseFieldsExpenseDistributions(BaseModel):
|
|
49
|
+
id: str
|
|
50
|
+
count: int
|
|
51
|
+
payed_amount: int
|
|
52
|
+
user: "ExpenseFieldsExpenseDistributionsUser"
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class ExpenseFieldsExpenseDistributionsUser(BaseModel):
|
|
56
|
+
id: str
|
|
57
|
+
name: str
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class ExpenseFieldsPayedBy(BaseModel):
|
|
61
|
+
id: str
|
|
62
|
+
name: str
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class ExpenseFieldsUpdatedBy(BaseModel):
|
|
66
|
+
id: str
|
|
67
|
+
name: str
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class EventFields(BaseModel):
|
|
71
|
+
id: str
|
|
72
|
+
group_id: str
|
|
73
|
+
open: bool
|
|
74
|
+
start_date: datetime
|
|
75
|
+
closed_by: Optional[str]
|
|
76
|
+
signup_deadline: Optional[datetime]
|
|
77
|
+
changed_signup_time: bool
|
|
78
|
+
name: str
|
|
79
|
+
description: Optional[str]
|
|
80
|
+
user: Optional["EventFieldsUser"]
|
|
81
|
+
created_at: Optional[datetime]
|
|
82
|
+
updated_at: Optional[datetime]
|
|
83
|
+
linked_expenses: Optional[list["EventFieldsLinkedExpenses"]] = None
|
|
84
|
+
event_attendees: Optional[list["EventFieldsEventAttendees"]] = None
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class EventFieldsUser(BaseModel):
|
|
88
|
+
id: str
|
|
89
|
+
name: str
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class EventFieldsLinkedExpenses(ExpenseFields):
|
|
93
|
+
pass
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class EventFieldsEventAttendees(AttendanceFields):
|
|
97
|
+
pass
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class GroupFields(BaseModel):
|
|
101
|
+
id: str
|
|
102
|
+
name: str
|
|
103
|
+
default_close_time: Optional[datetime]
|
|
104
|
+
created_at: datetime
|
|
105
|
+
created_at_eetlijst: Optional[datetime]
|
|
106
|
+
statistics_start_date: Optional[datetime]
|
|
107
|
+
statistics_end_date: Optional[datetime]
|
|
108
|
+
invite_uuid: str
|
|
109
|
+
invite_open: bool
|
|
110
|
+
description: Optional[str]
|
|
111
|
+
summary: list["GroupFieldsSummary"]
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class GroupFieldsSummary(BaseModel):
|
|
115
|
+
payed_total: Optional[Any]
|
|
116
|
+
user_id: Optional[str]
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class ItemFields(BaseModel):
|
|
120
|
+
active: bool
|
|
121
|
+
checked: bool
|
|
122
|
+
group_id: str
|
|
123
|
+
id: str
|
|
124
|
+
text: str
|
|
125
|
+
recipe_id: Optional[str]
|
|
126
|
+
created_at: Optional[datetime]
|
|
127
|
+
updated_at: Optional[datetime]
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class SettlementFields(BaseModel):
|
|
131
|
+
id: str
|
|
132
|
+
group_id: str
|
|
133
|
+
created_at: datetime
|
|
134
|
+
updated_at: datetime
|
|
135
|
+
created_by: "SettlementFieldsCreatedBy"
|
|
136
|
+
expenses_total: "SettlementFieldsExpensesTotal"
|
|
137
|
+
adjustments_total: "SettlementFieldsAdjustmentsTotal"
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class SettlementFieldsCreatedBy(BaseModel):
|
|
141
|
+
id: str
|
|
142
|
+
name: str
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class SettlementFieldsExpensesTotal(BaseModel):
|
|
146
|
+
aggregate: Optional["SettlementFieldsExpensesTotalAggregate"]
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class SettlementFieldsExpensesTotalAggregate(BaseModel):
|
|
150
|
+
sum: Optional["SettlementFieldsExpensesTotalAggregateSum"]
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
class SettlementFieldsExpensesTotalAggregateSum(BaseModel):
|
|
154
|
+
payed_amount: Optional[int]
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class SettlementFieldsAdjustmentsTotal(BaseModel):
|
|
158
|
+
aggregate: Optional["SettlementFieldsAdjustmentsTotalAggregate"]
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
class SettlementFieldsAdjustmentsTotalAggregate(BaseModel):
|
|
162
|
+
sum: Optional["SettlementFieldsAdjustmentsTotalAggregateSum"]
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class SettlementFieldsAdjustmentsTotalAggregateSum(BaseModel):
|
|
166
|
+
payed_amount: Optional[int]
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class UserFields(BaseModel):
|
|
170
|
+
id: str
|
|
171
|
+
origin: Optional[str]
|
|
172
|
+
name: str
|
|
173
|
+
email: Optional[str]
|
|
174
|
+
allergies: list[str]
|
|
175
|
+
birthday: Optional[datetime]
|
|
176
|
+
profile_image: Optional[str]
|
|
177
|
+
order_of_buttom_bar: Optional[list[str]]
|
|
178
|
+
wants_to_recieve_notifications: bool
|
|
179
|
+
funnel_lead: Optional[list[str]]
|
|
180
|
+
cook_points_imports: list["UserFieldsCookPointsImports"]
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
class UserFieldsCookPointsImports(BaseModel):
|
|
184
|
+
group_id: str
|
|
185
|
+
cook_points: float
|
|
186
|
+
allowed_to_edit: bool
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
class UserFieldsPrivate(BaseModel):
|
|
190
|
+
id: Optional[str]
|
|
191
|
+
active: Optional[bool]
|
|
192
|
+
origin: Optional[str]
|
|
193
|
+
last_seen: Optional[datetime]
|
|
194
|
+
name: Optional[str]
|
|
195
|
+
email: Optional[str]
|
|
196
|
+
address: Optional[str]
|
|
197
|
+
phone_nr: Optional[str]
|
|
198
|
+
bank_account: Optional[str]
|
|
199
|
+
allergies: Optional[list[str]]
|
|
200
|
+
birthday: Optional[datetime]
|
|
201
|
+
profile_image: Optional[str]
|
|
202
|
+
order_of_buttom_bar: Optional[list[str]]
|
|
203
|
+
default_landingpage: Optional[str]
|
|
204
|
+
wants_to_recieve_notifications: Optional[bool]
|
|
205
|
+
is_color_blind: Optional[bool]
|
|
206
|
+
created_at: Optional[datetime]
|
|
207
|
+
updated_at: Optional[datetime]
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
class UserInGroupFields(BaseModel):
|
|
211
|
+
active: bool
|
|
212
|
+
order: Optional[int]
|
|
213
|
+
start_holliday: Optional[datetime]
|
|
214
|
+
end_holliday: Optional[datetime]
|
|
215
|
+
monday: Optional[AttendanceStatus]
|
|
216
|
+
tuesday: Optional[AttendanceStatus]
|
|
217
|
+
wednesday: Optional[AttendanceStatus]
|
|
218
|
+
thursday: Optional[AttendanceStatus]
|
|
219
|
+
friday: Optional[AttendanceStatus]
|
|
220
|
+
saturday: Optional[AttendanceStatus]
|
|
221
|
+
sunday: Optional[AttendanceStatus]
|
|
222
|
+
user: "UserInGroupFieldsUser"
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
class UserInGroupFieldsUser(UserFields):
|
|
226
|
+
pass
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
AttendanceFields.model_rebuild()
|
|
230
|
+
ExpenseFields.model_rebuild()
|
|
231
|
+
EventFields.model_rebuild()
|
|
232
|
+
GroupFields.model_rebuild()
|
|
233
|
+
ItemFields.model_rebuild()
|
|
234
|
+
SettlementFields.model_rebuild()
|
|
235
|
+
UserFields.model_rebuild()
|
|
236
|
+
UserFieldsPrivate.model_rebuild()
|
|
237
|
+
UserInGroupFields.model_rebuild()
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from .base_model import BaseModel
|
|
4
|
+
from .fragments import AttendanceFields
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class GetAttendance(BaseModel):
|
|
8
|
+
eetschema_event_attendees_by_pk: Optional[
|
|
9
|
+
"GetAttendanceEetschemaEventAttendeesByPk"
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class GetAttendanceEetschemaEventAttendeesByPk(AttendanceFields):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
GetAttendance.model_rebuild()
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from .base_model import BaseModel
|
|
4
|
+
from .fragments import EventFields
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class GetEvent(BaseModel):
|
|
8
|
+
eetschema_event_by_pk: Optional["GetEventEetschemaEventByPk"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetEventEetschemaEventByPk(EventFields):
|
|
12
|
+
pass
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
GetEvent.model_rebuild()
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from .base_model import BaseModel
|
|
4
|
+
from .fragments import GroupFields, UserInGroupFields
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class GetGroup(BaseModel):
|
|
8
|
+
eetschema_group_by_pk: Optional["GetGroupEetschemaGroupByPk"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetGroupEetschemaGroupByPk(GroupFields):
|
|
12
|
+
users_in_groups: Optional[list["GetGroupEetschemaGroupByPkUsersInGroups"]] = None
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetGroupEetschemaGroupByPkUsersInGroups(UserInGroupFields):
|
|
16
|
+
pass
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
GetGroup.model_rebuild()
|
|
20
|
+
GetGroupEetschemaGroupByPk.model_rebuild()
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from .base_model import BaseModel
|
|
2
|
+
from .fragments import UserFieldsPrivate
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class GetUser(BaseModel):
|
|
6
|
+
eetschema_user_private: list["GetUserEetschemaUserPrivate"]
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class GetUserEetschemaUserPrivate(UserFieldsPrivate):
|
|
10
|
+
pass
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
GetUser.model_rebuild()
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from .base_model import BaseModel
|
|
4
|
+
from .fragments import UserInGroupFields
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class GetUserInGroup(BaseModel):
|
|
8
|
+
eetschema_group_by_pk: Optional["GetUserInGroupEetschemaGroupByPk"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetUserInGroupEetschemaGroupByPk(BaseModel):
|
|
12
|
+
users_in_groups: list["GetUserInGroupEetschemaGroupByPkUsersInGroups"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetUserInGroupEetschemaGroupByPkUsersInGroups(UserInGroupFields):
|
|
16
|
+
pass
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
GetUserInGroup.model_rebuild()
|
|
20
|
+
GetUserInGroupEetschemaGroupByPk.model_rebuild()
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from .base_model import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class GroupTotalExpense(BaseModel):
|
|
7
|
+
eetschema_expense_aggregate: "GroupTotalExpenseEetschemaExpenseAggregate"
|
|
8
|
+
eetschema_expense_eetlijst_import_aggregate: (
|
|
9
|
+
"GroupTotalExpenseEetschemaExpenseEetlijstImportAggregate"
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class GroupTotalExpenseEetschemaExpenseAggregate(BaseModel):
|
|
14
|
+
aggregate: Optional["GroupTotalExpenseEetschemaExpenseAggregateAggregate"]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GroupTotalExpenseEetschemaExpenseAggregateAggregate(BaseModel):
|
|
18
|
+
sum: Optional["GroupTotalExpenseEetschemaExpenseAggregateAggregateSum"]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class GroupTotalExpenseEetschemaExpenseAggregateAggregateSum(BaseModel):
|
|
22
|
+
payed_amount: Optional[int]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class GroupTotalExpenseEetschemaExpenseEetlijstImportAggregate(BaseModel):
|
|
26
|
+
aggregate: Optional[
|
|
27
|
+
"GroupTotalExpenseEetschemaExpenseEetlijstImportAggregateAggregate"
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class GroupTotalExpenseEetschemaExpenseEetlijstImportAggregateAggregate(BaseModel):
|
|
32
|
+
sum: Optional[
|
|
33
|
+
"GroupTotalExpenseEetschemaExpenseEetlijstImportAggregateAggregateSum"
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class GroupTotalExpenseEetschemaExpenseEetlijstImportAggregateAggregateSum(BaseModel):
|
|
38
|
+
payed_amount: Optional[int]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
GroupTotalExpense.model_rebuild()
|
|
42
|
+
GroupTotalExpenseEetschemaExpenseAggregate.model_rebuild()
|
|
43
|
+
GroupTotalExpenseEetschemaExpenseAggregateAggregate.model_rebuild()
|
|
44
|
+
GroupTotalExpenseEetschemaExpenseEetlijstImportAggregate.model_rebuild()
|
|
45
|
+
GroupTotalExpenseEetschemaExpenseEetlijstImportAggregateAggregate.model_rebuild()
|