ynab-api-cli 0.1.0__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 (225) hide show
  1. ynab_api_cli/__init__.py +3 -0
  2. ynab_api_cli/__main__.py +266 -0
  3. ynab_api_cli/cli.py +171 -0
  4. ynab_api_cli/compat.py +120 -0
  5. ynab_api_cli/config.py +110 -0
  6. ynab_api_cli/contract.py +197 -0
  7. ynab_api_cli/contract_testing.py +141 -0
  8. ynab_api_cli/development.py +269 -0
  9. ynab_api_cli/distribution.py +123 -0
  10. ynab_api_cli/exceptions.py +7 -0
  11. ynab_api_cli/generated/__init__.py +3 -0
  12. ynab_api_cli/generated/api/__init__.py +3 -0
  13. ynab_api_cli/generated/api/accounts/__init__.py +3 -0
  14. ynab_api_cli/generated/api/accounts/create_account.py +54 -0
  15. ynab_api_cli/generated/api/accounts/get_account_by_id.py +53 -0
  16. ynab_api_cli/generated/api/accounts/get_accounts.py +57 -0
  17. ynab_api_cli/generated/api/categories/__init__.py +3 -0
  18. ynab_api_cli/generated/api/categories/create_category.py +54 -0
  19. ynab_api_cli/generated/api/categories/create_category_group.py +58 -0
  20. ynab_api_cli/generated/api/categories/get_categories.py +57 -0
  21. ynab_api_cli/generated/api/categories/get_category_by_id.py +52 -0
  22. ynab_api_cli/generated/api/categories/get_month_category_by_id.py +58 -0
  23. ynab_api_cli/generated/api/categories/update_category.py +57 -0
  24. ynab_api_cli/generated/api/categories/update_category_group.py +63 -0
  25. ynab_api_cli/generated/api/categories/update_month_category.py +65 -0
  26. ynab_api_cli/generated/api/money_movements/__init__.py +3 -0
  27. ynab_api_cli/generated/api/money_movements/get_money_movement_groups.py +51 -0
  28. ynab_api_cli/generated/api/money_movements/get_money_movement_groups_by_month.py +57 -0
  29. ynab_api_cli/generated/api/money_movements/get_money_movements.py +51 -0
  30. ynab_api_cli/generated/api/money_movements/get_money_movements_by_month.py +57 -0
  31. ynab_api_cli/generated/api/months/__init__.py +3 -0
  32. ynab_api_cli/generated/api/months/get_plan_month.py +55 -0
  33. ynab_api_cli/generated/api/months/get_plan_months.py +59 -0
  34. ynab_api_cli/generated/api/payee_locations/__init__.py +3 -0
  35. ynab_api_cli/generated/api/payee_locations/get_payee_location_by_id.py +54 -0
  36. ynab_api_cli/generated/api/payee_locations/get_payee_locations.py +51 -0
  37. ynab_api_cli/generated/api/payee_locations/get_payee_locations_by_payee.py +54 -0
  38. ynab_api_cli/generated/api/payees/__init__.py +3 -0
  39. ynab_api_cli/generated/api/payees/create_payee.py +54 -0
  40. ynab_api_cli/generated/api/payees/get_payee_by_id.py +52 -0
  41. ynab_api_cli/generated/api/payees/get_payees.py +57 -0
  42. ynab_api_cli/generated/api/payees/update_payee.py +57 -0
  43. ynab_api_cli/generated/api/plans/__init__.py +3 -0
  44. ynab_api_cli/generated/api/plans/get_plan_by_id.py +57 -0
  45. ynab_api_cli/generated/api/plans/get_plan_settings_by_id.py +49 -0
  46. ynab_api_cli/generated/api/plans/get_plans.py +51 -0
  47. ynab_api_cli/generated/api/scheduled_transactions/__init__.py +3 -0
  48. ynab_api_cli/generated/api/scheduled_transactions/create_scheduled_transaction.py +58 -0
  49. ynab_api_cli/generated/api/scheduled_transactions/delete_scheduled_transaction.py +56 -0
  50. ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transaction_by_id.py +56 -0
  51. ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transactions.py +59 -0
  52. ynab_api_cli/generated/api/scheduled_transactions/update_scheduled_transaction.py +63 -0
  53. ynab_api_cli/generated/api/transactions/__init__.py +3 -0
  54. ynab_api_cli/generated/api/transactions/create_transaction.py +58 -0
  55. ynab_api_cli/generated/api/transactions/delete_transaction.py +54 -0
  56. ynab_api_cli/generated/api/transactions/get_transaction_by_id.py +54 -0
  57. ynab_api_cli/generated/api/transactions/get_transactions.py +80 -0
  58. ynab_api_cli/generated/api/transactions/get_transactions_by_account.py +87 -0
  59. ynab_api_cli/generated/api/transactions/get_transactions_by_category.py +89 -0
  60. ynab_api_cli/generated/api/transactions/get_transactions_by_month.py +87 -0
  61. ynab_api_cli/generated/api/transactions/get_transactions_by_payee.py +89 -0
  62. ynab_api_cli/generated/api/transactions/import_transactions.py +54 -0
  63. ynab_api_cli/generated/api/transactions/update_transaction.py +59 -0
  64. ynab_api_cli/generated/api/transactions/update_transactions.py +58 -0
  65. ynab_api_cli/generated/api/user/__init__.py +3 -0
  66. ynab_api_cli/generated/api/user/get_user.py +42 -0
  67. ynab_api_cli/generated/bindings.py +141 -0
  68. ynab_api_cli/generated/models/__init__.py +416 -0
  69. ynab_api_cli/generated/models/account.py +71 -0
  70. ynab_api_cli/generated/models/account_base.py +57 -0
  71. ynab_api_cli/generated/models/account_response.py +19 -0
  72. ynab_api_cli/generated/models/account_response_data.py +19 -0
  73. ynab_api_cli/generated/models/account_type.py +23 -0
  74. ynab_api_cli/generated/models/accounts_response.py +21 -0
  75. ynab_api_cli/generated/models/accounts_response_data.py +20 -0
  76. ynab_api_cli/generated/models/bulk_response.py +19 -0
  77. ynab_api_cli/generated/models/bulk_response_data.py +21 -0
  78. ynab_api_cli/generated/models/bulk_response_data_bulk.py +15 -0
  79. ynab_api_cli/generated/models/bulk_transactions.py +21 -0
  80. ynab_api_cli/generated/models/categories_response.py +21 -0
  81. ynab_api_cli/generated/models/categories_response_data.py +22 -0
  82. ynab_api_cli/generated/models/category.py +104 -0
  83. ynab_api_cli/generated/models/category_base.py +74 -0
  84. ynab_api_cli/generated/models/category_group.py +20 -0
  85. ynab_api_cli/generated/models/category_group_with_categories.py +25 -0
  86. ynab_api_cli/generated/models/category_response.py +21 -0
  87. ynab_api_cli/generated/models/category_response_data.py +19 -0
  88. ynab_api_cli/generated/models/currency_format_type_0.py +21 -0
  89. ynab_api_cli/generated/models/date_format_type_0.py +14 -0
  90. ynab_api_cli/generated/models/debt_1.py +18 -0
  91. ynab_api_cli/generated/models/debt_2.py +18 -0
  92. ynab_api_cli/generated/models/debt_3.py +18 -0
  93. ynab_api_cli/generated/models/error_detail.py +16 -0
  94. ynab_api_cli/generated/models/error_response.py +19 -0
  95. ynab_api_cli/generated/models/existing_category.py +34 -0
  96. ynab_api_cli/generated/models/existing_transaction.py +43 -0
  97. ynab_api_cli/generated/models/flag_1.py +17 -0
  98. ynab_api_cli/generated/models/flag_2.py +17 -0
  99. ynab_api_cli/generated/models/flag_3.py +17 -0
  100. ynab_api_cli/generated/models/get_transactions_by_account_type.py +12 -0
  101. ynab_api_cli/generated/models/get_transactions_by_category_type.py +12 -0
  102. ynab_api_cli/generated/models/get_transactions_by_month_type.py +12 -0
  103. ynab_api_cli/generated/models/get_transactions_by_payee_type.py +12 -0
  104. ynab_api_cli/generated/models/get_transactions_type.py +12 -0
  105. ynab_api_cli/generated/models/goal_1.py +15 -0
  106. ynab_api_cli/generated/models/goal_2.py +15 -0
  107. ynab_api_cli/generated/models/goal_3.py +15 -0
  108. ynab_api_cli/generated/models/hybrid_transaction.py +70 -0
  109. ynab_api_cli/generated/models/hybrid_transaction_type.py +12 -0
  110. ynab_api_cli/generated/models/hybrid_transactions_response.py +21 -0
  111. ynab_api_cli/generated/models/hybrid_transactions_response_data.py +22 -0
  112. ynab_api_cli/generated/models/loan_account_periodic_value_type_0.py +33 -0
  113. ynab_api_cli/generated/models/money_movement.py +35 -0
  114. ynab_api_cli/generated/models/money_movement_base.py +33 -0
  115. ynab_api_cli/generated/models/money_movement_group.py +25 -0
  116. ynab_api_cli/generated/models/money_movement_groups_response.py +21 -0
  117. ynab_api_cli/generated/models/money_movement_groups_response_data.py +22 -0
  118. ynab_api_cli/generated/models/money_movements_response.py +21 -0
  119. ynab_api_cli/generated/models/money_movements_response_data.py +20 -0
  120. ynab_api_cli/generated/models/month_detail.py +42 -0
  121. ynab_api_cli/generated/models/month_detail_base.py +30 -0
  122. ynab_api_cli/generated/models/month_detail_response.py +21 -0
  123. ynab_api_cli/generated/models/month_detail_response_data.py +19 -0
  124. ynab_api_cli/generated/models/month_summaries_response.py +21 -0
  125. ynab_api_cli/generated/models/month_summaries_response_data.py +20 -0
  126. ynab_api_cli/generated/models/month_summary.py +37 -0
  127. ynab_api_cli/generated/models/month_summary_base.py +25 -0
  128. ynab_api_cli/generated/models/new_category.py +34 -0
  129. ynab_api_cli/generated/models/new_transaction.py +44 -0
  130. ynab_api_cli/generated/models/patch_category_group_wrapper.py +19 -0
  131. ynab_api_cli/generated/models/patch_category_wrapper.py +19 -0
  132. ynab_api_cli/generated/models/patch_month_category_wrapper.py +19 -0
  133. ynab_api_cli/generated/models/patch_payee_wrapper.py +19 -0
  134. ynab_api_cli/generated/models/patch_transactions_wrapper.py +21 -0
  135. ynab_api_cli/generated/models/payee.py +23 -0
  136. ynab_api_cli/generated/models/payee_location.py +20 -0
  137. ynab_api_cli/generated/models/payee_location_response.py +21 -0
  138. ynab_api_cli/generated/models/payee_location_response_data.py +19 -0
  139. ynab_api_cli/generated/models/payee_locations_response.py +21 -0
  140. ynab_api_cli/generated/models/payee_locations_response_data.py +19 -0
  141. ynab_api_cli/generated/models/payee_response.py +19 -0
  142. ynab_api_cli/generated/models/payee_response_data.py +19 -0
  143. ynab_api_cli/generated/models/payees_response.py +19 -0
  144. ynab_api_cli/generated/models/payees_response_data.py +20 -0
  145. ynab_api_cli/generated/models/plan_detail.py +74 -0
  146. ynab_api_cli/generated/models/plan_detail_response.py +21 -0
  147. ynab_api_cli/generated/models/plan_detail_response_data.py +20 -0
  148. ynab_api_cli/generated/models/plan_settings.py +21 -0
  149. ynab_api_cli/generated/models/plan_settings_response.py +21 -0
  150. ynab_api_cli/generated/models/plan_settings_response_data.py +19 -0
  151. ynab_api_cli/generated/models/plan_summary.py +38 -0
  152. ynab_api_cli/generated/models/plan_summary_response.py +21 -0
  153. ynab_api_cli/generated/models/plan_summary_response_data.py +24 -0
  154. ynab_api_cli/generated/models/post_account_wrapper.py +19 -0
  155. ynab_api_cli/generated/models/post_category_group_wrapper.py +19 -0
  156. ynab_api_cli/generated/models/post_category_wrapper.py +19 -0
  157. ynab_api_cli/generated/models/post_payee.py +14 -0
  158. ynab_api_cli/generated/models/post_payee_wrapper.py +19 -0
  159. ynab_api_cli/generated/models/post_scheduled_transaction_wrapper.py +23 -0
  160. ynab_api_cli/generated/models/post_transactions_wrapper.py +24 -0
  161. ynab_api_cli/generated/models/put_scheduled_transaction_wrapper.py +23 -0
  162. ynab_api_cli/generated/models/put_transaction_wrapper.py +19 -0
  163. ynab_api_cli/generated/models/save_account.py +18 -0
  164. ynab_api_cli/generated/models/save_account_type.py +16 -0
  165. ynab_api_cli/generated/models/save_category.py +34 -0
  166. ynab_api_cli/generated/models/save_category_goal_frequency.py +13 -0
  167. ynab_api_cli/generated/models/save_category_group.py +14 -0
  168. ynab_api_cli/generated/models/save_category_group_response.py +21 -0
  169. ynab_api_cli/generated/models/save_category_group_response_data.py +20 -0
  170. ynab_api_cli/generated/models/save_category_response.py +21 -0
  171. ynab_api_cli/generated/models/save_category_response_data.py +20 -0
  172. ynab_api_cli/generated/models/save_month_category.py +14 -0
  173. ynab_api_cli/generated/models/save_payee.py +16 -0
  174. ynab_api_cli/generated/models/save_payee_response.py +21 -0
  175. ynab_api_cli/generated/models/save_payee_response_data.py +20 -0
  176. ynab_api_cli/generated/models/save_scheduled_transaction.py +37 -0
  177. ynab_api_cli/generated/models/save_sub_transaction.py +22 -0
  178. ynab_api_cli/generated/models/save_transaction_with_id_or_import_id.py +45 -0
  179. ynab_api_cli/generated/models/save_transaction_with_optional_fields.py +43 -0
  180. ynab_api_cli/generated/models/save_transactions_response.py +21 -0
  181. ynab_api_cli/generated/models/save_transactions_response_data.py +29 -0
  182. ynab_api_cli/generated/models/scheduled_sub_transaction.py +31 -0
  183. ynab_api_cli/generated/models/scheduled_sub_transaction_base.py +29 -0
  184. ynab_api_cli/generated/models/scheduled_transaction_detail.py +53 -0
  185. ynab_api_cli/generated/models/scheduled_transaction_frequency.py +23 -0
  186. ynab_api_cli/generated/models/scheduled_transaction_response.py +21 -0
  187. ynab_api_cli/generated/models/scheduled_transaction_response_data.py +23 -0
  188. ynab_api_cli/generated/models/scheduled_transaction_summary.py +43 -0
  189. ynab_api_cli/generated/models/scheduled_transaction_summary_base.py +41 -0
  190. ynab_api_cli/generated/models/scheduled_transaction_summary_base_frequency.py +23 -0
  191. ynab_api_cli/generated/models/scheduled_transactions_response.py +21 -0
  192. ynab_api_cli/generated/models/scheduled_transactions_response_data.py +24 -0
  193. ynab_api_cli/generated/models/sub_transaction.py +34 -0
  194. ynab_api_cli/generated/models/sub_transaction_base.py +32 -0
  195. ynab_api_cli/generated/models/transaction_cleared_status.py +13 -0
  196. ynab_api_cli/generated/models/transaction_detail.py +70 -0
  197. ynab_api_cli/generated/models/transaction_response.py +21 -0
  198. ynab_api_cli/generated/models/transaction_response_data.py +20 -0
  199. ynab_api_cli/generated/models/transaction_summary.py +62 -0
  200. ynab_api_cli/generated/models/transaction_summary_base.py +60 -0
  201. ynab_api_cli/generated/models/transactions_import_response.py +21 -0
  202. ynab_api_cli/generated/models/transactions_import_response_data.py +14 -0
  203. ynab_api_cli/generated/models/transactions_response.py +21 -0
  204. ynab_api_cli/generated/models/transactions_response_data.py +20 -0
  205. ynab_api_cli/generated/models/user.py +16 -0
  206. ynab_api_cli/generated/models/user_response.py +19 -0
  207. ynab_api_cli/generated/models/user_response_data.py +19 -0
  208. ynab_api_cli/live.py +449 -0
  209. ynab_api_cli/py.typed +0 -0
  210. ynab_api_cli/resources/__init__.py +3 -0
  211. ynab_api_cli/resources/catalog.json +178 -0
  212. ynab_api_cli/resources/openapi.yaml +4035 -0
  213. ynab_api_cli/resources/provenance.json +9 -0
  214. ynab_api_cli/resources/schema_features.json +913 -0
  215. ynab_api_cli/resources/skill/SKILL.md +21 -0
  216. ynab_api_cli/resources/skill/references/operations.md +36 -0
  217. ynab_api_cli/resources/skill/references/setup.md +32 -0
  218. ynab_api_cli/security.py +83 -0
  219. ynab_api_cli/transport.py +133 -0
  220. ynab_api_cli/types.py +110 -0
  221. ynab_api_cli/verification.py +167 -0
  222. ynab_api_cli-0.1.0.dist-info/METADATA +90 -0
  223. ynab_api_cli-0.1.0.dist-info/RECORD +225 -0
  224. ynab_api_cli-0.1.0.dist-info/WHEEL +4 -0
  225. ynab_api_cli-0.1.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,54 @@
1
+ """Generated typed REST endpoint; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from http import HTTPStatus
6
+
7
+ from pydantic import TypeAdapter
8
+
9
+ from ynab_api_cli.generated.models.error_response import ErrorResponse
10
+ from ynab_api_cli.generated.models.transactions_import_response import (
11
+ TransactionsImportResponse,
12
+ )
13
+ from ynab_api_cli.transport import Transport
14
+ from ynab_api_cli.types import UNSET, RequestValues, Response
15
+
16
+
17
+ class Endpoint:
18
+ """Typed importTransactions operation."""
19
+
20
+ @classmethod
21
+ def execute(
22
+ cls,
23
+ *,
24
+ transport: Transport,
25
+ plan_id: str,
26
+ ) -> Response[ErrorResponse | TransactionsImportResponse]:
27
+ """Execute the typed request and retain its original response JSON."""
28
+ raw = transport.send(
29
+ "importTransactions",
30
+ RequestValues(
31
+ path={
32
+ "plan_id": plan_id,
33
+ },
34
+ query={},
35
+ body=UNSET,
36
+ ),
37
+ )
38
+ if raw.status == HTTPStatus.OK:
39
+ parsed = TransactionsImportResponse.model_validate(raw.raw)
40
+ return Response(raw.status, raw.raw, raw.headers, parsed)
41
+ if raw.status == HTTPStatus.CREATED:
42
+ parsed = TransactionsImportResponse.model_validate(raw.raw)
43
+ return Response(raw.status, raw.raw, raw.headers, parsed)
44
+ raise ValueError("Validated response has no generated success binding.")
45
+
46
+ @classmethod
47
+ def dispatch(
48
+ cls, transport: Transport, request: RequestValues
49
+ ) -> Response[ErrorResponse | TransactionsImportResponse]:
50
+ """Convert validated CLI inputs and call the explicitly typed method."""
51
+ return cls.execute(
52
+ transport=transport,
53
+ plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
54
+ )
@@ -0,0 +1,59 @@
1
+ """Generated typed REST endpoint; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from http import HTTPStatus
6
+
7
+ from pydantic import TypeAdapter
8
+
9
+ from ynab_api_cli.generated.models.error_response import ErrorResponse
10
+ from ynab_api_cli.generated.models.put_transaction_wrapper import PutTransactionWrapper
11
+ from ynab_api_cli.generated.models.transaction_response import TransactionResponse
12
+ from ynab_api_cli.transport import Transport
13
+ from ynab_api_cli.types import RequestValues, Response
14
+
15
+
16
+ class Endpoint:
17
+ """Typed updateTransaction operation."""
18
+
19
+ @classmethod
20
+ def execute(
21
+ cls,
22
+ *,
23
+ transport: Transport,
24
+ plan_id: str,
25
+ transaction_id: str,
26
+ body: PutTransactionWrapper,
27
+ ) -> Response[ErrorResponse | TransactionResponse]:
28
+ """Execute the typed request and retain its original response JSON."""
29
+ raw = transport.send(
30
+ "updateTransaction",
31
+ RequestValues(
32
+ path={
33
+ "plan_id": plan_id,
34
+ "transaction_id": transaction_id,
35
+ },
36
+ query={},
37
+ body=body,
38
+ ),
39
+ )
40
+ if raw.status == HTTPStatus.OK:
41
+ parsed = TransactionResponse.model_validate(raw.raw)
42
+ return Response(raw.status, raw.raw, raw.headers, parsed)
43
+ raise ValueError("Validated response has no generated success binding.")
44
+
45
+ @classmethod
46
+ def dispatch(
47
+ cls, transport: Transport, request: RequestValues
48
+ ) -> Response[ErrorResponse | TransactionResponse]:
49
+ """Convert validated CLI inputs and call the explicitly typed method."""
50
+ return cls.execute(
51
+ transport=transport,
52
+ plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
53
+ transaction_id=request.value(
54
+ "path", "transaction_id", TypeAdapter[str](str)
55
+ ),
56
+ body=TypeAdapter[PutTransactionWrapper](
57
+ PutTransactionWrapper
58
+ ).validate_python(request.body),
59
+ )
@@ -0,0 +1,58 @@
1
+ """Generated typed REST endpoint; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from http import HTTPStatus
6
+
7
+ from pydantic import TypeAdapter
8
+
9
+ from ynab_api_cli.generated.models.error_response import ErrorResponse
10
+ from ynab_api_cli.generated.models.patch_transactions_wrapper import (
11
+ PatchTransactionsWrapper,
12
+ )
13
+ from ynab_api_cli.generated.models.save_transactions_response import (
14
+ SaveTransactionsResponse,
15
+ )
16
+ from ynab_api_cli.transport import Transport
17
+ from ynab_api_cli.types import RequestValues, Response
18
+
19
+
20
+ class Endpoint:
21
+ """Typed updateTransactions operation."""
22
+
23
+ @classmethod
24
+ def execute(
25
+ cls,
26
+ *,
27
+ transport: Transport,
28
+ plan_id: str,
29
+ body: PatchTransactionsWrapper,
30
+ ) -> Response[ErrorResponse | SaveTransactionsResponse]:
31
+ """Execute the typed request and retain its original response JSON."""
32
+ raw = transport.send(
33
+ "updateTransactions",
34
+ RequestValues(
35
+ path={
36
+ "plan_id": plan_id,
37
+ },
38
+ query={},
39
+ body=body,
40
+ ),
41
+ )
42
+ if raw.status == HTTPStatus.OK:
43
+ parsed = SaveTransactionsResponse.model_validate(raw.raw)
44
+ return Response(raw.status, raw.raw, raw.headers, parsed)
45
+ raise ValueError("Validated response has no generated success binding.")
46
+
47
+ @classmethod
48
+ def dispatch(
49
+ cls, transport: Transport, request: RequestValues
50
+ ) -> Response[ErrorResponse | SaveTransactionsResponse]:
51
+ """Convert validated CLI inputs and call the explicitly typed method."""
52
+ return cls.execute(
53
+ transport=transport,
54
+ plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
55
+ body=TypeAdapter[PatchTransactionsWrapper](
56
+ PatchTransactionsWrapper
57
+ ).validate_python(request.body),
58
+ )
@@ -0,0 +1,3 @@
1
+ """Generated endpoint declarations."""
2
+
3
+ from __future__ import annotations
@@ -0,0 +1,42 @@
1
+ """Generated typed REST endpoint; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from http import HTTPStatus
6
+
7
+ from ynab_api_cli.generated.models.user_response import UserResponse
8
+ from ynab_api_cli.transport import Transport
9
+ from ynab_api_cli.types import UNSET, RequestValues, Response
10
+
11
+
12
+ class Endpoint:
13
+ """Typed getUser operation."""
14
+
15
+ @classmethod
16
+ def execute(
17
+ cls,
18
+ *,
19
+ transport: Transport,
20
+ ) -> Response[UserResponse]:
21
+ """Execute the typed request and retain its original response JSON."""
22
+ raw = transport.send(
23
+ "getUser",
24
+ RequestValues(
25
+ path={},
26
+ query={},
27
+ body=UNSET,
28
+ ),
29
+ )
30
+ if raw.status == HTTPStatus.OK:
31
+ parsed = UserResponse.model_validate(raw.raw)
32
+ return Response(raw.status, raw.raw, raw.headers, parsed)
33
+ raise ValueError("Validated response has no generated success binding.")
34
+
35
+ @classmethod
36
+ def dispatch(
37
+ cls, transport: Transport, _request: RequestValues
38
+ ) -> Response[UserResponse]:
39
+ """Convert validated CLI inputs and call the explicitly typed method."""
40
+ return cls.execute(
41
+ transport=transport,
42
+ )
@@ -0,0 +1,141 @@
1
+ """Generated static endpoint dispatch; regenerate to change."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from collections.abc import Callable, Mapping
6
+ from types import MappingProxyType
7
+ from typing import ClassVar
8
+
9
+ from ynab_api_cli.generated.api.accounts import create_account as operation1
10
+ from ynab_api_cli.generated.api.accounts import get_account_by_id as operation2
11
+ from ynab_api_cli.generated.api.accounts import get_accounts as operation3
12
+ from ynab_api_cli.generated.api.categories import create_category as operation5
13
+ from ynab_api_cli.generated.api.categories import create_category_group as operation6
14
+ from ynab_api_cli.generated.api.categories import get_categories as operation7
15
+ from ynab_api_cli.generated.api.categories import get_category_by_id as operation8
16
+ from ynab_api_cli.generated.api.categories import get_month_category_by_id as operation9
17
+ from ynab_api_cli.generated.api.categories import update_category as operation10
18
+ from ynab_api_cli.generated.api.categories import update_category_group as operation11
19
+ from ynab_api_cli.generated.api.categories import update_month_category as operation12
20
+ from ynab_api_cli.generated.api.money_movements import (
21
+ get_money_movement_groups as operation14,
22
+ )
23
+ from ynab_api_cli.generated.api.money_movements import (
24
+ get_money_movement_groups_by_month as operation15,
25
+ )
26
+ from ynab_api_cli.generated.api.money_movements import (
27
+ get_money_movements as operation16,
28
+ )
29
+ from ynab_api_cli.generated.api.money_movements import (
30
+ get_money_movements_by_month as operation17,
31
+ )
32
+ from ynab_api_cli.generated.api.months import get_plan_month as operation19
33
+ from ynab_api_cli.generated.api.months import get_plan_months as operation20
34
+ from ynab_api_cli.generated.api.payee_locations import (
35
+ get_payee_location_by_id as operation22,
36
+ )
37
+ from ynab_api_cli.generated.api.payee_locations import (
38
+ get_payee_locations as operation23,
39
+ )
40
+ from ynab_api_cli.generated.api.payee_locations import (
41
+ get_payee_locations_by_payee as operation24,
42
+ )
43
+ from ynab_api_cli.generated.api.payees import create_payee as operation26
44
+ from ynab_api_cli.generated.api.payees import get_payee_by_id as operation27
45
+ from ynab_api_cli.generated.api.payees import get_payees as operation28
46
+ from ynab_api_cli.generated.api.payees import update_payee as operation29
47
+ from ynab_api_cli.generated.api.plans import get_plan_by_id as operation31
48
+ from ynab_api_cli.generated.api.plans import get_plan_settings_by_id as operation32
49
+ from ynab_api_cli.generated.api.plans import get_plans as operation33
50
+ from ynab_api_cli.generated.api.scheduled_transactions import (
51
+ create_scheduled_transaction as operation35,
52
+ )
53
+ from ynab_api_cli.generated.api.scheduled_transactions import (
54
+ delete_scheduled_transaction as operation36,
55
+ )
56
+ from ynab_api_cli.generated.api.scheduled_transactions import (
57
+ get_scheduled_transaction_by_id as operation37,
58
+ )
59
+ from ynab_api_cli.generated.api.scheduled_transactions import (
60
+ get_scheduled_transactions as operation38,
61
+ )
62
+ from ynab_api_cli.generated.api.scheduled_transactions import (
63
+ update_scheduled_transaction as operation39,
64
+ )
65
+ from ynab_api_cli.generated.api.transactions import create_transaction as operation41
66
+ from ynab_api_cli.generated.api.transactions import delete_transaction as operation42
67
+ from ynab_api_cli.generated.api.transactions import get_transaction_by_id as operation43
68
+ from ynab_api_cli.generated.api.transactions import get_transactions as operation44
69
+ from ynab_api_cli.generated.api.transactions import (
70
+ get_transactions_by_account as operation45,
71
+ )
72
+ from ynab_api_cli.generated.api.transactions import (
73
+ get_transactions_by_category as operation46,
74
+ )
75
+ from ynab_api_cli.generated.api.transactions import (
76
+ get_transactions_by_month as operation47,
77
+ )
78
+ from ynab_api_cli.generated.api.transactions import (
79
+ get_transactions_by_payee as operation48,
80
+ )
81
+ from ynab_api_cli.generated.api.transactions import import_transactions as operation49
82
+ from ynab_api_cli.generated.api.transactions import update_transaction as operation50
83
+ from ynab_api_cli.generated.api.transactions import update_transactions as operation51
84
+ from ynab_api_cli.generated.api.user import get_user as operation53
85
+ from ynab_api_cli.transport import Transport
86
+ from ynab_api_cli.types import RequestValues, Response
87
+
88
+
89
+ class Bindings:
90
+ """Statically reference every generated typed operation."""
91
+
92
+ operations: ClassVar[
93
+ Mapping[str, Callable[[Transport, RequestValues], Response[object]]]
94
+ ] = MappingProxyType(
95
+ {
96
+ "create_account": operation1.Endpoint.dispatch,
97
+ "get_account_by_id": operation2.Endpoint.dispatch,
98
+ "get_accounts": operation3.Endpoint.dispatch,
99
+ "create_category": operation5.Endpoint.dispatch,
100
+ "create_category_group": operation6.Endpoint.dispatch,
101
+ "get_categories": operation7.Endpoint.dispatch,
102
+ "get_category_by_id": operation8.Endpoint.dispatch,
103
+ "get_month_category_by_id": operation9.Endpoint.dispatch,
104
+ "update_category": operation10.Endpoint.dispatch,
105
+ "update_category_group": operation11.Endpoint.dispatch,
106
+ "update_month_category": operation12.Endpoint.dispatch,
107
+ "get_money_movement_groups": operation14.Endpoint.dispatch,
108
+ "get_money_movement_groups_by_month": operation15.Endpoint.dispatch,
109
+ "get_money_movements": operation16.Endpoint.dispatch,
110
+ "get_money_movements_by_month": operation17.Endpoint.dispatch,
111
+ "get_plan_month": operation19.Endpoint.dispatch,
112
+ "get_plan_months": operation20.Endpoint.dispatch,
113
+ "get_payee_location_by_id": operation22.Endpoint.dispatch,
114
+ "get_payee_locations": operation23.Endpoint.dispatch,
115
+ "get_payee_locations_by_payee": operation24.Endpoint.dispatch,
116
+ "create_payee": operation26.Endpoint.dispatch,
117
+ "get_payee_by_id": operation27.Endpoint.dispatch,
118
+ "get_payees": operation28.Endpoint.dispatch,
119
+ "update_payee": operation29.Endpoint.dispatch,
120
+ "get_plan_by_id": operation31.Endpoint.dispatch,
121
+ "get_plan_settings_by_id": operation32.Endpoint.dispatch,
122
+ "get_plans": operation33.Endpoint.dispatch,
123
+ "create_scheduled_transaction": operation35.Endpoint.dispatch,
124
+ "delete_scheduled_transaction": operation36.Endpoint.dispatch,
125
+ "get_scheduled_transaction_by_id": operation37.Endpoint.dispatch,
126
+ "get_scheduled_transactions": operation38.Endpoint.dispatch,
127
+ "update_scheduled_transaction": operation39.Endpoint.dispatch,
128
+ "create_transaction": operation41.Endpoint.dispatch,
129
+ "delete_transaction": operation42.Endpoint.dispatch,
130
+ "get_transaction_by_id": operation43.Endpoint.dispatch,
131
+ "get_transactions": operation44.Endpoint.dispatch,
132
+ "get_transactions_by_account": operation45.Endpoint.dispatch,
133
+ "get_transactions_by_category": operation46.Endpoint.dispatch,
134
+ "get_transactions_by_month": operation47.Endpoint.dispatch,
135
+ "get_transactions_by_payee": operation48.Endpoint.dispatch,
136
+ "import_transactions": operation49.Endpoint.dispatch,
137
+ "update_transaction": operation50.Endpoint.dispatch,
138
+ "update_transactions": operation51.Endpoint.dispatch,
139
+ "get_user": operation53.Endpoint.dispatch,
140
+ }
141
+ )