diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | .openapi-generator-ignore (renamed from ynab-api/.openapi-generator-ignore) | 0 | ||||
-rw-r--r-- | .openapi-generator/VERSION (renamed from ynab-api/.openapi-generator/VERSION) | 0 | ||||
-rw-r--r-- | .travis.yml (renamed from ynab-api/.travis.yml) | 0 | ||||
-rw-r--r-- | Cargo.lock | 1927 | ||||
-rw-r--r-- | Cargo.toml | 24 | ||||
-rw-r--r-- | README.md (renamed from ynab-api/README.md) | 5 | ||||
-rwxr-xr-x | bin/regen-ynab-api | 27 | ||||
-rw-r--r-- | data/openapi.yaml | 2 | ||||
-rw-r--r-- | docs/Account.md (renamed from ynab-api/docs/Account.md) | 0 | ||||
-rw-r--r-- | docs/AccountResponse.md (renamed from ynab-api/docs/AccountResponse.md) | 0 | ||||
-rw-r--r-- | docs/AccountResponseData.md (renamed from ynab-api/docs/AccountResponseData.md) | 0 | ||||
-rw-r--r-- | docs/AccountsApi.md (renamed from ynab-api/docs/AccountsApi.md) | 0 | ||||
-rw-r--r-- | docs/AccountsResponse.md (renamed from ynab-api/docs/AccountsResponse.md) | 0 | ||||
-rw-r--r-- | docs/AccountsResponseData.md (renamed from ynab-api/docs/AccountsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/BudgetDetail.md (renamed from ynab-api/docs/BudgetDetail.md) | 0 | ||||
-rw-r--r-- | docs/BudgetDetailAllOf.md (renamed from ynab-api/docs/BudgetDetailAllOf.md) | 0 | ||||
-rw-r--r-- | docs/BudgetDetailResponse.md (renamed from ynab-api/docs/BudgetDetailResponse.md) | 0 | ||||
-rw-r--r-- | docs/BudgetDetailResponseData.md (renamed from ynab-api/docs/BudgetDetailResponseData.md) | 0 | ||||
-rw-r--r-- | docs/BudgetSettings.md (renamed from ynab-api/docs/BudgetSettings.md) | 0 | ||||
-rw-r--r-- | docs/BudgetSettingsResponse.md (renamed from ynab-api/docs/BudgetSettingsResponse.md) | 0 | ||||
-rw-r--r-- | docs/BudgetSettingsResponseData.md (renamed from ynab-api/docs/BudgetSettingsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/BudgetSummary.md (renamed from ynab-api/docs/BudgetSummary.md) | 0 | ||||
-rw-r--r-- | docs/BudgetSummaryResponse.md (renamed from ynab-api/docs/BudgetSummaryResponse.md) | 0 | ||||
-rw-r--r-- | docs/BudgetSummaryResponseData.md (renamed from ynab-api/docs/BudgetSummaryResponseData.md) | 0 | ||||
-rw-r--r-- | docs/BudgetsApi.md (renamed from ynab-api/docs/BudgetsApi.md) | 0 | ||||
-rw-r--r-- | docs/BulkResponse.md (renamed from ynab-api/docs/BulkResponse.md) | 0 | ||||
-rw-r--r-- | docs/BulkResponseData.md (renamed from ynab-api/docs/BulkResponseData.md) | 0 | ||||
-rw-r--r-- | docs/BulkResponseDataBulk.md (renamed from ynab-api/docs/BulkResponseDataBulk.md) | 0 | ||||
-rw-r--r-- | docs/BulkTransactions.md (renamed from ynab-api/docs/BulkTransactions.md) | 0 | ||||
-rw-r--r-- | docs/CategoriesApi.md (renamed from ynab-api/docs/CategoriesApi.md) | 0 | ||||
-rw-r--r-- | docs/CategoriesResponse.md (renamed from ynab-api/docs/CategoriesResponse.md) | 0 | ||||
-rw-r--r-- | docs/CategoriesResponseData.md (renamed from ynab-api/docs/CategoriesResponseData.md) | 0 | ||||
-rw-r--r-- | docs/Category.md (renamed from ynab-api/docs/Category.md) | 0 | ||||
-rw-r--r-- | docs/CategoryGroup.md (renamed from ynab-api/docs/CategoryGroup.md) | 0 | ||||
-rw-r--r-- | docs/CategoryGroupWithCategories.md (renamed from ynab-api/docs/CategoryGroupWithCategories.md) | 0 | ||||
-rw-r--r-- | docs/CategoryGroupWithCategoriesAllOf.md (renamed from ynab-api/docs/CategoryGroupWithCategoriesAllOf.md) | 0 | ||||
-rw-r--r-- | docs/CategoryResponse.md (renamed from ynab-api/docs/CategoryResponse.md) | 0 | ||||
-rw-r--r-- | docs/CategoryResponseData.md (renamed from ynab-api/docs/CategoryResponseData.md) | 0 | ||||
-rw-r--r-- | docs/CurrencyFormat.md (renamed from ynab-api/docs/CurrencyFormat.md) | 0 | ||||
-rw-r--r-- | docs/DateFormat.md (renamed from ynab-api/docs/DateFormat.md) | 0 | ||||
-rw-r--r-- | docs/DeprecatedApi.md (renamed from ynab-api/docs/DeprecatedApi.md) | 0 | ||||
-rw-r--r-- | docs/ErrorDetail.md (renamed from ynab-api/docs/ErrorDetail.md) | 0 | ||||
-rw-r--r-- | docs/ErrorResponse.md (renamed from ynab-api/docs/ErrorResponse.md) | 0 | ||||
-rw-r--r-- | docs/HybridTransaction.md (renamed from ynab-api/docs/HybridTransaction.md) | 0 | ||||
-rw-r--r-- | docs/HybridTransactionAllOf.md (renamed from ynab-api/docs/HybridTransactionAllOf.md) | 0 | ||||
-rw-r--r-- | docs/HybridTransactionsResponse.md (renamed from ynab-api/docs/HybridTransactionsResponse.md) | 0 | ||||
-rw-r--r-- | docs/HybridTransactionsResponseData.md (renamed from ynab-api/docs/HybridTransactionsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/MonthDetail.md (renamed from ynab-api/docs/MonthDetail.md) | 0 | ||||
-rw-r--r-- | docs/MonthDetailAllOf.md (renamed from ynab-api/docs/MonthDetailAllOf.md) | 0 | ||||
-rw-r--r-- | docs/MonthDetailResponse.md (renamed from ynab-api/docs/MonthDetailResponse.md) | 0 | ||||
-rw-r--r-- | docs/MonthDetailResponseData.md (renamed from ynab-api/docs/MonthDetailResponseData.md) | 0 | ||||
-rw-r--r-- | docs/MonthSummariesResponse.md (renamed from ynab-api/docs/MonthSummariesResponse.md) | 0 | ||||
-rw-r--r-- | docs/MonthSummariesResponseData.md (renamed from ynab-api/docs/MonthSummariesResponseData.md) | 0 | ||||
-rw-r--r-- | docs/MonthSummary.md (renamed from ynab-api/docs/MonthSummary.md) | 0 | ||||
-rw-r--r-- | docs/MonthsApi.md (renamed from ynab-api/docs/MonthsApi.md) | 0 | ||||
-rw-r--r-- | docs/Payee.md (renamed from ynab-api/docs/Payee.md) | 0 | ||||
-rw-r--r-- | docs/PayeeLocation.md (renamed from ynab-api/docs/PayeeLocation.md) | 0 | ||||
-rw-r--r-- | docs/PayeeLocationResponse.md (renamed from ynab-api/docs/PayeeLocationResponse.md) | 0 | ||||
-rw-r--r-- | docs/PayeeLocationResponseData.md (renamed from ynab-api/docs/PayeeLocationResponseData.md) | 0 | ||||
-rw-r--r-- | docs/PayeeLocationsApi.md (renamed from ynab-api/docs/PayeeLocationsApi.md) | 0 | ||||
-rw-r--r-- | docs/PayeeLocationsResponse.md (renamed from ynab-api/docs/PayeeLocationsResponse.md) | 0 | ||||
-rw-r--r-- | docs/PayeeLocationsResponseData.md (renamed from ynab-api/docs/PayeeLocationsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/PayeeResponse.md (renamed from ynab-api/docs/PayeeResponse.md) | 0 | ||||
-rw-r--r-- | docs/PayeeResponseData.md (renamed from ynab-api/docs/PayeeResponseData.md) | 0 | ||||
-rw-r--r-- | docs/PayeesApi.md (renamed from ynab-api/docs/PayeesApi.md) | 0 | ||||
-rw-r--r-- | docs/PayeesResponse.md (renamed from ynab-api/docs/PayeesResponse.md) | 0 | ||||
-rw-r--r-- | docs/PayeesResponseData.md (renamed from ynab-api/docs/PayeesResponseData.md) | 0 | ||||
-rw-r--r-- | docs/SaveCategoryResponse.md (renamed from ynab-api/docs/SaveCategoryResponse.md) | 0 | ||||
-rw-r--r-- | docs/SaveCategoryResponseData.md (renamed from ynab-api/docs/SaveCategoryResponseData.md) | 0 | ||||
-rw-r--r-- | docs/SaveMonthCategory.md (renamed from ynab-api/docs/SaveMonthCategory.md) | 0 | ||||
-rw-r--r-- | docs/SaveMonthCategoryWrapper.md (renamed from ynab-api/docs/SaveMonthCategoryWrapper.md) | 0 | ||||
-rw-r--r-- | docs/SaveTransaction.md (renamed from ynab-api/docs/SaveTransaction.md) | 0 | ||||
-rw-r--r-- | docs/SaveTransactionWrapper.md (renamed from ynab-api/docs/SaveTransactionWrapper.md) | 0 | ||||
-rw-r--r-- | docs/SaveTransactionsResponse.md (renamed from ynab-api/docs/SaveTransactionsResponse.md) | 0 | ||||
-rw-r--r-- | docs/SaveTransactionsResponseData.md (renamed from ynab-api/docs/SaveTransactionsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/SaveTransactionsWrapper.md (renamed from ynab-api/docs/SaveTransactionsWrapper.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledSubTransaction.md (renamed from ynab-api/docs/ScheduledSubTransaction.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionDetail.md (renamed from ynab-api/docs/ScheduledTransactionDetail.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionDetailAllOf.md (renamed from ynab-api/docs/ScheduledTransactionDetailAllOf.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionResponse.md (renamed from ynab-api/docs/ScheduledTransactionResponse.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionResponseData.md (renamed from ynab-api/docs/ScheduledTransactionResponseData.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionSummary.md (renamed from ynab-api/docs/ScheduledTransactionSummary.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionsApi.md (renamed from ynab-api/docs/ScheduledTransactionsApi.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionsResponse.md (renamed from ynab-api/docs/ScheduledTransactionsResponse.md) | 0 | ||||
-rw-r--r-- | docs/ScheduledTransactionsResponseData.md (renamed from ynab-api/docs/ScheduledTransactionsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/SubTransaction.md (renamed from ynab-api/docs/SubTransaction.md) | 0 | ||||
-rw-r--r-- | docs/TransactionDetail.md (renamed from ynab-api/docs/TransactionDetail.md) | 0 | ||||
-rw-r--r-- | docs/TransactionDetailAllOf.md (renamed from ynab-api/docs/TransactionDetailAllOf.md) | 0 | ||||
-rw-r--r-- | docs/TransactionResponse.md (renamed from ynab-api/docs/TransactionResponse.md) | 0 | ||||
-rw-r--r-- | docs/TransactionResponseData.md (renamed from ynab-api/docs/TransactionResponseData.md) | 0 | ||||
-rw-r--r-- | docs/TransactionSummary.md (renamed from ynab-api/docs/TransactionSummary.md) | 0 | ||||
-rw-r--r-- | docs/TransactionsApi.md (renamed from ynab-api/docs/TransactionsApi.md) | 0 | ||||
-rw-r--r-- | docs/TransactionsResponse.md (renamed from ynab-api/docs/TransactionsResponse.md) | 0 | ||||
-rw-r--r-- | docs/TransactionsResponseData.md (renamed from ynab-api/docs/TransactionsResponseData.md) | 0 | ||||
-rw-r--r-- | docs/UpdateTransaction.md (renamed from ynab-api/docs/UpdateTransaction.md) | 0 | ||||
-rw-r--r-- | docs/UpdateTransactionWrapper.md (renamed from ynab-api/docs/UpdateTransactionWrapper.md) | 0 | ||||
-rw-r--r-- | docs/UpdateTransactionsResponse.md (renamed from ynab-api/docs/UpdateTransactionsResponse.md) | 0 | ||||
-rw-r--r-- | docs/UpdateTransactionsWrapper.md (renamed from ynab-api/docs/UpdateTransactionsWrapper.md) | 0 | ||||
-rw-r--r-- | docs/User.md (renamed from ynab-api/docs/User.md) | 0 | ||||
-rw-r--r-- | docs/UserApi.md (renamed from ynab-api/docs/UserApi.md) | 0 | ||||
-rw-r--r-- | docs/UserResponse.md (renamed from ynab-api/docs/UserResponse.md) | 0 | ||||
-rw-r--r-- | docs/UserResponseData.md (renamed from ynab-api/docs/UserResponseData.md) | 0 | ||||
-rw-r--r-- | git_push.sh (renamed from ynab-api/git_push.sh) | 0 | ||||
-rw-r--r-- | src/apis/accounts_api.rs (renamed from ynab-api/src/apis/accounts_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/budgets_api.rs (renamed from ynab-api/src/apis/budgets_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/categories_api.rs (renamed from ynab-api/src/apis/categories_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/client.rs (renamed from ynab-api/src/apis/client.rs) | 0 | ||||
-rw-r--r-- | src/apis/configuration.rs (renamed from ynab-api/src/apis/configuration.rs) | 0 | ||||
-rw-r--r-- | src/apis/deprecated_api.rs (renamed from ynab-api/src/apis/deprecated_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/mod.rs (renamed from ynab-api/src/apis/mod.rs) | 0 | ||||
-rw-r--r-- | src/apis/months_api.rs (renamed from ynab-api/src/apis/months_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/payee_locations_api.rs (renamed from ynab-api/src/apis/payee_locations_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/payees_api.rs (renamed from ynab-api/src/apis/payees_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/scheduled_transactions_api.rs (renamed from ynab-api/src/apis/scheduled_transactions_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/transactions_api.rs (renamed from ynab-api/src/apis/transactions_api.rs) | 0 | ||||
-rw-r--r-- | src/apis/user_api.rs (renamed from ynab-api/src/apis/user_api.rs) | 0 | ||||
-rw-r--r-- | src/app.rs | 46 | ||||
-rw-r--r-- | src/lib.rs (renamed from ynab-api/src/lib.rs) | 0 | ||||
-rw-r--r-- | src/main.rs | 37 | ||||
-rw-r--r-- | src/models/account.rs (renamed from ynab-api/src/models/account.rs) | 0 | ||||
-rw-r--r-- | src/models/account_response.rs (renamed from ynab-api/src/models/account_response.rs) | 0 | ||||
-rw-r--r-- | src/models/account_response_data.rs (renamed from ynab-api/src/models/account_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/accounts_response.rs (renamed from ynab-api/src/models/accounts_response.rs) | 0 | ||||
-rw-r--r-- | src/models/accounts_response_data.rs (renamed from ynab-api/src/models/accounts_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_detail.rs (renamed from ynab-api/src/models/budget_detail.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_detail_all_of.rs (renamed from ynab-api/src/models/budget_detail_all_of.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_detail_response.rs (renamed from ynab-api/src/models/budget_detail_response.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_detail_response_data.rs (renamed from ynab-api/src/models/budget_detail_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_settings.rs (renamed from ynab-api/src/models/budget_settings.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_settings_response.rs (renamed from ynab-api/src/models/budget_settings_response.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_settings_response_data.rs (renamed from ynab-api/src/models/budget_settings_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_summary.rs (renamed from ynab-api/src/models/budget_summary.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_summary_response.rs (renamed from ynab-api/src/models/budget_summary_response.rs) | 0 | ||||
-rw-r--r-- | src/models/budget_summary_response_data.rs (renamed from ynab-api/src/models/budget_summary_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/bulk_response.rs (renamed from ynab-api/src/models/bulk_response.rs) | 0 | ||||
-rw-r--r-- | src/models/bulk_response_data.rs (renamed from ynab-api/src/models/bulk_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/bulk_response_data_bulk.rs (renamed from ynab-api/src/models/bulk_response_data_bulk.rs) | 0 | ||||
-rw-r--r-- | src/models/bulk_transactions.rs (renamed from ynab-api/src/models/bulk_transactions.rs) | 0 | ||||
-rw-r--r-- | src/models/categories_response.rs (renamed from ynab-api/src/models/categories_response.rs) | 0 | ||||
-rw-r--r-- | src/models/categories_response_data.rs (renamed from ynab-api/src/models/categories_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/category.rs (renamed from ynab-api/src/models/category.rs) | 0 | ||||
-rw-r--r-- | src/models/category_group.rs (renamed from ynab-api/src/models/category_group.rs) | 0 | ||||
-rw-r--r-- | src/models/category_group_with_categories.rs (renamed from ynab-api/src/models/category_group_with_categories.rs) | 0 | ||||
-rw-r--r-- | src/models/category_group_with_categories_all_of.rs (renamed from ynab-api/src/models/category_group_with_categories_all_of.rs) | 0 | ||||
-rw-r--r-- | src/models/category_response.rs (renamed from ynab-api/src/models/category_response.rs) | 0 | ||||
-rw-r--r-- | src/models/category_response_data.rs (renamed from ynab-api/src/models/category_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/currency_format.rs (renamed from ynab-api/src/models/currency_format.rs) | 0 | ||||
-rw-r--r-- | src/models/date_format.rs (renamed from ynab-api/src/models/date_format.rs) | 0 | ||||
-rw-r--r-- | src/models/error_detail.rs (renamed from ynab-api/src/models/error_detail.rs) | 0 | ||||
-rw-r--r-- | src/models/error_response.rs (renamed from ynab-api/src/models/error_response.rs) | 0 | ||||
-rw-r--r-- | src/models/hybrid_transaction.rs (renamed from ynab-api/src/models/hybrid_transaction.rs) | 0 | ||||
-rw-r--r-- | src/models/hybrid_transaction_all_of.rs (renamed from ynab-api/src/models/hybrid_transaction_all_of.rs) | 0 | ||||
-rw-r--r-- | src/models/hybrid_transactions_response.rs (renamed from ynab-api/src/models/hybrid_transactions_response.rs) | 0 | ||||
-rw-r--r-- | src/models/hybrid_transactions_response_data.rs (renamed from ynab-api/src/models/hybrid_transactions_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/mod.rs (renamed from ynab-api/src/models/mod.rs) | 0 | ||||
-rw-r--r-- | src/models/month_detail.rs (renamed from ynab-api/src/models/month_detail.rs) | 0 | ||||
-rw-r--r-- | src/models/month_detail_all_of.rs (renamed from ynab-api/src/models/month_detail_all_of.rs) | 0 | ||||
-rw-r--r-- | src/models/month_detail_response.rs (renamed from ynab-api/src/models/month_detail_response.rs) | 0 | ||||
-rw-r--r-- | src/models/month_detail_response_data.rs (renamed from ynab-api/src/models/month_detail_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/month_summaries_response.rs (renamed from ynab-api/src/models/month_summaries_response.rs) | 0 | ||||
-rw-r--r-- | src/models/month_summaries_response_data.rs (renamed from ynab-api/src/models/month_summaries_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/month_summary.rs (renamed from ynab-api/src/models/month_summary.rs) | 0 | ||||
-rw-r--r-- | src/models/payee.rs (renamed from ynab-api/src/models/payee.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_location.rs (renamed from ynab-api/src/models/payee_location.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_location_response.rs (renamed from ynab-api/src/models/payee_location_response.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_location_response_data.rs (renamed from ynab-api/src/models/payee_location_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_locations_response.rs (renamed from ynab-api/src/models/payee_locations_response.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_locations_response_data.rs (renamed from ynab-api/src/models/payee_locations_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_response.rs (renamed from ynab-api/src/models/payee_response.rs) | 0 | ||||
-rw-r--r-- | src/models/payee_response_data.rs (renamed from ynab-api/src/models/payee_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/payees_response.rs (renamed from ynab-api/src/models/payees_response.rs) | 0 | ||||
-rw-r--r-- | src/models/payees_response_data.rs (renamed from ynab-api/src/models/payees_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/save_category_response.rs (renamed from ynab-api/src/models/save_category_response.rs) | 0 | ||||
-rw-r--r-- | src/models/save_category_response_data.rs (renamed from ynab-api/src/models/save_category_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/save_month_category.rs (renamed from ynab-api/src/models/save_month_category.rs) | 0 | ||||
-rw-r--r-- | src/models/save_month_category_wrapper.rs (renamed from ynab-api/src/models/save_month_category_wrapper.rs) | 0 | ||||
-rw-r--r-- | src/models/save_transaction.rs (renamed from ynab-api/src/models/save_transaction.rs) | 0 | ||||
-rw-r--r-- | src/models/save_transaction_wrapper.rs (renamed from ynab-api/src/models/save_transaction_wrapper.rs) | 0 | ||||
-rw-r--r-- | src/models/save_transactions_response.rs (renamed from ynab-api/src/models/save_transactions_response.rs) | 0 | ||||
-rw-r--r-- | src/models/save_transactions_response_data.rs (renamed from ynab-api/src/models/save_transactions_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/save_transactions_wrapper.rs (renamed from ynab-api/src/models/save_transactions_wrapper.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_sub_transaction.rs (renamed from ynab-api/src/models/scheduled_sub_transaction.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transaction_detail.rs (renamed from ynab-api/src/models/scheduled_transaction_detail.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transaction_detail_all_of.rs (renamed from ynab-api/src/models/scheduled_transaction_detail_all_of.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transaction_response.rs (renamed from ynab-api/src/models/scheduled_transaction_response.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transaction_response_data.rs (renamed from ynab-api/src/models/scheduled_transaction_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transaction_summary.rs (renamed from ynab-api/src/models/scheduled_transaction_summary.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transactions_response.rs (renamed from ynab-api/src/models/scheduled_transactions_response.rs) | 0 | ||||
-rw-r--r-- | src/models/scheduled_transactions_response_data.rs (renamed from ynab-api/src/models/scheduled_transactions_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/sub_transaction.rs (renamed from ynab-api/src/models/sub_transaction.rs) | 0 | ||||
-rw-r--r-- | src/models/transaction_detail.rs (renamed from ynab-api/src/models/transaction_detail.rs) | 0 | ||||
-rw-r--r-- | src/models/transaction_detail_all_of.rs (renamed from ynab-api/src/models/transaction_detail_all_of.rs) | 0 | ||||
-rw-r--r-- | src/models/transaction_response.rs (renamed from ynab-api/src/models/transaction_response.rs) | 0 | ||||
-rw-r--r-- | src/models/transaction_response_data.rs (renamed from ynab-api/src/models/transaction_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/transaction_summary.rs (renamed from ynab-api/src/models/transaction_summary.rs) | 0 | ||||
-rw-r--r-- | src/models/transactions_response.rs (renamed from ynab-api/src/models/transactions_response.rs) | 0 | ||||
-rw-r--r-- | src/models/transactions_response_data.rs (renamed from ynab-api/src/models/transactions_response_data.rs) | 0 | ||||
-rw-r--r-- | src/models/update_transaction.rs (renamed from ynab-api/src/models/update_transaction.rs) | 0 | ||||
-rw-r--r-- | src/models/update_transaction_wrapper.rs (renamed from ynab-api/src/models/update_transaction_wrapper.rs) | 0 | ||||
-rw-r--r-- | src/models/update_transactions_response.rs (renamed from ynab-api/src/models/update_transactions_response.rs) | 0 | ||||
-rw-r--r-- | src/models/update_transactions_wrapper.rs (renamed from ynab-api/src/models/update_transactions_wrapper.rs) | 0 | ||||
-rw-r--r-- | src/models/user.rs (renamed from ynab-api/src/models/user.rs) | 0 | ||||
-rw-r--r-- | src/models/user_response.rs (renamed from ynab-api/src/models/user_response.rs) | 0 | ||||
-rw-r--r-- | src/models/user_response_data.rs (renamed from ynab-api/src/models/user_response_data.rs) | 0 | ||||
-rw-r--r-- | src/paths.rs | 56 | ||||
-rw-r--r-- | src/views.rs | 5 | ||||
-rw-r--r-- | src/views/txn_table.rs | 151 | ||||
-rw-r--r-- | src/views/txn_tables.rs | 353 | ||||
-rw-r--r-- | src/views/util.rs | 5 | ||||
-rw-r--r-- | src/ynab.rs | 10 | ||||
-rw-r--r-- | src/ynab/budget.rs | 216 | ||||
-rw-r--r-- | src/ynab/client.rs | 76 | ||||
-rw-r--r-- | src/ynab/transaction.rs | 101 | ||||
-rw-r--r-- | src/ynab/util.rs | 6 | ||||
-rw-r--r-- | ynab-api/.gitignore | 3 | ||||
-rw-r--r-- | ynab-api/Cargo.toml | 13 |
217 files changed, 44 insertions, 3022 deletions
@@ -1,2 +1,3 @@ -/target +/target/ **/*.rs.bk +Cargo.lock diff --git a/ynab-api/.openapi-generator-ignore b/.openapi-generator-ignore index 7484ee5..7484ee5 100644 --- a/ynab-api/.openapi-generator-ignore +++ b/.openapi-generator-ignore diff --git a/ynab-api/.openapi-generator/VERSION b/.openapi-generator/VERSION index aa31e71..aa31e71 100644 --- a/ynab-api/.openapi-generator/VERSION +++ b/.openapi-generator/VERSION diff --git a/ynab-api/.travis.yml b/.travis.yml index 22761ba..22761ba 100644 --- a/ynab-api/.travis.yml +++ b/.travis.yml diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 17dc685..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,1927 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "adler32" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "aho-corasick" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "arc-swap" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "array-macro" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "arrayref" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "arrayvec" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "autocfg" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "backtrace" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bitflags" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "blake2b_simd" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "byteorder" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "c2-chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cc" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cfg-if" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "chrono" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cookie" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cookie_store" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "publicsuffix 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "core-foundation" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "core-foundation-sys" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "crc32fast" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-channel" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-queue" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-utils" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cursive" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "enum-map 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "enumset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashbrown 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ncurses 5.99.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "signal-hook 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cursive_table_view" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cursive 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "darling" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "darling_core 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "darling_macro 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "darling_core" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ident_case 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "darling_macro" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "darling_core 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "directories" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dirs-sys" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "doc-comment" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "dtoa" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "either" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "encoding_rs" -version = "0.8.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "enum-map" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "enum-map-derive 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "enum-map-internals 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "enum-map-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "enum-map-internals" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "array-macro 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "enumset" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "enumset_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "enumset_derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "darling 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "error-chain" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", - "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure_derive" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "flate2" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fnv" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures-cpupool" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "getrandom" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "h2" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hashbrown" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "http" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "http-body" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "httparse" -version = "1.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hyper" -version = "0.12.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hyper-tls" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)", - "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "indexmap" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "iovec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "itoa" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lazy_static" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.62" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lock_api" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "log" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "maplit" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memchr" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memoffset" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mime" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mime_guess" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miniz_oxide" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mio" -version = "0.6.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miow" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "native-tls" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)", - "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ncurses" -version = "5.99.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "net2" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nodrop" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "num" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-complex" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-integer" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-iter" -version = "0.1.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-rational" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-traits" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num_cpus" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "openssl" -version = "0.10.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "openssl-probe" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "openssl-sys" -version = "0.9.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "owning_ref" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot_core" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pkg-config" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ppv-lite86" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proc-macro2" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "publicsuffix" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", - "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_chacha" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rand_core" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_syscall" -version = "0.1.56" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "redox_users" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "remove_dir_all" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "reqwest" -version = "0.9.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", - "flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", - "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rust-argon2" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ryu" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "schannel" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "scopeguard" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "scopeguard" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "security-framework" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "security-framework-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "1.0.99" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive" -version = "1.0.99" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_json" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_urlencoded" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "signal-hook" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "signal-hook-registry 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "signal-hook-registry" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arc-swap 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "slab" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "smallvec" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "snafu" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", - "doc-comment 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "snafu-derive 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "snafu-derive" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "stable_deref_trait" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "string" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "strsim" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "syn" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "synstructure" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tempfile" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "term_size" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread_local" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "time" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-buf" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-executor" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-io" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-sync" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-threadpool" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-timer" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "toml" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "try-lock" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "try_from" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicase" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-segmentation" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-width" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "uuid" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "vcpkg" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "version_check" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "want" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasi" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "xi-unicode" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ynab-api" -version = "1.0.0" -dependencies = [ - "reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ynab-reimbursements" -version = "0.1.0" -dependencies = [ - "cursive 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cursive_table_view 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "snafu 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ynab-api 1.0.0", -] - -[metadata] -"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c" -"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" -"checksum arc-swap 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "854ede29f7a0ce90519fb2439d030320c6201119b87dab0ee96044603e1130b9" -"checksum array-macro 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7c4ff37a25fb442a1fecfd399be0dde685558bca30fb998420532889a36852d2" -"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" -"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba" -"checksum autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "22130e92352b948e7e82a49cdb0aa94f2211761117f29e052dd397c1ac33542b" -"checksum backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)" = "b5164d292487f037ece34ec0de2fcede2faa162f085dd96d2385ab81b12765ba" -"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b" -"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" -"checksum blake2b_simd 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "461f4b879a8eb70c1debf7d0788a9a5ff15f1ea9d25925fea264ef4258bed6b2" -"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" -"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" -"checksum cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "b548a4ee81fccb95919d4e22cfea83c7693ebfd78f0495493178db20b3139da7" -"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" -"checksum chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "77d81f58b7301084de3b958691458a53c3f7e0b1d702f77e550b6a88e3a88abe" -"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" -"checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" -"checksum cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c" -"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" -"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" -"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" -"checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" -"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" -"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9" -"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" -"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -"checksum cursive 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b7ecc7282b5361471b607c26f44148205607e26d48a2fc65bd16e7619b1ebb78" -"checksum cursive_table_view 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9dd5f62c7bef9a9fbbe65b39c5a7453e394bfca01034b7c22ac07cc330005a03" -"checksum darling 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fcfbcb0c5961907597a7d1148e3af036268f2b773886b8bb3eeb1e1281d3d3d6" -"checksum darling_core 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6afc018370c3bff3eb51f89256a6bdb18b4fdcda72d577982a14954a7a0b402c" -"checksum darling_macro 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c6d8dac1c6f1d29a41c4712b4400f878cb4fcc4c7628f298dd75038e024998d1" -"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c" -"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum doc-comment 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "923dea538cea0aa3025e8685b20d6ee21ef99c4f77e954a30febbaac5ec73a97" -"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" -"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" -"checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed" -"checksum enum-map 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ccd9b2d5e0eb5c2ff851791e2af90ab4531b1168cfc239d1c0bf467e60ba3c89" -"checksum enum-map-derive 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfc5eff4193f33a536598aff7b77260c6ed1c353b2bb59a3e50636f47410bb0" -"checksum enum-map-internals 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d2436d68e28d1ec1646f3e54003c6b4c4e192785532a687d52a3d2ba56c346bb" -"checksum enumset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cac0a22e173f6570a7d69a2ab9e3fe79cf0dcdd0fdb162bfc932b97158f2b2a7" -"checksum enumset_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01d93b926a992a4a526c2a14e2faf734fdef5bf9d0a52ba69a2ca7d4494c284b" -"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9" -"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" -"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" -"checksum flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "2adaffba6388640136149e18ed080b77a78611c1e1d6de75aedcdf78df5d4682" -"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" -"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -"checksum futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "45dc39533a6cae6da2b56da48edae506bb767ec07370f86f70fc062e9d435869" -"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "6171a6cc63fbabbe27c2b5ee268e8b7fe5dc1eb0dd2dfad537c1dfed6f69117e" -"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" -"checksum hashbrown 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "29fba9abe4742d586dfd0c06ae4f7e73a1c2d86b856933509b269d82cdf06e18" -"checksum http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "372bcb56f939e449117fb0869c2e8fd8753a8223d92a172c6e808cf123a5b6e4" -"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" -"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" -"checksum hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)" = "7cb44cbce9d8ee4fb36e4c0ad7b794ac44ebaad924b9c8291a63215bb44c2c8f" -"checksum hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f" -"checksum ident_case 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d" -"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" -"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" -"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" -"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba" -"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" -"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" -"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" -"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" -"checksum mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425" -"checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599" -"checksum miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7108aff85b876d06f22503dcce091e29f76733b2bfdd91eebce81f5e68203a10" -"checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23" -"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" -"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e" -"checksum ncurses 5.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15699bee2f37e9f8828c7b35b2bc70d13846db453f2d507713b758fabe536b82" -"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" -"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" -"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" -"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e" -"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" -"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" -"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" -"checksum openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)" = "8152bb5a9b5b721538462336e3bef9a539f892715e5037fda0f984577311af15" -"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" -"checksum openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)" = "f4fad9e54bd23bd4cbbe48fdc08a1b8091707ac869ef8508edea2fec77dcc884" -"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" -"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" -"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" -"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" -"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af" -"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b" -"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c5c2380ae88876faae57698be9e9775e3544decad214599c3a6266cca6ac802" -"checksum publicsuffix 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5afecba86dcf1e4fd610246f89899d1924fe12e1e89f555eb7c7f710f3c5ad1d" -"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" -"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d47eab0e83d9693d40f825f86948aa16eff6750ead4bdffc4ab95b8b3a7f052c" -"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" -"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" -"checksum rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "615e683324e75af5d43d8f7a39ffe3ee4a9dc42c5c701167a71dc59c3a493aca" -"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d" -"checksum regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88c3d9193984285d544df4a30c23a4e62ead42edf70a4452ceb76dac1ce05c26" -"checksum regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b143cceb2ca5e56d5671988ef8b15615733e7ee16cd348e064333b251b89343f" -"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0777154c2c3eb54f5c480db01de845652d941e47191277cc673634c3853939" -"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" -"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" -"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997" -"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339" -"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" -"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" -"checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2" -"checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56" -"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)" = "fec2851eb56d010dc9a21b89ca53ee75e6528bab60c11e89d38390904982da9f" -"checksum serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)" = "cb4dc18c61206b08dc98216c98faa0232f4337e1e1b8574551d5bad29ea1b425" -"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704" -"checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" -"checksum signal-hook 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4f61c4d59f3aaa9f61bba6450a9b80ba48362fd7d651689e7a10c453b1f6dc68" -"checksum signal-hook-registry 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1797d48f38f91643908bb14e35e79928f9f4b3cefb2420a564dde0991b4358dc" -"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" -"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" -"checksum snafu 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b028158eb06caa8345bee10cccfb25fa632beccf0ef5308832b4fd4b78a7db48" -"checksum snafu-derive 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf50aaef500c248a590e2696e8bf8c7620ca2235b9bb90a70363d82dd1abec6a" -"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" -"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" -"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" -"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -"checksum syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "158521e6f544e7e3dcfc370ac180794aa38cb34a1b1e07609376d4adcf429b93" -"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" -"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" -"checksum term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e5b9a66db815dcfd2da92db471106457082577c3c278d4138ab3e3b4e189327" -"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" -"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" -"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443" -"checksum tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac" -"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" -"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce" -"checksum tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2162248ff317e2bc713b261f242b69dbb838b85248ed20bb21df56d60ea4cae7" -"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" -"checksum tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "90ca01319dea1e376a001e8dc192d42ebde6dd532532a5bad988ac37db365b19" -"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e" -"checksum toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724" -"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" -"checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b" -"checksum unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6" -"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" -"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" -"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" -"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" -"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" -"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" -"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95" -"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" -"checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7" -"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" -"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -"checksum winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -"checksum xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1" @@ -1,13 +1,17 @@ [package] -name = "ynab-reimbursements" -version = "0.1.0" -authors = ["Jesse Luehrs <doy@tozt.net>"] -edition = "2018" +name = "ynab-api" +version = "1.0.0" +authors = ["Jesse Luehrs <doy@tozt.net>", "You Need A Budget, LLC"] +description = "OpenAPI-generated API bindings for the YNAB API" +repository = "https://git.tozt.net/ynab-api" +license = "Apache-2.0" + [dependencies] -cursive = "0.12" -# cursive = { version = "0.12", default-features = false, features = ["crossterm-backend"] } -cursive_table_view = "0.10" -directories = "2.0" -snafu = "0.4" -ynab-api = { path = "ynab-api" } +serde = "^1.0" +serde_derive = "^1.0" +serde_json = "^1.0" +url = "1.5" +reqwest = "~0.9" + +[dev-dependencies] diff --git a/ynab-api/README.md b/README.md index 77efbeb..d7e64d9 100644 --- a/ynab-api/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Rust API client for openapi +# Rust API client for ynab-api Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.youneedabudget.com @@ -152,3 +152,6 @@ cargo doc --open +Jesse Luehrs <doy@tozt.net> + +Based on the OpenAPI spec found at https://github.com/ynab/ynab-sdk-js/blob/master/spec-v1-swagger.json by You Need A Budget, LLC diff --git a/bin/regen-ynab-api b/bin/regen-ynab-api index a252d23..2f7c8ac 100755 --- a/bin/regen-ynab-api +++ b/bin/regen-ynab-api @@ -1,15 +1,32 @@ #!/bin/sh set -eu +metadata=$(cat <<'EOF' +authors = ["Jesse Luehrs <doy@tozt.net>", "You Need A Budget, LLC"] +description = "OpenAPI-generated API bindings for the YNAB API" +repository = "https://git.tozt.net/ynab-api" +license = "Apache-2.0" +EOF +) + +extra_readme=$(cat <<'EOF' +Jesse Luehrs <doy@tozt.net> + +Based on the OpenAPI spec found at https://github.com/ynab/ynab-sdk-js/blob/master/spec-v1-swagger.json by You Need A Budget, LLC +EOF +) + cd "$(dirname "$0")/.." -rm -rf ynab-api -mkdir ynab-api -cd ynab-api +rm -rf src docs openapi-generator-cli \ generate \ -g rust \ --library reqwest \ - -i ../data/spec-v1-swagger.json -sed -i 's/^name = "openapi"$/name = "ynab-api"/' Cargo.toml + -i data/spec-v1-swagger.json \ + -c data/openapi.yaml \ + --package-name ynab-api + +echo "$metadata" | perl -i -nlE'/^author/ ? print <STDIN> : print' Cargo.toml +echo "$extra_readme" >> README.md diff --git a/data/openapi.yaml b/data/openapi.yaml new file mode 100644 index 0000000..a33d674 --- /dev/null +++ b/data/openapi.yaml @@ -0,0 +1,2 @@ +--- +packageVersion: "1.0.0" diff --git a/ynab-api/docs/Account.md b/docs/Account.md index 265294b..265294b 100644 --- a/ynab-api/docs/Account.md +++ b/docs/Account.md diff --git a/ynab-api/docs/AccountResponse.md b/docs/AccountResponse.md index eb39808..eb39808 100644 --- a/ynab-api/docs/AccountResponse.md +++ b/docs/AccountResponse.md diff --git a/ynab-api/docs/AccountResponseData.md b/docs/AccountResponseData.md index d437a2f..d437a2f 100644 --- a/ynab-api/docs/AccountResponseData.md +++ b/docs/AccountResponseData.md diff --git a/ynab-api/docs/AccountsApi.md b/docs/AccountsApi.md index 98270b9..98270b9 100644 --- a/ynab-api/docs/AccountsApi.md +++ b/docs/AccountsApi.md diff --git a/ynab-api/docs/AccountsResponse.md b/docs/AccountsResponse.md index 6dc10dd..6dc10dd 100644 --- a/ynab-api/docs/AccountsResponse.md +++ b/docs/AccountsResponse.md diff --git a/ynab-api/docs/AccountsResponseData.md b/docs/AccountsResponseData.md index 968cad8..968cad8 100644 --- a/ynab-api/docs/AccountsResponseData.md +++ b/docs/AccountsResponseData.md diff --git a/ynab-api/docs/BudgetDetail.md b/docs/BudgetDetail.md index 3dac64b..3dac64b 100644 --- a/ynab-api/docs/BudgetDetail.md +++ b/docs/BudgetDetail.md diff --git a/ynab-api/docs/BudgetDetailAllOf.md b/docs/BudgetDetailAllOf.md index f5df347..f5df347 100644 --- a/ynab-api/docs/BudgetDetailAllOf.md +++ b/docs/BudgetDetailAllOf.md diff --git a/ynab-api/docs/BudgetDetailResponse.md b/docs/BudgetDetailResponse.md index 97cc82e..97cc82e 100644 --- a/ynab-api/docs/BudgetDetailResponse.md +++ b/docs/BudgetDetailResponse.md diff --git a/ynab-api/docs/BudgetDetailResponseData.md b/docs/BudgetDetailResponseData.md index 8697aae..8697aae 100644 --- a/ynab-api/docs/BudgetDetailResponseData.md +++ b/docs/BudgetDetailResponseData.md diff --git a/ynab-api/docs/BudgetSettings.md b/docs/BudgetSettings.md index b0604b4..b0604b4 100644 --- a/ynab-api/docs/BudgetSettings.md +++ b/docs/BudgetSettings.md diff --git a/ynab-api/docs/BudgetSettingsResponse.md b/docs/BudgetSettingsResponse.md index ee92163..ee92163 100644 --- a/ynab-api/docs/BudgetSettingsResponse.md +++ b/docs/BudgetSettingsResponse.md diff --git a/ynab-api/docs/BudgetSettingsResponseData.md b/docs/BudgetSettingsResponseData.md index 3d2c4cc..3d2c4cc 100644 --- a/ynab-api/docs/BudgetSettingsResponseData.md +++ b/docs/BudgetSettingsResponseData.md diff --git a/ynab-api/docs/BudgetSummary.md b/docs/BudgetSummary.md index f2e444b..f2e444b 100644 --- a/ynab-api/docs/BudgetSummary.md +++ b/docs/BudgetSummary.md diff --git a/ynab-api/docs/BudgetSummaryResponse.md b/docs/BudgetSummaryResponse.md index 5b029dd..5b029dd 100644 --- a/ynab-api/docs/BudgetSummaryResponse.md +++ b/docs/BudgetSummaryResponse.md diff --git a/ynab-api/docs/BudgetSummaryResponseData.md b/docs/BudgetSummaryResponseData.md index 2836bfa..2836bfa 100644 --- a/ynab-api/docs/BudgetSummaryResponseData.md +++ b/docs/BudgetSummaryResponseData.md diff --git a/ynab-api/docs/BudgetsApi.md b/docs/BudgetsApi.md index 563b754..563b754 100644 --- a/ynab-api/docs/BudgetsApi.md +++ b/docs/BudgetsApi.md diff --git a/ynab-api/docs/BulkResponse.md b/docs/BulkResponse.md index 009e60c..009e60c 100644 --- a/ynab-api/docs/BulkResponse.md +++ b/docs/BulkResponse.md diff --git a/ynab-api/docs/BulkResponseData.md b/docs/BulkResponseData.md index 82fef82..82fef82 100644 --- a/ynab-api/docs/BulkResponseData.md +++ b/docs/BulkResponseData.md diff --git a/ynab-api/docs/BulkResponseDataBulk.md b/docs/BulkResponseDataBulk.md index 97ff1dc..97ff1dc 100644 --- a/ynab-api/docs/BulkResponseDataBulk.md +++ b/docs/BulkResponseDataBulk.md diff --git a/ynab-api/docs/BulkTransactions.md b/docs/BulkTransactions.md index dc990e4..dc990e4 100644 --- a/ynab-api/docs/BulkTransactions.md +++ b/docs/BulkTransactions.md diff --git a/ynab-api/docs/CategoriesApi.md b/docs/CategoriesApi.md index 00294b8..00294b8 100644 --- a/ynab-api/docs/CategoriesApi.md +++ b/docs/CategoriesApi.md diff --git a/ynab-api/docs/CategoriesResponse.md b/docs/CategoriesResponse.md index e760b74..e760b74 100644 --- a/ynab-api/docs/CategoriesResponse.md +++ b/docs/CategoriesResponse.md diff --git a/ynab-api/docs/CategoriesResponseData.md b/docs/CategoriesResponseData.md index 766aae4..766aae4 100644 --- a/ynab-api/docs/CategoriesResponseData.md +++ b/docs/CategoriesResponseData.md diff --git a/ynab-api/docs/Category.md b/docs/Category.md index 217979b..217979b 100644 --- a/ynab-api/docs/Category.md +++ b/docs/Category.md diff --git a/ynab-api/docs/CategoryGroup.md b/docs/CategoryGroup.md index 498f3c5..498f3c5 100644 --- a/ynab-api/docs/CategoryGroup.md +++ b/docs/CategoryGroup.md diff --git a/ynab-api/docs/CategoryGroupWithCategories.md b/docs/CategoryGroupWithCategories.md index c1355c2..c1355c2 100644 --- a/ynab-api/docs/CategoryGroupWithCategories.md +++ b/docs/CategoryGroupWithCategories.md diff --git a/ynab-api/docs/CategoryGroupWithCategoriesAllOf.md b/docs/CategoryGroupWithCategoriesAllOf.md index 0a11fb9..0a11fb9 100644 --- a/ynab-api/docs/CategoryGroupWithCategoriesAllOf.md +++ b/docs/CategoryGroupWithCategoriesAllOf.md diff --git a/ynab-api/docs/CategoryResponse.md b/docs/CategoryResponse.md index efe3d40..efe3d40 100644 --- a/ynab-api/docs/CategoryResponse.md +++ b/docs/CategoryResponse.md diff --git a/ynab-api/docs/CategoryResponseData.md b/docs/CategoryResponseData.md index 187bf07..187bf07 100644 --- a/ynab-api/docs/CategoryResponseData.md +++ b/docs/CategoryResponseData.md diff --git a/ynab-api/docs/CurrencyFormat.md b/docs/CurrencyFormat.md index 98cd6fd..98cd6fd 100644 --- a/ynab-api/docs/CurrencyFormat.md +++ b/docs/CurrencyFormat.md diff --git a/ynab-api/docs/DateFormat.md b/docs/DateFormat.md index 53add08..53add08 100644 --- a/ynab-api/docs/DateFormat.md +++ b/docs/DateFormat.md diff --git a/ynab-api/docs/DeprecatedApi.md b/docs/DeprecatedApi.md index 85bdc80..85bdc80 100644 --- a/ynab-api/docs/DeprecatedApi.md +++ b/docs/DeprecatedApi.md diff --git a/ynab-api/docs/ErrorDetail.md b/docs/ErrorDetail.md index dd6d022..dd6d022 100644 --- a/ynab-api/docs/ErrorDetail.md +++ b/docs/ErrorDetail.md diff --git a/ynab-api/docs/ErrorResponse.md b/docs/ErrorResponse.md index 382b263..382b263 100644 --- a/ynab-api/docs/ErrorResponse.md +++ b/docs/ErrorResponse.md diff --git a/ynab-api/docs/HybridTransaction.md b/docs/HybridTransaction.md index c168944..c168944 100644 --- a/ynab-api/docs/HybridTransaction.md +++ b/docs/HybridTransaction.md diff --git a/ynab-api/docs/HybridTransactionAllOf.md b/docs/HybridTransactionAllOf.md index af38160..af38160 100644 --- a/ynab-api/docs/HybridTransactionAllOf.md +++ b/docs/HybridTransactionAllOf.md diff --git a/ynab-api/docs/HybridTransactionsResponse.md b/docs/HybridTransactionsResponse.md index df8437a..df8437a 100644 --- a/ynab-api/docs/HybridTransactionsResponse.md +++ b/docs/HybridTransactionsResponse.md diff --git a/ynab-api/docs/HybridTransactionsResponseData.md b/docs/HybridTransactionsResponseData.md index 241e7b6..241e7b6 100644 --- a/ynab-api/docs/HybridTransactionsResponseData.md +++ b/docs/HybridTransactionsResponseData.md diff --git a/ynab-api/docs/MonthDetail.md b/docs/MonthDetail.md index 1d7a22b..1d7a22b 100644 --- a/ynab-api/docs/MonthDetail.md +++ b/docs/MonthDetail.md diff --git a/ynab-api/docs/MonthDetailAllOf.md b/docs/MonthDetailAllOf.md index 81da8f5..81da8f5 100644 --- a/ynab-api/docs/MonthDetailAllOf.md +++ b/docs/MonthDetailAllOf.md diff --git a/ynab-api/docs/MonthDetailResponse.md b/docs/MonthDetailResponse.md index bfeaae8..bfeaae8 100644 --- a/ynab-api/docs/MonthDetailResponse.md +++ b/docs/MonthDetailResponse.md diff --git a/ynab-api/docs/MonthDetailResponseData.md b/docs/MonthDetailResponseData.md index 83bab88..83bab88 100644 --- a/ynab-api/docs/MonthDetailResponseData.md +++ b/docs/MonthDetailResponseData.md diff --git a/ynab-api/docs/MonthSummariesResponse.md b/docs/MonthSummariesResponse.md index fb7f315..fb7f315 100644 --- a/ynab-api/docs/MonthSummariesResponse.md +++ b/docs/MonthSummariesResponse.md diff --git a/ynab-api/docs/MonthSummariesResponseData.md b/docs/MonthSummariesResponseData.md index f9907b3..f9907b3 100644 --- a/ynab-api/docs/MonthSummariesResponseData.md +++ b/docs/MonthSummariesResponseData.md diff --git a/ynab-api/docs/MonthSummary.md b/docs/MonthSummary.md index a78cbfc..a78cbfc 100644 --- a/ynab-api/docs/MonthSummary.md +++ b/docs/MonthSummary.md diff --git a/ynab-api/docs/MonthsApi.md b/docs/MonthsApi.md index 337c03c..337c03c 100644 --- a/ynab-api/docs/MonthsApi.md +++ b/docs/MonthsApi.md diff --git a/ynab-api/docs/Payee.md b/docs/Payee.md index ff886e6..ff886e6 100644 --- a/ynab-api/docs/Payee.md +++ b/docs/Payee.md diff --git a/ynab-api/docs/PayeeLocation.md b/docs/PayeeLocation.md index f73c3be..f73c3be 100644 --- a/ynab-api/docs/PayeeLocation.md +++ b/docs/PayeeLocation.md diff --git a/ynab-api/docs/PayeeLocationResponse.md b/docs/PayeeLocationResponse.md index b34e691..b34e691 100644 --- a/ynab-api/docs/PayeeLocationResponse.md +++ b/docs/PayeeLocationResponse.md diff --git a/ynab-api/docs/PayeeLocationResponseData.md b/docs/PayeeLocationResponseData.md index bba1cb7..bba1cb7 100644 --- a/ynab-api/docs/PayeeLocationResponseData.md +++ b/docs/PayeeLocationResponseData.md diff --git a/ynab-api/docs/PayeeLocationsApi.md b/docs/PayeeLocationsApi.md index e51787a..e51787a 100644 --- a/ynab-api/docs/PayeeLocationsApi.md +++ b/docs/PayeeLocationsApi.md diff --git a/ynab-api/docs/PayeeLocationsResponse.md b/docs/PayeeLocationsResponse.md index f118e8e..f118e8e 100644 --- a/ynab-api/docs/PayeeLocationsResponse.md +++ b/docs/PayeeLocationsResponse.md diff --git a/ynab-api/docs/PayeeLocationsResponseData.md b/docs/PayeeLocationsResponseData.md index 4ad0748..4ad0748 100644 --- a/ynab-api/docs/PayeeLocationsResponseData.md +++ b/docs/PayeeLocationsResponseData.md diff --git a/ynab-api/docs/PayeeResponse.md b/docs/PayeeResponse.md index 6a38dfd..6a38dfd 100644 --- a/ynab-api/docs/PayeeResponse.md +++ b/docs/PayeeResponse.md diff --git a/ynab-api/docs/PayeeResponseData.md b/docs/PayeeResponseData.md index 9618470..9618470 100644 --- a/ynab-api/docs/PayeeResponseData.md +++ b/docs/PayeeResponseData.md diff --git a/ynab-api/docs/PayeesApi.md b/docs/PayeesApi.md index 173c79d..173c79d 100644 --- a/ynab-api/docs/PayeesApi.md +++ b/docs/PayeesApi.md diff --git a/ynab-api/docs/PayeesResponse.md b/docs/PayeesResponse.md index 18bd7d2..18bd7d2 100644 --- a/ynab-api/docs/PayeesResponse.md +++ b/docs/PayeesResponse.md diff --git a/ynab-api/docs/PayeesResponseData.md b/docs/PayeesResponseData.md index c3a5518..c3a5518 100644 --- a/ynab-api/docs/PayeesResponseData.md +++ b/docs/PayeesResponseData.md diff --git a/ynab-api/docs/SaveCategoryResponse.md b/docs/SaveCategoryResponse.md index 64a832f..64a832f 100644 --- a/ynab-api/docs/SaveCategoryResponse.md +++ b/docs/SaveCategoryResponse.md diff --git a/ynab-api/docs/SaveCategoryResponseData.md b/docs/SaveCategoryResponseData.md index 941f72f..941f72f 100644 --- a/ynab-api/docs/SaveCategoryResponseData.md +++ b/docs/SaveCategoryResponseData.md diff --git a/ynab-api/docs/SaveMonthCategory.md b/docs/SaveMonthCategory.md index 1c4abb9..1c4abb9 100644 --- a/ynab-api/docs/SaveMonthCategory.md +++ b/docs/SaveMonthCategory.md diff --git a/ynab-api/docs/SaveMonthCategoryWrapper.md b/docs/SaveMonthCategoryWrapper.md index 1b7e38a..1b7e38a 100644 --- a/ynab-api/docs/SaveMonthCategoryWrapper.md +++ b/docs/SaveMonthCategoryWrapper.md diff --git a/ynab-api/docs/SaveTransaction.md b/docs/SaveTransaction.md index dabee87..dabee87 100644 --- a/ynab-api/docs/SaveTransaction.md +++ b/docs/SaveTransaction.md diff --git a/ynab-api/docs/SaveTransactionWrapper.md b/docs/SaveTransactionWrapper.md index a9f3fcc..a9f3fcc 100644 --- a/ynab-api/docs/SaveTransactionWrapper.md +++ b/docs/SaveTransactionWrapper.md diff --git a/ynab-api/docs/SaveTransactionsResponse.md b/docs/SaveTransactionsResponse.md index 0458ef6..0458ef6 100644 --- a/ynab-api/docs/SaveTransactionsResponse.md +++ b/docs/SaveTransactionsResponse.md diff --git a/ynab-api/docs/SaveTransactionsResponseData.md b/docs/SaveTransactionsResponseData.md index 8617702..8617702 100644 --- a/ynab-api/docs/SaveTransactionsResponseData.md +++ b/docs/SaveTransactionsResponseData.md diff --git a/ynab-api/docs/SaveTransactionsWrapper.md b/docs/SaveTransactionsWrapper.md index d79e4ee..d79e4ee 100644 --- a/ynab-api/docs/SaveTransactionsWrapper.md +++ b/docs/SaveTransactionsWrapper.md diff --git a/ynab-api/docs/ScheduledSubTransaction.md b/docs/ScheduledSubTransaction.md index 6178bab..6178bab 100644 --- a/ynab-api/docs/ScheduledSubTransaction.md +++ b/docs/ScheduledSubTransaction.md diff --git a/ynab-api/docs/ScheduledTransactionDetail.md b/docs/ScheduledTransactionDetail.md index 5f45c7e..5f45c7e 100644 --- a/ynab-api/docs/ScheduledTransactionDetail.md +++ b/docs/ScheduledTransactionDetail.md diff --git a/ynab-api/docs/ScheduledTransactionDetailAllOf.md b/docs/ScheduledTransactionDetailAllOf.md index 3c2757f..3c2757f 100644 --- a/ynab-api/docs/ScheduledTransactionDetailAllOf.md +++ b/docs/ScheduledTransactionDetailAllOf.md diff --git a/ynab-api/docs/ScheduledTransactionResponse.md b/docs/ScheduledTransactionResponse.md index 28c4b7e..28c4b7e 100644 --- a/ynab-api/docs/ScheduledTransactionResponse.md +++ b/docs/ScheduledTransactionResponse.md diff --git a/ynab-api/docs/ScheduledTransactionResponseData.md b/docs/ScheduledTransactionResponseData.md index bd05d93..bd05d93 100644 --- a/ynab-api/docs/ScheduledTransactionResponseData.md +++ b/docs/ScheduledTransactionResponseData.md diff --git a/ynab-api/docs/ScheduledTransactionSummary.md b/docs/ScheduledTransactionSummary.md index 4b248b0..4b248b0 100644 --- a/ynab-api/docs/ScheduledTransactionSummary.md +++ b/docs/ScheduledTransactionSummary.md diff --git a/ynab-api/docs/ScheduledTransactionsApi.md b/docs/ScheduledTransactionsApi.md index 48856a7..48856a7 100644 --- a/ynab-api/docs/ScheduledTransactionsApi.md +++ b/docs/ScheduledTransactionsApi.md diff --git a/ynab-api/docs/ScheduledTransactionsResponse.md b/docs/ScheduledTransactionsResponse.md index b3dbffc..b3dbffc 100644 --- a/ynab-api/docs/ScheduledTransactionsResponse.md +++ b/docs/ScheduledTransactionsResponse.md diff --git a/ynab-api/docs/ScheduledTransactionsResponseData.md b/docs/ScheduledTransactionsResponseData.md index f5bc860..f5bc860 100644 --- a/ynab-api/docs/ScheduledTransactionsResponseData.md +++ b/docs/ScheduledTransactionsResponseData.md diff --git a/ynab-api/docs/SubTransaction.md b/docs/SubTransaction.md index 77bad7f..77bad7f 100644 --- a/ynab-api/docs/SubTransaction.md +++ b/docs/SubTransaction.md diff --git a/ynab-api/docs/TransactionDetail.md b/docs/TransactionDetail.md index 3d23f44..3d23f44 100644 --- a/ynab-api/docs/TransactionDetail.md +++ b/docs/TransactionDetail.md diff --git a/ynab-api/docs/TransactionDetailAllOf.md b/docs/TransactionDetailAllOf.md index 2db8459..2db8459 100644 --- a/ynab-api/docs/TransactionDetailAllOf.md +++ b/docs/TransactionDetailAllOf.md diff --git a/ynab-api/docs/TransactionResponse.md b/docs/TransactionResponse.md index ac81dfa..ac81dfa 100644 --- a/ynab-api/docs/TransactionResponse.md +++ b/docs/TransactionResponse.md diff --git a/ynab-api/docs/TransactionResponseData.md b/docs/TransactionResponseData.md index 81977f0..81977f0 100644 --- a/ynab-api/docs/TransactionResponseData.md +++ b/docs/TransactionResponseData.md diff --git a/ynab-api/docs/TransactionSummary.md b/docs/TransactionSummary.md index fd93b15..fd93b15 100644 --- a/ynab-api/docs/TransactionSummary.md +++ b/docs/TransactionSummary.md diff --git a/ynab-api/docs/TransactionsApi.md b/docs/TransactionsApi.md index 64ecb4b..64ecb4b 100644 --- a/ynab-api/docs/TransactionsApi.md +++ b/docs/TransactionsApi.md diff --git a/ynab-api/docs/TransactionsResponse.md b/docs/TransactionsResponse.md index fec6f21..fec6f21 100644 --- a/ynab-api/docs/TransactionsResponse.md +++ b/docs/TransactionsResponse.md diff --git a/ynab-api/docs/TransactionsResponseData.md b/docs/TransactionsResponseData.md index 2b64bf7..2b64bf7 100644 --- a/ynab-api/docs/TransactionsResponseData.md +++ b/docs/TransactionsResponseData.md diff --git a/ynab-api/docs/UpdateTransaction.md b/docs/UpdateTransaction.md index 6d6ecb0..6d6ecb0 100644 --- a/ynab-api/docs/UpdateTransaction.md +++ b/docs/UpdateTransaction.md diff --git a/ynab-api/docs/UpdateTransactionWrapper.md b/docs/UpdateTransactionWrapper.md index df6846f..df6846f 100644 --- a/ynab-api/docs/UpdateTransactionWrapper.md +++ b/docs/UpdateTransactionWrapper.md diff --git a/ynab-api/docs/UpdateTransactionsResponse.md b/docs/UpdateTransactionsResponse.md index 77e6431..77e6431 100644 --- a/ynab-api/docs/UpdateTransactionsResponse.md +++ b/docs/UpdateTransactionsResponse.md diff --git a/ynab-api/docs/UpdateTransactionsWrapper.md b/docs/UpdateTransactionsWrapper.md index f039804..f039804 100644 --- a/ynab-api/docs/UpdateTransactionsWrapper.md +++ b/docs/UpdateTransactionsWrapper.md diff --git a/ynab-api/docs/User.md b/docs/User.md index 28cb9e0..28cb9e0 100644 --- a/ynab-api/docs/User.md +++ b/docs/User.md diff --git a/ynab-api/docs/UserApi.md b/docs/UserApi.md index c2f9359..c2f9359 100644 --- a/ynab-api/docs/UserApi.md +++ b/docs/UserApi.md diff --git a/ynab-api/docs/UserResponse.md b/docs/UserResponse.md index 31b0d2f..31b0d2f 100644 --- a/ynab-api/docs/UserResponse.md +++ b/docs/UserResponse.md diff --git a/ynab-api/docs/UserResponseData.md b/docs/UserResponseData.md index 3aff41b..3aff41b 100644 --- a/ynab-api/docs/UserResponseData.md +++ b/docs/UserResponseData.md diff --git a/ynab-api/git_push.sh b/git_push.sh index 8442b80..8442b80 100644 --- a/ynab-api/git_push.sh +++ b/git_push.sh diff --git a/ynab-api/src/apis/accounts_api.rs b/src/apis/accounts_api.rs index 616476e..616476e 100644 --- a/ynab-api/src/apis/accounts_api.rs +++ b/src/apis/accounts_api.rs diff --git a/ynab-api/src/apis/budgets_api.rs b/src/apis/budgets_api.rs index 663dc59..663dc59 100644 --- a/ynab-api/src/apis/budgets_api.rs +++ b/src/apis/budgets_api.rs diff --git a/ynab-api/src/apis/categories_api.rs b/src/apis/categories_api.rs index 417a2d9..417a2d9 100644 --- a/ynab-api/src/apis/categories_api.rs +++ b/src/apis/categories_api.rs diff --git a/ynab-api/src/apis/client.rs b/src/apis/client.rs index 2776f11..2776f11 100644 --- a/ynab-api/src/apis/client.rs +++ b/src/apis/client.rs diff --git a/ynab-api/src/apis/configuration.rs b/src/apis/configuration.rs index 4378dfa..4378dfa 100644 --- a/ynab-api/src/apis/configuration.rs +++ b/src/apis/configuration.rs diff --git a/ynab-api/src/apis/deprecated_api.rs b/src/apis/deprecated_api.rs index a148248..a148248 100644 --- a/ynab-api/src/apis/deprecated_api.rs +++ b/src/apis/deprecated_api.rs diff --git a/ynab-api/src/apis/mod.rs b/src/apis/mod.rs index 910bd7e..910bd7e 100644 --- a/ynab-api/src/apis/mod.rs +++ b/src/apis/mod.rs diff --git a/ynab-api/src/apis/months_api.rs b/src/apis/months_api.rs index 3bee3fe..3bee3fe 100644 --- a/ynab-api/src/apis/months_api.rs +++ b/src/apis/months_api.rs diff --git a/ynab-api/src/apis/payee_locations_api.rs b/src/apis/payee_locations_api.rs index 88f12e1..88f12e1 100644 --- a/ynab-api/src/apis/payee_locations_api.rs +++ b/src/apis/payee_locations_api.rs diff --git a/ynab-api/src/apis/payees_api.rs b/src/apis/payees_api.rs index 77db5bb..77db5bb 100644 --- a/ynab-api/src/apis/payees_api.rs +++ b/src/apis/payees_api.rs diff --git a/ynab-api/src/apis/scheduled_transactions_api.rs b/src/apis/scheduled_transactions_api.rs index 8ab30a8..8ab30a8 100644 --- a/ynab-api/src/apis/scheduled_transactions_api.rs +++ b/src/apis/scheduled_transactions_api.rs diff --git a/ynab-api/src/apis/transactions_api.rs b/src/apis/transactions_api.rs index a6386a0..a6386a0 100644 --- a/ynab-api/src/apis/transactions_api.rs +++ b/src/apis/transactions_api.rs diff --git a/ynab-api/src/apis/user_api.rs b/src/apis/user_api.rs index 50c243e..50c243e 100644 --- a/ynab-api/src/apis/user_api.rs +++ b/src/apis/user_api.rs diff --git a/src/app.rs b/src/app.rs deleted file mode 100644 index 22bf543..0000000 --- a/src/app.rs +++ /dev/null @@ -1,46 +0,0 @@ -pub struct App { - cursive: cursive::Cursive, -} - -impl App { - pub fn new(budget: crate::ynab::Budget) -> Self { - let mut app = cursive::Cursive::default(); - let term_width = app.screen_size().x; - app.set_theme(Self::theme()); - app.add_global_callback('q', |s| s.quit()); - - let mut layout = cursive::views::LinearLayout::vertical(); - layout.add_child(cursive::views::TextView::new(format!( - "Budget: {} ({})\n{}", - budget.name(), - budget.id(), - "=".repeat(term_width), - ))); - - layout.add_child(crate::views::TxnTables::new("txn_tables", &budget)); - - app.set_user_data(budget); - app.add_fullscreen_layer(layout); - - Self { cursive: app } - } - - pub fn run(&mut self) { - self.cursive.run(); - } - - fn theme() -> cursive::theme::Theme { - let mut palette = cursive::theme::Palette::default(); - palette[cursive::theme::PaletteColor::Background] = - cursive::theme::Color::TerminalDefault; - palette[cursive::theme::PaletteColor::View] = - cursive::theme::Color::TerminalDefault; - palette[cursive::theme::PaletteColor::Primary] = - cursive::theme::Color::TerminalDefault; - cursive::theme::Theme { - shadow: false, - borders: cursive::theme::BorderStyle::Simple, - palette, - } - } -} diff --git a/ynab-api/src/lib.rs b/src/lib.rs index c1dd666..c1dd666 100644 --- a/ynab-api/src/lib.rs +++ b/src/lib.rs diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index d53ce1c..0000000 --- a/src/main.rs +++ /dev/null @@ -1,37 +0,0 @@ -mod app; -mod paths; -mod views; -mod ynab; - -use snafu::ResultExt; - -#[derive(Debug, snafu::Snafu)] -pub enum Error { - #[snafu(display("failed to get api key: {}", source))] - GetApiKey { source: crate::paths::Error }, - - #[snafu(display("failed to load budget: {}", source))] - LoadBudget { source: crate::ynab::BudgetError }, -} - -pub type Result<T> = std::result::Result<T, Error>; - -fn run() -> Result<()> { - let key = paths::read_api_key().context(GetApiKey)?; - let budget = ynab::Budget::new(&key).context(LoadBudget)?; - - let mut app = app::App::new(budget); - app.run(); - - Ok(()) -} - -fn main() { - match run() { - Ok(_) => {} - Err(e) => { - eprintln!("ynab-reimbursements: {}", e); - std::process::exit(1); - } - } -} diff --git a/ynab-api/src/models/account.rs b/src/models/account.rs index 6ffa1d5..6ffa1d5 100644 --- a/ynab-api/src/models/account.rs +++ b/src/models/account.rs diff --git a/ynab-api/src/models/account_response.rs b/src/models/account_response.rs index 633bacb..633bacb 100644 --- a/ynab-api/src/models/account_response.rs +++ b/src/models/account_response.rs diff --git a/ynab-api/src/models/account_response_data.rs b/src/models/account_response_data.rs index 9340a0f..9340a0f 100644 --- a/ynab-api/src/models/account_response_data.rs +++ b/src/models/account_response_data.rs diff --git a/ynab-api/src/models/accounts_response.rs b/src/models/accounts_response.rs index d2bd25d..d2bd25d 100644 --- a/ynab-api/src/models/accounts_response.rs +++ b/src/models/accounts_response.rs diff --git a/ynab-api/src/models/accounts_response_data.rs b/src/models/accounts_response_data.rs index 1324953..1324953 100644 --- a/ynab-api/src/models/accounts_response_data.rs +++ b/src/models/accounts_response_data.rs diff --git a/ynab-api/src/models/budget_detail.rs b/src/models/budget_detail.rs index 8553aad..8553aad 100644 --- a/ynab-api/src/models/budget_detail.rs +++ b/src/models/budget_detail.rs diff --git a/ynab-api/src/models/budget_detail_all_of.rs b/src/models/budget_detail_all_of.rs index 90a621e..90a621e 100644 --- a/ynab-api/src/models/budget_detail_all_of.rs +++ b/src/models/budget_detail_all_of.rs diff --git a/ynab-api/src/models/budget_detail_response.rs b/src/models/budget_detail_response.rs index 5fe15c9..5fe15c9 100644 --- a/ynab-api/src/models/budget_detail_response.rs +++ b/src/models/budget_detail_response.rs diff --git a/ynab-api/src/models/budget_detail_response_data.rs b/src/models/budget_detail_response_data.rs index 301479d..301479d 100644 --- a/ynab-api/src/models/budget_detail_response_data.rs +++ b/src/models/budget_detail_response_data.rs diff --git a/ynab-api/src/models/budget_settings.rs b/src/models/budget_settings.rs index 25985b5..25985b5 100644 --- a/ynab-api/src/models/budget_settings.rs +++ b/src/models/budget_settings.rs diff --git a/ynab-api/src/models/budget_settings_response.rs b/src/models/budget_settings_response.rs index c5c0ee3..c5c0ee3 100644 --- a/ynab-api/src/models/budget_settings_response.rs +++ b/src/models/budget_settings_response.rs diff --git a/ynab-api/src/models/budget_settings_response_data.rs b/src/models/budget_settings_response_data.rs index e484234..e484234 100644 --- a/ynab-api/src/models/budget_settings_response_data.rs +++ b/src/models/budget_settings_response_data.rs diff --git a/ynab-api/src/models/budget_summary.rs b/src/models/budget_summary.rs index b380593..b380593 100644 --- a/ynab-api/src/models/budget_summary.rs +++ b/src/models/budget_summary.rs diff --git a/ynab-api/src/models/budget_summary_response.rs b/src/models/budget_summary_response.rs index 422dfae..422dfae 100644 --- a/ynab-api/src/models/budget_summary_response.rs +++ b/src/models/budget_summary_response.rs diff --git a/ynab-api/src/models/budget_summary_response_data.rs b/src/models/budget_summary_response_data.rs index f6bec05..f6bec05 100644 --- a/ynab-api/src/models/budget_summary_response_data.rs +++ b/src/models/budget_summary_response_data.rs diff --git a/ynab-api/src/models/bulk_response.rs b/src/models/bulk_response.rs index bf98b29..bf98b29 100644 --- a/ynab-api/src/models/bulk_response.rs +++ b/src/models/bulk_response.rs diff --git a/ynab-api/src/models/bulk_response_data.rs b/src/models/bulk_response_data.rs index e347af0..e347af0 100644 --- a/ynab-api/src/models/bulk_response_data.rs +++ b/src/models/bulk_response_data.rs diff --git a/ynab-api/src/models/bulk_response_data_bulk.rs b/src/models/bulk_response_data_bulk.rs index 3993078..3993078 100644 --- a/ynab-api/src/models/bulk_response_data_bulk.rs +++ b/src/models/bulk_response_data_bulk.rs diff --git a/ynab-api/src/models/bulk_transactions.rs b/src/models/bulk_transactions.rs index e80c1c3..e80c1c3 100644 --- a/ynab-api/src/models/bulk_transactions.rs +++ b/src/models/bulk_transactions.rs diff --git a/ynab-api/src/models/categories_response.rs b/src/models/categories_response.rs index 08fbafd..08fbafd 100644 --- a/ynab-api/src/models/categories_response.rs +++ b/src/models/categories_response.rs diff --git a/ynab-api/src/models/categories_response_data.rs b/src/models/categories_response_data.rs index 980505e..980505e 100644 --- a/ynab-api/src/models/categories_response_data.rs +++ b/src/models/categories_response_data.rs diff --git a/ynab-api/src/models/category.rs b/src/models/category.rs index 1a62c6a..1a62c6a 100644 --- a/ynab-api/src/models/category.rs +++ b/src/models/category.rs diff --git a/ynab-api/src/models/category_group.rs b/src/models/category_group.rs index 2f674e2..2f674e2 100644 --- a/ynab-api/src/models/category_group.rs +++ b/src/models/category_group.rs diff --git a/ynab-api/src/models/category_group_with_categories.rs b/src/models/category_group_with_categories.rs index 38cfd88..38cfd88 100644 --- a/ynab-api/src/models/category_group_with_categories.rs +++ b/src/models/category_group_with_categories.rs diff --git a/ynab-api/src/models/category_group_with_categories_all_of.rs b/src/models/category_group_with_categories_all_of.rs index f34d3bb..f34d3bb 100644 --- a/ynab-api/src/models/category_group_with_categories_all_of.rs +++ b/src/models/category_group_with_categories_all_of.rs diff --git a/ynab-api/src/models/category_response.rs b/src/models/category_response.rs index 35f2f40..35f2f40 100644 --- a/ynab-api/src/models/category_response.rs +++ b/src/models/category_response.rs diff --git a/ynab-api/src/models/category_response_data.rs b/src/models/category_response_data.rs index 4e81fbb..4e81fbb 100644 --- a/ynab-api/src/models/category_response_data.rs +++ b/src/models/category_response_data.rs diff --git a/ynab-api/src/models/currency_format.rs b/src/models/currency_format.rs index 476856a..476856a 100644 --- a/ynab-api/src/models/currency_format.rs +++ b/src/models/currency_format.rs diff --git a/ynab-api/src/models/date_format.rs b/src/models/date_format.rs index cf88395..cf88395 100644 --- a/ynab-api/src/models/date_format.rs +++ b/src/models/date_format.rs diff --git a/ynab-api/src/models/error_detail.rs b/src/models/error_detail.rs index 4745cf3..4745cf3 100644 --- a/ynab-api/src/models/error_detail.rs +++ b/src/models/error_detail.rs diff --git a/ynab-api/src/models/error_response.rs b/src/models/error_response.rs index c321726..c321726 100644 --- a/ynab-api/src/models/error_response.rs +++ b/src/models/error_response.rs diff --git a/ynab-api/src/models/hybrid_transaction.rs b/src/models/hybrid_transaction.rs index 802813b..802813b 100644 --- a/ynab-api/src/models/hybrid_transaction.rs +++ b/src/models/hybrid_transaction.rs diff --git a/ynab-api/src/models/hybrid_transaction_all_of.rs b/src/models/hybrid_transaction_all_of.rs index 42fd515..42fd515 100644 --- a/ynab-api/src/models/hybrid_transaction_all_of.rs +++ b/src/models/hybrid_transaction_all_of.rs diff --git a/ynab-api/src/models/hybrid_transactions_response.rs b/src/models/hybrid_transactions_response.rs index 493582e..493582e 100644 --- a/ynab-api/src/models/hybrid_transactions_response.rs +++ b/src/models/hybrid_transactions_response.rs diff --git a/ynab-api/src/models/hybrid_transactions_response_data.rs b/src/models/hybrid_transactions_response_data.rs index 8e329e4..8e329e4 100644 --- a/ynab-api/src/models/hybrid_transactions_response_data.rs +++ b/src/models/hybrid_transactions_response_data.rs diff --git a/ynab-api/src/models/mod.rs b/src/models/mod.rs index ba8b351..ba8b351 100644 --- a/ynab-api/src/models/mod.rs +++ b/src/models/mod.rs diff --git a/ynab-api/src/models/month_detail.rs b/src/models/month_detail.rs index a6f55d4..a6f55d4 100644 --- a/ynab-api/src/models/month_detail.rs +++ b/src/models/month_detail.rs diff --git a/ynab-api/src/models/month_detail_all_of.rs b/src/models/month_detail_all_of.rs index 0f07326..0f07326 100644 --- a/ynab-api/src/models/month_detail_all_of.rs +++ b/src/models/month_detail_all_of.rs diff --git a/ynab-api/src/models/month_detail_response.rs b/src/models/month_detail_response.rs index c144afb..c144afb 100644 --- a/ynab-api/src/models/month_detail_response.rs +++ b/src/models/month_detail_response.rs diff --git a/ynab-api/src/models/month_detail_response_data.rs b/src/models/month_detail_response_data.rs index 0948763..0948763 100644 --- a/ynab-api/src/models/month_detail_response_data.rs +++ b/src/models/month_detail_response_data.rs diff --git a/ynab-api/src/models/month_summaries_response.rs b/src/models/month_summaries_response.rs index 44d5d66..44d5d66 100644 --- a/ynab-api/src/models/month_summaries_response.rs +++ b/src/models/month_summaries_response.rs diff --git a/ynab-api/src/models/month_summaries_response_data.rs b/src/models/month_summaries_response_data.rs index 6237601..6237601 100644 --- a/ynab-api/src/models/month_summaries_response_data.rs +++ b/src/models/month_summaries_response_data.rs diff --git a/ynab-api/src/models/month_summary.rs b/src/models/month_summary.rs index 3c705d3..3c705d3 100644 --- a/ynab-api/src/models/month_summary.rs +++ b/src/models/month_summary.rs diff --git a/ynab-api/src/models/payee.rs b/src/models/payee.rs index 13ad103..13ad103 100644 --- a/ynab-api/src/models/payee.rs +++ b/src/models/payee.rs diff --git a/ynab-api/src/models/payee_location.rs b/src/models/payee_location.rs index afb050e..afb050e 100644 --- a/ynab-api/src/models/payee_location.rs +++ b/src/models/payee_location.rs diff --git a/ynab-api/src/models/payee_location_response.rs b/src/models/payee_location_response.rs index e6d2608..e6d2608 100644 --- a/ynab-api/src/models/payee_location_response.rs +++ b/src/models/payee_location_response.rs diff --git a/ynab-api/src/models/payee_location_response_data.rs b/src/models/payee_location_response_data.rs index 869c4ea..869c4ea 100644 --- a/ynab-api/src/models/payee_location_response_data.rs +++ b/src/models/payee_location_response_data.rs diff --git a/ynab-api/src/models/payee_locations_response.rs b/src/models/payee_locations_response.rs index 916a19e..916a19e 100644 --- a/ynab-api/src/models/payee_locations_response.rs +++ b/src/models/payee_locations_response.rs diff --git a/ynab-api/src/models/payee_locations_response_data.rs b/src/models/payee_locations_response_data.rs index ea46038..ea46038 100644 --- a/ynab-api/src/models/payee_locations_response_data.rs +++ b/src/models/payee_locations_response_data.rs diff --git a/ynab-api/src/models/payee_response.rs b/src/models/payee_response.rs index 690913a..690913a 100644 --- a/ynab-api/src/models/payee_response.rs +++ b/src/models/payee_response.rs diff --git a/ynab-api/src/models/payee_response_data.rs b/src/models/payee_response_data.rs index f19f7ea..f19f7ea 100644 --- a/ynab-api/src/models/payee_response_data.rs +++ b/src/models/payee_response_data.rs diff --git a/ynab-api/src/models/payees_response.rs b/src/models/payees_response.rs index dba96f3..dba96f3 100644 --- a/ynab-api/src/models/payees_response.rs +++ b/src/models/payees_response.rs diff --git a/ynab-api/src/models/payees_response_data.rs b/src/models/payees_response_data.rs index 4897b15..4897b15 100644 --- a/ynab-api/src/models/payees_response_data.rs +++ b/src/models/payees_response_data.rs diff --git a/ynab-api/src/models/save_category_response.rs b/src/models/save_category_response.rs index 37744c1..37744c1 100644 --- a/ynab-api/src/models/save_category_response.rs +++ b/src/models/save_category_response.rs diff --git a/ynab-api/src/models/save_category_response_data.rs b/src/models/save_category_response_data.rs index b61b206..b61b206 100644 --- a/ynab-api/src/models/save_category_response_data.rs +++ b/src/models/save_category_response_data.rs diff --git a/ynab-api/src/models/save_month_category.rs b/src/models/save_month_category.rs index 40d1b2e..40d1b2e 100644 --- a/ynab-api/src/models/save_month_category.rs +++ b/src/models/save_month_category.rs diff --git a/ynab-api/src/models/save_month_category_wrapper.rs b/src/models/save_month_category_wrapper.rs index ef67116..ef67116 100644 --- a/ynab-api/src/models/save_month_category_wrapper.rs +++ b/src/models/save_month_category_wrapper.rs diff --git a/ynab-api/src/models/save_transaction.rs b/src/models/save_transaction.rs index c2fc6b7..c2fc6b7 100644 --- a/ynab-api/src/models/save_transaction.rs +++ b/src/models/save_transaction.rs diff --git a/ynab-api/src/models/save_transaction_wrapper.rs b/src/models/save_transaction_wrapper.rs index 71bc7cd..71bc7cd 100644 --- a/ynab-api/src/models/save_transaction_wrapper.rs +++ b/src/models/save_transaction_wrapper.rs diff --git a/ynab-api/src/models/save_transactions_response.rs b/src/models/save_transactions_response.rs index be0782c..be0782c 100644 --- a/ynab-api/src/models/save_transactions_response.rs +++ b/src/models/save_transactions_response.rs diff --git a/ynab-api/src/models/save_transactions_response_data.rs b/src/models/save_transactions_response_data.rs index 0086874..0086874 100644 --- a/ynab-api/src/models/save_transactions_response_data.rs +++ b/src/models/save_transactions_response_data.rs diff --git a/ynab-api/src/models/save_transactions_wrapper.rs b/src/models/save_transactions_wrapper.rs index ed49180..ed49180 100644 --- a/ynab-api/src/models/save_transactions_wrapper.rs +++ b/src/models/save_transactions_wrapper.rs diff --git a/ynab-api/src/models/scheduled_sub_transaction.rs b/src/models/scheduled_sub_transaction.rs index dfc0aca..dfc0aca 100644 --- a/ynab-api/src/models/scheduled_sub_transaction.rs +++ b/src/models/scheduled_sub_transaction.rs diff --git a/ynab-api/src/models/scheduled_transaction_detail.rs b/src/models/scheduled_transaction_detail.rs index d86ef25..d86ef25 100644 --- a/ynab-api/src/models/scheduled_transaction_detail.rs +++ b/src/models/scheduled_transaction_detail.rs diff --git a/ynab-api/src/models/scheduled_transaction_detail_all_of.rs b/src/models/scheduled_transaction_detail_all_of.rs index cf7e6c7..cf7e6c7 100644 --- a/ynab-api/src/models/scheduled_transaction_detail_all_of.rs +++ b/src/models/scheduled_transaction_detail_all_of.rs diff --git a/ynab-api/src/models/scheduled_transaction_response.rs b/src/models/scheduled_transaction_response.rs index 25286cd..25286cd 100644 --- a/ynab-api/src/models/scheduled_transaction_response.rs +++ b/src/models/scheduled_transaction_response.rs diff --git a/ynab-api/src/models/scheduled_transaction_response_data.rs b/src/models/scheduled_transaction_response_data.rs index 70db916..70db916 100644 --- a/ynab-api/src/models/scheduled_transaction_response_data.rs +++ b/src/models/scheduled_transaction_response_data.rs diff --git a/ynab-api/src/models/scheduled_transaction_summary.rs b/src/models/scheduled_transaction_summary.rs index 7966d2c..7966d2c 100644 --- a/ynab-api/src/models/scheduled_transaction_summary.rs +++ b/src/models/scheduled_transaction_summary.rs diff --git a/ynab-api/src/models/scheduled_transactions_response.rs b/src/models/scheduled_transactions_response.rs index 8ff8378..8ff8378 100644 --- a/ynab-api/src/models/scheduled_transactions_response.rs +++ b/src/models/scheduled_transactions_response.rs diff --git a/ynab-api/src/models/scheduled_transactions_response_data.rs b/src/models/scheduled_transactions_response_data.rs index 71e5c79..71e5c79 100644 --- a/ynab-api/src/models/scheduled_transactions_response_data.rs +++ b/src/models/scheduled_transactions_response_data.rs diff --git a/ynab-api/src/models/sub_transaction.rs b/src/models/sub_transaction.rs index 633ae38..633ae38 100644 --- a/ynab-api/src/models/sub_transaction.rs +++ b/src/models/sub_transaction.rs diff --git a/ynab-api/src/models/transaction_detail.rs b/src/models/transaction_detail.rs index 956eae9..956eae9 100644 --- a/ynab-api/src/models/transaction_detail.rs +++ b/src/models/transaction_detail.rs diff --git a/ynab-api/src/models/transaction_detail_all_of.rs b/src/models/transaction_detail_all_of.rs index cead8f5..cead8f5 100644 --- a/ynab-api/src/models/transaction_detail_all_of.rs +++ b/src/models/transaction_detail_all_of.rs diff --git a/ynab-api/src/models/transaction_response.rs b/src/models/transaction_response.rs index cc65780..cc65780 100644 --- a/ynab-api/src/models/transaction_response.rs +++ b/src/models/transaction_response.rs diff --git a/ynab-api/src/models/transaction_response_data.rs b/src/models/transaction_response_data.rs index 5f96108..5f96108 100644 --- a/ynab-api/src/models/transaction_response_data.rs +++ b/src/models/transaction_response_data.rs diff --git a/ynab-api/src/models/transaction_summary.rs b/src/models/transaction_summary.rs index 94ce164..94ce164 100644 --- a/ynab-api/src/models/transaction_summary.rs +++ b/src/models/transaction_summary.rs diff --git a/ynab-api/src/models/transactions_response.rs b/src/models/transactions_response.rs index cda3c1f..cda3c1f 100644 --- a/ynab-api/src/models/transactions_response.rs +++ b/src/models/transactions_response.rs diff --git a/ynab-api/src/models/transactions_response_data.rs b/src/models/transactions_response_data.rs index 4ac9438..4ac9438 100644 --- a/ynab-api/src/models/transactions_response_data.rs +++ b/src/models/transactions_response_data.rs diff --git a/ynab-api/src/models/update_transaction.rs b/src/models/update_transaction.rs index 5e93837..5e93837 100644 --- a/ynab-api/src/models/update_transaction.rs +++ b/src/models/update_transaction.rs diff --git a/ynab-api/src/models/update_transaction_wrapper.rs b/src/models/update_transaction_wrapper.rs index 5c34fbb..5c34fbb 100644 --- a/ynab-api/src/models/update_transaction_wrapper.rs +++ b/src/models/update_transaction_wrapper.rs diff --git a/ynab-api/src/models/update_transactions_response.rs b/src/models/update_transactions_response.rs index c56d2b3..c56d2b3 100644 --- a/ynab-api/src/models/update_transactions_response.rs +++ b/src/models/update_transactions_response.rs diff --git a/ynab-api/src/models/update_transactions_wrapper.rs b/src/models/update_transactions_wrapper.rs index 810d054..810d054 100644 --- a/ynab-api/src/models/update_transactions_wrapper.rs +++ b/src/models/update_transactions_wrapper.rs diff --git a/ynab-api/src/models/user.rs b/src/models/user.rs index 8143284..8143284 100644 --- a/ynab-api/src/models/user.rs +++ b/src/models/user.rs diff --git a/ynab-api/src/models/user_response.rs b/src/models/user_response.rs index e2427e0..e2427e0 100644 --- a/ynab-api/src/models/user_response.rs +++ b/src/models/user_response.rs diff --git a/ynab-api/src/models/user_response_data.rs b/src/models/user_response_data.rs index 9fc30f8..9fc30f8 100644 --- a/ynab-api/src/models/user_response_data.rs +++ b/src/models/user_response_data.rs diff --git a/src/paths.rs b/src/paths.rs deleted file mode 100644 index f53bef5..0000000 --- a/src/paths.rs +++ /dev/null @@ -1,56 +0,0 @@ -use snafu::{OptionExt, ResultExt}; -use std::io::Read; - -#[derive(Debug, snafu::Snafu)] -pub enum Error { - #[snafu(display("couldn't find config path for project {}", name))] - FindConfigDir { name: String }, - - #[snafu(display( - "couldn't open file {}: {}", - file.to_string_lossy(), - source - ))] - OpenFile { - file: std::path::PathBuf, - source: std::io::Error, - }, - - #[snafu(display( - "couldn't read file {}: {}", - file.to_string_lossy(), - source - ))] - ReadFile { - file: std::path::PathBuf, - source: std::io::Error, - }, -} - -pub type Result<T> = std::result::Result<T, Error>; - -const PROJECT_NAME: &str = "ynab"; - -pub fn api_key() -> Result<std::path::PathBuf> { - Ok(directories::ProjectDirs::from("", "", PROJECT_NAME) - .with_context(|| FindConfigDir { - name: PROJECT_NAME.to_string(), - })? - .config_dir() - .join("api-key")) -} - -pub fn read_api_key() -> Result<String> { - let mut key = String::new(); - let key_file = api_key()?; - std::fs::File::open(key_file.clone()) - .with_context(|| OpenFile { - file: key_file.clone(), - })? - .read_to_string(&mut key) - .with_context(|| ReadFile { - file: key_file.clone(), - })?; - let key = key.trim(); - Ok(key.to_string()) -} diff --git a/src/views.rs b/src/views.rs deleted file mode 100644 index 6129e53..0000000 --- a/src/views.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod txn_table; -mod txn_tables; -mod util; - -pub use txn_tables::TxnTables; diff --git a/src/views/txn_table.rs b/src/views/txn_table.rs deleted file mode 100644 index b71a92e..0000000 --- a/src/views/txn_table.rs +++ /dev/null @@ -1,151 +0,0 @@ -use cursive::view::{Identifiable, View, ViewWrapper}; - -#[derive(Clone, Copy, Eq, Hash, PartialEq)] -pub enum TxnColumn { - Selected, - Date, - Account, - Payee, - Amount, - TotalAmount, -} - -pub type TxnTableView = - cursive_table_view::TableView<crate::ynab::Transaction, TxnColumn>; -pub struct TxnTable { - view: super::util::FullView<TxnTableView>, -} - -impl cursive::view::ViewWrapper for TxnTable { - cursive::wrap_impl!(self.view: super::util::FullView<TxnTableView>); -} - -impl TxnTable { - pub fn new( - txns: Vec<crate::ynab::Transaction>, - id: &'static str, - ) -> Self { - let mut table = cursive_table_view::TableView::new() - .column(TxnColumn::Selected, "Sel", |c| c.width(3)) - .column(TxnColumn::Date, "Date", |c| c.width(10)) - .column(TxnColumn::Account, "Account", |c| c.width(15)) - .column(TxnColumn::Payee, "Payee", |c| c) - .column(TxnColumn::Amount, "Amount", |c| { - c.align(cursive::align::HAlign::Right).width(10) - }) - .column(TxnColumn::TotalAmount, "", |c| { - c.align(cursive::align::HAlign::Right).width(10) - }) - .default_column(TxnColumn::Date) - .on_submit(|s, _, _| { - s.on_event(cursive::event::Event::Key( - cursive::event::Key::F0, - )); - }); - table.set_items(txns); - let view = cursive::views::OnEventView::new(table) - .on_event_inner(' ', |v: &mut TxnTableView, _| { - if let Some(idx) = v.item() { - let txn = v.borrow_item_mut(idx).unwrap(); - txn.selected = !txn.selected; - } - None - }) - .on_event_inner('h', |v: &mut TxnTableView, _| { - v.on_event(cursive::event::Event::Key( - cursive::event::Key::Left, - )); - None - }) - .on_event_inner('j', |v: &mut TxnTableView, _| { - v.on_event(cursive::event::Event::Key( - cursive::event::Key::Down, - )); - None - }) - .on_event_inner('k', |v: &mut TxnTableView, _| { - v.on_event(cursive::event::Event::Key( - cursive::event::Key::Up, - )); - None - }) - .on_event_inner('l', |v: &mut TxnTableView, _| { - v.on_event(cursive::event::Event::Key( - cursive::event::Key::Right, - )); - None - }) - .on_event_inner('g', |v: &mut TxnTableView, _| { - v.set_selected_row(0); - None - }) - .on_event_inner('G', |v: &mut TxnTableView, _| { - v.set_selected_row(v.len() - 1); - None - }) - .with_id(id); - TxnTable { view } - } - - pub fn len(&self) -> usize { - self.view - .with_view(|v| v.with_view(|v| v.len()).unwrap()) - .unwrap() - } - - // XXX why does borrow_items require &mut self? - pub fn amount(&mut self) -> i64 { - self.view - .get_mut() - .get_inner_mut() - .borrow_items() - .iter() - .map(|t| t.amount) - .sum() - } -} - -impl cursive_table_view::TableViewItem<TxnColumn> - for crate::ynab::Transaction -{ - fn to_column(&self, column: TxnColumn) -> String { - match column { - TxnColumn::Selected => { - if self.selected { - "[x]".to_string() - } else { - "[ ]".to_string() - } - } - TxnColumn::Date => self.date.clone(), - TxnColumn::Account => { - self.account.clone().unwrap_or_else(|| "".to_string()) - } - TxnColumn::Payee => { - self.payee.clone().unwrap_or_else(|| "".to_string()) - } - TxnColumn::Amount => crate::ynab::format_amount(self.amount), - TxnColumn::TotalAmount => { - if self.amount == self.total_amount { - "".to_string() - } else { - crate::ynab::format_amount(self.total_amount) - } - } - } - } - - fn cmp(&self, other: &Self, column: TxnColumn) -> std::cmp::Ordering - where - Self: Sized, - { - match column { - TxnColumn::Selected => std::cmp::Ordering::Equal, - TxnColumn::Date => self.date.cmp(&other.date), - TxnColumn::Account => self.account.cmp(&other.account), - TxnColumn::Payee => self.payee.cmp(&other.payee), - TxnColumn::Amount => self.amount.cmp(&other.amount), - TxnColumn::TotalAmount => self.amount.cmp(&other.total_amount), - } - } -} diff --git a/src/views/txn_tables.rs b/src/views/txn_tables.rs deleted file mode 100644 index 62539ac..0000000 --- a/src/views/txn_tables.rs +++ /dev/null @@ -1,353 +0,0 @@ -use cursive::view::{Identifiable, View}; - -const SELECTED_TOTAL_ID: &str = "selected_total"; -const INFLOWS_TABLE_ID: &str = "inflows_table"; -const OUTFLOWS_TABLE_ID: &str = "outflows_table"; - -pub struct TxnTables { - view: super::util::FullView<cursive::views::LinearLayout>, -} - -impl cursive::view::ViewWrapper for TxnTables { - cursive::wrap_impl!( - self.view: super::util::FullView<cursive::views::LinearLayout> - ); -} - -impl TxnTables { - pub fn new(id: &'static str, budget: &crate::ynab::Budget) -> Self { - let mut layout = cursive::views::LinearLayout::vertical(); - - layout.add_child( - cursive::views::TextView::new("Selected: $0.00 (0 transactions)") - .h_align(cursive::align::HAlign::Right) - .with_id(SELECTED_TOTAL_ID), - ); - - let inflows = budget - .reimbursables() - .iter() - .filter(|t| !t.reimbursed && t.amount > 0) - .cloned() - .collect(); - let mut inflows_table = - super::txn_table::TxnTable::new(inflows, INFLOWS_TABLE_ID); - layout.add_child(cursive::views::TextView::new(format!( - "Inflows: {} ({} transaction{}", - crate::ynab::format_amount(inflows_table.amount()), - inflows_table.len(), - if inflows_table.len() == 1 { ") " } else { "s)" } - ))); - layout.add_child(cursive::views::CircularFocus::wrap_arrows( - cursive::views::BoxView::with_min_height( - std::cmp::min(std::cmp::max(inflows_table.len(), 1), 5) + 2, - cursive::views::BoxView::with_full_width(inflows_table), - ), - )); - - layout.add_child(cursive::views::TextView::new(" ")); - - let outflows = budget - .reimbursables() - .iter() - .filter(|t| !t.reimbursed && t.amount <= 0) - .cloned() - .collect(); - let mut outflows_table = - super::txn_table::TxnTable::new(outflows, OUTFLOWS_TABLE_ID); - layout.add_child(cursive::views::TextView::new(format!( - "Outflows: {} ({} transaction{}", - crate::ynab::format_amount(outflows_table.amount()), - outflows_table.len(), - if outflows_table.len() == 1 { - ") " - } else { - "s)" - } - ))); - layout.add_child(cursive::views::CircularFocus::wrap_arrows( - cursive::views::BoxView::with_full_screen(outflows_table), - )); - - let event_view = cursive::views::OnEventView::new(layout) - .on_event(cursive::event::Key::F0, move |s| { - submit(s); - }) - .on_event('r', move |s| { - refresh(s); - }) - .on_pre_event_inner(' ', |v, _| select(v)) - .with_id(id); - - TxnTables { view: event_view } - } -} - -fn submit(s: &mut cursive::Cursive) { - let inflows: Vec<_> = s - .call_on_id( - INFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - v.get_inner_mut() - .borrow_items() - .iter() - .filter(|t| t.selected) - .cloned() - .collect() - }, - ) - .unwrap(); - let outflows: Vec<_> = s - .call_on_id( - OUTFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - v.get_inner_mut() - .borrow_items() - .iter() - .filter(|t| t.selected) - .cloned() - .collect() - }, - ) - .unwrap(); - let total_inflow: i64 = inflows.iter().map(|t| t.amount).sum(); - let total_outflow: i64 = outflows.iter().map(|t| t.amount).sum(); - let total_amount = total_inflow + total_outflow; - if total_amount == 0 && (inflows.len() + outflows.len() > 0) { - let budget: &mut crate::ynab::Budget = s.user_data().unwrap(); - let txns: Vec<_> = inflows.iter().chain(outflows.iter()).collect(); - let err = budget.reconcile_transactions(&txns); - if let Err(err) = err { - s.add_layer(super::util::dialog(&format!("Error: {}", err))) - } else { - s.add_layer(super::util::dialog(&format!( - "Successfully updated {} transactions", - txns.len() - ))); - s.call_on_id( - INFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - let v = v.get_inner_mut(); - let all_txns = v.borrow_items_mut(); - for id in txns.iter().map(|t| t.id.clone()) { - if let Some(idx) = - all_txns.iter().position(|t| t.id == id) - { - all_txns.remove(idx); - } - } - if let Some(row) = v.row() { - if row >= v.len() { - v.set_selected_row(v.len() - 1); - } - } - }, - ) - .unwrap(); - s.call_on_id( - OUTFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - let v = v.get_inner_mut(); - let all_txns = v.borrow_items_mut(); - for id in txns.iter().map(|t| t.id.clone()) { - if let Some(idx) = - all_txns.iter().position(|t| t.id == id) - { - all_txns.remove(idx); - } - } - if let Some(row) = v.row() { - if row >= v.len() { - v.set_selected_row(v.len() - 1); - } - } - }, - ) - .unwrap(); - } - } else if total_amount != 0 { - s.add_layer(super::util::dialog(&format!( - "Selected amount is {}, must be 0", - crate::ynab::format_amount(total_amount) - ))) - } -} - -fn refresh(s: &mut cursive::Cursive) { - let budget: &mut crate::ynab::Budget = s.user_data().unwrap(); - let err = budget.refresh(); - if let Err(err) = err { - s.add_layer(super::util::dialog(&format!("Error: {}", err))); - return; - } - - let mut inflows: Vec<_> = budget - .reimbursables() - .iter() - .filter(|t| !t.reimbursed && t.amount > 0) - .cloned() - .collect(); - s.call_on_id( - INFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - let v = v.get_inner_mut(); - let selected: std::collections::HashSet<_> = v - .borrow_items() - .iter() - .filter(|t| t.selected) - .map(|t| t.id.clone()) - .collect(); - let row = v - .item() - .and_then(|idx| v.borrow_item(idx).map(|t| t.id.clone())); - for mut t in inflows.iter_mut() { - if selected.contains(&t.id) { - t.selected = true; - } - } - let idx = - row.and_then(|id| inflows.iter().position(|t| t.id == id)); - v.set_items(inflows); - if let Some(idx) = idx { - v.set_selected_item(idx); - } - }, - ) - .unwrap(); - - let budget: &mut crate::ynab::Budget = s.user_data().unwrap(); - let mut outflows: Vec<_> = budget - .reimbursables() - .iter() - .filter(|t| !t.reimbursed && t.amount <= 0) - .cloned() - .collect(); - s.call_on_id( - OUTFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - let v = v.get_inner_mut(); - let selected: std::collections::HashSet<_> = v - .borrow_items() - .iter() - .filter(|t| t.selected) - .map(|t| t.id.clone()) - .collect(); - let row = v - .item() - .and_then(|idx| v.borrow_item(idx).map(|t| t.id.clone())); - for mut t in outflows.iter_mut() { - if selected.contains(&t.id) { - t.selected = true; - } - } - let idx = - row.and_then(|id| outflows.iter().position(|t| t.id == id)); - v.set_items(outflows); - if let Some(idx) = idx { - v.set_selected_item(idx); - } - }, - ) - .unwrap(); - - render_selected_total(s); -} - -fn select( - v: &mut cursive::views::LinearLayout, -) -> Option<cursive::event::EventResult> { - let idx = v.get_focus_index(); - let child = v.get_child_mut(idx).unwrap(); - child.call_on_any( - &cursive::view::Selector::Id(INFLOWS_TABLE_ID), - Box::new(|v| { - v.downcast_mut::<cursive::views::IdView< - cursive::views::OnEventView<super::txn_table::TxnTableView>, - >>() - .map(|v| v.on_event(cursive::event::Event::Char(' '))); - }), - ); - child.call_on_any( - &cursive::view::Selector::Id(OUTFLOWS_TABLE_ID), - Box::new(|v| { - v.downcast_mut::<cursive::views::IdView< - cursive::views::OnEventView<super::txn_table::TxnTableView>, - >>() - .map(|v| v.on_event(cursive::event::Event::Char(' '))); - }), - ); - Some(cursive::event::EventResult::with_cb(|s| { - render_selected_total(s); - })) -} - -fn render_selected_total(s: &mut cursive::Cursive) { - let inflows: Vec<_> = s - .call_on_id( - INFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - v.get_inner_mut() - .borrow_items() - .iter() - .filter(|t| t.selected) - .map(|t| t.amount) - .collect() - }, - ) - .unwrap(); - let outflows: Vec<_> = s - .call_on_id( - OUTFLOWS_TABLE_ID, - |v: &mut cursive::views::OnEventView< - super::txn_table::TxnTableView, - >| { - v.get_inner_mut() - .borrow_items() - .iter() - .filter(|t| t.selected) - .map(|t| t.amount) - .collect() - }, - ) - .unwrap(); - let outflow: i64 = outflows.iter().sum(); - let inflow: i64 = inflows.iter().sum(); - let amount = outflow + inflow; - s.call_on_id(SELECTED_TOTAL_ID, |v: &mut cursive::views::TextView| { - let mut sstr = - cursive::utils::markup::StyledString::plain("Selected: "); - let color = if amount == 0 && outflows.len() + inflows.len() != 0 { - cursive::theme::Color::Dark(cursive::theme::BaseColor::Green) - } else { - cursive::theme::Color::TerminalDefault - }; - sstr.append(cursive::utils::markup::StyledString::styled( - crate::ynab::format_amount(amount), - color, - )); - sstr.append(format!( - " ({} transaction{}", - outflows.len() + inflows.len(), - if outflows.len() + inflows.len() == 1 { - ") " - } else { - "s)" - } - )); - v.set_content(sstr); - }); -} diff --git a/src/views/util.rs b/src/views/util.rs deleted file mode 100644 index eb22976..0000000 --- a/src/views/util.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub type FullView<T> = cursive::views::IdView<cursive::views::OnEventView<T>>; - -pub fn dialog(s: &str) -> impl cursive::view::View { - cursive::views::Panel::new(cursive::views::Dialog::info(s)) -} diff --git a/src/ynab.rs b/src/ynab.rs deleted file mode 100644 index f07d86e..0000000 --- a/src/ynab.rs +++ /dev/null @@ -1,10 +0,0 @@ -mod budget; -mod client; -mod transaction; -mod util; - -pub use budget::Budget; -pub use budget::Error as BudgetError; -pub use client::Client; -pub use transaction::Transaction; -pub use util::format_amount; diff --git a/src/ynab/budget.rs b/src/ynab/budget.rs deleted file mode 100644 index e3275bb..0000000 --- a/src/ynab/budget.rs +++ /dev/null @@ -1,216 +0,0 @@ -use snafu::{OptionExt, ResultExt}; - -#[derive(Debug, snafu::Snafu)] -pub enum Error { - #[snafu(display("couldn't get default budget: {}", source))] - GetBudget { source: super::client::Error }, - - #[snafu(display("couldn't update transactions: {}", source))] - UpdateTransactions { source: super::client::Error }, - - #[snafu(display("couldn't find the reimbursables category"))] - FindReimbursablesCategory, -} - -pub type Result<T> = std::result::Result<T, Error>; - -pub struct Budget { - client: super::client::Client, - id: String, - name: String, - reimbursables: Vec<super::transaction::Transaction>, -} - -impl Budget { - pub fn new(key: &str) -> Result<Self> { - let client = super::client::Client::new(key); - let budget = client.default_budget().context(GetBudget)?; - let reimbursables = Self::get_reimbursables(&budget)?; - let budget = Self { - client, - id: budget.id.clone(), - name: budget.name.clone(), - reimbursables, - }; - budget.check(); - Ok(budget) - } - - #[must_use] - pub fn refresh(&mut self) -> Result<()> { - let budget = self.client.default_budget().context(GetBudget)?; - self.id = budget.id.clone(); - self.name = budget.name.clone(); - self.reimbursables = Self::get_reimbursables(&budget)?; - self.check(); - Ok(()) - } - - pub fn name(&self) -> String { - self.name.clone() - } - - pub fn id(&self) -> String { - self.id.clone() - } - - pub fn reimbursables(&self) -> &[super::transaction::Transaction] { - &self.reimbursables - } - - #[must_use] - pub fn reconcile_transactions( - &self, - txns: &[&super::transaction::Transaction], - ) -> Result<()> { - let mut to_update = - ynab_api::models::UpdateTransactionsWrapper::new(); - to_update.transactions = Some( - txns.iter() - .map(|t| { - let mut ut = t.to_update_transaction(); - ut.flag_color = Some("green".to_string()); - ut - }) - .collect(), - ); - self.client - .update_transactions(&self.id, to_update) - .context(UpdateTransactions)?; - Ok(()) - } - - fn get_reimbursables( - budget: &ynab_api::models::BudgetDetail, - ) -> Result<Vec<super::transaction::Transaction>> { - let reimbursables_id = budget - .categories - .as_ref() - .and_then(|categories| { - categories - .iter() - .find(|c| c.name == "Reimbursables") - .map(|c| c.id.clone()) - }) - .context(FindReimbursablesCategory)?; - - let mut payee_map = std::collections::HashMap::new(); - if let Some(payees) = &budget.payees { - for p in payees { - payee_map.insert(p.id.clone(), p.name.clone()); - } - } - let payee_map = payee_map; - - let mut account_map = std::collections::HashMap::new(); - if let Some(accounts) = &budget.accounts { - for a in accounts { - account_map.insert(a.id.clone(), a.name.clone()); - } - } - let account_map = account_map; - - let mut reimbursables = vec![]; - - let mut transaction_map = std::collections::HashMap::new(); - if let Some(transactions) = &budget.transactions { - for t in transactions { - transaction_map.insert(t.id.clone(), t); - - if let Some(category_id) = &t.category_id { - if category_id != &reimbursables_id { - continue; - } - } else { - continue; - } - - let payee = t - .payee_id - .iter() - .map(|payee_id| payee_map.get(payee_id).cloned()) - .next() - .unwrap_or(None); - let account = account_map.get(&t.account_id).cloned(); - - let mut txn = - super::transaction::Transaction::from_transaction(t); - txn.payee = payee; - txn.account = account; - reimbursables.push(txn); - } - } - let transaction_map = transaction_map; - - if let Some(subtransactions) = &budget.subtransactions { - for st in subtransactions { - if let Some(category_id) = &st.category_id { - if category_id != &reimbursables_id { - continue; - } - } else { - continue; - } - - let t = transaction_map[&st.transaction_id]; - let payee = st - .payee_id - .iter() - .map(|payee_id| payee_map.get(payee_id).cloned()) - .next() - .unwrap_or_else(|| { - t.payee_id - .iter() - .map(|payee_id| payee_map.get(payee_id).cloned()) - .next() - .unwrap_or(None) - }); - let account = account_map.get(&t.account_id).cloned(); - - let mut txn = - super::transaction::Transaction::from_sub_transaction( - t, st, - ); - txn.payee = payee; - txn.account = account; - reimbursables.push(txn); - } - } - - reimbursables.sort_by_cached_key(|t| t.date.clone()); - Ok(reimbursables) - } - - fn check(&self) { - self.check_reconciled(); - self.check_has_inflows(); - } - - fn check_reconciled(&self) { - let reconciled_amount: i64 = self - .reimbursables() - .iter() - .filter(|t| t.reimbursed) - .map(|t| t.amount) - .sum(); - if reconciled_amount != 0 { - eprintln!( - "reconciled reimbursables don't sum to $0.00: ${}", - crate::ynab::format_amount(reconciled_amount) - ); - std::process::exit(1); - } - } - - fn check_has_inflows(&self) { - let txns = self - .reimbursables() - .iter() - .filter(|t| !t.reimbursed && t.amount > 0) - .count(); - if txns == 0 { - eprintln!("no transactions to reconcile"); - std::process::exit(1); - } - } -} diff --git a/src/ynab/client.rs b/src/ynab/client.rs deleted file mode 100644 index 19b456b..0000000 --- a/src/ynab/client.rs +++ /dev/null @@ -1,76 +0,0 @@ -#[derive(Debug, snafu::Snafu)] -pub enum Error { - // ynab-api error types don't implement Error, so can't use the - // auto-source behavior - #[snafu(display("failed to update transactions: {}", source_msg))] - UpdateTransactions { source_msg: String }, - - #[snafu(display("failed to get budgets: {}", source_msg))] - GetBudgets { source_msg: String }, - - #[snafu(display("failed to get budget {}: {}", id, source_msg))] - GetBudgetById { id: String, source_msg: String }, -} - -pub type Result<T> = std::result::Result<T, Error>; - -pub struct Client { - api: ynab_api::apis::client::APIClient, -} - -impl Client { - pub fn new(key: &str) -> Self { - let mut ynab_config = - ynab_api::apis::configuration::Configuration::new(); - ynab_config.api_key = Some(ynab_api::apis::configuration::ApiKey { - prefix: Some("Bearer".to_string()), - key: key.to_string(), - }); - Self { - api: ynab_api::apis::client::APIClient::new(ynab_config), - } - } - - pub fn default_budget(&self) -> Result<ynab_api::models::BudgetDetail> { - let budget_id = self - .api - .budgets_api() - .get_budgets() - .map_err(|e| Error::GetBudgets { - source_msg: format!("{:?}", e), - })? - .data - .budgets - .iter() - .next() - .ok_or_else(|| Error::GetBudgets { - source_msg: "no budgets found".to_string(), - })? - .id - .clone(); - Ok(self - .api - .budgets_api() - .get_budget_by_id(&budget_id, 0) - .map_err(|e| Error::GetBudgetById { - id: budget_id.clone(), - source_msg: format!("{:?}", e), - })? - .data - .budget) - } - - pub fn update_transactions( - &self, - budget_id: &str, - transactions: ynab_api::models::UpdateTransactionsWrapper, - ) -> Result<()> { - self.api - .transactions_api() - .update_transactions(budget_id, transactions) - .map(|_| ()) - .map_err(|e| Error::UpdateTransactions { - source_msg: format!("{:?}", e), - }) - } -} diff --git a/src/ynab/transaction.rs b/src/ynab/transaction.rs deleted file mode 100644 index be31019..0000000 --- a/src/ynab/transaction.rs +++ /dev/null @@ -1,101 +0,0 @@ -#[derive(Clone, Debug)] -pub struct Transaction { - pub id: String, - pub date: String, - pub amount: i64, - pub memo: Option<String>, - pub cleared: String, - pub approved: bool, - pub flag_color: Option<String>, - pub account_id: String, - pub payee_id: Option<String>, - pub category_id: Option<String>, - pub import_id: Option<String>, - - pub account: Option<String>, - pub payee: Option<String>, - pub total_amount: i64, - pub reimbursed: bool, - pub selected: bool, -} - -impl Transaction { - pub fn from_transaction( - t: &ynab_api::models::TransactionSummary, - ) -> Self { - let reimbursed = if let Some(color) = &t.flag_color { - color == "green" - } else { - false - }; - Self { - id: t.id.clone(), - date: t.date.clone(), - amount: t.amount, - memo: t.memo.clone(), - cleared: t.cleared.clone(), - approved: t.approved, - flag_color: t.flag_color.clone(), - account_id: t.account_id.clone(), - payee_id: t.payee_id.clone(), - category_id: t.category_id.clone(), - import_id: t.import_id.clone(), - - account: None, - payee: None, - total_amount: t.amount, - reimbursed, - selected: false, - } - } - - pub fn from_sub_transaction( - t: &ynab_api::models::TransactionSummary, - st: &ynab_api::models::SubTransaction, - ) -> Self { - let reimbursed = if let Some(color) = &t.flag_color { - color == "green" - } else { - false - }; - Self { - id: t.id.clone(), - date: t.date.clone(), - amount: st.amount, - memo: t.memo.clone(), - cleared: t.cleared.clone(), - approved: t.approved, - flag_color: t.flag_color.clone(), - account_id: t.account_id.clone(), - payee_id: t.payee_id.clone(), - category_id: t.category_id.clone(), - import_id: t.import_id.clone(), - - account: None, - payee: None, - total_amount: t.amount, - reimbursed, - selected: false, - } - } - - pub fn to_update_transaction( - &self, - ) -> ynab_api::models::UpdateTransaction { - let mut ut = ynab_api::models::UpdateTransaction::new( - self.account_id.clone(), - self.date.clone(), - self.amount, - ); - ut.id = Some(self.id.clone()); - ut.payee_id = self.payee_id.clone(); - ut.category_id = self.category_id.clone(); - ut.memo = self.memo.clone(); - ut.cleared = Some(self.cleared.clone()); - ut.approved = Some(self.approved); - ut.flag_color = self.flag_color.clone(); - ut.import_id = self.import_id.clone(); - - ut - } -} diff --git a/src/ynab/util.rs b/src/ynab/util.rs deleted file mode 100644 index af8a8d1..0000000 --- a/src/ynab/util.rs +++ /dev/null @@ -1,6 +0,0 @@ -pub fn format_amount(amount: i64) -> String { - let dollars = amount.abs() / 1000; - let cents = (amount.abs() % 1000) / 10; - let sign = if amount < 0 { "-" } else { "" }; - format!("${}{}.{:02}", sign, dollars, cents) -} diff --git a/ynab-api/.gitignore b/ynab-api/.gitignore deleted file mode 100644 index 6aa1064..0000000 --- a/ynab-api/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/target/ -**/*.rs.bk -Cargo.lock diff --git a/ynab-api/Cargo.toml b/ynab-api/Cargo.toml deleted file mode 100644 index cbe32f4..0000000 --- a/ynab-api/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "ynab-api" -version = "1.0.0" -authors = ["OpenAPI Generator team and contributors"] - -[dependencies] -serde = "^1.0" -serde_derive = "^1.0" -serde_json = "^1.0" -url = "1.5" -reqwest = "~0.9" - -[dev-dependencies] |