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.
- ynab_api_cli/__init__.py +3 -0
- ynab_api_cli/__main__.py +266 -0
- ynab_api_cli/cli.py +171 -0
- ynab_api_cli/compat.py +120 -0
- ynab_api_cli/config.py +110 -0
- ynab_api_cli/contract.py +197 -0
- ynab_api_cli/contract_testing.py +141 -0
- ynab_api_cli/development.py +269 -0
- ynab_api_cli/distribution.py +123 -0
- ynab_api_cli/exceptions.py +7 -0
- ynab_api_cli/generated/__init__.py +3 -0
- ynab_api_cli/generated/api/__init__.py +3 -0
- ynab_api_cli/generated/api/accounts/__init__.py +3 -0
- ynab_api_cli/generated/api/accounts/create_account.py +54 -0
- ynab_api_cli/generated/api/accounts/get_account_by_id.py +53 -0
- ynab_api_cli/generated/api/accounts/get_accounts.py +57 -0
- ynab_api_cli/generated/api/categories/__init__.py +3 -0
- ynab_api_cli/generated/api/categories/create_category.py +54 -0
- ynab_api_cli/generated/api/categories/create_category_group.py +58 -0
- ynab_api_cli/generated/api/categories/get_categories.py +57 -0
- ynab_api_cli/generated/api/categories/get_category_by_id.py +52 -0
- ynab_api_cli/generated/api/categories/get_month_category_by_id.py +58 -0
- ynab_api_cli/generated/api/categories/update_category.py +57 -0
- ynab_api_cli/generated/api/categories/update_category_group.py +63 -0
- ynab_api_cli/generated/api/categories/update_month_category.py +65 -0
- ynab_api_cli/generated/api/money_movements/__init__.py +3 -0
- ynab_api_cli/generated/api/money_movements/get_money_movement_groups.py +51 -0
- ynab_api_cli/generated/api/money_movements/get_money_movement_groups_by_month.py +57 -0
- ynab_api_cli/generated/api/money_movements/get_money_movements.py +51 -0
- ynab_api_cli/generated/api/money_movements/get_money_movements_by_month.py +57 -0
- ynab_api_cli/generated/api/months/__init__.py +3 -0
- ynab_api_cli/generated/api/months/get_plan_month.py +55 -0
- ynab_api_cli/generated/api/months/get_plan_months.py +59 -0
- ynab_api_cli/generated/api/payee_locations/__init__.py +3 -0
- ynab_api_cli/generated/api/payee_locations/get_payee_location_by_id.py +54 -0
- ynab_api_cli/generated/api/payee_locations/get_payee_locations.py +51 -0
- ynab_api_cli/generated/api/payee_locations/get_payee_locations_by_payee.py +54 -0
- ynab_api_cli/generated/api/payees/__init__.py +3 -0
- ynab_api_cli/generated/api/payees/create_payee.py +54 -0
- ynab_api_cli/generated/api/payees/get_payee_by_id.py +52 -0
- ynab_api_cli/generated/api/payees/get_payees.py +57 -0
- ynab_api_cli/generated/api/payees/update_payee.py +57 -0
- ynab_api_cli/generated/api/plans/__init__.py +3 -0
- ynab_api_cli/generated/api/plans/get_plan_by_id.py +57 -0
- ynab_api_cli/generated/api/plans/get_plan_settings_by_id.py +49 -0
- ynab_api_cli/generated/api/plans/get_plans.py +51 -0
- ynab_api_cli/generated/api/scheduled_transactions/__init__.py +3 -0
- ynab_api_cli/generated/api/scheduled_transactions/create_scheduled_transaction.py +58 -0
- ynab_api_cli/generated/api/scheduled_transactions/delete_scheduled_transaction.py +56 -0
- ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transaction_by_id.py +56 -0
- ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transactions.py +59 -0
- ynab_api_cli/generated/api/scheduled_transactions/update_scheduled_transaction.py +63 -0
- ynab_api_cli/generated/api/transactions/__init__.py +3 -0
- ynab_api_cli/generated/api/transactions/create_transaction.py +58 -0
- ynab_api_cli/generated/api/transactions/delete_transaction.py +54 -0
- ynab_api_cli/generated/api/transactions/get_transaction_by_id.py +54 -0
- ynab_api_cli/generated/api/transactions/get_transactions.py +80 -0
- ynab_api_cli/generated/api/transactions/get_transactions_by_account.py +87 -0
- ynab_api_cli/generated/api/transactions/get_transactions_by_category.py +89 -0
- ynab_api_cli/generated/api/transactions/get_transactions_by_month.py +87 -0
- ynab_api_cli/generated/api/transactions/get_transactions_by_payee.py +89 -0
- ynab_api_cli/generated/api/transactions/import_transactions.py +54 -0
- ynab_api_cli/generated/api/transactions/update_transaction.py +59 -0
- ynab_api_cli/generated/api/transactions/update_transactions.py +58 -0
- ynab_api_cli/generated/api/user/__init__.py +3 -0
- ynab_api_cli/generated/api/user/get_user.py +42 -0
- ynab_api_cli/generated/bindings.py +141 -0
- ynab_api_cli/generated/models/__init__.py +416 -0
- ynab_api_cli/generated/models/account.py +71 -0
- ynab_api_cli/generated/models/account_base.py +57 -0
- ynab_api_cli/generated/models/account_response.py +19 -0
- ynab_api_cli/generated/models/account_response_data.py +19 -0
- ynab_api_cli/generated/models/account_type.py +23 -0
- ynab_api_cli/generated/models/accounts_response.py +21 -0
- ynab_api_cli/generated/models/accounts_response_data.py +20 -0
- ynab_api_cli/generated/models/bulk_response.py +19 -0
- ynab_api_cli/generated/models/bulk_response_data.py +21 -0
- ynab_api_cli/generated/models/bulk_response_data_bulk.py +15 -0
- ynab_api_cli/generated/models/bulk_transactions.py +21 -0
- ynab_api_cli/generated/models/categories_response.py +21 -0
- ynab_api_cli/generated/models/categories_response_data.py +22 -0
- ynab_api_cli/generated/models/category.py +104 -0
- ynab_api_cli/generated/models/category_base.py +74 -0
- ynab_api_cli/generated/models/category_group.py +20 -0
- ynab_api_cli/generated/models/category_group_with_categories.py +25 -0
- ynab_api_cli/generated/models/category_response.py +21 -0
- ynab_api_cli/generated/models/category_response_data.py +19 -0
- ynab_api_cli/generated/models/currency_format_type_0.py +21 -0
- ynab_api_cli/generated/models/date_format_type_0.py +14 -0
- ynab_api_cli/generated/models/debt_1.py +18 -0
- ynab_api_cli/generated/models/debt_2.py +18 -0
- ynab_api_cli/generated/models/debt_3.py +18 -0
- ynab_api_cli/generated/models/error_detail.py +16 -0
- ynab_api_cli/generated/models/error_response.py +19 -0
- ynab_api_cli/generated/models/existing_category.py +34 -0
- ynab_api_cli/generated/models/existing_transaction.py +43 -0
- ynab_api_cli/generated/models/flag_1.py +17 -0
- ynab_api_cli/generated/models/flag_2.py +17 -0
- ynab_api_cli/generated/models/flag_3.py +17 -0
- ynab_api_cli/generated/models/get_transactions_by_account_type.py +12 -0
- ynab_api_cli/generated/models/get_transactions_by_category_type.py +12 -0
- ynab_api_cli/generated/models/get_transactions_by_month_type.py +12 -0
- ynab_api_cli/generated/models/get_transactions_by_payee_type.py +12 -0
- ynab_api_cli/generated/models/get_transactions_type.py +12 -0
- ynab_api_cli/generated/models/goal_1.py +15 -0
- ynab_api_cli/generated/models/goal_2.py +15 -0
- ynab_api_cli/generated/models/goal_3.py +15 -0
- ynab_api_cli/generated/models/hybrid_transaction.py +70 -0
- ynab_api_cli/generated/models/hybrid_transaction_type.py +12 -0
- ynab_api_cli/generated/models/hybrid_transactions_response.py +21 -0
- ynab_api_cli/generated/models/hybrid_transactions_response_data.py +22 -0
- ynab_api_cli/generated/models/loan_account_periodic_value_type_0.py +33 -0
- ynab_api_cli/generated/models/money_movement.py +35 -0
- ynab_api_cli/generated/models/money_movement_base.py +33 -0
- ynab_api_cli/generated/models/money_movement_group.py +25 -0
- ynab_api_cli/generated/models/money_movement_groups_response.py +21 -0
- ynab_api_cli/generated/models/money_movement_groups_response_data.py +22 -0
- ynab_api_cli/generated/models/money_movements_response.py +21 -0
- ynab_api_cli/generated/models/money_movements_response_data.py +20 -0
- ynab_api_cli/generated/models/month_detail.py +42 -0
- ynab_api_cli/generated/models/month_detail_base.py +30 -0
- ynab_api_cli/generated/models/month_detail_response.py +21 -0
- ynab_api_cli/generated/models/month_detail_response_data.py +19 -0
- ynab_api_cli/generated/models/month_summaries_response.py +21 -0
- ynab_api_cli/generated/models/month_summaries_response_data.py +20 -0
- ynab_api_cli/generated/models/month_summary.py +37 -0
- ynab_api_cli/generated/models/month_summary_base.py +25 -0
- ynab_api_cli/generated/models/new_category.py +34 -0
- ynab_api_cli/generated/models/new_transaction.py +44 -0
- ynab_api_cli/generated/models/patch_category_group_wrapper.py +19 -0
- ynab_api_cli/generated/models/patch_category_wrapper.py +19 -0
- ynab_api_cli/generated/models/patch_month_category_wrapper.py +19 -0
- ynab_api_cli/generated/models/patch_payee_wrapper.py +19 -0
- ynab_api_cli/generated/models/patch_transactions_wrapper.py +21 -0
- ynab_api_cli/generated/models/payee.py +23 -0
- ynab_api_cli/generated/models/payee_location.py +20 -0
- ynab_api_cli/generated/models/payee_location_response.py +21 -0
- ynab_api_cli/generated/models/payee_location_response_data.py +19 -0
- ynab_api_cli/generated/models/payee_locations_response.py +21 -0
- ynab_api_cli/generated/models/payee_locations_response_data.py +19 -0
- ynab_api_cli/generated/models/payee_response.py +19 -0
- ynab_api_cli/generated/models/payee_response_data.py +19 -0
- ynab_api_cli/generated/models/payees_response.py +19 -0
- ynab_api_cli/generated/models/payees_response_data.py +20 -0
- ynab_api_cli/generated/models/plan_detail.py +74 -0
- ynab_api_cli/generated/models/plan_detail_response.py +21 -0
- ynab_api_cli/generated/models/plan_detail_response_data.py +20 -0
- ynab_api_cli/generated/models/plan_settings.py +21 -0
- ynab_api_cli/generated/models/plan_settings_response.py +21 -0
- ynab_api_cli/generated/models/plan_settings_response_data.py +19 -0
- ynab_api_cli/generated/models/plan_summary.py +38 -0
- ynab_api_cli/generated/models/plan_summary_response.py +21 -0
- ynab_api_cli/generated/models/plan_summary_response_data.py +24 -0
- ynab_api_cli/generated/models/post_account_wrapper.py +19 -0
- ynab_api_cli/generated/models/post_category_group_wrapper.py +19 -0
- ynab_api_cli/generated/models/post_category_wrapper.py +19 -0
- ynab_api_cli/generated/models/post_payee.py +14 -0
- ynab_api_cli/generated/models/post_payee_wrapper.py +19 -0
- ynab_api_cli/generated/models/post_scheduled_transaction_wrapper.py +23 -0
- ynab_api_cli/generated/models/post_transactions_wrapper.py +24 -0
- ynab_api_cli/generated/models/put_scheduled_transaction_wrapper.py +23 -0
- ynab_api_cli/generated/models/put_transaction_wrapper.py +19 -0
- ynab_api_cli/generated/models/save_account.py +18 -0
- ynab_api_cli/generated/models/save_account_type.py +16 -0
- ynab_api_cli/generated/models/save_category.py +34 -0
- ynab_api_cli/generated/models/save_category_goal_frequency.py +13 -0
- ynab_api_cli/generated/models/save_category_group.py +14 -0
- ynab_api_cli/generated/models/save_category_group_response.py +21 -0
- ynab_api_cli/generated/models/save_category_group_response_data.py +20 -0
- ynab_api_cli/generated/models/save_category_response.py +21 -0
- ynab_api_cli/generated/models/save_category_response_data.py +20 -0
- ynab_api_cli/generated/models/save_month_category.py +14 -0
- ynab_api_cli/generated/models/save_payee.py +16 -0
- ynab_api_cli/generated/models/save_payee_response.py +21 -0
- ynab_api_cli/generated/models/save_payee_response_data.py +20 -0
- ynab_api_cli/generated/models/save_scheduled_transaction.py +37 -0
- ynab_api_cli/generated/models/save_sub_transaction.py +22 -0
- ynab_api_cli/generated/models/save_transaction_with_id_or_import_id.py +45 -0
- ynab_api_cli/generated/models/save_transaction_with_optional_fields.py +43 -0
- ynab_api_cli/generated/models/save_transactions_response.py +21 -0
- ynab_api_cli/generated/models/save_transactions_response_data.py +29 -0
- ynab_api_cli/generated/models/scheduled_sub_transaction.py +31 -0
- ynab_api_cli/generated/models/scheduled_sub_transaction_base.py +29 -0
- ynab_api_cli/generated/models/scheduled_transaction_detail.py +53 -0
- ynab_api_cli/generated/models/scheduled_transaction_frequency.py +23 -0
- ynab_api_cli/generated/models/scheduled_transaction_response.py +21 -0
- ynab_api_cli/generated/models/scheduled_transaction_response_data.py +23 -0
- ynab_api_cli/generated/models/scheduled_transaction_summary.py +43 -0
- ynab_api_cli/generated/models/scheduled_transaction_summary_base.py +41 -0
- ynab_api_cli/generated/models/scheduled_transaction_summary_base_frequency.py +23 -0
- ynab_api_cli/generated/models/scheduled_transactions_response.py +21 -0
- ynab_api_cli/generated/models/scheduled_transactions_response_data.py +24 -0
- ynab_api_cli/generated/models/sub_transaction.py +34 -0
- ynab_api_cli/generated/models/sub_transaction_base.py +32 -0
- ynab_api_cli/generated/models/transaction_cleared_status.py +13 -0
- ynab_api_cli/generated/models/transaction_detail.py +70 -0
- ynab_api_cli/generated/models/transaction_response.py +21 -0
- ynab_api_cli/generated/models/transaction_response_data.py +20 -0
- ynab_api_cli/generated/models/transaction_summary.py +62 -0
- ynab_api_cli/generated/models/transaction_summary_base.py +60 -0
- ynab_api_cli/generated/models/transactions_import_response.py +21 -0
- ynab_api_cli/generated/models/transactions_import_response_data.py +14 -0
- ynab_api_cli/generated/models/transactions_response.py +21 -0
- ynab_api_cli/generated/models/transactions_response_data.py +20 -0
- ynab_api_cli/generated/models/user.py +16 -0
- ynab_api_cli/generated/models/user_response.py +19 -0
- ynab_api_cli/generated/models/user_response_data.py +19 -0
- ynab_api_cli/live.py +449 -0
- ynab_api_cli/py.typed +0 -0
- ynab_api_cli/resources/__init__.py +3 -0
- ynab_api_cli/resources/catalog.json +178 -0
- ynab_api_cli/resources/openapi.yaml +4035 -0
- ynab_api_cli/resources/provenance.json +9 -0
- ynab_api_cli/resources/schema_features.json +913 -0
- ynab_api_cli/resources/skill/SKILL.md +21 -0
- ynab_api_cli/resources/skill/references/operations.md +36 -0
- ynab_api_cli/resources/skill/references/setup.md +32 -0
- ynab_api_cli/security.py +83 -0
- ynab_api_cli/transport.py +133 -0
- ynab_api_cli/types.py +110 -0
- ynab_api_cli/verification.py +167 -0
- ynab_api_cli-0.1.0.dist-info/METADATA +90 -0
- ynab_api_cli-0.1.0.dist-info/RECORD +225 -0
- ynab_api_cli-0.1.0.dist-info/WHEEL +4 -0
- ynab_api_cli-0.1.0.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,63 @@
|
|
|
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_category_group_wrapper import (
|
|
11
|
+
PatchCategoryGroupWrapper,
|
|
12
|
+
)
|
|
13
|
+
from ynab_api_cli.generated.models.save_category_group_response import (
|
|
14
|
+
SaveCategoryGroupResponse,
|
|
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 updateCategoryGroup operation."""
|
|
22
|
+
|
|
23
|
+
@classmethod
|
|
24
|
+
def execute(
|
|
25
|
+
cls,
|
|
26
|
+
*,
|
|
27
|
+
transport: Transport,
|
|
28
|
+
plan_id: str,
|
|
29
|
+
category_group_id: str,
|
|
30
|
+
body: PatchCategoryGroupWrapper,
|
|
31
|
+
) -> Response[ErrorResponse | SaveCategoryGroupResponse]:
|
|
32
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
33
|
+
raw = transport.send(
|
|
34
|
+
"updateCategoryGroup",
|
|
35
|
+
RequestValues(
|
|
36
|
+
path={
|
|
37
|
+
"plan_id": plan_id,
|
|
38
|
+
"category_group_id": category_group_id,
|
|
39
|
+
},
|
|
40
|
+
query={},
|
|
41
|
+
body=body,
|
|
42
|
+
),
|
|
43
|
+
)
|
|
44
|
+
if raw.status == HTTPStatus.OK:
|
|
45
|
+
parsed = SaveCategoryGroupResponse.model_validate(raw.raw)
|
|
46
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
47
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def dispatch(
|
|
51
|
+
cls, transport: Transport, request: RequestValues
|
|
52
|
+
) -> Response[ErrorResponse | SaveCategoryGroupResponse]:
|
|
53
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
54
|
+
return cls.execute(
|
|
55
|
+
transport=transport,
|
|
56
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
57
|
+
category_group_id=request.value(
|
|
58
|
+
"path", "category_group_id", TypeAdapter[str](str)
|
|
59
|
+
),
|
|
60
|
+
body=TypeAdapter[PatchCategoryGroupWrapper](
|
|
61
|
+
PatchCategoryGroupWrapper
|
|
62
|
+
).validate_python(request.body),
|
|
63
|
+
)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""Generated typed REST endpoint; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from http import HTTPStatus
|
|
7
|
+
|
|
8
|
+
from pydantic import TypeAdapter
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.generated.models.error_response import ErrorResponse
|
|
11
|
+
from ynab_api_cli.generated.models.patch_month_category_wrapper import (
|
|
12
|
+
PatchMonthCategoryWrapper,
|
|
13
|
+
)
|
|
14
|
+
from ynab_api_cli.generated.models.save_category_response import SaveCategoryResponse
|
|
15
|
+
from ynab_api_cli.transport import Transport
|
|
16
|
+
from ynab_api_cli.types import RequestValues, Response
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Endpoint:
|
|
20
|
+
"""Typed updateMonthCategory operation."""
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def execute(
|
|
24
|
+
cls,
|
|
25
|
+
*,
|
|
26
|
+
transport: Transport,
|
|
27
|
+
plan_id: str,
|
|
28
|
+
month: datetime.date,
|
|
29
|
+
category_id: str,
|
|
30
|
+
body: PatchMonthCategoryWrapper,
|
|
31
|
+
) -> Response[ErrorResponse | SaveCategoryResponse]:
|
|
32
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
33
|
+
raw = transport.send(
|
|
34
|
+
"updateMonthCategory",
|
|
35
|
+
RequestValues(
|
|
36
|
+
path={
|
|
37
|
+
"plan_id": plan_id,
|
|
38
|
+
"month": month,
|
|
39
|
+
"category_id": category_id,
|
|
40
|
+
},
|
|
41
|
+
query={},
|
|
42
|
+
body=body,
|
|
43
|
+
),
|
|
44
|
+
)
|
|
45
|
+
if raw.status == HTTPStatus.OK:
|
|
46
|
+
parsed = SaveCategoryResponse.model_validate(raw.raw)
|
|
47
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
48
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def dispatch(
|
|
52
|
+
cls, transport: Transport, request: RequestValues
|
|
53
|
+
) -> Response[ErrorResponse | SaveCategoryResponse]:
|
|
54
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
55
|
+
return cls.execute(
|
|
56
|
+
transport=transport,
|
|
57
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
58
|
+
month=request.value(
|
|
59
|
+
"path", "month", TypeAdapter[datetime.date](datetime.date)
|
|
60
|
+
),
|
|
61
|
+
category_id=request.value("path", "category_id", TypeAdapter[str](str)),
|
|
62
|
+
body=TypeAdapter[PatchMonthCategoryWrapper](
|
|
63
|
+
PatchMonthCategoryWrapper
|
|
64
|
+
).validate_python(request.body),
|
|
65
|
+
)
|
|
@@ -0,0 +1,51 @@
|
|
|
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.money_movement_groups_response import (
|
|
11
|
+
MoneyMovementGroupsResponse,
|
|
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 getMoneyMovementGroups operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
) -> Response[ErrorResponse | MoneyMovementGroupsResponse]:
|
|
27
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
28
|
+
raw = transport.send(
|
|
29
|
+
"getMoneyMovementGroups",
|
|
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 = MoneyMovementGroupsResponse.model_validate(raw.raw)
|
|
40
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
41
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
42
|
+
|
|
43
|
+
@classmethod
|
|
44
|
+
def dispatch(
|
|
45
|
+
cls, transport: Transport, request: RequestValues
|
|
46
|
+
) -> Response[ErrorResponse | MoneyMovementGroupsResponse]:
|
|
47
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
48
|
+
return cls.execute(
|
|
49
|
+
transport=transport,
|
|
50
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
51
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Generated typed REST endpoint; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from http import HTTPStatus
|
|
7
|
+
|
|
8
|
+
from pydantic import TypeAdapter
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.generated.models.error_response import ErrorResponse
|
|
11
|
+
from ynab_api_cli.generated.models.money_movement_groups_response import (
|
|
12
|
+
MoneyMovementGroupsResponse,
|
|
13
|
+
)
|
|
14
|
+
from ynab_api_cli.transport import Transport
|
|
15
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Endpoint:
|
|
19
|
+
"""Typed getMoneyMovementGroupsByMonth operation."""
|
|
20
|
+
|
|
21
|
+
@classmethod
|
|
22
|
+
def execute(
|
|
23
|
+
cls,
|
|
24
|
+
*,
|
|
25
|
+
transport: Transport,
|
|
26
|
+
plan_id: str,
|
|
27
|
+
month: datetime.date,
|
|
28
|
+
) -> Response[ErrorResponse | MoneyMovementGroupsResponse]:
|
|
29
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
30
|
+
raw = transport.send(
|
|
31
|
+
"getMoneyMovementGroupsByMonth",
|
|
32
|
+
RequestValues(
|
|
33
|
+
path={
|
|
34
|
+
"plan_id": plan_id,
|
|
35
|
+
"month": month,
|
|
36
|
+
},
|
|
37
|
+
query={},
|
|
38
|
+
body=UNSET,
|
|
39
|
+
),
|
|
40
|
+
)
|
|
41
|
+
if raw.status == HTTPStatus.OK:
|
|
42
|
+
parsed = MoneyMovementGroupsResponse.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 | MoneyMovementGroupsResponse]:
|
|
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
|
+
month=request.value(
|
|
55
|
+
"path", "month", TypeAdapter[datetime.date](datetime.date)
|
|
56
|
+
),
|
|
57
|
+
)
|
|
@@ -0,0 +1,51 @@
|
|
|
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.money_movements_response import (
|
|
11
|
+
MoneyMovementsResponse,
|
|
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 getMoneyMovements operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
) -> Response[ErrorResponse | MoneyMovementsResponse]:
|
|
27
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
28
|
+
raw = transport.send(
|
|
29
|
+
"getMoneyMovements",
|
|
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 = MoneyMovementsResponse.model_validate(raw.raw)
|
|
40
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
41
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
42
|
+
|
|
43
|
+
@classmethod
|
|
44
|
+
def dispatch(
|
|
45
|
+
cls, transport: Transport, request: RequestValues
|
|
46
|
+
) -> Response[ErrorResponse | MoneyMovementsResponse]:
|
|
47
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
48
|
+
return cls.execute(
|
|
49
|
+
transport=transport,
|
|
50
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
51
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Generated typed REST endpoint; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from http import HTTPStatus
|
|
7
|
+
|
|
8
|
+
from pydantic import TypeAdapter
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.generated.models.error_response import ErrorResponse
|
|
11
|
+
from ynab_api_cli.generated.models.money_movements_response import (
|
|
12
|
+
MoneyMovementsResponse,
|
|
13
|
+
)
|
|
14
|
+
from ynab_api_cli.transport import Transport
|
|
15
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Endpoint:
|
|
19
|
+
"""Typed getMoneyMovementsByMonth operation."""
|
|
20
|
+
|
|
21
|
+
@classmethod
|
|
22
|
+
def execute(
|
|
23
|
+
cls,
|
|
24
|
+
*,
|
|
25
|
+
transport: Transport,
|
|
26
|
+
plan_id: str,
|
|
27
|
+
month: datetime.date,
|
|
28
|
+
) -> Response[ErrorResponse | MoneyMovementsResponse]:
|
|
29
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
30
|
+
raw = transport.send(
|
|
31
|
+
"getMoneyMovementsByMonth",
|
|
32
|
+
RequestValues(
|
|
33
|
+
path={
|
|
34
|
+
"plan_id": plan_id,
|
|
35
|
+
"month": month,
|
|
36
|
+
},
|
|
37
|
+
query={},
|
|
38
|
+
body=UNSET,
|
|
39
|
+
),
|
|
40
|
+
)
|
|
41
|
+
if raw.status == HTTPStatus.OK:
|
|
42
|
+
parsed = MoneyMovementsResponse.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 | MoneyMovementsResponse]:
|
|
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
|
+
month=request.value(
|
|
55
|
+
"path", "month", TypeAdapter[datetime.date](datetime.date)
|
|
56
|
+
),
|
|
57
|
+
)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""Generated typed REST endpoint; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from http import HTTPStatus
|
|
7
|
+
|
|
8
|
+
from pydantic import TypeAdapter
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.generated.models.error_response import ErrorResponse
|
|
11
|
+
from ynab_api_cli.generated.models.month_detail_response import MonthDetailResponse
|
|
12
|
+
from ynab_api_cli.transport import Transport
|
|
13
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Endpoint:
|
|
17
|
+
"""Typed getPlanMonth operation."""
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def execute(
|
|
21
|
+
cls,
|
|
22
|
+
*,
|
|
23
|
+
transport: Transport,
|
|
24
|
+
plan_id: str,
|
|
25
|
+
month: datetime.date,
|
|
26
|
+
) -> Response[ErrorResponse | MonthDetailResponse]:
|
|
27
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
28
|
+
raw = transport.send(
|
|
29
|
+
"getPlanMonth",
|
|
30
|
+
RequestValues(
|
|
31
|
+
path={
|
|
32
|
+
"plan_id": plan_id,
|
|
33
|
+
"month": month,
|
|
34
|
+
},
|
|
35
|
+
query={},
|
|
36
|
+
body=UNSET,
|
|
37
|
+
),
|
|
38
|
+
)
|
|
39
|
+
if raw.status == HTTPStatus.OK:
|
|
40
|
+
parsed = MonthDetailResponse.model_validate(raw.raw)
|
|
41
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
42
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def dispatch(
|
|
46
|
+
cls, transport: Transport, request: RequestValues
|
|
47
|
+
) -> Response[ErrorResponse | MonthDetailResponse]:
|
|
48
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
49
|
+
return cls.execute(
|
|
50
|
+
transport=transport,
|
|
51
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
52
|
+
month=request.value(
|
|
53
|
+
"path", "month", TypeAdapter[datetime.date](datetime.date)
|
|
54
|
+
),
|
|
55
|
+
)
|
|
@@ -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.month_summaries_response import (
|
|
11
|
+
MonthSummariesResponse,
|
|
12
|
+
)
|
|
13
|
+
from ynab_api_cli.transport import Transport
|
|
14
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response, Unset
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Endpoint:
|
|
18
|
+
"""Typed getPlanMonths operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
last_knowledge_of_server: int | Unset = UNSET,
|
|
27
|
+
) -> Response[ErrorResponse | MonthSummariesResponse]:
|
|
28
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
29
|
+
raw = transport.send(
|
|
30
|
+
"getPlanMonths",
|
|
31
|
+
RequestValues(
|
|
32
|
+
path={
|
|
33
|
+
"plan_id": plan_id,
|
|
34
|
+
},
|
|
35
|
+
query={
|
|
36
|
+
"last_knowledge_of_server": last_knowledge_of_server,
|
|
37
|
+
},
|
|
38
|
+
body=UNSET,
|
|
39
|
+
),
|
|
40
|
+
)
|
|
41
|
+
if raw.status == HTTPStatus.OK:
|
|
42
|
+
parsed = MonthSummariesResponse.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 | MonthSummariesResponse]:
|
|
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
|
+
last_knowledge_of_server=request.value(
|
|
55
|
+
"query",
|
|
56
|
+
"last_knowledge_of_server",
|
|
57
|
+
TypeAdapter[int | Unset](int | Unset),
|
|
58
|
+
),
|
|
59
|
+
)
|
|
@@ -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.payee_location_response import PayeeLocationResponse
|
|
11
|
+
from ynab_api_cli.transport import Transport
|
|
12
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Endpoint:
|
|
16
|
+
"""Typed getPayeeLocationById operation."""
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def execute(
|
|
20
|
+
cls,
|
|
21
|
+
*,
|
|
22
|
+
transport: Transport,
|
|
23
|
+
plan_id: str,
|
|
24
|
+
payee_location_id: str,
|
|
25
|
+
) -> Response[ErrorResponse | PayeeLocationResponse]:
|
|
26
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
27
|
+
raw = transport.send(
|
|
28
|
+
"getPayeeLocationById",
|
|
29
|
+
RequestValues(
|
|
30
|
+
path={
|
|
31
|
+
"plan_id": plan_id,
|
|
32
|
+
"payee_location_id": payee_location_id,
|
|
33
|
+
},
|
|
34
|
+
query={},
|
|
35
|
+
body=UNSET,
|
|
36
|
+
),
|
|
37
|
+
)
|
|
38
|
+
if raw.status == HTTPStatus.OK:
|
|
39
|
+
parsed = PayeeLocationResponse.model_validate(raw.raw)
|
|
40
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
41
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
42
|
+
|
|
43
|
+
@classmethod
|
|
44
|
+
def dispatch(
|
|
45
|
+
cls, transport: Transport, request: RequestValues
|
|
46
|
+
) -> Response[ErrorResponse | PayeeLocationResponse]:
|
|
47
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
48
|
+
return cls.execute(
|
|
49
|
+
transport=transport,
|
|
50
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
51
|
+
payee_location_id=request.value(
|
|
52
|
+
"path", "payee_location_id", TypeAdapter[str](str)
|
|
53
|
+
),
|
|
54
|
+
)
|
|
@@ -0,0 +1,51 @@
|
|
|
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.payee_locations_response import (
|
|
11
|
+
PayeeLocationsResponse,
|
|
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 getPayeeLocations operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
) -> Response[ErrorResponse | PayeeLocationsResponse]:
|
|
27
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
28
|
+
raw = transport.send(
|
|
29
|
+
"getPayeeLocations",
|
|
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 = PayeeLocationsResponse.model_validate(raw.raw)
|
|
40
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
41
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
42
|
+
|
|
43
|
+
@classmethod
|
|
44
|
+
def dispatch(
|
|
45
|
+
cls, transport: Transport, request: RequestValues
|
|
46
|
+
) -> Response[ErrorResponse | PayeeLocationsResponse]:
|
|
47
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
48
|
+
return cls.execute(
|
|
49
|
+
transport=transport,
|
|
50
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
51
|
+
)
|
|
@@ -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.payee_locations_response import (
|
|
11
|
+
PayeeLocationsResponse,
|
|
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 getPayeeLocationsByPayee operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
payee_id: str,
|
|
27
|
+
) -> Response[ErrorResponse | PayeeLocationsResponse]:
|
|
28
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
29
|
+
raw = transport.send(
|
|
30
|
+
"getPayeeLocationsByPayee",
|
|
31
|
+
RequestValues(
|
|
32
|
+
path={
|
|
33
|
+
"plan_id": plan_id,
|
|
34
|
+
"payee_id": payee_id,
|
|
35
|
+
},
|
|
36
|
+
query={},
|
|
37
|
+
body=UNSET,
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
if raw.status == HTTPStatus.OK:
|
|
41
|
+
parsed = PayeeLocationsResponse.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 | PayeeLocationsResponse]:
|
|
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
|
+
payee_id=request.value("path", "payee_id", TypeAdapter[str](str)),
|
|
54
|
+
)
|