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,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.post_payee_wrapper import PostPayeeWrapper
|
|
11
|
+
from ynab_api_cli.generated.models.save_payee_response import SavePayeeResponse
|
|
12
|
+
from ynab_api_cli.transport import Transport
|
|
13
|
+
from ynab_api_cli.types import RequestValues, Response
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Endpoint:
|
|
17
|
+
"""Typed createPayee operation."""
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def execute(
|
|
21
|
+
cls,
|
|
22
|
+
*,
|
|
23
|
+
transport: Transport,
|
|
24
|
+
plan_id: str,
|
|
25
|
+
body: PostPayeeWrapper,
|
|
26
|
+
) -> Response[ErrorResponse | SavePayeeResponse]:
|
|
27
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
28
|
+
raw = transport.send(
|
|
29
|
+
"createPayee",
|
|
30
|
+
RequestValues(
|
|
31
|
+
path={
|
|
32
|
+
"plan_id": plan_id,
|
|
33
|
+
},
|
|
34
|
+
query={},
|
|
35
|
+
body=body,
|
|
36
|
+
),
|
|
37
|
+
)
|
|
38
|
+
if raw.status == HTTPStatus.CREATED:
|
|
39
|
+
parsed = SavePayeeResponse.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 | SavePayeeResponse]:
|
|
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
|
+
body=TypeAdapter[PostPayeeWrapper](PostPayeeWrapper).validate_python(
|
|
52
|
+
request.body
|
|
53
|
+
),
|
|
54
|
+
)
|
|
@@ -0,0 +1,52 @@
|
|
|
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_response import PayeeResponse
|
|
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 getPayeeById operation."""
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def execute(
|
|
20
|
+
cls,
|
|
21
|
+
*,
|
|
22
|
+
transport: Transport,
|
|
23
|
+
plan_id: str,
|
|
24
|
+
payee_id: str,
|
|
25
|
+
) -> Response[ErrorResponse | PayeeResponse]:
|
|
26
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
27
|
+
raw = transport.send(
|
|
28
|
+
"getPayeeById",
|
|
29
|
+
RequestValues(
|
|
30
|
+
path={
|
|
31
|
+
"plan_id": plan_id,
|
|
32
|
+
"payee_id": payee_id,
|
|
33
|
+
},
|
|
34
|
+
query={},
|
|
35
|
+
body=UNSET,
|
|
36
|
+
),
|
|
37
|
+
)
|
|
38
|
+
if raw.status == HTTPStatus.OK:
|
|
39
|
+
parsed = PayeeResponse.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 | PayeeResponse]:
|
|
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_id=request.value("path", "payee_id", TypeAdapter[str](str)),
|
|
52
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
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.payees_response import PayeesResponse
|
|
11
|
+
from ynab_api_cli.transport import Transport
|
|
12
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response, Unset
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Endpoint:
|
|
16
|
+
"""Typed getPayees operation."""
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def execute(
|
|
20
|
+
cls,
|
|
21
|
+
*,
|
|
22
|
+
transport: Transport,
|
|
23
|
+
plan_id: str,
|
|
24
|
+
last_knowledge_of_server: int | Unset = UNSET,
|
|
25
|
+
) -> Response[ErrorResponse | PayeesResponse]:
|
|
26
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
27
|
+
raw = transport.send(
|
|
28
|
+
"getPayees",
|
|
29
|
+
RequestValues(
|
|
30
|
+
path={
|
|
31
|
+
"plan_id": plan_id,
|
|
32
|
+
},
|
|
33
|
+
query={
|
|
34
|
+
"last_knowledge_of_server": last_knowledge_of_server,
|
|
35
|
+
},
|
|
36
|
+
body=UNSET,
|
|
37
|
+
),
|
|
38
|
+
)
|
|
39
|
+
if raw.status == HTTPStatus.OK:
|
|
40
|
+
parsed = PayeesResponse.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 | PayeesResponse]:
|
|
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
|
+
last_knowledge_of_server=request.value(
|
|
53
|
+
"query",
|
|
54
|
+
"last_knowledge_of_server",
|
|
55
|
+
TypeAdapter[int | Unset](int | Unset),
|
|
56
|
+
),
|
|
57
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
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_payee_wrapper import PatchPayeeWrapper
|
|
11
|
+
from ynab_api_cli.generated.models.save_payee_response import SavePayeeResponse
|
|
12
|
+
from ynab_api_cli.transport import Transport
|
|
13
|
+
from ynab_api_cli.types import RequestValues, Response
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Endpoint:
|
|
17
|
+
"""Typed updatePayee operation."""
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def execute(
|
|
21
|
+
cls,
|
|
22
|
+
*,
|
|
23
|
+
transport: Transport,
|
|
24
|
+
plan_id: str,
|
|
25
|
+
payee_id: str,
|
|
26
|
+
body: PatchPayeeWrapper,
|
|
27
|
+
) -> Response[ErrorResponse | SavePayeeResponse]:
|
|
28
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
29
|
+
raw = transport.send(
|
|
30
|
+
"updatePayee",
|
|
31
|
+
RequestValues(
|
|
32
|
+
path={
|
|
33
|
+
"plan_id": plan_id,
|
|
34
|
+
"payee_id": payee_id,
|
|
35
|
+
},
|
|
36
|
+
query={},
|
|
37
|
+
body=body,
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
if raw.status == HTTPStatus.OK:
|
|
41
|
+
parsed = SavePayeeResponse.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 | SavePayeeResponse]:
|
|
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
|
+
body=TypeAdapter[PatchPayeeWrapper](PatchPayeeWrapper).validate_python(
|
|
55
|
+
request.body
|
|
56
|
+
),
|
|
57
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
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.plan_detail_response import PlanDetailResponse
|
|
11
|
+
from ynab_api_cli.transport import Transport
|
|
12
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response, Unset
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Endpoint:
|
|
16
|
+
"""Typed getPlanById operation."""
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def execute(
|
|
20
|
+
cls,
|
|
21
|
+
*,
|
|
22
|
+
transport: Transport,
|
|
23
|
+
plan_id: str,
|
|
24
|
+
last_knowledge_of_server: int | Unset = UNSET,
|
|
25
|
+
) -> Response[ErrorResponse | PlanDetailResponse]:
|
|
26
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
27
|
+
raw = transport.send(
|
|
28
|
+
"getPlanById",
|
|
29
|
+
RequestValues(
|
|
30
|
+
path={
|
|
31
|
+
"plan_id": plan_id,
|
|
32
|
+
},
|
|
33
|
+
query={
|
|
34
|
+
"last_knowledge_of_server": last_knowledge_of_server,
|
|
35
|
+
},
|
|
36
|
+
body=UNSET,
|
|
37
|
+
),
|
|
38
|
+
)
|
|
39
|
+
if raw.status == HTTPStatus.OK:
|
|
40
|
+
parsed = PlanDetailResponse.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 | PlanDetailResponse]:
|
|
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
|
+
last_knowledge_of_server=request.value(
|
|
53
|
+
"query",
|
|
54
|
+
"last_knowledge_of_server",
|
|
55
|
+
TypeAdapter[int | Unset](int | Unset),
|
|
56
|
+
),
|
|
57
|
+
)
|
|
@@ -0,0 +1,49 @@
|
|
|
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.plan_settings_response import PlanSettingsResponse
|
|
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 getPlanSettingsById operation."""
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def execute(
|
|
20
|
+
cls,
|
|
21
|
+
*,
|
|
22
|
+
transport: Transport,
|
|
23
|
+
plan_id: str,
|
|
24
|
+
) -> Response[ErrorResponse | PlanSettingsResponse]:
|
|
25
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
26
|
+
raw = transport.send(
|
|
27
|
+
"getPlanSettingsById",
|
|
28
|
+
RequestValues(
|
|
29
|
+
path={
|
|
30
|
+
"plan_id": plan_id,
|
|
31
|
+
},
|
|
32
|
+
query={},
|
|
33
|
+
body=UNSET,
|
|
34
|
+
),
|
|
35
|
+
)
|
|
36
|
+
if raw.status == HTTPStatus.OK:
|
|
37
|
+
parsed = PlanSettingsResponse.model_validate(raw.raw)
|
|
38
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
39
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def dispatch(
|
|
43
|
+
cls, transport: Transport, request: RequestValues
|
|
44
|
+
) -> Response[ErrorResponse | PlanSettingsResponse]:
|
|
45
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
46
|
+
return cls.execute(
|
|
47
|
+
transport=transport,
|
|
48
|
+
plan_id=request.value("path", "plan_id", TypeAdapter[str](str)),
|
|
49
|
+
)
|
|
@@ -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.plan_summary_response import PlanSummaryResponse
|
|
11
|
+
from ynab_api_cli.transport import Transport
|
|
12
|
+
from ynab_api_cli.types import UNSET, RequestValues, Response, Unset
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Endpoint:
|
|
16
|
+
"""Typed getPlans operation."""
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def execute(
|
|
20
|
+
cls,
|
|
21
|
+
*,
|
|
22
|
+
transport: Transport,
|
|
23
|
+
include_accounts: bool | Unset = UNSET,
|
|
24
|
+
) -> Response[ErrorResponse | PlanSummaryResponse]:
|
|
25
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
26
|
+
raw = transport.send(
|
|
27
|
+
"getPlans",
|
|
28
|
+
RequestValues(
|
|
29
|
+
path={},
|
|
30
|
+
query={
|
|
31
|
+
"include_accounts": include_accounts,
|
|
32
|
+
},
|
|
33
|
+
body=UNSET,
|
|
34
|
+
),
|
|
35
|
+
)
|
|
36
|
+
if raw.status == HTTPStatus.OK:
|
|
37
|
+
parsed = PlanSummaryResponse.model_validate(raw.raw)
|
|
38
|
+
return Response(raw.status, raw.raw, raw.headers, parsed)
|
|
39
|
+
raise ValueError("Validated response has no generated success binding.")
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def dispatch(
|
|
43
|
+
cls, transport: Transport, request: RequestValues
|
|
44
|
+
) -> Response[ErrorResponse | PlanSummaryResponse]:
|
|
45
|
+
"""Convert validated CLI inputs and call the explicitly typed method."""
|
|
46
|
+
return cls.execute(
|
|
47
|
+
transport=transport,
|
|
48
|
+
include_accounts=request.value(
|
|
49
|
+
"query", "include_accounts", TypeAdapter[bool | Unset](bool | Unset)
|
|
50
|
+
),
|
|
51
|
+
)
|
|
@@ -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.post_scheduled_transaction_wrapper import (
|
|
11
|
+
PostScheduledTransactionWrapper,
|
|
12
|
+
)
|
|
13
|
+
from ynab_api_cli.generated.models.scheduled_transaction_response import (
|
|
14
|
+
ScheduledTransactionResponse,
|
|
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 createScheduledTransaction operation."""
|
|
22
|
+
|
|
23
|
+
@classmethod
|
|
24
|
+
def execute(
|
|
25
|
+
cls,
|
|
26
|
+
*,
|
|
27
|
+
transport: Transport,
|
|
28
|
+
plan_id: str,
|
|
29
|
+
body: PostScheduledTransactionWrapper,
|
|
30
|
+
) -> Response[ErrorResponse | ScheduledTransactionResponse]:
|
|
31
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
32
|
+
raw = transport.send(
|
|
33
|
+
"createScheduledTransaction",
|
|
34
|
+
RequestValues(
|
|
35
|
+
path={
|
|
36
|
+
"plan_id": plan_id,
|
|
37
|
+
},
|
|
38
|
+
query={},
|
|
39
|
+
body=body,
|
|
40
|
+
),
|
|
41
|
+
)
|
|
42
|
+
if raw.status == HTTPStatus.CREATED:
|
|
43
|
+
parsed = ScheduledTransactionResponse.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 | ScheduledTransactionResponse]:
|
|
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[PostScheduledTransactionWrapper](
|
|
56
|
+
PostScheduledTransactionWrapper
|
|
57
|
+
).validate_python(request.body),
|
|
58
|
+
)
|
|
@@ -0,0 +1,56 @@
|
|
|
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.scheduled_transaction_response import (
|
|
11
|
+
ScheduledTransactionResponse,
|
|
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 deleteScheduledTransaction operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
scheduled_transaction_id: str,
|
|
27
|
+
) -> Response[ErrorResponse | ScheduledTransactionResponse]:
|
|
28
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
29
|
+
raw = transport.send(
|
|
30
|
+
"deleteScheduledTransaction",
|
|
31
|
+
RequestValues(
|
|
32
|
+
path={
|
|
33
|
+
"plan_id": plan_id,
|
|
34
|
+
"scheduled_transaction_id": scheduled_transaction_id,
|
|
35
|
+
},
|
|
36
|
+
query={},
|
|
37
|
+
body=UNSET,
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
if raw.status == HTTPStatus.OK:
|
|
41
|
+
parsed = ScheduledTransactionResponse.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 | ScheduledTransactionResponse]:
|
|
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
|
+
scheduled_transaction_id=request.value(
|
|
54
|
+
"path", "scheduled_transaction_id", TypeAdapter[str](str)
|
|
55
|
+
),
|
|
56
|
+
)
|
|
@@ -0,0 +1,56 @@
|
|
|
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.scheduled_transaction_response import (
|
|
11
|
+
ScheduledTransactionResponse,
|
|
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 getScheduledTransactionById operation."""
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
def execute(
|
|
22
|
+
cls,
|
|
23
|
+
*,
|
|
24
|
+
transport: Transport,
|
|
25
|
+
plan_id: str,
|
|
26
|
+
scheduled_transaction_id: str,
|
|
27
|
+
) -> Response[ErrorResponse | ScheduledTransactionResponse]:
|
|
28
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
29
|
+
raw = transport.send(
|
|
30
|
+
"getScheduledTransactionById",
|
|
31
|
+
RequestValues(
|
|
32
|
+
path={
|
|
33
|
+
"plan_id": plan_id,
|
|
34
|
+
"scheduled_transaction_id": scheduled_transaction_id,
|
|
35
|
+
},
|
|
36
|
+
query={},
|
|
37
|
+
body=UNSET,
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
if raw.status == HTTPStatus.OK:
|
|
41
|
+
parsed = ScheduledTransactionResponse.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 | ScheduledTransactionResponse]:
|
|
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
|
+
scheduled_transaction_id=request.value(
|
|
54
|
+
"path", "scheduled_transaction_id", TypeAdapter[str](str)
|
|
55
|
+
),
|
|
56
|
+
)
|
|
@@ -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.scheduled_transactions_response import (
|
|
11
|
+
ScheduledTransactionsResponse,
|
|
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 getScheduledTransactions 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 | ScheduledTransactionsResponse]:
|
|
28
|
+
"""Execute the typed request and retain its original response JSON."""
|
|
29
|
+
raw = transport.send(
|
|
30
|
+
"getScheduledTransactions",
|
|
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 = ScheduledTransactionsResponse.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 | ScheduledTransactionsResponse]:
|
|
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
|
+
)
|