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.
Files changed (81) hide show
  1. eetlijst/__init__.py +3 -0
  2. eetlijst/eetlijst.py +37 -0
  3. eetlijst/exceptions.py +2 -0
  4. eetlijst/generated/__init__.py +1153 -0
  5. eetlijst/generated/all_attendances.py +13 -0
  6. eetlijst/generated/all_events.py +13 -0
  7. eetlijst/generated/all_expenses.py +13 -0
  8. eetlijst/generated/all_groups.py +27 -0
  9. eetlijst/generated/all_settlements.py +13 -0
  10. eetlijst/generated/all_users_in_group.py +20 -0
  11. eetlijst/generated/app_status.py +16 -0
  12. eetlijst/generated/async_base_client.py +393 -0
  13. eetlijst/generated/automatic_events.py +18 -0
  14. eetlijst/generated/base_model.py +28 -0
  15. eetlijst/generated/client.py +1748 -0
  16. eetlijst/generated/create_expense.py +15 -0
  17. eetlijst/generated/create_group.py +15 -0
  18. eetlijst/generated/create_list_item.py +15 -0
  19. eetlijst/generated/create_many_list_items.py +20 -0
  20. eetlijst/generated/create_settlement.py +15 -0
  21. eetlijst/generated/enums.py +555 -0
  22. eetlijst/generated/exceptions.py +83 -0
  23. eetlijst/generated/fragments.py +237 -0
  24. eetlijst/generated/get_attendance.py +17 -0
  25. eetlijst/generated/get_event.py +15 -0
  26. eetlijst/generated/get_group.py +20 -0
  27. eetlijst/generated/get_user.py +13 -0
  28. eetlijst/generated/get_user_in_group.py +20 -0
  29. eetlijst/generated/group_total_expense.py +45 -0
  30. eetlijst/generated/input_types.py +4702 -0
  31. eetlijst/generated/join_group.py +17 -0
  32. eetlijst/generated/list_items.py +13 -0
  33. eetlijst/generated/remove_account.py +16 -0
  34. eetlijst/generated/settle_unsettled_expenses.py +21 -0
  35. eetlijst/generated/settlement_expenses.py +13 -0
  36. eetlijst/generated/update_attendance.py +17 -0
  37. eetlijst/generated/update_event.py +15 -0
  38. eetlijst/generated/update_expense.py +20 -0
  39. eetlijst/generated/update_expense_distribution.py +23 -0
  40. eetlijst/generated/update_group.py +15 -0
  41. eetlijst/generated/update_list_item.py +15 -0
  42. eetlijst/generated/update_many_attendance.py +22 -0
  43. eetlijst/generated/update_user.py +15 -0
  44. eetlijst/generated/update_user_in_group.py +17 -0
  45. eetlijst/generated/update_users_in_group.py +25 -0
  46. eetlijst/services/__init__.py +9 -0
  47. eetlijst/services/app/__init__.py +1 -0
  48. eetlijst/services/app/app.py +20 -0
  49. eetlijst/services/app/transformers.py +10 -0
  50. eetlijst/services/event_attendance/__init__.py +1 -0
  51. eetlijst/services/event_attendance/event_attendance.py +94 -0
  52. eetlijst/services/event_attendance/transformers.py +58 -0
  53. eetlijst/services/events/__init__.py +1 -0
  54. eetlijst/services/events/events.py +148 -0
  55. eetlijst/services/events/transformers.py +67 -0
  56. eetlijst/services/expenses/__init__.py +1 -0
  57. eetlijst/services/expenses/expenses.py +98 -0
  58. eetlijst/services/expenses/transformers.py +73 -0
  59. eetlijst/services/expenses/utils.py +31 -0
  60. eetlijst/services/group_list/__init__.py +1 -0
  61. eetlijst/services/group_list/group_list.py +95 -0
  62. eetlijst/services/group_list/transformers.py +38 -0
  63. eetlijst/services/group_users/__init__.py +1 -0
  64. eetlijst/services/group_users/group_users.py +130 -0
  65. eetlijst/services/group_users/transformers.py +84 -0
  66. eetlijst/services/groups/__init__.py +1 -0
  67. eetlijst/services/groups/groups.py +84 -0
  68. eetlijst/services/groups/transformers.py +140 -0
  69. eetlijst/services/settlements/__init__.py +1 -0
  70. eetlijst/services/settlements/settlements.py +225 -0
  71. eetlijst/services/settlements/transformers.py +95 -0
  72. eetlijst/services/settlements/utils.py +84 -0
  73. eetlijst/services/users/__init__.py +1 -0
  74. eetlijst/services/users/transformers.py +103 -0
  75. eetlijst/services/users/users.py +44 -0
  76. eetlijst/utils/__init__.py +0 -0
  77. eetlijst/utils/datetime.py +25 -0
  78. eetlijst_python-0.0.1.dist-info/METADATA +80 -0
  79. eetlijst_python-0.0.1.dist-info/RECORD +81 -0
  80. eetlijst_python-0.0.1.dist-info/WHEEL +5 -0
  81. 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()