eetlijst-python 0.0.8__tar.gz → 0.0.10__tar.gz

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 (89) hide show
  1. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/PKG-INFO +1 -1
  2. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/pyproject.toml +1 -1
  3. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/eetlijst.py +11 -14
  4. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/app/app.py +3 -5
  5. eetlijst_python-0.0.10/src/eetlijst_py/services/base.py +20 -0
  6. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/event_attendance/event_attendance.py +24 -7
  7. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/events/events.py +7 -3
  8. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/expenses/expenses.py +13 -6
  9. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/group_list/group_list.py +11 -6
  10. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/group_users/group_users.py +21 -7
  11. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/groups/groups.py +14 -5
  12. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/settlements/settlements.py +15 -6
  13. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/users/users.py +9 -4
  14. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_python.egg-info/PKG-INFO +1 -1
  15. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_python.egg-info/SOURCES.txt +1 -0
  16. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/README.md +0 -0
  17. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/setup.cfg +0 -0
  18. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/__init__.py +0 -0
  19. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/exceptions.py +0 -0
  20. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/__init__.py +0 -0
  21. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/all_attendances.py +0 -0
  22. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/all_events.py +0 -0
  23. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/all_expenses.py +0 -0
  24. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/all_groups.py +0 -0
  25. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/all_settlements.py +0 -0
  26. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/all_users_in_group.py +0 -0
  27. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/app_status.py +0 -0
  28. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/async_base_client.py +0 -0
  29. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/automatic_events.py +0 -0
  30. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/base_model.py +0 -0
  31. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/client.py +0 -0
  32. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/create_expense.py +0 -0
  33. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/create_group.py +0 -0
  34. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/create_list_item.py +0 -0
  35. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/create_many_list_items.py +0 -0
  36. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/create_settlement.py +0 -0
  37. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/enums.py +0 -0
  38. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/exceptions.py +0 -0
  39. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/fragments.py +0 -0
  40. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/get_attendance.py +0 -0
  41. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/get_event.py +0 -0
  42. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/get_group.py +0 -0
  43. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/get_user.py +0 -0
  44. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/get_user_in_group.py +0 -0
  45. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/group_total_expense.py +0 -0
  46. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/input_types.py +0 -0
  47. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/join_group.py +0 -0
  48. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/list_items.py +0 -0
  49. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/remove_account.py +0 -0
  50. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/settle_unsettled_expenses.py +0 -0
  51. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/settlement_expenses.py +0 -0
  52. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_attendance.py +0 -0
  53. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_event.py +0 -0
  54. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_expense.py +0 -0
  55. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_expense_distribution.py +0 -0
  56. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_group.py +0 -0
  57. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_list_item.py +0 -0
  58. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_many_attendance.py +0 -0
  59. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_user.py +0 -0
  60. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_user_in_group.py +0 -0
  61. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/generated/update_users_in_group.py +0 -0
  62. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/__init__.py +0 -0
  63. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/app/__init__.py +0 -0
  64. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/app/transformers.py +0 -0
  65. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/event_attendance/__init__.py +0 -0
  66. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/event_attendance/transformers.py +0 -0
  67. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/events/__init__.py +0 -0
  68. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/events/transformers.py +0 -0
  69. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/expenses/__init__.py +0 -0
  70. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/expenses/transformers.py +0 -0
  71. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/expenses/utils.py +0 -0
  72. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/group_list/__init__.py +0 -0
  73. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/group_list/transformers.py +0 -0
  74. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/group_users/__init__.py +0 -0
  75. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/group_users/transformers.py +0 -0
  76. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/groups/__init__.py +0 -0
  77. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/groups/transformers.py +0 -0
  78. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/me/__init__.py +0 -0
  79. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/me/me.py +0 -0
  80. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/settlements/__init__.py +0 -0
  81. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/settlements/transformers.py +0 -0
  82. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/settlements/utils.py +0 -0
  83. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/users/__init__.py +0 -0
  84. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/services/users/transformers.py +0 -0
  85. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/utils/__init__.py +0 -0
  86. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_py/utils/datetime.py +0 -0
  87. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_python.egg-info/dependency_links.txt +0 -0
  88. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_python.egg-info/requires.txt +0 -0
  89. {eetlijst_python-0.0.8 → eetlijst_python-0.0.10}/src/eetlijst_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eetlijst-python
3
- Version: 0.0.8
3
+ Version: 0.0.10
4
4
  Summary: Python rewrite of the Eetlijst GraphQL client
5
5
  Requires-Python: <3.15,>=3.14
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "eetlijst-python"
3
- version = "0.0.8"
3
+ version = "0.0.10"
4
4
  description = "Python rewrite of the Eetlijst GraphQL client"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.14,<3.15"
@@ -31,13 +31,10 @@ class Eetlijst:
31
31
  ws_origin: Optional[str] = None,
32
32
  ws_connection_init_payload: Optional[dict[str, Any]] = None,
33
33
  ):
34
- client_headers = dict(headers) if headers else {}
35
- if api_key:
36
- client_headers["Authorization"] = f"Bearer {api_key}"
37
-
34
+ self._api_key = api_key
38
35
  self._client = GraphQlClient(
39
36
  url=url or "https://api.eetlijst.nl/v1/graphql",
40
- headers=client_headers,
37
+ headers=headers,
41
38
  http_client=http_client,
42
39
  ws_url=ws_url,
43
40
  ws_headers=ws_headers,
@@ -45,17 +42,17 @@ class Eetlijst:
45
42
  ws_connection_init_payload=ws_connection_init_payload,
46
43
  )
47
44
 
48
- self.app = App(self._client)
45
+ self.app = App(self._client, self._api_key)
49
46
 
50
- event_attendance = EventAttendance(self._client)
51
- self.events = Events(self._client, event_attendance)
47
+ event_attendance = EventAttendance(self._client, self._api_key)
48
+ self.events = Events(self._client, self._api_key, event_attendance)
52
49
 
53
- group_users = GroupUsers(self._client)
54
- group_list = GroupList(self._client)
55
- self.groups = Groups(self._client, group_users, group_list)
50
+ group_users = GroupUsers(self._client, self._api_key)
51
+ group_list = GroupList(self._client, self._api_key)
52
+ self.groups = Groups(self._client, self._api_key, group_users, group_list)
56
53
 
57
- settlements = Settlements(self._client)
58
- self.expenses = Expenses(self._client, settlements)
54
+ settlements = Settlements(self._client, self._api_key)
55
+ self.expenses = Expenses(self._client, self._api_key, settlements)
59
56
 
60
- self.users = Users(self._client)
57
+ self.users = Users(self._client, self._api_key)
61
58
  self.me = Me(api_key, self.users)
@@ -1,18 +1,16 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- from eetlijst_py.generated import GraphQlClient
4
-
5
3
  from eetlijst_py.exceptions import EetlijstException
6
4
 
7
5
  from eetlijst_py.services.app.transformers import transform_app_status
6
+ from eetlijst_py.services.base import BaseService
8
7
 
9
8
 
10
9
  @dataclass
11
- class App:
12
- _client: GraphQlClient
10
+ class App(BaseService):
13
11
 
14
12
  async def status(self):
15
- result = await self._client.app_status()
13
+ result = await self._client.app_status(headers=self._get_headers())
16
14
 
17
15
  if not result or not result.eetschema_app_status:
18
16
  raise EetlijstException("App status not found")
@@ -0,0 +1,20 @@
1
+ from dataclasses import dataclass
2
+ from typing import Optional
3
+
4
+ from eetlijst_py.generated import GraphQlClient
5
+
6
+
7
+ @dataclass
8
+ class BaseService:
9
+ _client: GraphQlClient
10
+ _api_key: str
11
+
12
+ def _get_headers(
13
+ self, custom_headers: Optional[dict[str, str]] = None
14
+ ) -> dict[str, str]:
15
+ headers = {"Authorization": f"Bearer {self._api_key}"}
16
+
17
+ if custom_headers:
18
+ headers.update(custom_headers)
19
+
20
+ return headers
@@ -1,6 +1,5 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- from eetlijst_py.generated import GraphQlClient
4
3
  from eetlijst_py.generated.base_model import UNSET, UnsetType
5
4
  from eetlijst_py.generated.enums import AttendanceStatus
6
5
  from eetlijst_py.generated.input_types import (
@@ -10,6 +9,8 @@ from eetlijst_py.generated.input_types import (
10
9
  eetschema_event_attendees_set_input,
11
10
  )
12
11
 
12
+ from eetlijst_py.services.base import BaseService
13
+
13
14
  from .transformers import (
14
15
  transform_attendance,
15
16
  transform_update_attendance,
@@ -29,15 +30,18 @@ class EventAttendceUpdate(eetschema_event_attendees_set_input):
29
30
 
30
31
 
31
32
  @dataclass
32
- class EventAttendance:
33
- _client: GraphQlClient
33
+ class EventAttendance(BaseService):
34
34
 
35
35
  async def get(
36
36
  self,
37
37
  event_id: str,
38
38
  user_id: str,
39
39
  ):
40
- result = await self._client.get_attendance(event_id, user_id)
40
+ result = await self._client.get_attendance(
41
+ event_id,
42
+ user_id,
43
+ headers=self._get_headers(),
44
+ )
41
45
  return transform_attendance(result.eetschema_event_attendees_by_pk)
42
46
 
43
47
  async def all(
@@ -46,7 +50,12 @@ class EventAttendance:
46
50
  order: list[eetschema_event_attendees_order_by] | UnsetType | None = UNSET,
47
51
  limit: int | UnsetType | None = UNSET,
48
52
  ):
49
- result = await self._client.all_attendances(where, order, limit)
53
+ result = await self._client.all_attendances(
54
+ where,
55
+ order,
56
+ limit,
57
+ headers=self._get_headers(),
58
+ )
50
59
  return [
51
60
  transform_attendance(attendee)
52
61
  for attendee in result.eetschema_event_attendees
@@ -56,11 +65,19 @@ class EventAttendance:
56
65
  return await self.update_many([data])
57
66
 
58
67
  async def update(self, data: EventAttendceUpdate):
59
- result = await self._client.update_attendance(data.event_id, data.user_id, data)
68
+ result = await self._client.update_attendance(
69
+ data.event_id,
70
+ data.user_id,
71
+ data,
72
+ headers=self._get_headers(),
73
+ )
60
74
  return transform_update_attendance(result)
61
75
 
62
76
  async def update_many(self, data: list[eetschema_event_attendees_insert_input]):
63
- result = await self._client.update_many_attendance(data)
77
+ result = await self._client.update_many_attendance(
78
+ data,
79
+ headers=self._get_headers(),
80
+ )
64
81
  return transform_update_many_attendance(result)
65
82
 
66
83
  async def comment(self, user_id: str, event_id: str, comment: str | None):
@@ -1,7 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from datetime import datetime
3
3
 
4
- from eetlijst_py.generated import GraphQlClient, order_by
4
+ from eetlijst_py.generated import order_by
5
5
  from eetlijst_py.generated.input_types import (
6
6
  eetschema_event_bool_exp,
7
7
  eetschema_event_order_by,
@@ -9,6 +9,7 @@ from eetlijst_py.generated.input_types import (
9
9
  uuid_comparison_exp,
10
10
  )
11
11
 
12
+ from eetlijst_py.services.base import BaseService
12
13
  from eetlijst_py.services.event_attendance import EventAttendance
13
14
 
14
15
  from eetlijst_py.utils.datetime import current_datetime, format_date
@@ -21,14 +22,14 @@ from .transformers import (
21
22
 
22
23
 
23
24
  @dataclass
24
- class Events:
25
- _client: GraphQlClient
25
+ class Events(BaseService):
26
26
  attendance: EventAttendance
27
27
 
28
28
  async def populate_dinners(self, group_id: str, date: datetime | str):
29
29
  result = await self._client.automatic_events(
30
30
  group_id,
31
31
  format_date(date),
32
+ headers=self._get_headers(),
32
33
  )
33
34
  return transform_automatic_events(result)
34
35
 
@@ -42,6 +43,7 @@ class Events:
42
43
  event_id,
43
44
  include_attendees,
44
45
  include_expenses,
46
+ headers=self._get_headers(),
45
47
  )
46
48
  return transform_event(result.eetschema_event_by_pk)
47
49
 
@@ -73,6 +75,7 @@ class Events:
73
75
  limit,
74
76
  include_attendees,
75
77
  include_expenses,
78
+ headers=self._get_headers(),
76
79
  )
77
80
  return [transform_event(event) for event in result.eetschema_event]
78
81
 
@@ -88,6 +91,7 @@ class Events:
88
91
  data,
89
92
  include_attendees,
90
93
  include_expenses,
94
+ headers=self._get_headers(),
91
95
  )
92
96
  return transform_update_event(result)
93
97
 
@@ -1,7 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional
3
3
 
4
- from eetlijst_py.generated import GraphQlClient, order_by
4
+ from eetlijst_py.generated import order_by
5
5
  from eetlijst_py.generated.input_types import (
6
6
  Boolean_comparison_exp,
7
7
  eetschema_expense_bool_exp,
@@ -12,6 +12,7 @@ from eetlijst_py.generated.input_types import (
12
12
  uuid_comparison_exp,
13
13
  )
14
14
 
15
+ from eetlijst_py.services.base import BaseService
15
16
  from eetlijst_py.services.expenses.transformers import (
16
17
  transform_create_expense,
17
18
  transform_expense,
@@ -22,13 +23,13 @@ from eetlijst_py.services.settlements import Settlements
22
23
 
23
24
 
24
25
  @dataclass
25
- class Expenses:
26
- _client: GraphQlClient
26
+ class Expenses(BaseService):
27
27
  settlements: Settlements
28
28
 
29
29
  async def get(self, expense_id: str):
30
30
  result = await self._client.all_expenses(
31
- where=eetschema_expense_bool_exp(id=uuid_comparison_exp(_eq=expense_id))
31
+ where=eetschema_expense_bool_exp(id=uuid_comparison_exp(_eq=expense_id)),
32
+ headers=self._get_headers(),
32
33
  )
33
34
 
34
35
  return transform_expense(result.eetschema_expense[0])
@@ -61,18 +62,20 @@ class Expenses:
61
62
  where=where_data,
62
63
  order=order_data,
63
64
  limit=limit,
65
+ headers=self._get_headers(),
64
66
  )
65
67
 
66
68
  return [transform_expense(expense) for expense in result.eetschema_expense]
67
69
 
68
70
  async def create(self, data: eetschema_expense_insert_input):
69
- result = await self._client.create_expense(*data)
71
+ result = await self._client.create_expense(*data, headers=self._get_headers())
70
72
  return transform_create_expense(result)
71
73
 
72
74
  async def update(self, expense_id: str, data: eetschema_expense_set_input):
73
75
  result = await self._client.update_expense(
74
76
  expense_id=expense_id,
75
77
  set_=data,
78
+ headers=self._get_headers(),
76
79
  )
77
80
 
78
81
  return transform_update_expense(result)
@@ -85,6 +88,7 @@ class Expenses:
85
88
  await self._client.update_expense_distribution(
86
89
  expense_id=expense_id,
87
90
  objects=data,
91
+ headers=self._get_headers(),
88
92
  )
89
93
 
90
94
  async def delete(self, expense_id: str):
@@ -94,5 +98,8 @@ class Expenses:
94
98
  )
95
99
 
96
100
  async def group_total(self, group_id: str):
97
- result = await self._client.group_total_expense(group_id=group_id)
101
+ result = await self._client.group_total_expense(
102
+ group_id=group_id,
103
+ headers=self._get_headers(),
104
+ )
98
105
  return transform_group_total_expense(result)
@@ -1,7 +1,6 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional
3
3
 
4
- from eetlijst_py.generated import GraphQlClient
5
4
  from eetlijst_py.generated.input_types import (
6
5
  eetschema_list_bool_exp,
7
6
  eetschema_list_insert_input,
@@ -12,6 +11,7 @@ from eetlijst_py.generated.input_types import (
12
11
 
13
12
  from eetlijst_py.exceptions import EetlijstException
14
13
 
14
+ from eetlijst_py.services.base import BaseService
15
15
  from eetlijst_py.services.group_list.transformers import (
16
16
  transform_create_list_item,
17
17
  transform_create_many_list_items,
@@ -21,12 +21,12 @@ from eetlijst_py.services.group_list.transformers import (
21
21
 
22
22
 
23
23
  @dataclass
24
- class GroupList:
25
- _client: GraphQlClient
24
+ class GroupList(BaseService):
26
25
 
27
26
  async def get(self, item_id: str):
28
27
  result = await self._client.list_items(
29
- where=eetschema_list_bool_exp(id=uuid_comparison_exp(_eq=item_id))
28
+ where=eetschema_list_bool_exp(id=uuid_comparison_exp(_eq=item_id)),
29
+ headers=self._get_headers(),
30
30
  )
31
31
 
32
32
  return transform_list_item(result.eetschema_list[0])
@@ -53,22 +53,27 @@ class GroupList:
53
53
  where=where_data,
54
54
  order=order,
55
55
  limit=limit,
56
+ headers=self._get_headers(),
56
57
  )
57
58
 
58
59
  return [transform_list_item(item) for item in result.eetschema_list]
59
60
 
60
61
  async def create_item(self, data: eetschema_list_insert_input):
61
- result = await self._client.create_list_item(*data)
62
+ result = await self._client.create_list_item(*data, headers=self._get_headers())
62
63
  return transform_create_list_item(result)
63
64
 
64
65
  async def create_many_items(self, items: list[eetschema_list_insert_input]):
65
- result = await self._client.create_many_list_items(items=items)
66
+ result = await self._client.create_many_list_items(
67
+ items=items,
68
+ headers=self._get_headers(),
69
+ )
66
70
  return transform_create_many_list_items(result)
67
71
 
68
72
  async def update_item(self, item_id: str, data: eetschema_list_set_input):
69
73
  result = await self._client.update_list_item(
70
74
  id=item_id,
71
75
  set_=data,
76
+ headers=self._get_headers(),
72
77
  )
73
78
  return transform_update_list_item(result)
74
79
 
@@ -1,7 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional, TypedDict, Union
3
3
 
4
- from eetlijst_py.generated import GraphQlClient, order_by
4
+ from eetlijst_py.generated import order_by
5
5
  from eetlijst_py.generated.input_types import (
6
6
  Boolean_comparison_exp,
7
7
  String_comparison_exp,
@@ -12,6 +12,7 @@ from eetlijst_py.generated.input_types import (
12
12
  uuid_comparison_exp,
13
13
  )
14
14
 
15
+ from eetlijst_py.services.base import BaseService
15
16
  from eetlijst_py.services.group_users.transformers import (
16
17
  transform_all_users_in_group,
17
18
  transform_get_user_in_group,
@@ -27,12 +28,13 @@ class UserOrderItem(TypedDict):
27
28
 
28
29
 
29
30
  @dataclass
30
- class GroupUsers:
31
- _client: GraphQlClient
31
+ class GroupUsers(BaseService):
32
32
 
33
33
  async def get(self, group_id: str, user_id: str):
34
34
  result = await self._client.get_user_in_group(
35
- group_id=group_id, user_id=user_id
35
+ group_id=group_id,
36
+ user_id=user_id,
37
+ headers=self._get_headers(),
36
38
  )
37
39
  return transform_get_user_in_group(result)
38
40
 
@@ -67,12 +69,18 @@ class GroupUsers:
67
69
  where=where_data,
68
70
  order=order_data,
69
71
  limit=limit,
72
+ headers=self._get_headers(),
70
73
  )
71
74
 
72
75
  return transform_all_users_in_group(result)
73
76
 
74
77
  async def add(self, group_id: str, user_id: str, invite_id: str):
75
- result = await self._client.join_group(group_id, user_id, invite_id)
78
+ result = await self._client.join_group(
79
+ group_id,
80
+ user_id,
81
+ invite_id,
82
+ headers=self._get_headers(),
83
+ )
76
84
  return transform_join_group(result)
77
85
 
78
86
  async def update(
@@ -82,7 +90,10 @@ class GroupUsers:
82
90
  data: eetschema_users_in_group_set_input,
83
91
  ):
84
92
  result = await self._client.update_user_in_group(
85
- group_id=group_id, user_id=user_id, set_=data
93
+ group_id=group_id,
94
+ user_id=user_id,
95
+ set_=data,
96
+ headers=self._get_headers(),
86
97
  )
87
98
 
88
99
  return transform_update_user_in_group(result)
@@ -91,7 +102,10 @@ class GroupUsers:
91
102
  self,
92
103
  updates: list[eetschema_users_in_group_updates],
93
104
  ):
94
- result = await self._client.update_users_in_group(updates=updates)
105
+ result = await self._client.update_users_in_group(
106
+ updates=updates,
107
+ headers=self._get_headers(),
108
+ )
95
109
  return transform_update_users_in_group(result)
96
110
 
97
111
  async def remove(self, group_id: str, user_id: str):
@@ -1,7 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import TYPE_CHECKING, List, Optional
3
3
 
4
- from eetlijst_py.generated import GraphQlClient, order_by
4
+ from eetlijst_py.generated import order_by
5
5
  from eetlijst_py.generated.input_types import (
6
6
  String_comparison_exp,
7
7
  eetschema_group_order_by,
@@ -10,6 +10,7 @@ from eetlijst_py.generated.input_types import (
10
10
  eetschema_users_in_group_order_by,
11
11
  )
12
12
 
13
+ from eetlijst_py.services.base import BaseService
13
14
  from eetlijst_py.services.group_list import GroupList
14
15
  from eetlijst_py.services.groups.transformers import (
15
16
  GroupResult,
@@ -24,8 +25,7 @@ if TYPE_CHECKING:
24
25
 
25
26
 
26
27
  @dataclass
27
- class Groups:
28
- _client: GraphQlClient
28
+ class Groups(BaseService):
29
29
  users: GroupUsers
30
30
  list: GroupList
31
31
 
@@ -34,7 +34,10 @@ class Groups:
34
34
  group_id: str,
35
35
  include_users: bool = False,
36
36
  ) -> GroupResult:
37
- result = await self._client.get_group(group_id=group_id)
37
+ result = await self._client.get_group(
38
+ group_id=group_id,
39
+ headers=self._get_headers(),
40
+ )
38
41
  return transform_get_group(result, include_users=include_users)
39
42
 
40
43
  async def all(
@@ -66,12 +69,17 @@ class Groups:
66
69
  limit=limit,
67
70
  include_users=include_users,
68
71
  include_inactive_users=include_inactive_users,
72
+ headers=self._get_headers(),
69
73
  )
70
74
 
71
75
  return transform_all_groups(result, include_users=include_users)
72
76
 
73
77
  async def create(self, name: str, user_id: str) -> GroupResult:
74
- result = await self._client.create_group(name=name, user_id=user_id)
78
+ result = await self._client.create_group(
79
+ name=name,
80
+ user_id=user_id,
81
+ headers=self._get_headers(),
82
+ )
75
83
  return transform_create_group(result)
76
84
 
77
85
  async def update(
@@ -80,5 +88,6 @@ class Groups:
80
88
  result = await self._client.update_group(
81
89
  group_id=group_id,
82
90
  set_=data,
91
+ headers=self._get_headers(),
83
92
  )
84
93
  return transform_update_group(result)
@@ -3,7 +3,7 @@ from dataclasses import dataclass
3
3
  from datetime import datetime, timezone
4
4
  from typing import List, Optional, TypedDict
5
5
 
6
- from eetlijst_py.generated import GraphQlClient, order_by
6
+ from eetlijst_py.generated import order_by
7
7
  from eetlijst_py.generated.fragments import ExpenseFields
8
8
  from eetlijst_py.generated.input_types import (
9
9
  Boolean_comparison_exp,
@@ -16,6 +16,7 @@ from eetlijst_py.generated.input_types import (
16
16
  uuid_comparison_exp,
17
17
  )
18
18
 
19
+ from eetlijst_py.services.base import BaseService
19
20
  from eetlijst_py.services.expenses.transformers import (
20
21
  transform_create_expense,
21
22
  transform_update_expense,
@@ -41,14 +42,14 @@ class SettleResult(TypedDict):
41
42
 
42
43
 
43
44
  @dataclass
44
- class Settlements:
45
- _client: GraphQlClient
45
+ class Settlements(BaseService):
46
46
 
47
47
  async def get(self, settlement_id: str) -> Optional[SettlementResult]:
48
48
  result = await self._client.all_settlements(
49
49
  where=eetschema_settlements_bool_exp(
50
- id=uuid_comparison_exp(_eq=settlement_id)
51
- )
50
+ id=uuid_comparison_exp(_eq=settlement_id),
51
+ ),
52
+ headers=self._get_headers(),
52
53
  )
53
54
 
54
55
  return transform_settlement(result.eetschema_settlements[0])
@@ -73,11 +74,15 @@ class Settlements:
73
74
  where=where_data,
74
75
  order=order_data,
75
76
  limit=limit,
77
+ headers=self._get_headers(),
76
78
  )
77
79
  return [transform_settlement(s) for s in result.eetschema_settlements]
78
80
 
79
81
  async def create(self, group_id: str) -> SettlementResult:
80
- result = await self._client.create_settlement(group_id=group_id)
82
+ result = await self._client.create_settlement(
83
+ group_id=group_id,
84
+ headers=self._get_headers(),
85
+ )
81
86
  return transform_create_settlement(result)
82
87
 
83
88
  async def settle(
@@ -110,6 +115,7 @@ class Settlements:
110
115
  result = await self._client.settle_unsettled_expenses(
111
116
  settlement_id=settlement_id,
112
117
  where=where_data,
118
+ headers=self._get_headers(),
113
119
  )
114
120
  settled = transform_settle_unsettled_expenses(result)
115
121
 
@@ -141,12 +147,14 @@ class Settlements:
141
147
  description=description,
142
148
  settlement_expense_id=settlement_id,
143
149
  data=distribution_data,
150
+ headers=self._get_headers(),
144
151
  )
145
152
  created_expense = transform_create_expense(created_raw)
146
153
 
147
154
  updated_raw = await self._client.update_expense(
148
155
  expense_id=created_expense.id,
149
156
  set_=eetschema_expense_set_input(settled_id=settlement_id),
157
+ headers=self._get_headers(),
150
158
  )
151
159
  return transform_update_expense(updated_raw)
152
160
 
@@ -221,5 +229,6 @@ class Settlements:
221
229
  result = await self._client.settlement_expenses(
222
230
  where=where_data,
223
231
  order=order_data,
232
+ headers=self._get_headers(),
224
233
  )
225
234
  return transform_settlement_expenses(result)
@@ -1,9 +1,10 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- from eetlijst_py.generated import GraphQlClient
4
3
  from eetlijst_py.generated.base_model import UNSET, UnsetType
5
4
  from eetlijst_py.generated.input_types import eetschema_user_set_input
6
5
 
6
+ from eetlijst_py.services.base import BaseService
7
+
7
8
  from .transformers import (
8
9
  transform_get_user,
9
10
  transform_remove_account_reasons,
@@ -12,17 +13,20 @@ from .transformers import (
12
13
 
13
14
 
14
15
  @dataclass
15
- class Users:
16
- _client: GraphQlClient
16
+ class Users(BaseService):
17
17
 
18
18
  async def get(self, user_id: str):
19
- result = await self._client.get_user(user_id=user_id)
19
+ result = await self._client.get_user(
20
+ user_id=user_id,
21
+ headers=self._get_headers(),
22
+ )
20
23
  return transform_get_user(result)
21
24
 
22
25
  async def update(self, user_id: str, data: eetschema_user_set_input):
23
26
  result = await self._client.update_user(
24
27
  user_id=user_id,
25
28
  set_=data,
29
+ headers=self._get_headers(),
26
30
  )
27
31
  return transform_update_user(result)
28
32
 
@@ -40,5 +44,6 @@ class Users:
40
44
  reason_to_remove_account_text,
41
45
  reason_to_remove_account_selection,
42
46
  reason_to_remove_account_selection_all_options,
47
+ headers=self._get_headers(),
43
48
  )
44
49
  return transform_remove_account_reasons(result)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eetlijst-python
3
- Version: 0.0.8
3
+ Version: 0.0.10
4
4
  Summary: Python rewrite of the Eetlijst GraphQL client
5
5
  Requires-Python: <3.15,>=3.14
6
6
  Description-Content-Type: text/markdown
@@ -46,6 +46,7 @@ src/eetlijst_py/generated/update_user.py
46
46
  src/eetlijst_py/generated/update_user_in_group.py
47
47
  src/eetlijst_py/generated/update_users_in_group.py
48
48
  src/eetlijst_py/services/__init__.py
49
+ src/eetlijst_py/services/base.py
49
50
  src/eetlijst_py/services/app/__init__.py
50
51
  src/eetlijst_py/services/app/app.py
51
52
  src/eetlijst_py/services/app/transformers.py