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,12 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class GetTransactionsByMonthType(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
UNAPPROVED = "unapproved"
|
|
12
|
+
UNCATEGORIZED = "uncategorized"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class GetTransactionsByPayeeType(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
UNAPPROVED = "unapproved"
|
|
12
|
+
UNCATEGORIZED = "uncategorized"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class GetTransactionsType(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
UNAPPROVED = "unapproved"
|
|
12
|
+
UNCATEGORIZED = "uncategorized"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Goal1(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
DEBT = "DEBT"
|
|
12
|
+
MF = "MF"
|
|
13
|
+
NEED = "NEED"
|
|
14
|
+
TB = "TB"
|
|
15
|
+
TBD = "TBD"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Goal2(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
DEBT = "DEBT"
|
|
12
|
+
MF = "MF"
|
|
13
|
+
NEED = "NEED"
|
|
14
|
+
TB = "TB"
|
|
15
|
+
TBD = "TBD"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Goal3(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
DEBT = "DEBT"
|
|
12
|
+
MF = "MF"
|
|
13
|
+
NEED = "NEED"
|
|
14
|
+
TB = "TB"
|
|
15
|
+
TBD = "TBD"
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from uuid import UUID
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.generated.models.debt_1 import Debt1
|
|
11
|
+
from ynab_api_cli.generated.models.debt_2 import Debt2
|
|
12
|
+
from ynab_api_cli.generated.models.debt_3 import Debt3
|
|
13
|
+
from ynab_api_cli.generated.models.flag_1 import Flag1
|
|
14
|
+
from ynab_api_cli.generated.models.flag_2 import Flag2
|
|
15
|
+
from ynab_api_cli.generated.models.flag_3 import Flag3
|
|
16
|
+
from ynab_api_cli.generated.models.hybrid_transaction_type import HybridTransactionType
|
|
17
|
+
from ynab_api_cli.generated.models.transaction_cleared_status import (
|
|
18
|
+
TransactionClearedStatus,
|
|
19
|
+
)
|
|
20
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class HybridTransaction(BaseModel):
|
|
24
|
+
"""Typed HybridTransaction contract representation."""
|
|
25
|
+
|
|
26
|
+
model_config = ConfigDict(
|
|
27
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
28
|
+
)
|
|
29
|
+
id: str = Field(alias="id")
|
|
30
|
+
date: datetime.date = Field(alias="date")
|
|
31
|
+
amount: int = Field(alias="amount")
|
|
32
|
+
cleared: TransactionClearedStatus = Field(alias="cleared")
|
|
33
|
+
approved: bool = Field(alias="approved")
|
|
34
|
+
account_id: UUID = Field(alias="account_id")
|
|
35
|
+
deleted: bool = Field(alias="deleted")
|
|
36
|
+
type_: HybridTransactionType = Field(alias="type")
|
|
37
|
+
account_name: str = Field(alias="account_name")
|
|
38
|
+
memo: str | Unset | None = Field(alias="memo", default=UNSET)
|
|
39
|
+
flag_color: Flag1 | Flag2 | Flag3 | Unset | None = Field(
|
|
40
|
+
alias="flag_color", default=UNSET
|
|
41
|
+
)
|
|
42
|
+
flag_name: str | Unset | None = Field(alias="flag_name", default=UNSET)
|
|
43
|
+
payee_id: Unset | UUID | None = Field(alias="payee_id", default=UNSET)
|
|
44
|
+
category_id: Unset | UUID | None = Field(alias="category_id", default=UNSET)
|
|
45
|
+
transfer_account_id: Unset | UUID | None = Field(
|
|
46
|
+
alias="transfer_account_id", default=UNSET
|
|
47
|
+
)
|
|
48
|
+
transfer_transaction_id: str | Unset | None = Field(
|
|
49
|
+
alias="transfer_transaction_id", default=UNSET
|
|
50
|
+
)
|
|
51
|
+
matched_transaction_id: str | Unset | None = Field(
|
|
52
|
+
alias="matched_transaction_id", default=UNSET
|
|
53
|
+
)
|
|
54
|
+
import_id: str | Unset | None = Field(alias="import_id", default=UNSET)
|
|
55
|
+
import_payee_name: str | Unset | None = Field(
|
|
56
|
+
alias="import_payee_name", default=UNSET
|
|
57
|
+
)
|
|
58
|
+
import_payee_name_original: str | Unset | None = Field(
|
|
59
|
+
alias="import_payee_name_original", default=UNSET
|
|
60
|
+
)
|
|
61
|
+
debt_transaction_type: Debt1 | Debt2 | Debt3 | Unset | None = Field(
|
|
62
|
+
alias="debt_transaction_type", default=UNSET
|
|
63
|
+
)
|
|
64
|
+
amount_formatted: str | Unset = Field(alias="amount_formatted", default=UNSET)
|
|
65
|
+
amount_currency: float | Unset = Field(alias="amount_currency", default=UNSET)
|
|
66
|
+
parent_transaction_id: str | Unset | None = Field(
|
|
67
|
+
alias="parent_transaction_id", default=UNSET
|
|
68
|
+
)
|
|
69
|
+
payee_name: str | Unset | None = Field(alias="payee_name", default=UNSET)
|
|
70
|
+
category_name: str | Unset = Field(alias="category_name", default=UNSET)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Generated declarations; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class HybridTransactionType(StrEnum):
|
|
9
|
+
"""Generated contract enumeration."""
|
|
10
|
+
|
|
11
|
+
SUBTRANSACTION = "subtransaction"
|
|
12
|
+
TRANSACTION = "transaction"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.hybrid_transactions_response_data import (
|
|
11
|
+
HybridTransactionsResponseData,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class HybridTransactionsResponse(BaseModel):
|
|
16
|
+
"""Typed HybridTransactionsResponse contract representation."""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
20
|
+
)
|
|
21
|
+
data: HybridTransactionsResponseData = Field(alias="data")
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from ynab_api_cli.generated.models.hybrid_transaction import HybridTransaction
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class HybridTransactionsResponseData(BaseModel):
|
|
16
|
+
"""Typed HybridTransactionsResponseData contract representation."""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
20
|
+
)
|
|
21
|
+
transactions: list[HybridTransaction] = Field(alias="transactions")
|
|
22
|
+
server_knowledge: int | Unset = Field(alias="server_knowledge", default=UNSET)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, ConfigDict, TypeAdapter, model_validator
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class LoanAccountPeriodicValueType0(BaseModel):
|
|
9
|
+
"""Typed LoanAccountPeriodicValueType0 contract representation."""
|
|
10
|
+
|
|
11
|
+
model_config = ConfigDict(
|
|
12
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
@model_validator(mode="before")
|
|
16
|
+
@classmethod
|
|
17
|
+
def validate_extra_values(cls, value: object) -> object:
|
|
18
|
+
"""Validate typed map entries before the Pydantic model boundary."""
|
|
19
|
+
if not isinstance(value, dict):
|
|
20
|
+
return value
|
|
21
|
+
declared = {field.alias or name for name, field in cls.model_fields.items()}
|
|
22
|
+
extra = {
|
|
23
|
+
str(key): item for key, item in value.items() if str(key) not in declared
|
|
24
|
+
}
|
|
25
|
+
TypeAdapter[dict[str, int]](dict[str, int]).validate_python(extra)
|
|
26
|
+
return value
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def additional_properties(self) -> dict[str, int]:
|
|
30
|
+
"""Return additional entries through a validated typed boundary."""
|
|
31
|
+
return TypeAdapter[dict[str, int]](dict[str, int]).validate_python(
|
|
32
|
+
self.model_extra or {}
|
|
33
|
+
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from uuid import UUID
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MoneyMovement(BaseModel):
|
|
14
|
+
"""Typed MoneyMovement contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
id: UUID = Field(alias="id")
|
|
20
|
+
amount: int = Field(alias="amount")
|
|
21
|
+
month: datetime.date | Unset | None = Field(alias="month", default=UNSET)
|
|
22
|
+
moved_at: datetime.datetime | Unset | None = Field(alias="moved_at", default=UNSET)
|
|
23
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
24
|
+
money_movement_group_id: Unset | UUID | None = Field(
|
|
25
|
+
alias="money_movement_group_id", default=UNSET
|
|
26
|
+
)
|
|
27
|
+
performed_by_user_id: Unset | UUID | None = Field(
|
|
28
|
+
alias="performed_by_user_id", default=UNSET
|
|
29
|
+
)
|
|
30
|
+
from_category_id: Unset | UUID | None = Field(
|
|
31
|
+
alias="from_category_id", default=UNSET
|
|
32
|
+
)
|
|
33
|
+
to_category_id: Unset | UUID | None = Field(alias="to_category_id", default=UNSET)
|
|
34
|
+
amount_formatted: str | Unset = Field(alias="amount_formatted", default=UNSET)
|
|
35
|
+
amount_currency: float | Unset = Field(alias="amount_currency", default=UNSET)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from uuid import UUID
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MoneyMovementBase(BaseModel):
|
|
14
|
+
"""Typed MoneyMovementBase contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
id: UUID = Field(alias="id")
|
|
20
|
+
amount: int = Field(alias="amount")
|
|
21
|
+
month: datetime.date | Unset | None = Field(alias="month", default=UNSET)
|
|
22
|
+
moved_at: datetime.datetime | Unset | None = Field(alias="moved_at", default=UNSET)
|
|
23
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
24
|
+
money_movement_group_id: Unset | UUID | None = Field(
|
|
25
|
+
alias="money_movement_group_id", default=UNSET
|
|
26
|
+
)
|
|
27
|
+
performed_by_user_id: Unset | UUID | None = Field(
|
|
28
|
+
alias="performed_by_user_id", default=UNSET
|
|
29
|
+
)
|
|
30
|
+
from_category_id: Unset | UUID | None = Field(
|
|
31
|
+
alias="from_category_id", default=UNSET
|
|
32
|
+
)
|
|
33
|
+
to_category_id: Unset | UUID | None = Field(alias="to_category_id", default=UNSET)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from uuid import UUID
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MoneyMovementGroup(BaseModel):
|
|
14
|
+
"""Typed MoneyMovementGroup contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
id: UUID = Field(alias="id")
|
|
20
|
+
group_created_at: datetime.datetime = Field(alias="group_created_at")
|
|
21
|
+
month: datetime.date = Field(alias="month")
|
|
22
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
23
|
+
performed_by_user_id: Unset | UUID | None = Field(
|
|
24
|
+
alias="performed_by_user_id", default=UNSET
|
|
25
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.money_movement_groups_response_data import (
|
|
11
|
+
MoneyMovementGroupsResponseData,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MoneyMovementGroupsResponse(BaseModel):
|
|
16
|
+
"""Typed MoneyMovementGroupsResponse contract representation."""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
20
|
+
)
|
|
21
|
+
data: MoneyMovementGroupsResponseData = Field(alias="data")
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.money_movement_group import MoneyMovementGroup
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MoneyMovementGroupsResponseData(BaseModel):
|
|
14
|
+
"""Typed MoneyMovementGroupsResponseData contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
money_movement_groups: list[MoneyMovementGroup] = Field(
|
|
20
|
+
alias="money_movement_groups"
|
|
21
|
+
)
|
|
22
|
+
server_knowledge: int = Field(alias="server_knowledge")
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.money_movements_response_data import (
|
|
11
|
+
MoneyMovementsResponseData,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MoneyMovementsResponse(BaseModel):
|
|
16
|
+
"""Typed MoneyMovementsResponse contract representation."""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
20
|
+
)
|
|
21
|
+
data: MoneyMovementsResponseData = Field(alias="data")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.money_movement import MoneyMovement
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MoneyMovementsResponseData(BaseModel):
|
|
14
|
+
"""Typed MoneyMovementsResponseData contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
money_movements: list[MoneyMovement] = Field(alias="money_movements")
|
|
20
|
+
server_knowledge: int = Field(alias="server_knowledge")
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from typing import TYPE_CHECKING
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from ynab_api_cli.generated.models.category import Category
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class MonthDetail(BaseModel):
|
|
17
|
+
"""Typed MonthDetail contract representation."""
|
|
18
|
+
|
|
19
|
+
model_config = ConfigDict(
|
|
20
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
21
|
+
)
|
|
22
|
+
month: datetime.date = Field(alias="month")
|
|
23
|
+
income: int = Field(alias="income")
|
|
24
|
+
budgeted: int = Field(alias="budgeted")
|
|
25
|
+
activity: int = Field(alias="activity")
|
|
26
|
+
to_be_budgeted: int = Field(alias="to_be_budgeted")
|
|
27
|
+
deleted: bool = Field(alias="deleted")
|
|
28
|
+
categories: list[Category] = Field(alias="categories")
|
|
29
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
30
|
+
age_of_money: int | Unset | None = Field(alias="age_of_money", default=UNSET)
|
|
31
|
+
income_formatted: str | Unset = Field(alias="income_formatted", default=UNSET)
|
|
32
|
+
income_currency: float | Unset = Field(alias="income_currency", default=UNSET)
|
|
33
|
+
budgeted_formatted: str | Unset = Field(alias="budgeted_formatted", default=UNSET)
|
|
34
|
+
budgeted_currency: float | Unset = Field(alias="budgeted_currency", default=UNSET)
|
|
35
|
+
activity_formatted: str | Unset = Field(alias="activity_formatted", default=UNSET)
|
|
36
|
+
activity_currency: float | Unset = Field(alias="activity_currency", default=UNSET)
|
|
37
|
+
to_be_budgeted_formatted: str | Unset = Field(
|
|
38
|
+
alias="to_be_budgeted_formatted", default=UNSET
|
|
39
|
+
)
|
|
40
|
+
to_be_budgeted_currency: float | Unset = Field(
|
|
41
|
+
alias="to_be_budgeted_currency", default=UNSET
|
|
42
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
from typing import TYPE_CHECKING
|
|
7
|
+
|
|
8
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from ynab_api_cli.generated.models.category_base import CategoryBase
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class MonthDetailBase(BaseModel):
|
|
17
|
+
"""Typed MonthDetailBase contract representation."""
|
|
18
|
+
|
|
19
|
+
model_config = ConfigDict(
|
|
20
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
21
|
+
)
|
|
22
|
+
month: datetime.date = Field(alias="month")
|
|
23
|
+
income: int = Field(alias="income")
|
|
24
|
+
budgeted: int = Field(alias="budgeted")
|
|
25
|
+
activity: int = Field(alias="activity")
|
|
26
|
+
to_be_budgeted: int = Field(alias="to_be_budgeted")
|
|
27
|
+
deleted: bool = Field(alias="deleted")
|
|
28
|
+
categories: list[CategoryBase] = Field(alias="categories")
|
|
29
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
30
|
+
age_of_money: int | Unset | None = Field(alias="age_of_money", default=UNSET)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.month_detail_response_data import (
|
|
11
|
+
MonthDetailResponseData,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MonthDetailResponse(BaseModel):
|
|
16
|
+
"""Typed MonthDetailResponse contract representation."""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
20
|
+
)
|
|
21
|
+
data: MonthDetailResponseData = Field(alias="data")
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.month_detail import MonthDetail
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MonthDetailResponseData(BaseModel):
|
|
14
|
+
"""Typed MonthDetailResponseData contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
month: MonthDetail = Field(alias="month")
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.month_summaries_response_data import (
|
|
11
|
+
MonthSummariesResponseData,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MonthSummariesResponse(BaseModel):
|
|
16
|
+
"""Typed MonthSummariesResponse contract representation."""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
20
|
+
)
|
|
21
|
+
data: MonthSummariesResponseData = Field(alias="data")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ynab_api_cli.generated.models.month_summary import MonthSummary
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MonthSummariesResponseData(BaseModel):
|
|
14
|
+
"""Typed MonthSummariesResponseData contract representation."""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
18
|
+
)
|
|
19
|
+
months: list[MonthSummary] = Field(alias="months")
|
|
20
|
+
server_knowledge: int = Field(alias="server_knowledge")
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class MonthSummary(BaseModel):
|
|
13
|
+
"""Typed MonthSummary contract representation."""
|
|
14
|
+
|
|
15
|
+
model_config = ConfigDict(
|
|
16
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
17
|
+
)
|
|
18
|
+
month: datetime.date = Field(alias="month")
|
|
19
|
+
income: int = Field(alias="income")
|
|
20
|
+
budgeted: int = Field(alias="budgeted")
|
|
21
|
+
activity: int = Field(alias="activity")
|
|
22
|
+
to_be_budgeted: int = Field(alias="to_be_budgeted")
|
|
23
|
+
deleted: bool = Field(alias="deleted")
|
|
24
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
25
|
+
age_of_money: int | Unset | None = Field(alias="age_of_money", default=UNSET)
|
|
26
|
+
income_formatted: str | Unset = Field(alias="income_formatted", default=UNSET)
|
|
27
|
+
income_currency: float | Unset = Field(alias="income_currency", default=UNSET)
|
|
28
|
+
budgeted_formatted: str | Unset = Field(alias="budgeted_formatted", default=UNSET)
|
|
29
|
+
budgeted_currency: float | Unset = Field(alias="budgeted_currency", default=UNSET)
|
|
30
|
+
activity_formatted: str | Unset = Field(alias="activity_formatted", default=UNSET)
|
|
31
|
+
activity_currency: float | Unset = Field(alias="activity_currency", default=UNSET)
|
|
32
|
+
to_be_budgeted_formatted: str | Unset = Field(
|
|
33
|
+
alias="to_be_budgeted_formatted", default=UNSET
|
|
34
|
+
)
|
|
35
|
+
to_be_budgeted_currency: float | Unset = Field(
|
|
36
|
+
alias="to_be_budgeted_currency", default=UNSET
|
|
37
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Generated contract model; regenerate rather than editing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
from ynab_api_cli.types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class MonthSummaryBase(BaseModel):
|
|
13
|
+
"""Typed MonthSummaryBase contract representation."""
|
|
14
|
+
|
|
15
|
+
model_config = ConfigDict(
|
|
16
|
+
extra="allow", arbitrary_types_allowed=True, populate_by_name=True
|
|
17
|
+
)
|
|
18
|
+
month: datetime.date = Field(alias="month")
|
|
19
|
+
income: int = Field(alias="income")
|
|
20
|
+
budgeted: int = Field(alias="budgeted")
|
|
21
|
+
activity: int = Field(alias="activity")
|
|
22
|
+
to_be_budgeted: int = Field(alias="to_be_budgeted")
|
|
23
|
+
deleted: bool = Field(alias="deleted")
|
|
24
|
+
note: str | Unset | None = Field(alias="note", default=UNSET)
|
|
25
|
+
age_of_money: int | Unset | None = Field(alias="age_of_money", default=UNSET)
|