From 8412aa19fb3a7ec2e131d6421c1ac953ac075848 Mon Sep 17 00:00:00 2001 From: smilerz Date: Thu, 18 Apr 2024 15:18:51 -0500 Subject: [PATCH] paginate all list endpoints or explicitly mark as pagination_disabled --- .openapi-generator-ignore | 23 + .openapi-generator/FILES | 140 + .openapi-generator/VERSION | 1 + apis/ApiApi.ts | 9742 +++++++++++++++++ apis/ApiImportOpenDataApi.ts | 77 + apis/ApiTokenAuthApi.ts | 105 + apis/index.ts | 5 + cookbook/tests/other/test_schemas.py | 19 +- cookbook/views/api.py | 124 +- index.ts | 5 + models/AccessToken.ts | 106 + models/AuthToken.ts | 83 + models/AutoMealPlan.ts | 126 + models/Automation.ts | 145 + models/BookmarkletImport.ts | 98 + models/BookmarkletImportList.ts | 89 + models/ConnectorConfigConfig.ts | 138 + models/CookLog.ts | 129 + models/CustomFilter.ts | 106 + models/DefaultPageEnum.ts | 43 + models/DeleteEnum.ts | 37 + models/ExportLog.ts | 138 + models/Food.ts | 322 + models/FoodInheritField.ts | 115 + models/FoodPropertiesFoodUnit.ts | 106 + models/FoodRecipe.ts | 82 + models/FoodShoppingUpdate.ts | 99 + models/FoodSimple.ts | 82 + models/FoodSupermarketCategory.ts | 82 + models/Group.ts | 108 + models/ImportLog.ts | 137 + models/Ingredient.ts | 177 + models/IngredientFood.ts | 288 + models/InviteLink.ts | 145 + models/Keyword.ts | 165 + models/KeywordLabel.ts | 73 + models/MealPlan.ts | 191 + models/MealPlanRecipe.ts | 200 + models/MealType.ts | 106 + models/MethodEnum.ts | 41 + models/NutritionInformation.ts | 109 + models/PaginatedAutomationList.ts | 96 + models/PaginatedBookmarkletImportListList.ts | 96 + models/PaginatedCookLogList.ts | 96 + models/PaginatedCustomFilterList.ts | 96 + models/PaginatedExportLogList.ts | 96 + models/PaginatedFoodList.ts | 96 + models/PaginatedImportLogList.ts | 96 + models/PaginatedIngredientList.ts | 96 + models/PaginatedInviteLinkList.ts | 96 + models/PaginatedKeywordList.ts | 96 + models/PaginatedMealPlanList.ts | 96 + models/PaginatedMealTypeList.ts | 96 + models/PaginatedPropertyList.ts | 96 + models/PaginatedPropertyTypeList.ts | 96 + models/PaginatedRecipeBookEntryList.ts | 96 + models/PaginatedRecipeBookList.ts | 96 + models/PaginatedRecipeOverviewList.ts | 96 + models/PaginatedShoppingListEntryList.ts | 96 + models/PaginatedShoppingListRecipeList.ts | 96 + models/PaginatedStepList.ts | 96 + models/PaginatedSupermarketCategoryList.ts | 96 + ...aginatedSupermarketCategoryRelationList.ts | 96 + models/PaginatedSupermarketList.ts | 96 + models/PaginatedSyncList.ts | 96 + models/PaginatedSyncLogList.ts | 96 + models/PaginatedUnitConversionList.ts | 96 + models/PaginatedUnitList.ts | 96 + models/PaginatedUserFileList.ts | 96 + models/PaginatedUserSpaceList.ts | 96 + models/PaginatedViewLogList.ts | 96 + models/PatchedAccessToken.ts | 101 + models/PatchedAutomation.ts | 142 + models/PatchedBookmarkletImport.ts | 94 + models/PatchedConnectorConfigConfig.ts | 135 + models/PatchedCookLog.ts | 125 + models/PatchedCustomFilter.ts | 102 + models/PatchedExportLog.ts | 134 + models/PatchedFood.ts | 315 + models/PatchedImportLog.ts | 132 + models/PatchedIngredient.ts | 171 + models/PatchedInviteLink.ts | 140 + models/PatchedKeyword.ts | 157 + models/PatchedMealPlan.ts | 182 + models/PatchedMealType.ts | 103 + models/PatchedProperty.ts | 121 + models/PatchedPropertyType.ts | 113 + models/PatchedRecipe.ts | 272 + models/PatchedRecipeBook.ts | 124 + models/PatchedRecipeBookEntry.ts | 107 + models/PatchedRecipeBookFilter.ts | 106 + models/PatchedRecipeNutrition.ts | 109 + models/PatchedShoppingListEntry.ts | 181 + models/PatchedShoppingListRecipe.ts | 123 + models/PatchedSpace.ts | 287 + models/PatchedSpaceImage.ts | 90 + models/PatchedStep.ts | 170 + models/PatchedStorage.ts | 118 + models/PatchedSupermarket.ts | 136 + models/PatchedSupermarketCategory.ts | 114 + models/PatchedSupermarketCategoryRelation.ts | 95 + models/PatchedSync.ts | 110 + models/PatchedUnit.ts | 138 + models/PatchedUnitConversion.ts | 132 + models/PatchedUser.ts | 94 + models/PatchedUserPreference.ts | 324 + models/PatchedUserSpace.ts | 136 + models/PatchedViewLog.ts | 86 + models/Property.ts | 124 + models/PropertyType.ts | 114 + models/Recipe.ts | 282 + models/RecipeBook.ts | 128 + models/RecipeBookEntry.ts | 112 + models/RecipeFlat.ts | 82 + models/RecipeImage.ts | 73 + models/RecipeOverview.ts | 200 + models/RecipeShoppingUpdate.ts | 89 + models/RecipeSimple.ts | 82 + models/ShoppingListEntry.ts | 188 + models/ShoppingListEntryBulk.ts | 75 + models/ShoppingListRecipe.ts | 130 + models/Space.ts | 299 + models/SpaceNavTextColorEnum.ts | 41 + models/SpaceThemeEnum.ts | 49 + models/Step.ts | 175 + models/Storage.ts | 121 + models/Supermarket.ts | 139 + models/SupermarketCategory.ts | 116 + models/SupermarketCategoryRelation.ts | 98 + models/Sync.ts | 114 + models/SyncLog.ts | 99 + models/ThemeEnum.ts | 47 + models/TypeEnum.ts | 55 + models/Unit.ts | 140 + models/UnitConversion.ts | 138 + models/User.ts | 97 + models/UserFile.ts | 107 + models/UserFileView.ts | 90 + models/UserPreference.ts | 327 + models/UserPreferenceNavTextColorEnum.ts | 39 + models/UserSpace.ts | 143 + models/ViewLog.ts | 90 + models/index.ts | 134 + runtime.ts | 407 + vue/src/utils/openapi/api.ts | 1303 ++- 145 files changed, 27980 insertions(+), 373 deletions(-) create mode 100644 .openapi-generator-ignore create mode 100644 .openapi-generator/FILES create mode 100644 .openapi-generator/VERSION create mode 100644 apis/ApiApi.ts create mode 100644 apis/ApiImportOpenDataApi.ts create mode 100644 apis/ApiTokenAuthApi.ts create mode 100644 apis/index.ts create mode 100644 index.ts create mode 100644 models/AccessToken.ts create mode 100644 models/AuthToken.ts create mode 100644 models/AutoMealPlan.ts create mode 100644 models/Automation.ts create mode 100644 models/BookmarkletImport.ts create mode 100644 models/BookmarkletImportList.ts create mode 100644 models/ConnectorConfigConfig.ts create mode 100644 models/CookLog.ts create mode 100644 models/CustomFilter.ts create mode 100644 models/DefaultPageEnum.ts create mode 100644 models/DeleteEnum.ts create mode 100644 models/ExportLog.ts create mode 100644 models/Food.ts create mode 100644 models/FoodInheritField.ts create mode 100644 models/FoodPropertiesFoodUnit.ts create mode 100644 models/FoodRecipe.ts create mode 100644 models/FoodShoppingUpdate.ts create mode 100644 models/FoodSimple.ts create mode 100644 models/FoodSupermarketCategory.ts create mode 100644 models/Group.ts create mode 100644 models/ImportLog.ts create mode 100644 models/Ingredient.ts create mode 100644 models/IngredientFood.ts create mode 100644 models/InviteLink.ts create mode 100644 models/Keyword.ts create mode 100644 models/KeywordLabel.ts create mode 100644 models/MealPlan.ts create mode 100644 models/MealPlanRecipe.ts create mode 100644 models/MealType.ts create mode 100644 models/MethodEnum.ts create mode 100644 models/NutritionInformation.ts create mode 100644 models/PaginatedAutomationList.ts create mode 100644 models/PaginatedBookmarkletImportListList.ts create mode 100644 models/PaginatedCookLogList.ts create mode 100644 models/PaginatedCustomFilterList.ts create mode 100644 models/PaginatedExportLogList.ts create mode 100644 models/PaginatedFoodList.ts create mode 100644 models/PaginatedImportLogList.ts create mode 100644 models/PaginatedIngredientList.ts create mode 100644 models/PaginatedInviteLinkList.ts create mode 100644 models/PaginatedKeywordList.ts create mode 100644 models/PaginatedMealPlanList.ts create mode 100644 models/PaginatedMealTypeList.ts create mode 100644 models/PaginatedPropertyList.ts create mode 100644 models/PaginatedPropertyTypeList.ts create mode 100644 models/PaginatedRecipeBookEntryList.ts create mode 100644 models/PaginatedRecipeBookList.ts create mode 100644 models/PaginatedRecipeOverviewList.ts create mode 100644 models/PaginatedShoppingListEntryList.ts create mode 100644 models/PaginatedShoppingListRecipeList.ts create mode 100644 models/PaginatedStepList.ts create mode 100644 models/PaginatedSupermarketCategoryList.ts create mode 100644 models/PaginatedSupermarketCategoryRelationList.ts create mode 100644 models/PaginatedSupermarketList.ts create mode 100644 models/PaginatedSyncList.ts create mode 100644 models/PaginatedSyncLogList.ts create mode 100644 models/PaginatedUnitConversionList.ts create mode 100644 models/PaginatedUnitList.ts create mode 100644 models/PaginatedUserFileList.ts create mode 100644 models/PaginatedUserSpaceList.ts create mode 100644 models/PaginatedViewLogList.ts create mode 100644 models/PatchedAccessToken.ts create mode 100644 models/PatchedAutomation.ts create mode 100644 models/PatchedBookmarkletImport.ts create mode 100644 models/PatchedConnectorConfigConfig.ts create mode 100644 models/PatchedCookLog.ts create mode 100644 models/PatchedCustomFilter.ts create mode 100644 models/PatchedExportLog.ts create mode 100644 models/PatchedFood.ts create mode 100644 models/PatchedImportLog.ts create mode 100644 models/PatchedIngredient.ts create mode 100644 models/PatchedInviteLink.ts create mode 100644 models/PatchedKeyword.ts create mode 100644 models/PatchedMealPlan.ts create mode 100644 models/PatchedMealType.ts create mode 100644 models/PatchedProperty.ts create mode 100644 models/PatchedPropertyType.ts create mode 100644 models/PatchedRecipe.ts create mode 100644 models/PatchedRecipeBook.ts create mode 100644 models/PatchedRecipeBookEntry.ts create mode 100644 models/PatchedRecipeBookFilter.ts create mode 100644 models/PatchedRecipeNutrition.ts create mode 100644 models/PatchedShoppingListEntry.ts create mode 100644 models/PatchedShoppingListRecipe.ts create mode 100644 models/PatchedSpace.ts create mode 100644 models/PatchedSpaceImage.ts create mode 100644 models/PatchedStep.ts create mode 100644 models/PatchedStorage.ts create mode 100644 models/PatchedSupermarket.ts create mode 100644 models/PatchedSupermarketCategory.ts create mode 100644 models/PatchedSupermarketCategoryRelation.ts create mode 100644 models/PatchedSync.ts create mode 100644 models/PatchedUnit.ts create mode 100644 models/PatchedUnitConversion.ts create mode 100644 models/PatchedUser.ts create mode 100644 models/PatchedUserPreference.ts create mode 100644 models/PatchedUserSpace.ts create mode 100644 models/PatchedViewLog.ts create mode 100644 models/Property.ts create mode 100644 models/PropertyType.ts create mode 100644 models/Recipe.ts create mode 100644 models/RecipeBook.ts create mode 100644 models/RecipeBookEntry.ts create mode 100644 models/RecipeFlat.ts create mode 100644 models/RecipeImage.ts create mode 100644 models/RecipeOverview.ts create mode 100644 models/RecipeShoppingUpdate.ts create mode 100644 models/RecipeSimple.ts create mode 100644 models/ShoppingListEntry.ts create mode 100644 models/ShoppingListEntryBulk.ts create mode 100644 models/ShoppingListRecipe.ts create mode 100644 models/Space.ts create mode 100644 models/SpaceNavTextColorEnum.ts create mode 100644 models/SpaceThemeEnum.ts create mode 100644 models/Step.ts create mode 100644 models/Storage.ts create mode 100644 models/Supermarket.ts create mode 100644 models/SupermarketCategory.ts create mode 100644 models/SupermarketCategoryRelation.ts create mode 100644 models/Sync.ts create mode 100644 models/SyncLog.ts create mode 100644 models/ThemeEnum.ts create mode 100644 models/TypeEnum.ts create mode 100644 models/Unit.ts create mode 100644 models/UnitConversion.ts create mode 100644 models/User.ts create mode 100644 models/UserFile.ts create mode 100644 models/UserFileView.ts create mode 100644 models/UserPreference.ts create mode 100644 models/UserPreferenceNavTextColorEnum.ts create mode 100644 models/UserSpace.ts create mode 100644 models/ViewLog.ts create mode 100644 models/index.ts create mode 100644 runtime.ts diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 000000000..7484ee590 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 000000000..464336964 --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,140 @@ +.openapi-generator-ignore +apis/ApiApi.ts +apis/ApiImportOpenDataApi.ts +apis/ApiTokenAuthApi.ts +apis/index.ts +index.ts +models/AccessToken.ts +models/AuthToken.ts +models/AutoMealPlan.ts +models/Automation.ts +models/BookmarkletImport.ts +models/BookmarkletImportList.ts +models/ConnectorConfigConfig.ts +models/CookLog.ts +models/CustomFilter.ts +models/DefaultPageEnum.ts +models/DeleteEnum.ts +models/ExportLog.ts +models/Food.ts +models/FoodInheritField.ts +models/FoodPropertiesFoodUnit.ts +models/FoodRecipe.ts +models/FoodShoppingUpdate.ts +models/FoodSimple.ts +models/FoodSupermarketCategory.ts +models/Group.ts +models/ImportLog.ts +models/Ingredient.ts +models/IngredientFood.ts +models/InviteLink.ts +models/Keyword.ts +models/KeywordLabel.ts +models/MealPlan.ts +models/MealPlanRecipe.ts +models/MealType.ts +models/MethodEnum.ts +models/NutritionInformation.ts +models/PaginatedAutomationList.ts +models/PaginatedBookmarkletImportListList.ts +models/PaginatedCookLogList.ts +models/PaginatedCustomFilterList.ts +models/PaginatedExportLogList.ts +models/PaginatedFoodList.ts +models/PaginatedImportLogList.ts +models/PaginatedIngredientList.ts +models/PaginatedInviteLinkList.ts +models/PaginatedKeywordList.ts +models/PaginatedMealPlanList.ts +models/PaginatedMealTypeList.ts +models/PaginatedPropertyList.ts +models/PaginatedPropertyTypeList.ts +models/PaginatedRecipeBookEntryList.ts +models/PaginatedRecipeBookList.ts +models/PaginatedRecipeOverviewList.ts +models/PaginatedShoppingListEntryList.ts +models/PaginatedShoppingListRecipeList.ts +models/PaginatedStepList.ts +models/PaginatedSupermarketCategoryList.ts +models/PaginatedSupermarketCategoryRelationList.ts +models/PaginatedSupermarketList.ts +models/PaginatedSyncList.ts +models/PaginatedSyncLogList.ts +models/PaginatedUnitConversionList.ts +models/PaginatedUnitList.ts +models/PaginatedUserFileList.ts +models/PaginatedUserSpaceList.ts +models/PaginatedViewLogList.ts +models/PatchedAccessToken.ts +models/PatchedAutomation.ts +models/PatchedBookmarkletImport.ts +models/PatchedConnectorConfigConfig.ts +models/PatchedCookLog.ts +models/PatchedCustomFilter.ts +models/PatchedExportLog.ts +models/PatchedFood.ts +models/PatchedImportLog.ts +models/PatchedIngredient.ts +models/PatchedInviteLink.ts +models/PatchedKeyword.ts +models/PatchedMealPlan.ts +models/PatchedMealType.ts +models/PatchedProperty.ts +models/PatchedPropertyType.ts +models/PatchedRecipe.ts +models/PatchedRecipeBook.ts +models/PatchedRecipeBookEntry.ts +models/PatchedRecipeBookFilter.ts +models/PatchedRecipeNutrition.ts +models/PatchedShoppingListEntry.ts +models/PatchedShoppingListRecipe.ts +models/PatchedSpace.ts +models/PatchedSpaceImage.ts +models/PatchedStep.ts +models/PatchedStorage.ts +models/PatchedSupermarket.ts +models/PatchedSupermarketCategory.ts +models/PatchedSupermarketCategoryRelation.ts +models/PatchedSync.ts +models/PatchedUnit.ts +models/PatchedUnitConversion.ts +models/PatchedUser.ts +models/PatchedUserPreference.ts +models/PatchedUserSpace.ts +models/PatchedViewLog.ts +models/Property.ts +models/PropertyType.ts +models/Recipe.ts +models/RecipeBook.ts +models/RecipeBookEntry.ts +models/RecipeFlat.ts +models/RecipeImage.ts +models/RecipeOverview.ts +models/RecipeShoppingUpdate.ts +models/RecipeSimple.ts +models/ShoppingListEntry.ts +models/ShoppingListEntryBulk.ts +models/ShoppingListRecipe.ts +models/Space.ts +models/SpaceNavTextColorEnum.ts +models/SpaceThemeEnum.ts +models/Step.ts +models/Storage.ts +models/Supermarket.ts +models/SupermarketCategory.ts +models/SupermarketCategoryRelation.ts +models/Sync.ts +models/SyncLog.ts +models/ThemeEnum.ts +models/TypeEnum.ts +models/Unit.ts +models/UnitConversion.ts +models/User.ts +models/UserFile.ts +models/UserFileView.ts +models/UserPreference.ts +models/UserPreferenceNavTextColorEnum.ts +models/UserSpace.ts +models/ViewLog.ts +models/index.ts +runtime.ts diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 000000000..0df17dd0f --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +6.2.1 \ No newline at end of file diff --git a/apis/ApiApi.ts b/apis/ApiApi.ts new file mode 100644 index 000000000..a0f917cf1 --- /dev/null +++ b/apis/ApiApi.ts @@ -0,0 +1,9742 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AccessToken, + AutoMealPlan, + Automation, + BookmarkletImport, + ConnectorConfigConfig, + CookLog, + CustomFilter, + ExportLog, + Food, + FoodInheritField, + FoodShoppingUpdate, + Group, + ImportLog, + Ingredient, + InviteLink, + Keyword, + MealPlan, + MealType, + PaginatedAutomationList, + PaginatedBookmarkletImportListList, + PaginatedCookLogList, + PaginatedCustomFilterList, + PaginatedExportLogList, + PaginatedFoodList, + PaginatedImportLogList, + PaginatedIngredientList, + PaginatedInviteLinkList, + PaginatedKeywordList, + PaginatedMealPlanList, + PaginatedMealTypeList, + PaginatedPropertyList, + PaginatedPropertyTypeList, + PaginatedRecipeBookEntryList, + PaginatedRecipeBookList, + PaginatedRecipeOverviewList, + PaginatedShoppingListEntryList, + PaginatedShoppingListRecipeList, + PaginatedStepList, + PaginatedSupermarketCategoryList, + PaginatedSupermarketCategoryRelationList, + PaginatedSupermarketList, + PaginatedSyncList, + PaginatedSyncLogList, + PaginatedUnitConversionList, + PaginatedUnitList, + PaginatedUserFileList, + PaginatedUserSpaceList, + PaginatedViewLogList, + PatchedAccessToken, + PatchedAutomation, + PatchedBookmarkletImport, + PatchedConnectorConfigConfig, + PatchedCookLog, + PatchedCustomFilter, + PatchedExportLog, + PatchedFood, + PatchedImportLog, + PatchedIngredient, + PatchedInviteLink, + PatchedKeyword, + PatchedMealPlan, + PatchedMealType, + PatchedProperty, + PatchedPropertyType, + PatchedRecipe, + PatchedRecipeBook, + PatchedRecipeBookEntry, + PatchedShoppingListEntry, + PatchedShoppingListRecipe, + PatchedSpace, + PatchedStep, + PatchedStorage, + PatchedSupermarket, + PatchedSupermarketCategory, + PatchedSupermarketCategoryRelation, + PatchedSync, + PatchedUnit, + PatchedUnitConversion, + PatchedUser, + PatchedUserPreference, + PatchedUserSpace, + PatchedViewLog, + Property, + PropertyType, + Recipe, + RecipeBook, + RecipeBookEntry, + RecipeFlat, + RecipeImage, + RecipeShoppingUpdate, + RecipeSimple, + ShoppingListEntry, + ShoppingListEntryBulk, + ShoppingListRecipe, + Space, + Step, + Storage, + Supermarket, + SupermarketCategory, + SupermarketCategoryRelation, + Sync, + SyncLog, + Unit, + UnitConversion, + User, + UserFile, + UserPreference, + UserSpace, + ViewLog, +} from '../models'; +import { + AccessTokenFromJSON, + AccessTokenToJSON, + AutoMealPlanFromJSON, + AutoMealPlanToJSON, + AutomationFromJSON, + AutomationToJSON, + BookmarkletImportFromJSON, + BookmarkletImportToJSON, + ConnectorConfigConfigFromJSON, + ConnectorConfigConfigToJSON, + CookLogFromJSON, + CookLogToJSON, + CustomFilterFromJSON, + CustomFilterToJSON, + ExportLogFromJSON, + ExportLogToJSON, + FoodFromJSON, + FoodToJSON, + FoodInheritFieldFromJSON, + FoodInheritFieldToJSON, + FoodShoppingUpdateFromJSON, + FoodShoppingUpdateToJSON, + GroupFromJSON, + GroupToJSON, + ImportLogFromJSON, + ImportLogToJSON, + IngredientFromJSON, + IngredientToJSON, + InviteLinkFromJSON, + InviteLinkToJSON, + KeywordFromJSON, + KeywordToJSON, + MealPlanFromJSON, + MealPlanToJSON, + MealTypeFromJSON, + MealTypeToJSON, + PaginatedAutomationListFromJSON, + PaginatedAutomationListToJSON, + PaginatedBookmarkletImportListListFromJSON, + PaginatedBookmarkletImportListListToJSON, + PaginatedCookLogListFromJSON, + PaginatedCookLogListToJSON, + PaginatedCustomFilterListFromJSON, + PaginatedCustomFilterListToJSON, + PaginatedExportLogListFromJSON, + PaginatedExportLogListToJSON, + PaginatedFoodListFromJSON, + PaginatedFoodListToJSON, + PaginatedImportLogListFromJSON, + PaginatedImportLogListToJSON, + PaginatedIngredientListFromJSON, + PaginatedIngredientListToJSON, + PaginatedInviteLinkListFromJSON, + PaginatedInviteLinkListToJSON, + PaginatedKeywordListFromJSON, + PaginatedKeywordListToJSON, + PaginatedMealPlanListFromJSON, + PaginatedMealPlanListToJSON, + PaginatedMealTypeListFromJSON, + PaginatedMealTypeListToJSON, + PaginatedPropertyListFromJSON, + PaginatedPropertyListToJSON, + PaginatedPropertyTypeListFromJSON, + PaginatedPropertyTypeListToJSON, + PaginatedRecipeBookEntryListFromJSON, + PaginatedRecipeBookEntryListToJSON, + PaginatedRecipeBookListFromJSON, + PaginatedRecipeBookListToJSON, + PaginatedRecipeOverviewListFromJSON, + PaginatedRecipeOverviewListToJSON, + PaginatedShoppingListEntryListFromJSON, + PaginatedShoppingListEntryListToJSON, + PaginatedShoppingListRecipeListFromJSON, + PaginatedShoppingListRecipeListToJSON, + PaginatedStepListFromJSON, + PaginatedStepListToJSON, + PaginatedSupermarketCategoryListFromJSON, + PaginatedSupermarketCategoryListToJSON, + PaginatedSupermarketCategoryRelationListFromJSON, + PaginatedSupermarketCategoryRelationListToJSON, + PaginatedSupermarketListFromJSON, + PaginatedSupermarketListToJSON, + PaginatedSyncListFromJSON, + PaginatedSyncListToJSON, + PaginatedSyncLogListFromJSON, + PaginatedSyncLogListToJSON, + PaginatedUnitConversionListFromJSON, + PaginatedUnitConversionListToJSON, + PaginatedUnitListFromJSON, + PaginatedUnitListToJSON, + PaginatedUserFileListFromJSON, + PaginatedUserFileListToJSON, + PaginatedUserSpaceListFromJSON, + PaginatedUserSpaceListToJSON, + PaginatedViewLogListFromJSON, + PaginatedViewLogListToJSON, + PatchedAccessTokenFromJSON, + PatchedAccessTokenToJSON, + PatchedAutomationFromJSON, + PatchedAutomationToJSON, + PatchedBookmarkletImportFromJSON, + PatchedBookmarkletImportToJSON, + PatchedConnectorConfigConfigFromJSON, + PatchedConnectorConfigConfigToJSON, + PatchedCookLogFromJSON, + PatchedCookLogToJSON, + PatchedCustomFilterFromJSON, + PatchedCustomFilterToJSON, + PatchedExportLogFromJSON, + PatchedExportLogToJSON, + PatchedFoodFromJSON, + PatchedFoodToJSON, + PatchedImportLogFromJSON, + PatchedImportLogToJSON, + PatchedIngredientFromJSON, + PatchedIngredientToJSON, + PatchedInviteLinkFromJSON, + PatchedInviteLinkToJSON, + PatchedKeywordFromJSON, + PatchedKeywordToJSON, + PatchedMealPlanFromJSON, + PatchedMealPlanToJSON, + PatchedMealTypeFromJSON, + PatchedMealTypeToJSON, + PatchedPropertyFromJSON, + PatchedPropertyToJSON, + PatchedPropertyTypeFromJSON, + PatchedPropertyTypeToJSON, + PatchedRecipeFromJSON, + PatchedRecipeToJSON, + PatchedRecipeBookFromJSON, + PatchedRecipeBookToJSON, + PatchedRecipeBookEntryFromJSON, + PatchedRecipeBookEntryToJSON, + PatchedShoppingListEntryFromJSON, + PatchedShoppingListEntryToJSON, + PatchedShoppingListRecipeFromJSON, + PatchedShoppingListRecipeToJSON, + PatchedSpaceFromJSON, + PatchedSpaceToJSON, + PatchedStepFromJSON, + PatchedStepToJSON, + PatchedStorageFromJSON, + PatchedStorageToJSON, + PatchedSupermarketFromJSON, + PatchedSupermarketToJSON, + PatchedSupermarketCategoryFromJSON, + PatchedSupermarketCategoryToJSON, + PatchedSupermarketCategoryRelationFromJSON, + PatchedSupermarketCategoryRelationToJSON, + PatchedSyncFromJSON, + PatchedSyncToJSON, + PatchedUnitFromJSON, + PatchedUnitToJSON, + PatchedUnitConversionFromJSON, + PatchedUnitConversionToJSON, + PatchedUserFromJSON, + PatchedUserToJSON, + PatchedUserPreferenceFromJSON, + PatchedUserPreferenceToJSON, + PatchedUserSpaceFromJSON, + PatchedUserSpaceToJSON, + PatchedViewLogFromJSON, + PatchedViewLogToJSON, + PropertyFromJSON, + PropertyToJSON, + PropertyTypeFromJSON, + PropertyTypeToJSON, + RecipeFromJSON, + RecipeToJSON, + RecipeBookFromJSON, + RecipeBookToJSON, + RecipeBookEntryFromJSON, + RecipeBookEntryToJSON, + RecipeFlatFromJSON, + RecipeFlatToJSON, + RecipeImageFromJSON, + RecipeImageToJSON, + RecipeShoppingUpdateFromJSON, + RecipeShoppingUpdateToJSON, + RecipeSimpleFromJSON, + RecipeSimpleToJSON, + ShoppingListEntryFromJSON, + ShoppingListEntryToJSON, + ShoppingListEntryBulkFromJSON, + ShoppingListEntryBulkToJSON, + ShoppingListRecipeFromJSON, + ShoppingListRecipeToJSON, + SpaceFromJSON, + SpaceToJSON, + StepFromJSON, + StepToJSON, + StorageFromJSON, + StorageToJSON, + SupermarketFromJSON, + SupermarketToJSON, + SupermarketCategoryFromJSON, + SupermarketCategoryToJSON, + SupermarketCategoryRelationFromJSON, + SupermarketCategoryRelationToJSON, + SyncFromJSON, + SyncToJSON, + SyncLogFromJSON, + SyncLogToJSON, + UnitFromJSON, + UnitToJSON, + UnitConversionFromJSON, + UnitConversionToJSON, + UserFromJSON, + UserToJSON, + UserFileFromJSON, + UserFileToJSON, + UserPreferenceFromJSON, + UserPreferenceToJSON, + UserSpaceFromJSON, + UserSpaceToJSON, + ViewLogFromJSON, + ViewLogToJSON, +} from '../models'; + +export interface ApiAccessTokenCreateRequest { + accessToken: AccessToken; +} + +export interface ApiAccessTokenDestroyRequest { + id: number; +} + +export interface ApiAccessTokenPartialUpdateRequest { + id: number; + patchedAccessToken?: PatchedAccessToken; +} + +export interface ApiAccessTokenRetrieveRequest { + id: number; +} + +export interface ApiAccessTokenUpdateRequest { + id: number; + accessToken: AccessToken; +} + +export interface ApiAutoPlanCreateRequest { + autoMealPlan: AutoMealPlan; +} + +export interface ApiAutomationCreateRequest { + automation: Automation; +} + +export interface ApiAutomationDestroyRequest { + id: number; +} + +export interface ApiAutomationListRequest { + page?: number; + pageSize?: number; + type?: ApiAutomationListTypeEnum; +} + +export interface ApiAutomationPartialUpdateRequest { + id: number; + patchedAutomation?: PatchedAutomation; +} + +export interface ApiAutomationRetrieveRequest { + id: number; +} + +export interface ApiAutomationUpdateRequest { + id: number; + automation: Automation; +} + +export interface ApiBookmarkletImportCreateRequest { + bookmarkletImport: BookmarkletImport; +} + +export interface ApiBookmarkletImportDestroyRequest { + id: number; +} + +export interface ApiBookmarkletImportListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiBookmarkletImportPartialUpdateRequest { + id: number; + patchedBookmarkletImport?: PatchedBookmarkletImport; +} + +export interface ApiBookmarkletImportRetrieveRequest { + id: number; +} + +export interface ApiBookmarkletImportUpdateRequest { + id: number; + bookmarkletImport: BookmarkletImport; +} + +export interface ApiConnectorConfigCreateRequest { + connectorConfigConfig: ConnectorConfigConfig; +} + +export interface ApiConnectorConfigDestroyRequest { + id: number; +} + +export interface ApiConnectorConfigPartialUpdateRequest { + id: number; + patchedConnectorConfigConfig?: PatchedConnectorConfigConfig; +} + +export interface ApiConnectorConfigRetrieveRequest { + id: number; +} + +export interface ApiConnectorConfigUpdateRequest { + id: number; + connectorConfigConfig: ConnectorConfigConfig; +} + +export interface ApiCookLogCreateRequest { + cookLog: CookLog; +} + +export interface ApiCookLogDestroyRequest { + id: number; +} + +export interface ApiCookLogListRequest { + page?: number; + pageSize?: number; + recipe?: number; +} + +export interface ApiCookLogPartialUpdateRequest { + id: number; + patchedCookLog?: PatchedCookLog; +} + +export interface ApiCookLogRetrieveRequest { + id: number; +} + +export interface ApiCookLogUpdateRequest { + id: number; + cookLog: CookLog; +} + +export interface ApiCustomFilterCreateRequest { + customFilter: CustomFilter; +} + +export interface ApiCustomFilterDestroyRequest { + id: number; +} + +export interface ApiCustomFilterListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiCustomFilterPartialUpdateRequest { + id: number; + patchedCustomFilter?: PatchedCustomFilter; +} + +export interface ApiCustomFilterRetrieveRequest { + id: number; +} + +export interface ApiCustomFilterUpdateRequest { + id: number; + customFilter: CustomFilter; +} + +export interface ApiDownloadFileRetrieveRequest { + fileId: number; +} + +export interface ApiExportLogCreateRequest { + exportLog: ExportLog; +} + +export interface ApiExportLogDestroyRequest { + id: number; +} + +export interface ApiExportLogListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiExportLogPartialUpdateRequest { + id: number; + patchedExportLog?: PatchedExportLog; +} + +export interface ApiExportLogRetrieveRequest { + id: number; +} + +export interface ApiExportLogUpdateRequest { + id: number; + exportLog: ExportLog; +} + +export interface ApiFoodCreateRequest { + food: Food; +} + +export interface ApiFoodDestroyRequest { + id: number; +} + +export interface ApiFoodFdcCreateRequest { + id: number; + food: Food; +} + +export interface ApiFoodInheritFieldRetrieveRequest { + id: number; +} + +export interface ApiFoodListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + root?: number; + tree?: number; + updatedAt?: string; +} + +export interface ApiFoodMergeUpdateRequest { + id: number; + target: number; + food: Food; +} + +export interface ApiFoodMoveUpdateRequest { + id: number; + parent: number; + food: Food; +} + +export interface ApiFoodPartialUpdateRequest { + id: number; + patchedFood?: PatchedFood; +} + +export interface ApiFoodPropertyCreateRequest { + property: Property; +} + +export interface ApiFoodPropertyDestroyRequest { + id: number; +} + +export interface ApiFoodPropertyListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiFoodPropertyPartialUpdateRequest { + id: number; + patchedProperty?: PatchedProperty; +} + +export interface ApiFoodPropertyRetrieveRequest { + id: number; +} + +export interface ApiFoodPropertyTypeCreateRequest { + propertyType: PropertyType; +} + +export interface ApiFoodPropertyTypeDestroyRequest { + id: number; +} + +export interface ApiFoodPropertyTypeListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiFoodPropertyTypePartialUpdateRequest { + id: number; + patchedPropertyType?: PatchedPropertyType; +} + +export interface ApiFoodPropertyTypeRetrieveRequest { + id: number; +} + +export interface ApiFoodPropertyTypeUpdateRequest { + id: number; + propertyType: PropertyType; +} + +export interface ApiFoodPropertyUpdateRequest { + id: number; + property: Property; +} + +export interface ApiFoodRetrieveRequest { + id: number; +} + +export interface ApiFoodShoppingUpdateRequest { + id: number; + foodShoppingUpdate: FoodShoppingUpdate; +} + +export interface ApiFoodUpdateRequest { + id: number; + food: Food; +} + +export interface ApiGroupRetrieveRequest { + id: number; +} + +export interface ApiImportLogCreateRequest { + importLog: ImportLog; +} + +export interface ApiImportLogDestroyRequest { + id: number; +} + +export interface ApiImportLogListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiImportLogPartialUpdateRequest { + id: number; + patchedImportLog?: PatchedImportLog; +} + +export interface ApiImportLogRetrieveRequest { + id: number; +} + +export interface ApiImportLogUpdateRequest { + id: number; + importLog: ImportLog; +} + +export interface ApiIngredientCreateRequest { + ingredient: Ingredient; +} + +export interface ApiIngredientDestroyRequest { + id: number; +} + +export interface ApiIngredientListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiIngredientPartialUpdateRequest { + id: number; + patchedIngredient?: PatchedIngredient; +} + +export interface ApiIngredientRetrieveRequest { + id: number; +} + +export interface ApiIngredientUpdateRequest { + id: number; + ingredient: Ingredient; +} + +export interface ApiInviteLinkCreateRequest { + inviteLink: InviteLink; +} + +export interface ApiInviteLinkDestroyRequest { + id: number; +} + +export interface ApiInviteLinkListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiInviteLinkPartialUpdateRequest { + id: number; + patchedInviteLink?: PatchedInviteLink; +} + +export interface ApiInviteLinkRetrieveRequest { + id: number; +} + +export interface ApiInviteLinkUpdateRequest { + id: number; + inviteLink: InviteLink; +} + +export interface ApiKeywordCreateRequest { + keyword: Keyword; +} + +export interface ApiKeywordDestroyRequest { + id: number; +} + +export interface ApiKeywordListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + root?: number; + tree?: number; + updatedAt?: string; +} + +export interface ApiKeywordMergeUpdateRequest { + id: number; + target: number; + keyword: Keyword; +} + +export interface ApiKeywordMoveUpdateRequest { + id: number; + parent: number; + keyword: Keyword; +} + +export interface ApiKeywordPartialUpdateRequest { + id: number; + patchedKeyword?: PatchedKeyword; +} + +export interface ApiKeywordRetrieveRequest { + id: number; +} + +export interface ApiKeywordUpdateRequest { + id: number; + keyword: Keyword; +} + +export interface ApiMealPlanCreateRequest { + mealPlan: MealPlan; +} + +export interface ApiMealPlanDestroyRequest { + id: number; +} + +export interface ApiMealPlanIcalRetrieveRequest { + fromDate?: string; + mealType?: string; + toDate?: string; +} + +export interface ApiMealPlanListRequest { + fromDate?: string; + mealType?: string; + page?: number; + pageSize?: number; + toDate?: string; +} + +export interface ApiMealPlanPartialUpdateRequest { + id: number; + patchedMealPlan?: PatchedMealPlan; +} + +export interface ApiMealPlanRetrieveRequest { + id: number; +} + +export interface ApiMealPlanUpdateRequest { + id: number; + mealPlan: MealPlan; +} + +export interface ApiMealTypeCreateRequest { + mealType: MealType; +} + +export interface ApiMealTypeDestroyRequest { + id: number; +} + +export interface ApiMealTypeListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiMealTypePartialUpdateRequest { + id: number; + patchedMealType?: PatchedMealType; +} + +export interface ApiMealTypeRetrieveRequest { + id: number; +} + +export interface ApiMealTypeUpdateRequest { + id: number; + mealType: MealType; +} + +export interface ApiPlanIcalRetrieveRequest { + fromDate: string; + toDate: string; +} + +export interface ApiRecipeBookCreateRequest { + recipeBook: RecipeBook; +} + +export interface ApiRecipeBookDestroyRequest { + id: number; +} + +export interface ApiRecipeBookEntryCreateRequest { + recipeBookEntry: RecipeBookEntry; +} + +export interface ApiRecipeBookEntryDestroyRequest { + id: number; +} + +export interface ApiRecipeBookEntryListRequest { + book?: number; + page?: number; + pageSize?: number; + recipe?: number; +} + +export interface ApiRecipeBookEntryPartialUpdateRequest { + id: number; + patchedRecipeBookEntry?: PatchedRecipeBookEntry; +} + +export interface ApiRecipeBookEntryRetrieveRequest { + id: number; +} + +export interface ApiRecipeBookEntryUpdateRequest { + id: number; + recipeBookEntry: RecipeBookEntry; +} + +export interface ApiRecipeBookListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiRecipeBookPartialUpdateRequest { + id: number; + patchedRecipeBook?: PatchedRecipeBook; +} + +export interface ApiRecipeBookRetrieveRequest { + id: number; +} + +export interface ApiRecipeBookUpdateRequest { + id: number; + recipeBook: RecipeBook; +} + +export interface ApiRecipeCreateRequest { + recipe: Recipe; +} + +export interface ApiRecipeDestroyRequest { + id: number; +} + +export interface ApiRecipeImageUpdateRequest { + id: number; + image?: string | null; + imageUrl?: string | null; +} + +export interface ApiRecipeListRequest { + books?: number; + booksAnd?: number; + booksAndNot?: number; + booksOr?: number; + booksOrNot?: number; + cookedon?: string; + createdon?: string; + foods?: number; + foodsAnd?: number; + foodsAndNot?: number; + foodsOr?: number; + foodsOrNot?: number; + internal?: boolean; + keywords?: number; + keywordsAnd?: number; + keywordsAndNot?: number; + keywordsOr?: number; + keywordsOrNot?: number; + makenow?: boolean; + _new?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + rating?: number; + timescooked?: number; + units?: number; + updatedon?: string; + viewedon?: string; +} + +export interface ApiRecipePartialUpdateRequest { + id: number; + patchedRecipe?: PatchedRecipe; +} + +export interface ApiRecipeRelatedRetrieveRequest { + id: number; +} + +export interface ApiRecipeRetrieveRequest { + id: number; +} + +export interface ApiRecipeShoppingUpdateRequest { + id: number; + recipeShoppingUpdate?: RecipeShoppingUpdate; +} + +export interface ApiRecipeUpdateRequest { + id: number; + recipe: Recipe; +} + +export interface ApiShareLinkRetrieveRequest { + id: number; +} + +export interface ApiShoppingListEntryBulkCreateRequest { + shoppingListEntryBulk: ShoppingListEntryBulk; +} + +export interface ApiShoppingListEntryCreateRequest { + shoppingListEntry: ShoppingListEntry; +} + +export interface ApiShoppingListEntryDestroyRequest { + id: number; +} + +export interface ApiShoppingListEntryListRequest { + checked?: string; + id?: number; + page?: number; + pageSize?: number; + supermarket?: number; +} + +export interface ApiShoppingListEntryPartialUpdateRequest { + id: number; + patchedShoppingListEntry?: PatchedShoppingListEntry; +} + +export interface ApiShoppingListEntryRetrieveRequest { + id: number; +} + +export interface ApiShoppingListEntryUpdateRequest { + id: number; + shoppingListEntry: ShoppingListEntry; +} + +export interface ApiShoppingListRecipeCreateRequest { + shoppingListRecipe: ShoppingListRecipe; +} + +export interface ApiShoppingListRecipeDestroyRequest { + id: number; +} + +export interface ApiShoppingListRecipeListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiShoppingListRecipePartialUpdateRequest { + id: number; + patchedShoppingListRecipe?: PatchedShoppingListRecipe; +} + +export interface ApiShoppingListRecipeRetrieveRequest { + id: number; +} + +export interface ApiShoppingListRecipeUpdateRequest { + id: number; + shoppingListRecipe: ShoppingListRecipe; +} + +export interface ApiSpacePartialUpdateRequest { + id: number; + patchedSpace?: PatchedSpace; +} + +export interface ApiSpaceRetrieveRequest { + id: number; +} + +export interface ApiStepCreateRequest { + step: Step; +} + +export interface ApiStepDestroyRequest { + id: number; +} + +export interface ApiStepListRequest { + page?: number; + pageSize?: number; + query?: string; + recipe?: number; +} + +export interface ApiStepPartialUpdateRequest { + id: number; + patchedStep?: PatchedStep; +} + +export interface ApiStepRetrieveRequest { + id: number; +} + +export interface ApiStepUpdateRequest { + id: number; + step: Step; +} + +export interface ApiStorageCreateRequest { + storage: Storage; +} + +export interface ApiStorageDestroyRequest { + id: number; +} + +export interface ApiStoragePartialUpdateRequest { + id: number; + patchedStorage?: PatchedStorage; +} + +export interface ApiStorageRetrieveRequest { + id: number; +} + +export interface ApiStorageUpdateRequest { + id: number; + storage: Storage; +} + +export interface ApiSupermarketCategoryCreateRequest { + supermarketCategory: SupermarketCategory; +} + +export interface ApiSupermarketCategoryDestroyRequest { + id: number; +} + +export interface ApiSupermarketCategoryListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiSupermarketCategoryMergeUpdateRequest { + id: number; + target: number; + supermarketCategory: SupermarketCategory; +} + +export interface ApiSupermarketCategoryPartialUpdateRequest { + id: number; + patchedSupermarketCategory?: PatchedSupermarketCategory; +} + +export interface ApiSupermarketCategoryRelationCreateRequest { + supermarketCategoryRelation: SupermarketCategoryRelation; +} + +export interface ApiSupermarketCategoryRelationDestroyRequest { + id: number; +} + +export interface ApiSupermarketCategoryRelationListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiSupermarketCategoryRelationPartialUpdateRequest { + id: number; + patchedSupermarketCategoryRelation?: PatchedSupermarketCategoryRelation; +} + +export interface ApiSupermarketCategoryRelationRetrieveRequest { + id: number; +} + +export interface ApiSupermarketCategoryRelationUpdateRequest { + id: number; + supermarketCategoryRelation: SupermarketCategoryRelation; +} + +export interface ApiSupermarketCategoryRetrieveRequest { + id: number; +} + +export interface ApiSupermarketCategoryUpdateRequest { + id: number; + supermarketCategory: SupermarketCategory; +} + +export interface ApiSupermarketCreateRequest { + supermarket: Supermarket; +} + +export interface ApiSupermarketDestroyRequest { + id: number; +} + +export interface ApiSupermarketListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiSupermarketPartialUpdateRequest { + id: number; + patchedSupermarket?: PatchedSupermarket; +} + +export interface ApiSupermarketRetrieveRequest { + id: number; +} + +export interface ApiSupermarketUpdateRequest { + id: number; + supermarket: Supermarket; +} + +export interface ApiSwitchActiveSpaceRetrieveRequest { + spaceId: number; +} + +export interface ApiSyncCreateRequest { + sync: Sync; +} + +export interface ApiSyncDestroyRequest { + id: number; +} + +export interface ApiSyncListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiSyncLogListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiSyncLogRetrieveRequest { + id: number; +} + +export interface ApiSyncPartialUpdateRequest { + id: number; + patchedSync?: PatchedSync; +} + +export interface ApiSyncRetrieveRequest { + id: number; +} + +export interface ApiSyncUpdateRequest { + id: number; + sync: Sync; +} + +export interface ApiUnitConversionCreateRequest { + unitConversion: UnitConversion; +} + +export interface ApiUnitConversionDestroyRequest { + id: number; +} + +export interface ApiUnitConversionListRequest { + foodId?: number; + page?: number; + pageSize?: number; +} + +export interface ApiUnitConversionPartialUpdateRequest { + id: number; + patchedUnitConversion?: PatchedUnitConversion; +} + +export interface ApiUnitConversionRetrieveRequest { + id: number; +} + +export interface ApiUnitConversionUpdateRequest { + id: number; + unitConversion: UnitConversion; +} + +export interface ApiUnitCreateRequest { + unit: Unit; +} + +export interface ApiUnitDestroyRequest { + id: number; +} + +export interface ApiUnitListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiUnitMergeUpdateRequest { + id: number; + target: number; + unit: Unit; +} + +export interface ApiUnitPartialUpdateRequest { + id: number; + patchedUnit?: PatchedUnit; +} + +export interface ApiUnitRetrieveRequest { + id: number; +} + +export interface ApiUnitUpdateRequest { + id: number; + unit: Unit; +} + +export interface ApiUserFileCreateRequest { + id: number; + name: string; + file: string; + fileDownload: string; + preview: string; + fileSizeKb: number; +} + +export interface ApiUserFileDestroyRequest { + id: number; +} + +export interface ApiUserFileListRequest { + limit?: string; + page?: number; + pageSize?: number; + query?: string; + random?: string; + updatedAt?: string; +} + +export interface ApiUserFilePartialUpdateRequest { + id: number; + id2?: number; + name?: string; + file?: string; + fileDownload?: string; + preview?: string; + fileSizeKb?: number; +} + +export interface ApiUserFileRetrieveRequest { + id: number; +} + +export interface ApiUserFileUpdateRequest { + id: number; + id2: number; + name: string; + file: string; + fileDownload: string; + preview: string; + fileSizeKb: number; +} + +export interface ApiUserListRequest { + filterList?: string; +} + +export interface ApiUserPartialUpdateRequest { + id: number; + patchedUser?: PatchedUser; +} + +export interface ApiUserPreferencePartialUpdateRequest { + user: number; + patchedUserPreference?: PatchedUserPreference; +} + +export interface ApiUserPreferenceRetrieveRequest { + user: number; +} + +export interface ApiUserRetrieveRequest { + id: number; +} + +export interface ApiUserSpaceDestroyRequest { + id: number; +} + +export interface ApiUserSpaceListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiUserSpacePartialUpdateRequest { + id: number; + patchedUserSpace?: PatchedUserSpace; +} + +export interface ApiUserSpaceRetrieveRequest { + id: number; +} + +export interface ApiViewLogCreateRequest { + viewLog: ViewLog; +} + +export interface ApiViewLogDestroyRequest { + id: number; +} + +export interface ApiViewLogListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiViewLogPartialUpdateRequest { + id: number; + patchedViewLog?: PatchedViewLog; +} + +export interface ApiViewLogRetrieveRequest { + id: number; +} + +export interface ApiViewLogUpdateRequest { + id: number; + viewLog: ViewLog; +} + +/** + * + */ +export class ApiApi extends runtime.BaseAPI { + + /** + */ + async apiAccessTokenCreateRaw(requestParameters: ApiAccessTokenCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.accessToken === null || requestParameters.accessToken === undefined) { + throw new runtime.RequiredError('accessToken','Required parameter requestParameters.accessToken was null or undefined when calling apiAccessTokenCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/access-token/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AccessTokenToJSON(requestParameters.accessToken), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessTokenFromJSON(jsonValue)); + } + + /** + */ + async apiAccessTokenCreate(requestParameters: ApiAccessTokenCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAccessTokenCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAccessTokenDestroyRaw(requestParameters: ApiAccessTokenDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAccessTokenDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/access-token/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiAccessTokenDestroy(requestParameters: ApiAccessTokenDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiAccessTokenDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiAccessTokenListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/access-token/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AccessTokenFromJSON)); + } + + /** + */ + async apiAccessTokenList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiAccessTokenListRaw(initOverrides); + return await response.value(); + } + + /** + */ + async apiAccessTokenPartialUpdateRaw(requestParameters: ApiAccessTokenPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAccessTokenPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/access-token/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedAccessTokenToJSON(requestParameters.patchedAccessToken), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessTokenFromJSON(jsonValue)); + } + + /** + */ + async apiAccessTokenPartialUpdate(requestParameters: ApiAccessTokenPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAccessTokenPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAccessTokenRetrieveRaw(requestParameters: ApiAccessTokenRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAccessTokenRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/access-token/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessTokenFromJSON(jsonValue)); + } + + /** + */ + async apiAccessTokenRetrieve(requestParameters: ApiAccessTokenRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAccessTokenRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAccessTokenUpdateRaw(requestParameters: ApiAccessTokenUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAccessTokenUpdate.'); + } + + if (requestParameters.accessToken === null || requestParameters.accessToken === undefined) { + throw new runtime.RequiredError('accessToken','Required parameter requestParameters.accessToken was null or undefined when calling apiAccessTokenUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/access-token/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AccessTokenToJSON(requestParameters.accessToken), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessTokenFromJSON(jsonValue)); + } + + /** + */ + async apiAccessTokenUpdate(requestParameters: ApiAccessTokenUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAccessTokenUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAutoPlanCreateRaw(requestParameters: ApiAutoPlanCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.autoMealPlan === null || requestParameters.autoMealPlan === undefined) { + throw new runtime.RequiredError('autoMealPlan','Required parameter requestParameters.autoMealPlan was null or undefined when calling apiAutoPlanCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/auto-plan/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AutoMealPlanToJSON(requestParameters.autoMealPlan), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AutoMealPlanFromJSON(jsonValue)); + } + + /** + */ + async apiAutoPlanCreate(requestParameters: ApiAutoPlanCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAutoPlanCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAutomationCreateRaw(requestParameters: ApiAutomationCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.automation === null || requestParameters.automation === undefined) { + throw new runtime.RequiredError('automation','Required parameter requestParameters.automation was null or undefined when calling apiAutomationCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/automation/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AutomationToJSON(requestParameters.automation), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AutomationFromJSON(jsonValue)); + } + + /** + */ + async apiAutomationCreate(requestParameters: ApiAutomationCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAutomationCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAutomationDestroyRaw(requestParameters: ApiAutomationDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAutomationDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/automation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiAutomationDestroy(requestParameters: ApiAutomationDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiAutomationDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiAutomationListRaw(requestParameters: ApiAutomationListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/automation/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedAutomationListFromJSON(jsonValue)); + } + + /** + */ + async apiAutomationList(requestParameters: ApiAutomationListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAutomationListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAutomationPartialUpdateRaw(requestParameters: ApiAutomationPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAutomationPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/automation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedAutomationToJSON(requestParameters.patchedAutomation), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AutomationFromJSON(jsonValue)); + } + + /** + */ + async apiAutomationPartialUpdate(requestParameters: ApiAutomationPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAutomationPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAutomationRetrieveRaw(requestParameters: ApiAutomationRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAutomationRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/automation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AutomationFromJSON(jsonValue)); + } + + /** + */ + async apiAutomationRetrieve(requestParameters: ApiAutomationRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAutomationRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiAutomationUpdateRaw(requestParameters: ApiAutomationUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiAutomationUpdate.'); + } + + if (requestParameters.automation === null || requestParameters.automation === undefined) { + throw new runtime.RequiredError('automation','Required parameter requestParameters.automation was null or undefined when calling apiAutomationUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/automation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AutomationToJSON(requestParameters.automation), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AutomationFromJSON(jsonValue)); + } + + /** + */ + async apiAutomationUpdate(requestParameters: ApiAutomationUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiAutomationUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiBookmarkletImportCreateRaw(requestParameters: ApiBookmarkletImportCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.bookmarkletImport === null || requestParameters.bookmarkletImport === undefined) { + throw new runtime.RequiredError('bookmarkletImport','Required parameter requestParameters.bookmarkletImport was null or undefined when calling apiBookmarkletImportCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/bookmarklet-import/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: BookmarkletImportToJSON(requestParameters.bookmarkletImport), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BookmarkletImportFromJSON(jsonValue)); + } + + /** + */ + async apiBookmarkletImportCreate(requestParameters: ApiBookmarkletImportCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiBookmarkletImportCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiBookmarkletImportDestroyRaw(requestParameters: ApiBookmarkletImportDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiBookmarkletImportDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/bookmarklet-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiBookmarkletImportDestroy(requestParameters: ApiBookmarkletImportDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiBookmarkletImportDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiBookmarkletImportListRaw(requestParameters: ApiBookmarkletImportListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/bookmarklet-import/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedBookmarkletImportListListFromJSON(jsonValue)); + } + + /** + */ + async apiBookmarkletImportList(requestParameters: ApiBookmarkletImportListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiBookmarkletImportListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiBookmarkletImportPartialUpdateRaw(requestParameters: ApiBookmarkletImportPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiBookmarkletImportPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/bookmarklet-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedBookmarkletImportToJSON(requestParameters.patchedBookmarkletImport), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BookmarkletImportFromJSON(jsonValue)); + } + + /** + */ + async apiBookmarkletImportPartialUpdate(requestParameters: ApiBookmarkletImportPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiBookmarkletImportPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiBookmarkletImportRetrieveRaw(requestParameters: ApiBookmarkletImportRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiBookmarkletImportRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/bookmarklet-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BookmarkletImportFromJSON(jsonValue)); + } + + /** + */ + async apiBookmarkletImportRetrieve(requestParameters: ApiBookmarkletImportRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiBookmarkletImportRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiBookmarkletImportUpdateRaw(requestParameters: ApiBookmarkletImportUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiBookmarkletImportUpdate.'); + } + + if (requestParameters.bookmarkletImport === null || requestParameters.bookmarkletImport === undefined) { + throw new runtime.RequiredError('bookmarkletImport','Required parameter requestParameters.bookmarkletImport was null or undefined when calling apiBookmarkletImportUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/bookmarklet-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: BookmarkletImportToJSON(requestParameters.bookmarkletImport), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BookmarkletImportFromJSON(jsonValue)); + } + + /** + */ + async apiBookmarkletImportUpdate(requestParameters: ApiBookmarkletImportUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiBookmarkletImportUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiConnectorConfigCreateRaw(requestParameters: ApiConnectorConfigCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.connectorConfigConfig === null || requestParameters.connectorConfigConfig === undefined) { + throw new runtime.RequiredError('connectorConfigConfig','Required parameter requestParameters.connectorConfigConfig was null or undefined when calling apiConnectorConfigCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/connector-config/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ConnectorConfigConfigToJSON(requestParameters.connectorConfigConfig), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ConnectorConfigConfigFromJSON(jsonValue)); + } + + /** + */ + async apiConnectorConfigCreate(requestParameters: ApiConnectorConfigCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiConnectorConfigCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiConnectorConfigDestroyRaw(requestParameters: ApiConnectorConfigDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiConnectorConfigDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/connector-config/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiConnectorConfigDestroy(requestParameters: ApiConnectorConfigDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiConnectorConfigDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiConnectorConfigListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/connector-config/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ConnectorConfigConfigFromJSON)); + } + + /** + */ + async apiConnectorConfigList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiConnectorConfigListRaw(initOverrides); + return await response.value(); + } + + /** + */ + async apiConnectorConfigPartialUpdateRaw(requestParameters: ApiConnectorConfigPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiConnectorConfigPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/connector-config/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedConnectorConfigConfigToJSON(requestParameters.patchedConnectorConfigConfig), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ConnectorConfigConfigFromJSON(jsonValue)); + } + + /** + */ + async apiConnectorConfigPartialUpdate(requestParameters: ApiConnectorConfigPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiConnectorConfigPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiConnectorConfigRetrieveRaw(requestParameters: ApiConnectorConfigRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiConnectorConfigRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/connector-config/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ConnectorConfigConfigFromJSON(jsonValue)); + } + + /** + */ + async apiConnectorConfigRetrieve(requestParameters: ApiConnectorConfigRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiConnectorConfigRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiConnectorConfigUpdateRaw(requestParameters: ApiConnectorConfigUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiConnectorConfigUpdate.'); + } + + if (requestParameters.connectorConfigConfig === null || requestParameters.connectorConfigConfig === undefined) { + throw new runtime.RequiredError('connectorConfigConfig','Required parameter requestParameters.connectorConfigConfig was null or undefined when calling apiConnectorConfigUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/connector-config/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: ConnectorConfigConfigToJSON(requestParameters.connectorConfigConfig), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ConnectorConfigConfigFromJSON(jsonValue)); + } + + /** + */ + async apiConnectorConfigUpdate(requestParameters: ApiConnectorConfigUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiConnectorConfigUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCookLogCreateRaw(requestParameters: ApiCookLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.cookLog === null || requestParameters.cookLog === undefined) { + throw new runtime.RequiredError('cookLog','Required parameter requestParameters.cookLog was null or undefined when calling apiCookLogCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/cook-log/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CookLogToJSON(requestParameters.cookLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CookLogFromJSON(jsonValue)); + } + + /** + */ + async apiCookLogCreate(requestParameters: ApiCookLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCookLogCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCookLogDestroyRaw(requestParameters: ApiCookLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCookLogDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/cook-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiCookLogDestroy(requestParameters: ApiCookLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiCookLogDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiCookLogListRaw(requestParameters: ApiCookLogListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.recipe !== undefined) { + queryParameters['recipe'] = requestParameters.recipe; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/cook-log/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedCookLogListFromJSON(jsonValue)); + } + + /** + */ + async apiCookLogList(requestParameters: ApiCookLogListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCookLogListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCookLogPartialUpdateRaw(requestParameters: ApiCookLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCookLogPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/cook-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedCookLogToJSON(requestParameters.patchedCookLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CookLogFromJSON(jsonValue)); + } + + /** + */ + async apiCookLogPartialUpdate(requestParameters: ApiCookLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCookLogPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCookLogRetrieveRaw(requestParameters: ApiCookLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCookLogRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/cook-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CookLogFromJSON(jsonValue)); + } + + /** + */ + async apiCookLogRetrieve(requestParameters: ApiCookLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCookLogRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCookLogUpdateRaw(requestParameters: ApiCookLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCookLogUpdate.'); + } + + if (requestParameters.cookLog === null || requestParameters.cookLog === undefined) { + throw new runtime.RequiredError('cookLog','Required parameter requestParameters.cookLog was null or undefined when calling apiCookLogUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/cook-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: CookLogToJSON(requestParameters.cookLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CookLogFromJSON(jsonValue)); + } + + /** + */ + async apiCookLogUpdate(requestParameters: ApiCookLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCookLogUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCustomFilterCreateRaw(requestParameters: ApiCustomFilterCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.customFilter === null || requestParameters.customFilter === undefined) { + throw new runtime.RequiredError('customFilter','Required parameter requestParameters.customFilter was null or undefined when calling apiCustomFilterCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/custom-filter/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CustomFilterToJSON(requestParameters.customFilter), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CustomFilterFromJSON(jsonValue)); + } + + /** + */ + async apiCustomFilterCreate(requestParameters: ApiCustomFilterCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCustomFilterCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCustomFilterDestroyRaw(requestParameters: ApiCustomFilterDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCustomFilterDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/custom-filter/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiCustomFilterDestroy(requestParameters: ApiCustomFilterDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiCustomFilterDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiCustomFilterListRaw(requestParameters: ApiCustomFilterListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/custom-filter/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedCustomFilterListFromJSON(jsonValue)); + } + + /** + */ + async apiCustomFilterList(requestParameters: ApiCustomFilterListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCustomFilterListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCustomFilterPartialUpdateRaw(requestParameters: ApiCustomFilterPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCustomFilterPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/custom-filter/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedCustomFilterToJSON(requestParameters.patchedCustomFilter), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CustomFilterFromJSON(jsonValue)); + } + + /** + */ + async apiCustomFilterPartialUpdate(requestParameters: ApiCustomFilterPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCustomFilterPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCustomFilterRetrieveRaw(requestParameters: ApiCustomFilterRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCustomFilterRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/custom-filter/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CustomFilterFromJSON(jsonValue)); + } + + /** + */ + async apiCustomFilterRetrieve(requestParameters: ApiCustomFilterRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCustomFilterRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiCustomFilterUpdateRaw(requestParameters: ApiCustomFilterUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiCustomFilterUpdate.'); + } + + if (requestParameters.customFilter === null || requestParameters.customFilter === undefined) { + throw new runtime.RequiredError('customFilter','Required parameter requestParameters.customFilter was null or undefined when calling apiCustomFilterUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/custom-filter/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: CustomFilterToJSON(requestParameters.customFilter), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CustomFilterFromJSON(jsonValue)); + } + + /** + */ + async apiCustomFilterUpdate(requestParameters: ApiCustomFilterUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiCustomFilterUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * function to download a user file securely (wrapping as zip to prevent any context based XSS problems) temporary solution until a real file manager is implemented + */ + async apiDownloadFileRetrieveRaw(requestParameters: ApiDownloadFileRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.fileId === null || requestParameters.fileId === undefined) { + throw new runtime.RequiredError('fileId','Required parameter requestParameters.fileId was null or undefined when calling apiDownloadFileRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/download-file/{fileId}/`.replace(`{${"fileId"}}`, encodeURIComponent(String(requestParameters.fileId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * function to download a user file securely (wrapping as zip to prevent any context based XSS problems) temporary solution until a real file manager is implemented + */ + async apiDownloadFileRetrieve(requestParameters: ApiDownloadFileRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiDownloadFileRetrieveRaw(requestParameters, initOverrides); + } + + /** + */ + async apiExportLogCreateRaw(requestParameters: ApiExportLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.exportLog === null || requestParameters.exportLog === undefined) { + throw new runtime.RequiredError('exportLog','Required parameter requestParameters.exportLog was null or undefined when calling apiExportLogCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/export-log/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ExportLogToJSON(requestParameters.exportLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ExportLogFromJSON(jsonValue)); + } + + /** + */ + async apiExportLogCreate(requestParameters: ApiExportLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiExportLogCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiExportLogDestroyRaw(requestParameters: ApiExportLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiExportLogDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/export-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiExportLogDestroy(requestParameters: ApiExportLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiExportLogDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiExportLogListRaw(requestParameters: ApiExportLogListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/export-log/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedExportLogListFromJSON(jsonValue)); + } + + /** + */ + async apiExportLogList(requestParameters: ApiExportLogListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiExportLogListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiExportLogPartialUpdateRaw(requestParameters: ApiExportLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiExportLogPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/export-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedExportLogToJSON(requestParameters.patchedExportLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ExportLogFromJSON(jsonValue)); + } + + /** + */ + async apiExportLogPartialUpdate(requestParameters: ApiExportLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiExportLogPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiExportLogRetrieveRaw(requestParameters: ApiExportLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiExportLogRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/export-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ExportLogFromJSON(jsonValue)); + } + + /** + */ + async apiExportLogRetrieve(requestParameters: ApiExportLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiExportLogRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiExportLogUpdateRaw(requestParameters: ApiExportLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiExportLogUpdate.'); + } + + if (requestParameters.exportLog === null || requestParameters.exportLog === undefined) { + throw new runtime.RequiredError('exportLog','Required parameter requestParameters.exportLog was null or undefined when calling apiExportLogUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/export-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: ExportLogToJSON(requestParameters.exportLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ExportLogFromJSON(jsonValue)); + } + + /** + */ + async apiExportLogUpdate(requestParameters: ApiExportLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiExportLogUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodCreateRaw(requestParameters: ApiFoodCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.food === null || requestParameters.food === undefined) { + throw new runtime.RequiredError('food','Required parameter requestParameters.food was null or undefined when calling apiFoodCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: FoodToJSON(requestParameters.food), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + */ + async apiFoodCreate(requestParameters: ApiFoodCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodDestroyRaw(requestParameters: ApiFoodDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiFoodDestroy(requestParameters: ApiFoodDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiFoodDestroyRaw(requestParameters, initOverrides); + } + + /** + * updates the food with all possible data from the FDC Api if properties with a fdc_id already exist they will be overridden, if existing properties don\'t have a fdc_id they won\'t be changed + */ + async apiFoodFdcCreateRaw(requestParameters: ApiFoodFdcCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodFdcCreate.'); + } + + if (requestParameters.food === null || requestParameters.food === undefined) { + throw new runtime.RequiredError('food','Required parameter requestParameters.food was null or undefined when calling apiFoodFdcCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/fdc/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: FoodToJSON(requestParameters.food), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + * updates the food with all possible data from the FDC Api if properties with a fdc_id already exist they will be overridden, if existing properties don\'t have a fdc_id they won\'t be changed + */ + async apiFoodFdcCreate(requestParameters: ApiFoodFdcCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodFdcCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodInheritFieldListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-inherit-field/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(FoodInheritFieldFromJSON)); + } + + /** + */ + async apiFoodInheritFieldList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiFoodInheritFieldListRaw(initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodInheritFieldRetrieveRaw(requestParameters: ApiFoodInheritFieldRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodInheritFieldRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-inherit-field/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodInheritFieldFromJSON(jsonValue)); + } + + /** + */ + async apiFoodInheritFieldRetrieve(requestParameters: ApiFoodInheritFieldRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodInheritFieldRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodListRaw(requestParameters: ApiFoodListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.root !== undefined) { + queryParameters['root'] = requestParameters.root; + } + + if (requestParameters.tree !== undefined) { + queryParameters['tree'] = requestParameters.tree; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedFoodListFromJSON(jsonValue)); + } + + /** + */ + async apiFoodList(requestParameters: ApiFoodListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodMergeUpdateRaw(requestParameters: ApiFoodMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodMergeUpdate.'); + } + + if (requestParameters.target === null || requestParameters.target === undefined) { + throw new runtime.RequiredError('target','Required parameter requestParameters.target was null or undefined when calling apiFoodMergeUpdate.'); + } + + if (requestParameters.food === null || requestParameters.food === undefined) { + throw new runtime.RequiredError('food','Required parameter requestParameters.food was null or undefined when calling apiFoodMergeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/merge/{target}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"target"}}`, encodeURIComponent(String(requestParameters.target))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: FoodToJSON(requestParameters.food), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + */ + async apiFoodMergeUpdate(requestParameters: ApiFoodMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodMergeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodMoveUpdateRaw(requestParameters: ApiFoodMoveUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodMoveUpdate.'); + } + + if (requestParameters.parent === null || requestParameters.parent === undefined) { + throw new runtime.RequiredError('parent','Required parameter requestParameters.parent was null or undefined when calling apiFoodMoveUpdate.'); + } + + if (requestParameters.food === null || requestParameters.food === undefined) { + throw new runtime.RequiredError('food','Required parameter requestParameters.food was null or undefined when calling apiFoodMoveUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/move/{parent}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"parent"}}`, encodeURIComponent(String(requestParameters.parent))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: FoodToJSON(requestParameters.food), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + */ + async apiFoodMoveUpdate(requestParameters: ApiFoodMoveUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodMoveUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPartialUpdateRaw(requestParameters: ApiFoodPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedFoodToJSON(requestParameters.patchedFood), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPartialUpdate(requestParameters: ApiFoodPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyCreateRaw(requestParameters: ApiFoodPropertyCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.property === null || requestParameters.property === undefined) { + throw new runtime.RequiredError('property','Required parameter requestParameters.property was null or undefined when calling apiFoodPropertyCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: PropertyToJSON(requestParameters.property), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyCreate(requestParameters: ApiFoodPropertyCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyDestroyRaw(requestParameters: ApiFoodPropertyDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiFoodPropertyDestroy(requestParameters: ApiFoodPropertyDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiFoodPropertyDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiFoodPropertyListRaw(requestParameters: ApiFoodPropertyListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedPropertyListFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyList(requestParameters: ApiFoodPropertyListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyPartialUpdateRaw(requestParameters: ApiFoodPropertyPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedPropertyToJSON(requestParameters.patchedProperty), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyPartialUpdate(requestParameters: ApiFoodPropertyPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyRetrieveRaw(requestParameters: ApiFoodPropertyRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyRetrieve(requestParameters: ApiFoodPropertyRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyTypeCreateRaw(requestParameters: ApiFoodPropertyTypeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.propertyType === null || requestParameters.propertyType === undefined) { + throw new runtime.RequiredError('propertyType','Required parameter requestParameters.propertyType was null or undefined when calling apiFoodPropertyTypeCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property-type/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: PropertyTypeToJSON(requestParameters.propertyType), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyTypeFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyTypeCreate(requestParameters: ApiFoodPropertyTypeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyTypeCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyTypeDestroyRaw(requestParameters: ApiFoodPropertyTypeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyTypeDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiFoodPropertyTypeDestroy(requestParameters: ApiFoodPropertyTypeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiFoodPropertyTypeDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiFoodPropertyTypeListRaw(requestParameters: ApiFoodPropertyTypeListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property-type/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedPropertyTypeListFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyTypeList(requestParameters: ApiFoodPropertyTypeListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyTypeListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyTypePartialUpdateRaw(requestParameters: ApiFoodPropertyTypePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyTypePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedPropertyTypeToJSON(requestParameters.patchedPropertyType), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyTypeFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyTypePartialUpdate(requestParameters: ApiFoodPropertyTypePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyTypePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyTypeRetrieveRaw(requestParameters: ApiFoodPropertyTypeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyTypeRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyTypeFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyTypeRetrieve(requestParameters: ApiFoodPropertyTypeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyTypeRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyTypeUpdateRaw(requestParameters: ApiFoodPropertyTypeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyTypeUpdate.'); + } + + if (requestParameters.propertyType === null || requestParameters.propertyType === undefined) { + throw new runtime.RequiredError('propertyType','Required parameter requestParameters.propertyType was null or undefined when calling apiFoodPropertyTypeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: PropertyTypeToJSON(requestParameters.propertyType), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyTypeFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyTypeUpdate(requestParameters: ApiFoodPropertyTypeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyTypeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodPropertyUpdateRaw(requestParameters: ApiFoodPropertyUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodPropertyUpdate.'); + } + + if (requestParameters.property === null || requestParameters.property === undefined) { + throw new runtime.RequiredError('property','Required parameter requestParameters.property was null or undefined when calling apiFoodPropertyUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food-property/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: PropertyToJSON(requestParameters.property), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PropertyFromJSON(jsonValue)); + } + + /** + */ + async apiFoodPropertyUpdate(requestParameters: ApiFoodPropertyUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodPropertyUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodRetrieveRaw(requestParameters: ApiFoodRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + */ + async apiFoodRetrieve(requestParameters: ApiFoodRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodShoppingUpdateRaw(requestParameters: ApiFoodShoppingUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodShoppingUpdate.'); + } + + if (requestParameters.foodShoppingUpdate === null || requestParameters.foodShoppingUpdate === undefined) { + throw new runtime.RequiredError('foodShoppingUpdate','Required parameter requestParameters.foodShoppingUpdate was null or undefined when calling apiFoodShoppingUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/shopping/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: FoodShoppingUpdateToJSON(requestParameters.foodShoppingUpdate), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodShoppingUpdateFromJSON(jsonValue)); + } + + /** + */ + async apiFoodShoppingUpdate(requestParameters: ApiFoodShoppingUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodShoppingUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiFoodUpdateRaw(requestParameters: ApiFoodUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiFoodUpdate.'); + } + + if (requestParameters.food === null || requestParameters.food === undefined) { + throw new runtime.RequiredError('food','Required parameter requestParameters.food was null or undefined when calling apiFoodUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/food/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: FoodToJSON(requestParameters.food), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FoodFromJSON(jsonValue)); + } + + /** + */ + async apiFoodUpdate(requestParameters: ApiFoodUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiFoodUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiGroupListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/group/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(GroupFromJSON)); + } + + /** + */ + async apiGroupList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiGroupListRaw(initOverrides); + return await response.value(); + } + + /** + */ + async apiGroupRetrieveRaw(requestParameters: ApiGroupRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiGroupRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/group/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue)); + } + + /** + */ + async apiGroupRetrieve(requestParameters: ApiGroupRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiGroupRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * function to handle files passed by application importer + */ + async apiImportCreateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * function to handle files passed by application importer + */ + async apiImportCreate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiImportCreateRaw(initOverrides); + } + + /** + */ + async apiImportLogCreateRaw(requestParameters: ApiImportLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.importLog === null || requestParameters.importLog === undefined) { + throw new runtime.RequiredError('importLog','Required parameter requestParameters.importLog was null or undefined when calling apiImportLogCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import-log/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ImportLogToJSON(requestParameters.importLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ImportLogFromJSON(jsonValue)); + } + + /** + */ + async apiImportLogCreate(requestParameters: ApiImportLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiImportLogCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiImportLogDestroyRaw(requestParameters: ApiImportLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiImportLogDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiImportLogDestroy(requestParameters: ApiImportLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiImportLogDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiImportLogListRaw(requestParameters: ApiImportLogListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import-log/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedImportLogListFromJSON(jsonValue)); + } + + /** + */ + async apiImportLogList(requestParameters: ApiImportLogListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiImportLogListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiImportLogPartialUpdateRaw(requestParameters: ApiImportLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiImportLogPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedImportLogToJSON(requestParameters.patchedImportLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ImportLogFromJSON(jsonValue)); + } + + /** + */ + async apiImportLogPartialUpdate(requestParameters: ApiImportLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiImportLogPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiImportLogRetrieveRaw(requestParameters: ApiImportLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiImportLogRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ImportLogFromJSON(jsonValue)); + } + + /** + */ + async apiImportLogRetrieve(requestParameters: ApiImportLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiImportLogRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiImportLogUpdateRaw(requestParameters: ApiImportLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiImportLogUpdate.'); + } + + if (requestParameters.importLog === null || requestParameters.importLog === undefined) { + throw new runtime.RequiredError('importLog','Required parameter requestParameters.importLog was null or undefined when calling apiImportLogUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/import-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: ImportLogToJSON(requestParameters.importLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ImportLogFromJSON(jsonValue)); + } + + /** + */ + async apiImportLogUpdate(requestParameters: ApiImportLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiImportLogUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiIngredientCreateRaw(requestParameters: ApiIngredientCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.ingredient === null || requestParameters.ingredient === undefined) { + throw new runtime.RequiredError('ingredient','Required parameter requestParameters.ingredient was null or undefined when calling apiIngredientCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/ingredient/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: IngredientToJSON(requestParameters.ingredient), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => IngredientFromJSON(jsonValue)); + } + + /** + */ + async apiIngredientCreate(requestParameters: ApiIngredientCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiIngredientCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiIngredientDestroyRaw(requestParameters: ApiIngredientDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiIngredientDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/ingredient/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiIngredientDestroy(requestParameters: ApiIngredientDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiIngredientDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiIngredientListRaw(requestParameters: ApiIngredientListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/ingredient/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedIngredientListFromJSON(jsonValue)); + } + + /** + */ + async apiIngredientList(requestParameters: ApiIngredientListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiIngredientListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiIngredientPartialUpdateRaw(requestParameters: ApiIngredientPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiIngredientPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/ingredient/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedIngredientToJSON(requestParameters.patchedIngredient), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => IngredientFromJSON(jsonValue)); + } + + /** + */ + async apiIngredientPartialUpdate(requestParameters: ApiIngredientPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiIngredientPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiIngredientRetrieveRaw(requestParameters: ApiIngredientRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiIngredientRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/ingredient/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => IngredientFromJSON(jsonValue)); + } + + /** + */ + async apiIngredientRetrieve(requestParameters: ApiIngredientRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiIngredientRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiIngredientUpdateRaw(requestParameters: ApiIngredientUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiIngredientUpdate.'); + } + + if (requestParameters.ingredient === null || requestParameters.ingredient === undefined) { + throw new runtime.RequiredError('ingredient','Required parameter requestParameters.ingredient was null or undefined when calling apiIngredientUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/ingredient/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: IngredientToJSON(requestParameters.ingredient), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => IngredientFromJSON(jsonValue)); + } + + /** + */ + async apiIngredientUpdate(requestParameters: ApiIngredientUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiIngredientUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiInviteLinkCreateRaw(requestParameters: ApiInviteLinkCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.inviteLink === null || requestParameters.inviteLink === undefined) { + throw new runtime.RequiredError('inviteLink','Required parameter requestParameters.inviteLink was null or undefined when calling apiInviteLinkCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/invite-link/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: InviteLinkToJSON(requestParameters.inviteLink), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InviteLinkFromJSON(jsonValue)); + } + + /** + */ + async apiInviteLinkCreate(requestParameters: ApiInviteLinkCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiInviteLinkCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiInviteLinkDestroyRaw(requestParameters: ApiInviteLinkDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiInviteLinkDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/invite-link/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiInviteLinkDestroy(requestParameters: ApiInviteLinkDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiInviteLinkDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiInviteLinkListRaw(requestParameters: ApiInviteLinkListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/invite-link/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedInviteLinkListFromJSON(jsonValue)); + } + + /** + */ + async apiInviteLinkList(requestParameters: ApiInviteLinkListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiInviteLinkListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiInviteLinkPartialUpdateRaw(requestParameters: ApiInviteLinkPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiInviteLinkPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/invite-link/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedInviteLinkToJSON(requestParameters.patchedInviteLink), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InviteLinkFromJSON(jsonValue)); + } + + /** + */ + async apiInviteLinkPartialUpdate(requestParameters: ApiInviteLinkPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiInviteLinkPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiInviteLinkRetrieveRaw(requestParameters: ApiInviteLinkRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiInviteLinkRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/invite-link/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InviteLinkFromJSON(jsonValue)); + } + + /** + */ + async apiInviteLinkRetrieve(requestParameters: ApiInviteLinkRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiInviteLinkRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiInviteLinkUpdateRaw(requestParameters: ApiInviteLinkUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiInviteLinkUpdate.'); + } + + if (requestParameters.inviteLink === null || requestParameters.inviteLink === undefined) { + throw new runtime.RequiredError('inviteLink','Required parameter requestParameters.inviteLink was null or undefined when calling apiInviteLinkUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/invite-link/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: InviteLinkToJSON(requestParameters.inviteLink), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InviteLinkFromJSON(jsonValue)); + } + + /** + */ + async apiInviteLinkUpdate(requestParameters: ApiInviteLinkUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiInviteLinkUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordCreateRaw(requestParameters: ApiKeywordCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.keyword === null || requestParameters.keyword === undefined) { + throw new runtime.RequiredError('keyword','Required parameter requestParameters.keyword was null or undefined when calling apiKeywordCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: KeywordToJSON(requestParameters.keyword), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => KeywordFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordCreate(requestParameters: ApiKeywordCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordDestroyRaw(requestParameters: ApiKeywordDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiKeywordDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiKeywordDestroy(requestParameters: ApiKeywordDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiKeywordDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiKeywordListRaw(requestParameters: ApiKeywordListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.root !== undefined) { + queryParameters['root'] = requestParameters.root; + } + + if (requestParameters.tree !== undefined) { + queryParameters['tree'] = requestParameters.tree; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedKeywordListFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordList(requestParameters: ApiKeywordListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordMergeUpdateRaw(requestParameters: ApiKeywordMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiKeywordMergeUpdate.'); + } + + if (requestParameters.target === null || requestParameters.target === undefined) { + throw new runtime.RequiredError('target','Required parameter requestParameters.target was null or undefined when calling apiKeywordMergeUpdate.'); + } + + if (requestParameters.keyword === null || requestParameters.keyword === undefined) { + throw new runtime.RequiredError('keyword','Required parameter requestParameters.keyword was null or undefined when calling apiKeywordMergeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/{id}/merge/{target}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"target"}}`, encodeURIComponent(String(requestParameters.target))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: KeywordToJSON(requestParameters.keyword), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => KeywordFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordMergeUpdate(requestParameters: ApiKeywordMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordMergeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordMoveUpdateRaw(requestParameters: ApiKeywordMoveUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiKeywordMoveUpdate.'); + } + + if (requestParameters.parent === null || requestParameters.parent === undefined) { + throw new runtime.RequiredError('parent','Required parameter requestParameters.parent was null or undefined when calling apiKeywordMoveUpdate.'); + } + + if (requestParameters.keyword === null || requestParameters.keyword === undefined) { + throw new runtime.RequiredError('keyword','Required parameter requestParameters.keyword was null or undefined when calling apiKeywordMoveUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/{id}/move/{parent}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"parent"}}`, encodeURIComponent(String(requestParameters.parent))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: KeywordToJSON(requestParameters.keyword), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => KeywordFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordMoveUpdate(requestParameters: ApiKeywordMoveUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordMoveUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordPartialUpdateRaw(requestParameters: ApiKeywordPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiKeywordPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedKeywordToJSON(requestParameters.patchedKeyword), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => KeywordFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordPartialUpdate(requestParameters: ApiKeywordPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordRetrieveRaw(requestParameters: ApiKeywordRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiKeywordRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => KeywordFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordRetrieve(requestParameters: ApiKeywordRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiKeywordUpdateRaw(requestParameters: ApiKeywordUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiKeywordUpdate.'); + } + + if (requestParameters.keyword === null || requestParameters.keyword === undefined) { + throw new runtime.RequiredError('keyword','Required parameter requestParameters.keyword was null or undefined when calling apiKeywordUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/keyword/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: KeywordToJSON(requestParameters.keyword), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => KeywordFromJSON(jsonValue)); + } + + /** + */ + async apiKeywordUpdate(requestParameters: ApiKeywordUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiKeywordUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiMealPlanCreateRaw(requestParameters: ApiMealPlanCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.mealPlan === null || requestParameters.mealPlan === undefined) { + throw new runtime.RequiredError('mealPlan','Required parameter requestParameters.mealPlan was null or undefined when calling apiMealPlanCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: MealPlanToJSON(requestParameters.mealPlan), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealPlanFromJSON(jsonValue)); + } + + /** + */ + async apiMealPlanCreate(requestParameters: ApiMealPlanCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealPlanCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiMealPlanDestroyRaw(requestParameters: ApiMealPlanDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealPlanDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiMealPlanDestroy(requestParameters: ApiMealPlanDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiMealPlanDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiMealPlanIcalRetrieveRaw(requestParameters: ApiMealPlanIcalRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.fromDate !== undefined) { + queryParameters['from_date'] = requestParameters.fromDate; + } + + if (requestParameters.mealType !== undefined) { + queryParameters['meal_type'] = requestParameters.mealType; + } + + if (requestParameters.toDate !== undefined) { + queryParameters['to_date'] = requestParameters.toDate; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/ical/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.TextApiResponse(response) as any; + } + + /** + */ + async apiMealPlanIcalRetrieve(requestParameters: ApiMealPlanIcalRetrieveRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealPlanIcalRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiMealPlanListRaw(requestParameters: ApiMealPlanListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.fromDate !== undefined) { + queryParameters['from_date'] = requestParameters.fromDate; + } + + if (requestParameters.mealType !== undefined) { + queryParameters['meal_type'] = requestParameters.mealType; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.toDate !== undefined) { + queryParameters['to_date'] = requestParameters.toDate; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedMealPlanListFromJSON(jsonValue)); + } + + /** + */ + async apiMealPlanList(requestParameters: ApiMealPlanListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealPlanListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiMealPlanPartialUpdateRaw(requestParameters: ApiMealPlanPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealPlanPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedMealPlanToJSON(requestParameters.patchedMealPlan), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealPlanFromJSON(jsonValue)); + } + + /** + */ + async apiMealPlanPartialUpdate(requestParameters: ApiMealPlanPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealPlanPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiMealPlanRetrieveRaw(requestParameters: ApiMealPlanRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealPlanRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealPlanFromJSON(jsonValue)); + } + + /** + */ + async apiMealPlanRetrieve(requestParameters: ApiMealPlanRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealPlanRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiMealPlanUpdateRaw(requestParameters: ApiMealPlanUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealPlanUpdate.'); + } + + if (requestParameters.mealPlan === null || requestParameters.mealPlan === undefined) { + throw new runtime.RequiredError('mealPlan','Required parameter requestParameters.mealPlan was null or undefined when calling apiMealPlanUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-plan/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: MealPlanToJSON(requestParameters.mealPlan), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealPlanFromJSON(jsonValue)); + } + + /** + */ + async apiMealPlanUpdate(requestParameters: ApiMealPlanUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealPlanUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeCreateRaw(requestParameters: ApiMealTypeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.mealType === null || requestParameters.mealType === undefined) { + throw new runtime.RequiredError('mealType','Required parameter requestParameters.mealType was null or undefined when calling apiMealTypeCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-type/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: MealTypeToJSON(requestParameters.mealType), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealTypeFromJSON(jsonValue)); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeCreate(requestParameters: ApiMealTypeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealTypeCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeDestroyRaw(requestParameters: ApiMealTypeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealTypeDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeDestroy(requestParameters: ApiMealTypeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiMealTypeDestroyRaw(requestParameters, initOverrides); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeListRaw(requestParameters: ApiMealTypeListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-type/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedMealTypeListFromJSON(jsonValue)); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeList(requestParameters: ApiMealTypeListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealTypeListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypePartialUpdateRaw(requestParameters: ApiMealTypePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealTypePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedMealTypeToJSON(requestParameters.patchedMealType), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealTypeFromJSON(jsonValue)); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypePartialUpdate(requestParameters: ApiMealTypePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealTypePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeRetrieveRaw(requestParameters: ApiMealTypeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealTypeRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealTypeFromJSON(jsonValue)); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeRetrieve(requestParameters: ApiMealTypeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealTypeRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeUpdateRaw(requestParameters: ApiMealTypeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiMealTypeUpdate.'); + } + + if (requestParameters.mealType === null || requestParameters.mealType === undefined) { + throw new runtime.RequiredError('mealType','Required parameter requestParameters.mealType was null or undefined when calling apiMealTypeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/meal-type/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: MealTypeToJSON(requestParameters.mealType), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MealTypeFromJSON(jsonValue)); + } + + /** + * returns list of meal types created by the requesting user ordered by the order field. + */ + async apiMealTypeUpdate(requestParameters: ApiMealTypeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiMealTypeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiPlanIcalRetrieveRaw(requestParameters: ApiPlanIcalRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.fromDate === null || requestParameters.fromDate === undefined) { + throw new runtime.RequiredError('fromDate','Required parameter requestParameters.fromDate was null or undefined when calling apiPlanIcalRetrieve.'); + } + + if (requestParameters.toDate === null || requestParameters.toDate === undefined) { + throw new runtime.RequiredError('toDate','Required parameter requestParameters.toDate was null or undefined when calling apiPlanIcalRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/plan-ical/{fromDate}/{toDate}/`.replace(`{${"fromDate"}}`, encodeURIComponent(String(requestParameters.fromDate))).replace(`{${"toDate"}}`, encodeURIComponent(String(requestParameters.toDate))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiPlanIcalRetrieve(requestParameters: ApiPlanIcalRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiPlanIcalRetrieveRaw(requestParameters, initOverrides); + } + + /** + */ + async apiRecipeBookCreateRaw(requestParameters: ApiRecipeBookCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.recipeBook === null || requestParameters.recipeBook === undefined) { + throw new runtime.RequiredError('recipeBook','Required parameter requestParameters.recipeBook was null or undefined when calling apiRecipeBookCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RecipeBookToJSON(requestParameters.recipeBook), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookCreate(requestParameters: ApiRecipeBookCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookDestroyRaw(requestParameters: ApiRecipeBookDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiRecipeBookDestroy(requestParameters: ApiRecipeBookDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiRecipeBookDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiRecipeBookEntryCreateRaw(requestParameters: ApiRecipeBookEntryCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.recipeBookEntry === null || requestParameters.recipeBookEntry === undefined) { + throw new runtime.RequiredError('recipeBookEntry','Required parameter requestParameters.recipeBookEntry was null or undefined when calling apiRecipeBookEntryCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book-entry/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RecipeBookEntryToJSON(requestParameters.recipeBookEntry), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookEntryFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookEntryCreate(requestParameters: ApiRecipeBookEntryCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookEntryCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookEntryDestroyRaw(requestParameters: ApiRecipeBookEntryDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookEntryDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiRecipeBookEntryDestroy(requestParameters: ApiRecipeBookEntryDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiRecipeBookEntryDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiRecipeBookEntryListRaw(requestParameters: ApiRecipeBookEntryListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.book !== undefined) { + queryParameters['book'] = requestParameters.book; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.recipe !== undefined) { + queryParameters['recipe'] = requestParameters.recipe; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book-entry/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedRecipeBookEntryListFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookEntryList(requestParameters: ApiRecipeBookEntryListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookEntryListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookEntryPartialUpdateRaw(requestParameters: ApiRecipeBookEntryPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookEntryPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedRecipeBookEntryToJSON(requestParameters.patchedRecipeBookEntry), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookEntryFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookEntryPartialUpdate(requestParameters: ApiRecipeBookEntryPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookEntryPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookEntryRetrieveRaw(requestParameters: ApiRecipeBookEntryRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookEntryRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookEntryFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookEntryRetrieve(requestParameters: ApiRecipeBookEntryRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookEntryRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookEntryUpdateRaw(requestParameters: ApiRecipeBookEntryUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookEntryUpdate.'); + } + + if (requestParameters.recipeBookEntry === null || requestParameters.recipeBookEntry === undefined) { + throw new runtime.RequiredError('recipeBookEntry','Required parameter requestParameters.recipeBookEntry was null or undefined when calling apiRecipeBookEntryUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: RecipeBookEntryToJSON(requestParameters.recipeBookEntry), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookEntryFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookEntryUpdate(requestParameters: ApiRecipeBookEntryUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookEntryUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookListRaw(requestParameters: ApiRecipeBookListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedRecipeBookListFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookList(requestParameters: ApiRecipeBookListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookPartialUpdateRaw(requestParameters: ApiRecipeBookPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedRecipeBookToJSON(requestParameters.patchedRecipeBook), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookPartialUpdate(requestParameters: ApiRecipeBookPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookRetrieveRaw(requestParameters: ApiRecipeBookRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookRetrieve(requestParameters: ApiRecipeBookRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeBookUpdateRaw(requestParameters: ApiRecipeBookUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeBookUpdate.'); + } + + if (requestParameters.recipeBook === null || requestParameters.recipeBook === undefined) { + throw new runtime.RequiredError('recipeBook','Required parameter requestParameters.recipeBook was null or undefined when calling apiRecipeBookUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-book/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: RecipeBookToJSON(requestParameters.recipeBook), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeBookFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeBookUpdate(requestParameters: ApiRecipeBookUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeBookUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeCreateRaw(requestParameters: ApiRecipeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.recipe === null || requestParameters.recipe === undefined) { + throw new runtime.RequiredError('recipe','Required parameter requestParameters.recipe was null or undefined when calling apiRecipeCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RecipeToJSON(requestParameters.recipe), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeCreate(requestParameters: ApiRecipeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeDestroyRaw(requestParameters: ApiRecipeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiRecipeDestroy(requestParameters: ApiRecipeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiRecipeDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiRecipeFlatListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/flat/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RecipeFlatFromJSON)); + } + + /** + */ + async apiRecipeFlatList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiRecipeFlatListRaw(initOverrides); + return await response.value(); + } + + /** + * function to retrieve a recipe from a given url or source string :param request: standard request with additional post parameters - url: url to use for importing recipe - data: if no url is given recipe is imported from provided source data - (optional) bookmarklet: id of bookmarklet import to use, overrides URL and data attributes :return: JsonResponse containing the parsed json and images + */ + async apiRecipeFromSourceCreateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe-from-source/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * function to retrieve a recipe from a given url or source string :param request: standard request with additional post parameters - url: url to use for importing recipe - data: if no url is given recipe is imported from provided source data - (optional) bookmarklet: id of bookmarklet import to use, overrides URL and data attributes :return: JsonResponse containing the parsed json and images + */ + async apiRecipeFromSourceCreate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiRecipeFromSourceCreateRaw(initOverrides); + } + + /** + */ + async apiRecipeImageUpdateRaw(requestParameters: ApiRecipeImageUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeImageUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const consumes: runtime.Consume[] = [ + { contentType: 'multipart/form-data' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.image !== undefined) { + formParams.append('image', requestParameters.image as any); + } + + if (requestParameters.imageUrl !== undefined) { + formParams.append('image_url', requestParameters.imageUrl as any); + } + + const response = await this.request({ + path: `/api/recipe/{id}/image/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeImageFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeImageUpdate(requestParameters: ApiRecipeImageUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeImageUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeListRaw(requestParameters: ApiRecipeListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.books !== undefined) { + queryParameters['books'] = requestParameters.books; + } + + if (requestParameters.booksAnd !== undefined) { + queryParameters['books_and'] = requestParameters.booksAnd; + } + + if (requestParameters.booksAndNot !== undefined) { + queryParameters['books_and_not'] = requestParameters.booksAndNot; + } + + if (requestParameters.booksOr !== undefined) { + queryParameters['books_or'] = requestParameters.booksOr; + } + + if (requestParameters.booksOrNot !== undefined) { + queryParameters['books_or_not'] = requestParameters.booksOrNot; + } + + if (requestParameters.cookedon !== undefined) { + queryParameters['cookedon'] = requestParameters.cookedon; + } + + if (requestParameters.createdon !== undefined) { + queryParameters['createdon'] = requestParameters.createdon; + } + + if (requestParameters.foods !== undefined) { + queryParameters['foods'] = requestParameters.foods; + } + + if (requestParameters.foodsAnd !== undefined) { + queryParameters['foods_and'] = requestParameters.foodsAnd; + } + + if (requestParameters.foodsAndNot !== undefined) { + queryParameters['foods_and_not'] = requestParameters.foodsAndNot; + } + + if (requestParameters.foodsOr !== undefined) { + queryParameters['foods_or'] = requestParameters.foodsOr; + } + + if (requestParameters.foodsOrNot !== undefined) { + queryParameters['foods_or_not'] = requestParameters.foodsOrNot; + } + + if (requestParameters.internal !== undefined) { + queryParameters['internal'] = requestParameters.internal; + } + + if (requestParameters.keywords !== undefined) { + queryParameters['keywords'] = requestParameters.keywords; + } + + if (requestParameters.keywordsAnd !== undefined) { + queryParameters['keywords_and'] = requestParameters.keywordsAnd; + } + + if (requestParameters.keywordsAndNot !== undefined) { + queryParameters['keywords_and_not'] = requestParameters.keywordsAndNot; + } + + if (requestParameters.keywordsOr !== undefined) { + queryParameters['keywords_or'] = requestParameters.keywordsOr; + } + + if (requestParameters.keywordsOrNot !== undefined) { + queryParameters['keywords_or_not'] = requestParameters.keywordsOrNot; + } + + if (requestParameters.makenow !== undefined) { + queryParameters['makenow'] = requestParameters.makenow; + } + + if (requestParameters._new !== undefined) { + queryParameters['new'] = requestParameters._new; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.rating !== undefined) { + queryParameters['rating'] = requestParameters.rating; + } + + if (requestParameters.timescooked !== undefined) { + queryParameters['timescooked'] = requestParameters.timescooked; + } + + if (requestParameters.units !== undefined) { + queryParameters['units'] = requestParameters.units; + } + + if (requestParameters.updatedon !== undefined) { + queryParameters['updatedon'] = requestParameters.updatedon; + } + + if (requestParameters.viewedon !== undefined) { + queryParameters['viewedon'] = requestParameters.viewedon; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedRecipeOverviewListFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeList(requestParameters: ApiRecipeListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipePartialUpdateRaw(requestParameters: ApiRecipePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedRecipeToJSON(requestParameters.patchedRecipe), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeFromJSON(jsonValue)); + } + + /** + */ + async apiRecipePartialUpdate(requestParameters: ApiRecipePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeRelatedRetrieveRaw(requestParameters: ApiRecipeRelatedRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeRelatedRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/{id}/related/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeSimpleFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeRelatedRetrieve(requestParameters: ApiRecipeRelatedRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeRelatedRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeRetrieveRaw(requestParameters: ApiRecipeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeRetrieve(requestParameters: ApiRecipeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeShoppingUpdateRaw(requestParameters: ApiRecipeShoppingUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeShoppingUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/{id}/shopping/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: RecipeShoppingUpdateToJSON(requestParameters.recipeShoppingUpdate), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeShoppingUpdateFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeShoppingUpdate(requestParameters: ApiRecipeShoppingUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeShoppingUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiRecipeUpdateRaw(requestParameters: ApiRecipeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiRecipeUpdate.'); + } + + if (requestParameters.recipe === null || requestParameters.recipe === undefined) { + throw new runtime.RequiredError('recipe','Required parameter requestParameters.recipe was null or undefined when calling apiRecipeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: RecipeToJSON(requestParameters.recipe), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RecipeFromJSON(jsonValue)); + } + + /** + */ + async apiRecipeUpdate(requestParameters: ApiRecipeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiRecipeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * function to reset inheritance from api, see food method for docs + */ + async apiResetFoodInheritanceRetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/reset-food-inheritance/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * function to reset inheritance from api, see food method for docs + */ + async apiResetFoodInheritanceRetrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiResetFoodInheritanceRetrieveRaw(initOverrides); + } + + /** + */ + async apiShareLinkRetrieveRaw(requestParameters: ApiShareLinkRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShareLinkRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/share-link/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiShareLinkRetrieve(requestParameters: ApiShareLinkRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiShareLinkRetrieveRaw(requestParameters, initOverrides); + } + + /** + */ + async apiShoppingListEntryBulkCreateRaw(requestParameters: ApiShoppingListEntryBulkCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.shoppingListEntryBulk === null || requestParameters.shoppingListEntryBulk === undefined) { + throw new runtime.RequiredError('shoppingListEntryBulk','Required parameter requestParameters.shoppingListEntryBulk was null or undefined when calling apiShoppingListEntryBulkCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/bulk/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ShoppingListEntryBulkToJSON(requestParameters.shoppingListEntryBulk), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListEntryBulkFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListEntryBulkCreate(requestParameters: ApiShoppingListEntryBulkCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListEntryBulkCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListEntryCreateRaw(requestParameters: ApiShoppingListEntryCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.shoppingListEntry === null || requestParameters.shoppingListEntry === undefined) { + throw new runtime.RequiredError('shoppingListEntry','Required parameter requestParameters.shoppingListEntry was null or undefined when calling apiShoppingListEntryCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ShoppingListEntryToJSON(requestParameters.shoppingListEntry), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListEntryFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListEntryCreate(requestParameters: ApiShoppingListEntryCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListEntryCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListEntryDestroyRaw(requestParameters: ApiShoppingListEntryDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListEntryDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiShoppingListEntryDestroy(requestParameters: ApiShoppingListEntryDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiShoppingListEntryDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiShoppingListEntryListRaw(requestParameters: ApiShoppingListEntryListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.checked !== undefined) { + queryParameters['checked'] = requestParameters.checked; + } + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.supermarket !== undefined) { + queryParameters['supermarket'] = requestParameters.supermarket; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedShoppingListEntryListFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListEntryList(requestParameters: ApiShoppingListEntryListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListEntryListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListEntryPartialUpdateRaw(requestParameters: ApiShoppingListEntryPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListEntryPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedShoppingListEntryToJSON(requestParameters.patchedShoppingListEntry), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListEntryFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListEntryPartialUpdate(requestParameters: ApiShoppingListEntryPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListEntryPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListEntryRetrieveRaw(requestParameters: ApiShoppingListEntryRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListEntryRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListEntryFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListEntryRetrieve(requestParameters: ApiShoppingListEntryRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListEntryRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListEntryUpdateRaw(requestParameters: ApiShoppingListEntryUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListEntryUpdate.'); + } + + if (requestParameters.shoppingListEntry === null || requestParameters.shoppingListEntry === undefined) { + throw new runtime.RequiredError('shoppingListEntry','Required parameter requestParameters.shoppingListEntry was null or undefined when calling apiShoppingListEntryUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-entry/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: ShoppingListEntryToJSON(requestParameters.shoppingListEntry), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListEntryFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListEntryUpdate(requestParameters: ApiShoppingListEntryUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListEntryUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListRecipeCreateRaw(requestParameters: ApiShoppingListRecipeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.shoppingListRecipe === null || requestParameters.shoppingListRecipe === undefined) { + throw new runtime.RequiredError('shoppingListRecipe','Required parameter requestParameters.shoppingListRecipe was null or undefined when calling apiShoppingListRecipeCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-recipe/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ShoppingListRecipeToJSON(requestParameters.shoppingListRecipe), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListRecipeFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListRecipeCreate(requestParameters: ApiShoppingListRecipeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListRecipeCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListRecipeDestroyRaw(requestParameters: ApiShoppingListRecipeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListRecipeDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiShoppingListRecipeDestroy(requestParameters: ApiShoppingListRecipeDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiShoppingListRecipeDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiShoppingListRecipeListRaw(requestParameters: ApiShoppingListRecipeListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-recipe/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedShoppingListRecipeListFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListRecipeList(requestParameters: ApiShoppingListRecipeListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListRecipeListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListRecipePartialUpdateRaw(requestParameters: ApiShoppingListRecipePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListRecipePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedShoppingListRecipeToJSON(requestParameters.patchedShoppingListRecipe), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListRecipeFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListRecipePartialUpdate(requestParameters: ApiShoppingListRecipePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListRecipePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListRecipeRetrieveRaw(requestParameters: ApiShoppingListRecipeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListRecipeRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListRecipeFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListRecipeRetrieve(requestParameters: ApiShoppingListRecipeRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListRecipeRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiShoppingListRecipeUpdateRaw(requestParameters: ApiShoppingListRecipeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiShoppingListRecipeUpdate.'); + } + + if (requestParameters.shoppingListRecipe === null || requestParameters.shoppingListRecipe === undefined) { + throw new runtime.RequiredError('shoppingListRecipe','Required parameter requestParameters.shoppingListRecipe was null or undefined when calling apiShoppingListRecipeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/shopping-list-recipe/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: ShoppingListRecipeToJSON(requestParameters.shoppingListRecipe), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ShoppingListRecipeFromJSON(jsonValue)); + } + + /** + */ + async apiShoppingListRecipeUpdate(requestParameters: ApiShoppingListRecipeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiShoppingListRecipeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSpacePartialUpdateRaw(requestParameters: ApiSpacePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSpacePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/space/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedSpaceToJSON(requestParameters.patchedSpace), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SpaceFromJSON(jsonValue)); + } + + /** + */ + async apiSpacePartialUpdate(requestParameters: ApiSpacePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSpacePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSpaceRetrieveRaw(requestParameters: ApiSpaceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSpaceRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/space/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SpaceFromJSON(jsonValue)); + } + + /** + */ + async apiSpaceRetrieve(requestParameters: ApiSpaceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSpaceRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStepCreateRaw(requestParameters: ApiStepCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.step === null || requestParameters.step === undefined) { + throw new runtime.RequiredError('step','Required parameter requestParameters.step was null or undefined when calling apiStepCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/step/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: StepToJSON(requestParameters.step), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StepFromJSON(jsonValue)); + } + + /** + */ + async apiStepCreate(requestParameters: ApiStepCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStepCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStepDestroyRaw(requestParameters: ApiStepDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStepDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/step/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiStepDestroy(requestParameters: ApiStepDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiStepDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiStepListRaw(requestParameters: ApiStepListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.recipe !== undefined) { + queryParameters['recipe'] = requestParameters.recipe; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/step/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedStepListFromJSON(jsonValue)); + } + + /** + */ + async apiStepList(requestParameters: ApiStepListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStepListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStepPartialUpdateRaw(requestParameters: ApiStepPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStepPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/step/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedStepToJSON(requestParameters.patchedStep), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StepFromJSON(jsonValue)); + } + + /** + */ + async apiStepPartialUpdate(requestParameters: ApiStepPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStepPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStepRetrieveRaw(requestParameters: ApiStepRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStepRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/step/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StepFromJSON(jsonValue)); + } + + /** + */ + async apiStepRetrieve(requestParameters: ApiStepRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStepRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStepUpdateRaw(requestParameters: ApiStepUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStepUpdate.'); + } + + if (requestParameters.step === null || requestParameters.step === undefined) { + throw new runtime.RequiredError('step','Required parameter requestParameters.step was null or undefined when calling apiStepUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/step/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: StepToJSON(requestParameters.step), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StepFromJSON(jsonValue)); + } + + /** + */ + async apiStepUpdate(requestParameters: ApiStepUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStepUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStorageCreateRaw(requestParameters: ApiStorageCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.storage === null || requestParameters.storage === undefined) { + throw new runtime.RequiredError('storage','Required parameter requestParameters.storage was null or undefined when calling apiStorageCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/storage/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: StorageToJSON(requestParameters.storage), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StorageFromJSON(jsonValue)); + } + + /** + */ + async apiStorageCreate(requestParameters: ApiStorageCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStorageCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStorageDestroyRaw(requestParameters: ApiStorageDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStorageDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/storage/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiStorageDestroy(requestParameters: ApiStorageDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiStorageDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiStorageListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/storage/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(StorageFromJSON)); + } + + /** + */ + async apiStorageList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiStorageListRaw(initOverrides); + return await response.value(); + } + + /** + */ + async apiStoragePartialUpdateRaw(requestParameters: ApiStoragePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStoragePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/storage/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedStorageToJSON(requestParameters.patchedStorage), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StorageFromJSON(jsonValue)); + } + + /** + */ + async apiStoragePartialUpdate(requestParameters: ApiStoragePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStoragePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStorageRetrieveRaw(requestParameters: ApiStorageRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStorageRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/storage/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StorageFromJSON(jsonValue)); + } + + /** + */ + async apiStorageRetrieve(requestParameters: ApiStorageRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStorageRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiStorageUpdateRaw(requestParameters: ApiStorageUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiStorageUpdate.'); + } + + if (requestParameters.storage === null || requestParameters.storage === undefined) { + throw new runtime.RequiredError('storage','Required parameter requestParameters.storage was null or undefined when calling apiStorageUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/storage/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: StorageToJSON(requestParameters.storage), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StorageFromJSON(jsonValue)); + } + + /** + */ + async apiStorageUpdate(requestParameters: ApiStorageUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiStorageUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryCreateRaw(requestParameters: ApiSupermarketCategoryCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.supermarketCategory === null || requestParameters.supermarketCategory === undefined) { + throw new runtime.RequiredError('supermarketCategory','Required parameter requestParameters.supermarketCategory was null or undefined when calling apiSupermarketCategoryCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SupermarketCategoryToJSON(requestParameters.supermarketCategory), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryCreate(requestParameters: ApiSupermarketCategoryCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryDestroyRaw(requestParameters: ApiSupermarketCategoryDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiSupermarketCategoryDestroy(requestParameters: ApiSupermarketCategoryDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiSupermarketCategoryDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiSupermarketCategoryListRaw(requestParameters: ApiSupermarketCategoryListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSupermarketCategoryListFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryList(requestParameters: ApiSupermarketCategoryListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryMergeUpdateRaw(requestParameters: ApiSupermarketCategoryMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryMergeUpdate.'); + } + + if (requestParameters.target === null || requestParameters.target === undefined) { + throw new runtime.RequiredError('target','Required parameter requestParameters.target was null or undefined when calling apiSupermarketCategoryMergeUpdate.'); + } + + if (requestParameters.supermarketCategory === null || requestParameters.supermarketCategory === undefined) { + throw new runtime.RequiredError('supermarketCategory','Required parameter requestParameters.supermarketCategory was null or undefined when calling apiSupermarketCategoryMergeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/{id}/merge/{target}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"target"}}`, encodeURIComponent(String(requestParameters.target))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SupermarketCategoryToJSON(requestParameters.supermarketCategory), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryMergeUpdate(requestParameters: ApiSupermarketCategoryMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryMergeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryPartialUpdateRaw(requestParameters: ApiSupermarketCategoryPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedSupermarketCategoryToJSON(requestParameters.patchedSupermarketCategory), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryPartialUpdate(requestParameters: ApiSupermarketCategoryPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryRelationCreateRaw(requestParameters: ApiSupermarketCategoryRelationCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.supermarketCategoryRelation === null || requestParameters.supermarketCategoryRelation === undefined) { + throw new runtime.RequiredError('supermarketCategoryRelation','Required parameter requestParameters.supermarketCategoryRelation was null or undefined when calling apiSupermarketCategoryRelationCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category-relation/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SupermarketCategoryRelationToJSON(requestParameters.supermarketCategoryRelation), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryRelationFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryRelationCreate(requestParameters: ApiSupermarketCategoryRelationCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryRelationCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryRelationDestroyRaw(requestParameters: ApiSupermarketCategoryRelationDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryRelationDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category-relation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiSupermarketCategoryRelationDestroy(requestParameters: ApiSupermarketCategoryRelationDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiSupermarketCategoryRelationDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiSupermarketCategoryRelationListRaw(requestParameters: ApiSupermarketCategoryRelationListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category-relation/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSupermarketCategoryRelationListFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryRelationList(requestParameters: ApiSupermarketCategoryRelationListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryRelationListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryRelationPartialUpdateRaw(requestParameters: ApiSupermarketCategoryRelationPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryRelationPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category-relation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedSupermarketCategoryRelationToJSON(requestParameters.patchedSupermarketCategoryRelation), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryRelationFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryRelationPartialUpdate(requestParameters: ApiSupermarketCategoryRelationPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryRelationPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryRelationRetrieveRaw(requestParameters: ApiSupermarketCategoryRelationRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryRelationRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category-relation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryRelationFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryRelationRetrieve(requestParameters: ApiSupermarketCategoryRelationRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryRelationRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryRelationUpdateRaw(requestParameters: ApiSupermarketCategoryRelationUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryRelationUpdate.'); + } + + if (requestParameters.supermarketCategoryRelation === null || requestParameters.supermarketCategoryRelation === undefined) { + throw new runtime.RequiredError('supermarketCategoryRelation','Required parameter requestParameters.supermarketCategoryRelation was null or undefined when calling apiSupermarketCategoryRelationUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category-relation/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SupermarketCategoryRelationToJSON(requestParameters.supermarketCategoryRelation), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryRelationFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryRelationUpdate(requestParameters: ApiSupermarketCategoryRelationUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryRelationUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryRetrieveRaw(requestParameters: ApiSupermarketCategoryRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryRetrieve(requestParameters: ApiSupermarketCategoryRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCategoryUpdateRaw(requestParameters: ApiSupermarketCategoryUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketCategoryUpdate.'); + } + + if (requestParameters.supermarketCategory === null || requestParameters.supermarketCategory === undefined) { + throw new runtime.RequiredError('supermarketCategory','Required parameter requestParameters.supermarketCategory was null or undefined when calling apiSupermarketCategoryUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket-category/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SupermarketCategoryToJSON(requestParameters.supermarketCategory), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketCategoryFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCategoryUpdate(requestParameters: ApiSupermarketCategoryUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCategoryUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketCreateRaw(requestParameters: ApiSupermarketCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.supermarket === null || requestParameters.supermarket === undefined) { + throw new runtime.RequiredError('supermarket','Required parameter requestParameters.supermarket was null or undefined when calling apiSupermarketCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SupermarketToJSON(requestParameters.supermarket), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketCreate(requestParameters: ApiSupermarketCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketDestroyRaw(requestParameters: ApiSupermarketDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiSupermarketDestroy(requestParameters: ApiSupermarketDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiSupermarketDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiSupermarketListRaw(requestParameters: ApiSupermarketListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSupermarketListFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketList(requestParameters: ApiSupermarketListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketPartialUpdateRaw(requestParameters: ApiSupermarketPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedSupermarketToJSON(requestParameters.patchedSupermarket), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketPartialUpdate(requestParameters: ApiSupermarketPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketRetrieveRaw(requestParameters: ApiSupermarketRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketRetrieve(requestParameters: ApiSupermarketRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSupermarketUpdateRaw(requestParameters: ApiSupermarketUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSupermarketUpdate.'); + } + + if (requestParameters.supermarket === null || requestParameters.supermarket === undefined) { + throw new runtime.RequiredError('supermarket','Required parameter requestParameters.supermarket was null or undefined when calling apiSupermarketUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/supermarket/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SupermarketToJSON(requestParameters.supermarket), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SupermarketFromJSON(jsonValue)); + } + + /** + */ + async apiSupermarketUpdate(requestParameters: ApiSupermarketUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSupermarketUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * api endpoint to switch space function + */ + async apiSwitchActiveSpaceRetrieveRaw(requestParameters: ApiSwitchActiveSpaceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.spaceId === null || requestParameters.spaceId === undefined) { + throw new runtime.RequiredError('spaceId','Required parameter requestParameters.spaceId was null or undefined when calling apiSwitchActiveSpaceRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/switch-active-space/{spaceId}/`.replace(`{${"spaceId"}}`, encodeURIComponent(String(requestParameters.spaceId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * api endpoint to switch space function + */ + async apiSwitchActiveSpaceRetrieve(requestParameters: ApiSwitchActiveSpaceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiSwitchActiveSpaceRetrieveRaw(requestParameters, initOverrides); + } + + /** + */ + async apiSyncCreateRaw(requestParameters: ApiSyncCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sync === null || requestParameters.sync === undefined) { + throw new runtime.RequiredError('sync','Required parameter requestParameters.sync was null or undefined when calling apiSyncCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncToJSON(requestParameters.sync), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SyncFromJSON(jsonValue)); + } + + /** + */ + async apiSyncCreate(requestParameters: ApiSyncCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSyncDestroyRaw(requestParameters: ApiSyncDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSyncDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiSyncDestroy(requestParameters: ApiSyncDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiSyncDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiSyncListRaw(requestParameters: ApiSyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSyncListFromJSON(jsonValue)); + } + + /** + */ + async apiSyncList(requestParameters: ApiSyncListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSyncLogListRaw(requestParameters: ApiSyncLogListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync-log/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSyncLogListFromJSON(jsonValue)); + } + + /** + */ + async apiSyncLogList(requestParameters: ApiSyncLogListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncLogListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSyncLogRetrieveRaw(requestParameters: ApiSyncLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSyncLogRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SyncLogFromJSON(jsonValue)); + } + + /** + */ + async apiSyncLogRetrieve(requestParameters: ApiSyncLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncLogRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSyncPartialUpdateRaw(requestParameters: ApiSyncPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSyncPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedSyncToJSON(requestParameters.patchedSync), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SyncFromJSON(jsonValue)); + } + + /** + */ + async apiSyncPartialUpdate(requestParameters: ApiSyncPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSyncRetrieveRaw(requestParameters: ApiSyncRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSyncRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SyncFromJSON(jsonValue)); + } + + /** + */ + async apiSyncRetrieve(requestParameters: ApiSyncRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiSyncUpdateRaw(requestParameters: ApiSyncUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiSyncUpdate.'); + } + + if (requestParameters.sync === null || requestParameters.sync === undefined) { + throw new runtime.RequiredError('sync','Required parameter requestParameters.sync was null or undefined when calling apiSyncUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/sync/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SyncToJSON(requestParameters.sync), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SyncFromJSON(jsonValue)); + } + + /** + */ + async apiSyncUpdate(requestParameters: ApiSyncUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiSyncUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitConversionCreateRaw(requestParameters: ApiUnitConversionCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.unitConversion === null || requestParameters.unitConversion === undefined) { + throw new runtime.RequiredError('unitConversion','Required parameter requestParameters.unitConversion was null or undefined when calling apiUnitConversionCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit-conversion/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UnitConversionToJSON(requestParameters.unitConversion), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitConversionFromJSON(jsonValue)); + } + + /** + */ + async apiUnitConversionCreate(requestParameters: ApiUnitConversionCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitConversionCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitConversionDestroyRaw(requestParameters: ApiUnitConversionDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitConversionDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit-conversion/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiUnitConversionDestroy(requestParameters: ApiUnitConversionDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiUnitConversionDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiUnitConversionListRaw(requestParameters: ApiUnitConversionListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.foodId !== undefined) { + queryParameters['food_id'] = requestParameters.foodId; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit-conversion/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedUnitConversionListFromJSON(jsonValue)); + } + + /** + */ + async apiUnitConversionList(requestParameters: ApiUnitConversionListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitConversionListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitConversionPartialUpdateRaw(requestParameters: ApiUnitConversionPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitConversionPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit-conversion/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedUnitConversionToJSON(requestParameters.patchedUnitConversion), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitConversionFromJSON(jsonValue)); + } + + /** + */ + async apiUnitConversionPartialUpdate(requestParameters: ApiUnitConversionPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitConversionPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitConversionRetrieveRaw(requestParameters: ApiUnitConversionRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitConversionRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit-conversion/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitConversionFromJSON(jsonValue)); + } + + /** + */ + async apiUnitConversionRetrieve(requestParameters: ApiUnitConversionRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitConversionRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitConversionUpdateRaw(requestParameters: ApiUnitConversionUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitConversionUpdate.'); + } + + if (requestParameters.unitConversion === null || requestParameters.unitConversion === undefined) { + throw new runtime.RequiredError('unitConversion','Required parameter requestParameters.unitConversion was null or undefined when calling apiUnitConversionUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit-conversion/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UnitConversionToJSON(requestParameters.unitConversion), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitConversionFromJSON(jsonValue)); + } + + /** + */ + async apiUnitConversionUpdate(requestParameters: ApiUnitConversionUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitConversionUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitCreateRaw(requestParameters: ApiUnitCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.unit === null || requestParameters.unit === undefined) { + throw new runtime.RequiredError('unit','Required parameter requestParameters.unit was null or undefined when calling apiUnitCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UnitToJSON(requestParameters.unit), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitFromJSON(jsonValue)); + } + + /** + */ + async apiUnitCreate(requestParameters: ApiUnitCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitDestroyRaw(requestParameters: ApiUnitDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiUnitDestroy(requestParameters: ApiUnitDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiUnitDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiUnitListRaw(requestParameters: ApiUnitListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedUnitListFromJSON(jsonValue)); + } + + /** + */ + async apiUnitList(requestParameters: ApiUnitListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitMergeUpdateRaw(requestParameters: ApiUnitMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitMergeUpdate.'); + } + + if (requestParameters.target === null || requestParameters.target === undefined) { + throw new runtime.RequiredError('target','Required parameter requestParameters.target was null or undefined when calling apiUnitMergeUpdate.'); + } + + if (requestParameters.unit === null || requestParameters.unit === undefined) { + throw new runtime.RequiredError('unit','Required parameter requestParameters.unit was null or undefined when calling apiUnitMergeUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/{id}/merge/{target}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"target"}}`, encodeURIComponent(String(requestParameters.target))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UnitToJSON(requestParameters.unit), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitFromJSON(jsonValue)); + } + + /** + */ + async apiUnitMergeUpdate(requestParameters: ApiUnitMergeUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitMergeUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitPartialUpdateRaw(requestParameters: ApiUnitPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedUnitToJSON(requestParameters.patchedUnit), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitFromJSON(jsonValue)); + } + + /** + */ + async apiUnitPartialUpdate(requestParameters: ApiUnitPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitRetrieveRaw(requestParameters: ApiUnitRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitFromJSON(jsonValue)); + } + + /** + */ + async apiUnitRetrieve(requestParameters: ApiUnitRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUnitUpdateRaw(requestParameters: ApiUnitUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUnitUpdate.'); + } + + if (requestParameters.unit === null || requestParameters.unit === undefined) { + throw new runtime.RequiredError('unit','Required parameter requestParameters.unit was null or undefined when calling apiUnitUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/unit/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UnitToJSON(requestParameters.unit), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UnitFromJSON(jsonValue)); + } + + /** + */ + async apiUnitUpdate(requestParameters: ApiUnitUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUnitUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserFileCreateRaw(requestParameters: ApiUserFileCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserFileCreate.'); + } + + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling apiUserFileCreate.'); + } + + if (requestParameters.file === null || requestParameters.file === undefined) { + throw new runtime.RequiredError('file','Required parameter requestParameters.file was null or undefined when calling apiUserFileCreate.'); + } + + if (requestParameters.fileDownload === null || requestParameters.fileDownload === undefined) { + throw new runtime.RequiredError('fileDownload','Required parameter requestParameters.fileDownload was null or undefined when calling apiUserFileCreate.'); + } + + if (requestParameters.preview === null || requestParameters.preview === undefined) { + throw new runtime.RequiredError('preview','Required parameter requestParameters.preview was null or undefined when calling apiUserFileCreate.'); + } + + if (requestParameters.fileSizeKb === null || requestParameters.fileSizeKb === undefined) { + throw new runtime.RequiredError('fileSizeKb','Required parameter requestParameters.fileSizeKb was null or undefined when calling apiUserFileCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const consumes: runtime.Consume[] = [ + { contentType: 'multipart/form-data' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.id !== undefined) { + formParams.append('id', requestParameters.id as any); + } + + if (requestParameters.name !== undefined) { + formParams.append('name', requestParameters.name as any); + } + + if (requestParameters.file !== undefined) { + formParams.append('file', requestParameters.file as any); + } + + if (requestParameters.fileDownload !== undefined) { + formParams.append('file_download', requestParameters.fileDownload as any); + } + + if (requestParameters.preview !== undefined) { + formParams.append('preview', requestParameters.preview as any); + } + + if (requestParameters.fileSizeKb !== undefined) { + formParams.append('file_size_kb', requestParameters.fileSizeKb as any); + } + + const response = await this.request({ + path: `/api/user-file/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserFileFromJSON(jsonValue)); + } + + /** + */ + async apiUserFileCreate(requestParameters: ApiUserFileCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserFileCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserFileDestroyRaw(requestParameters: ApiUserFileDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserFileDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-file/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiUserFileDestroy(requestParameters: ApiUserFileDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiUserFileDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiUserFileListRaw(requestParameters: ApiUserFileListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.random !== undefined) { + queryParameters['random'] = requestParameters.random; + } + + if (requestParameters.updatedAt !== undefined) { + queryParameters['updated_at'] = requestParameters.updatedAt; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-file/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedUserFileListFromJSON(jsonValue)); + } + + /** + */ + async apiUserFileList(requestParameters: ApiUserFileListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserFileListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserFilePartialUpdateRaw(requestParameters: ApiUserFilePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserFilePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const consumes: runtime.Consume[] = [ + { contentType: 'multipart/form-data' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.id2 !== undefined) { + formParams.append('id', requestParameters.id2 as any); + } + + if (requestParameters.name !== undefined) { + formParams.append('name', requestParameters.name as any); + } + + if (requestParameters.file !== undefined) { + formParams.append('file', requestParameters.file as any); + } + + if (requestParameters.fileDownload !== undefined) { + formParams.append('file_download', requestParameters.fileDownload as any); + } + + if (requestParameters.preview !== undefined) { + formParams.append('preview', requestParameters.preview as any); + } + + if (requestParameters.fileSizeKb !== undefined) { + formParams.append('file_size_kb', requestParameters.fileSizeKb as any); + } + + const response = await this.request({ + path: `/api/user-file/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserFileFromJSON(jsonValue)); + } + + /** + */ + async apiUserFilePartialUpdate(requestParameters: ApiUserFilePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserFilePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserFileRetrieveRaw(requestParameters: ApiUserFileRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserFileRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-file/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserFileFromJSON(jsonValue)); + } + + /** + */ + async apiUserFileRetrieve(requestParameters: ApiUserFileRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserFileRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserFileUpdateRaw(requestParameters: ApiUserFileUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserFileUpdate.'); + } + + if (requestParameters.id2 === null || requestParameters.id2 === undefined) { + throw new runtime.RequiredError('id2','Required parameter requestParameters.id2 was null or undefined when calling apiUserFileUpdate.'); + } + + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling apiUserFileUpdate.'); + } + + if (requestParameters.file === null || requestParameters.file === undefined) { + throw new runtime.RequiredError('file','Required parameter requestParameters.file was null or undefined when calling apiUserFileUpdate.'); + } + + if (requestParameters.fileDownload === null || requestParameters.fileDownload === undefined) { + throw new runtime.RequiredError('fileDownload','Required parameter requestParameters.fileDownload was null or undefined when calling apiUserFileUpdate.'); + } + + if (requestParameters.preview === null || requestParameters.preview === undefined) { + throw new runtime.RequiredError('preview','Required parameter requestParameters.preview was null or undefined when calling apiUserFileUpdate.'); + } + + if (requestParameters.fileSizeKb === null || requestParameters.fileSizeKb === undefined) { + throw new runtime.RequiredError('fileSizeKb','Required parameter requestParameters.fileSizeKb was null or undefined when calling apiUserFileUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const consumes: runtime.Consume[] = [ + { contentType: 'multipart/form-data' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.id2 !== undefined) { + formParams.append('id', requestParameters.id2 as any); + } + + if (requestParameters.name !== undefined) { + formParams.append('name', requestParameters.name as any); + } + + if (requestParameters.file !== undefined) { + formParams.append('file', requestParameters.file as any); + } + + if (requestParameters.fileDownload !== undefined) { + formParams.append('file_download', requestParameters.fileDownload as any); + } + + if (requestParameters.preview !== undefined) { + formParams.append('preview', requestParameters.preview as any); + } + + if (requestParameters.fileSizeKb !== undefined) { + formParams.append('file_size_kb', requestParameters.fileSizeKb as any); + } + + const response = await this.request({ + path: `/api/user-file/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserFileFromJSON(jsonValue)); + } + + /** + */ + async apiUserFileUpdate(requestParameters: ApiUserFileUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserFileUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserListRaw(requestParameters: ApiUserListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.filterList !== undefined) { + queryParameters['filter_list'] = requestParameters.filterList; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserFromJSON)); + } + + /** + */ + async apiUserList(requestParameters: ApiUserListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiUserListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserPartialUpdateRaw(requestParameters: ApiUserPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedUserToJSON(requestParameters.patchedUser), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserFromJSON(jsonValue)); + } + + /** + */ + async apiUserPartialUpdate(requestParameters: ApiUserPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserPreferencePartialUpdateRaw(requestParameters: ApiUserPreferencePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.user === null || requestParameters.user === undefined) { + throw new runtime.RequiredError('user','Required parameter requestParameters.user was null or undefined when calling apiUserPreferencePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-preference/{user}/`.replace(`{${"user"}}`, encodeURIComponent(String(requestParameters.user))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedUserPreferenceToJSON(requestParameters.patchedUserPreference), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserPreferenceFromJSON(jsonValue)); + } + + /** + */ + async apiUserPreferencePartialUpdate(requestParameters: ApiUserPreferencePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserPreferencePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserPreferenceRetrieveRaw(requestParameters: ApiUserPreferenceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.user === null || requestParameters.user === undefined) { + throw new runtime.RequiredError('user','Required parameter requestParameters.user was null or undefined when calling apiUserPreferenceRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-preference/{user}/`.replace(`{${"user"}}`, encodeURIComponent(String(requestParameters.user))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserPreferenceFromJSON(jsonValue)); + } + + /** + */ + async apiUserPreferenceRetrieve(requestParameters: ApiUserPreferenceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserPreferenceRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserRetrieveRaw(requestParameters: ApiUserRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserFromJSON(jsonValue)); + } + + /** + */ + async apiUserRetrieve(requestParameters: ApiUserRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserSpaceDestroyRaw(requestParameters: ApiUserSpaceDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserSpaceDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-space/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiUserSpaceDestroy(requestParameters: ApiUserSpaceDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiUserSpaceDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiUserSpaceListRaw(requestParameters: ApiUserSpaceListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-space/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedUserSpaceListFromJSON(jsonValue)); + } + + /** + */ + async apiUserSpaceList(requestParameters: ApiUserSpaceListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserSpaceListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserSpacePartialUpdateRaw(requestParameters: ApiUserSpacePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserSpacePartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-space/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedUserSpaceToJSON(requestParameters.patchedUserSpace), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserSpaceFromJSON(jsonValue)); + } + + /** + */ + async apiUserSpacePartialUpdate(requestParameters: ApiUserSpacePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserSpacePartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiUserSpaceRetrieveRaw(requestParameters: ApiUserSpaceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiUserSpaceRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/user-space/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserSpaceFromJSON(jsonValue)); + } + + /** + */ + async apiUserSpaceRetrieve(requestParameters: ApiUserSpaceRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiUserSpaceRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiViewLogCreateRaw(requestParameters: ApiViewLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.viewLog === null || requestParameters.viewLog === undefined) { + throw new runtime.RequiredError('viewLog','Required parameter requestParameters.viewLog was null or undefined when calling apiViewLogCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/view-log/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ViewLogToJSON(requestParameters.viewLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ViewLogFromJSON(jsonValue)); + } + + /** + */ + async apiViewLogCreate(requestParameters: ApiViewLogCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiViewLogCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiViewLogDestroyRaw(requestParameters: ApiViewLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiViewLogDestroy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/view-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiViewLogDestroy(requestParameters: ApiViewLogDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiViewLogDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiViewLogListRaw(requestParameters: ApiViewLogListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.pageSize !== undefined) { + queryParameters['page_size'] = requestParameters.pageSize; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/view-log/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedViewLogListFromJSON(jsonValue)); + } + + /** + */ + async apiViewLogList(requestParameters: ApiViewLogListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiViewLogListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiViewLogPartialUpdateRaw(requestParameters: ApiViewLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiViewLogPartialUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/view-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedViewLogToJSON(requestParameters.patchedViewLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ViewLogFromJSON(jsonValue)); + } + + /** + */ + async apiViewLogPartialUpdate(requestParameters: ApiViewLogPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiViewLogPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiViewLogRetrieveRaw(requestParameters: ApiViewLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiViewLogRetrieve.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/view-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ViewLogFromJSON(jsonValue)); + } + + /** + */ + async apiViewLogRetrieve(requestParameters: ApiViewLogRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiViewLogRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiViewLogUpdateRaw(requestParameters: ApiViewLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling apiViewLogUpdate.'); + } + + if (requestParameters.viewLog === null || requestParameters.viewLog === undefined) { + throw new runtime.RequiredError('viewLog','Required parameter requestParameters.viewLog was null or undefined when calling apiViewLogUpdate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api/view-log/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: ViewLogToJSON(requestParameters.viewLog), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ViewLogFromJSON(jsonValue)); + } + + /** + */ + async apiViewLogUpdate(requestParameters: ApiViewLogUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiViewLogUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const ApiAutomationListTypeEnum = { + DescriptionReplace: 'DESCRIPTION_REPLACE', + FoodAlias: 'FOOD_ALIAS', + FoodReplace: 'FOOD_REPLACE', + InstructionReplace: 'INSTRUCTION_REPLACE', + KeywordAlias: 'KEYWORD_ALIAS', + NameReplace: 'NAME_REPLACE', + NeverUnit: 'NEVER_UNIT', + TransposeWords: 'TRANSPOSE_WORDS', + UnitAlias: 'UNIT_ALIAS', + UnitReplace: 'UNIT_REPLACE' +} as const; +export type ApiAutomationListTypeEnum = typeof ApiAutomationListTypeEnum[keyof typeof ApiAutomationListTypeEnum]; diff --git a/apis/ApiImportOpenDataApi.ts b/apis/ApiImportOpenDataApi.ts new file mode 100644 index 000000000..dd3e1a65d --- /dev/null +++ b/apis/ApiImportOpenDataApi.ts @@ -0,0 +1,77 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; + +/** + * + */ +export class ApiImportOpenDataApi extends runtime.BaseAPI { + + /** + */ + async apiImportOpenDataCreateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api-import-open-data/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiImportOpenDataCreate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiImportOpenDataCreateRaw(initOverrides); + } + + /** + */ + async apiImportOpenDataRetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const response = await this.request({ + path: `/api-import-open-data/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiImportOpenDataRetrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiImportOpenDataRetrieveRaw(initOverrides); + } + +} diff --git a/apis/ApiTokenAuthApi.ts b/apis/ApiTokenAuthApi.ts new file mode 100644 index 000000000..192bc3c39 --- /dev/null +++ b/apis/ApiTokenAuthApi.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AuthToken, +} from '../models'; +import { + AuthTokenFromJSON, + AuthTokenToJSON, +} from '../models'; + +export interface ApiTokenAuthCreateRequest { + username: string; + password: string; + token: string; +} + +/** + * + */ +export class ApiTokenAuthApi extends runtime.BaseAPI { + + /** + */ + async apiTokenAuthCreateRaw(requestParameters: ApiTokenAuthCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.username === null || requestParameters.username === undefined) { + throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling apiTokenAuthCreate.'); + } + + if (requestParameters.password === null || requestParameters.password === undefined) { + throw new runtime.RequiredError('password','Required parameter requestParameters.password was null or undefined when calling apiTokenAuthCreate.'); + } + + if (requestParameters.token === null || requestParameters.token === undefined) { + throw new runtime.RequiredError('token','Required parameter requestParameters.token was null or undefined when calling apiTokenAuthCreate.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication + } + + const consumes: runtime.Consume[] = [ + { contentType: 'application/x-www-form-urlencoded' }, + { contentType: 'multipart/form-data' }, + { contentType: 'application/json' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.username !== undefined) { + formParams.append('username', requestParameters.username as any); + } + + if (requestParameters.password !== undefined) { + formParams.append('password', requestParameters.password as any); + } + + if (requestParameters.token !== undefined) { + formParams.append('token', requestParameters.token as any); + } + + const response = await this.request({ + path: `/api-token-auth/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AuthTokenFromJSON(jsonValue)); + } + + /** + */ + async apiTokenAuthCreate(requestParameters: ApiTokenAuthCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiTokenAuthCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/apis/index.ts b/apis/index.ts new file mode 100644 index 000000000..c0bfc0f51 --- /dev/null +++ b/apis/index.ts @@ -0,0 +1,5 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './ApiApi'; +export * from './ApiImportOpenDataApi'; +export * from './ApiTokenAuthApi'; diff --git a/cookbook/tests/other/test_schemas.py b/cookbook/tests/other/test_schemas.py index 066a3fd5f..bd22baf88 100644 --- a/cookbook/tests/other/test_schemas.py +++ b/cookbook/tests/other/test_schemas.py @@ -11,9 +11,21 @@ def has_choice_field(model): return any(field.get_internal_type() == 'CharField' and hasattr(field, 'choices') and field.choices for field in model_fields) +def is_list_function(callback): + return ( + hasattr(callback, 'initkwargs') + and callback.initkwargs.get('detail') == False + and hasattr(callback, 'cls') + and hasattr(callback.cls, 'list') + ) + + # generates list of all api enpoints def enumerate_urlpatterns(urlpatterns, base_url=''): for i, url_pattern in enumerate(urlpatterns): + # api-root isn't an endpoint, so skip it + if isinstance(url_pattern, URLPattern) and url_pattern.name == 'api-root': + continue # if the url pattern starts with 'api/' it is an api endpoint and should be part of the list if isinstance(url_pattern, URLPattern): pattern = f"{base_url}{str(url_pattern.pattern)}" @@ -29,7 +41,7 @@ def enumerate_urlpatterns(urlpatterns, base_url=''): api_endpoints = [] enumerate_urlpatterns(urlpatterns) # filtered list of api_endpoints that only includes the LIST (or detail=False) endpoints -list_api_endpoints = [a for a in api_endpoints if hasattr(a.callback, 'initkwargs') and a.callback.initkwargs.get('detail') == False] +list_api_endpoints = [a for a in api_endpoints if is_list_function(a.callback)] # filtered list of api_endpoints that only includes endpoints that have type ModelViewSet and a Choice CharField enum_api_endpoints = [ a for a in list_api_endpoints if hasattr(a.callback, 'cls') and issubclass(a.callback.cls, ModelViewSet) and has_choice_field(a.callback.cls.serializer_class.Meta.model) @@ -38,7 +50,10 @@ enum_api_endpoints = [ @pytest.mark.parametrize("api", list_api_endpoints, ids=lambda api: api.name) def test_pagination_exists(api): - assert hasattr(api.callback.cls, 'pagination_class') and api.callback.cls.pagination_class is not None, f"API {api.name} is not paginated." + assert hasattr(api.callback.cls, 'pagination_class') and ( + api.callback.cls.pagination_class is not None + or getattr(api.callback.cls, 'pagination_disabled') + ), f"API {api.name} is not paginated." @pytest.mark.parametrize("api", api_endpoints, ids=lambda api: api.name) diff --git a/cookbook/views/api.py b/cookbook/views/api.py index c459c5f85..90898a396 100644 --- a/cookbook/views/api.py +++ b/cookbook/views/api.py @@ -33,7 +33,7 @@ from django.utils import timezone from django.utils.translation import gettext as _ from django_scopes import scopes_disabled from drf_spectacular.types import OpenApiTypes -from drf_spectacular.utils import OpenApiParameter, extend_schema, extend_schema_view +from drf_spectacular.utils import OpenApiParameter, extend_schema, extend_schema_view, OpenApiExample from icalendar import Calendar, Event from oauth2_provider.models import AccessToken from PIL import UnidentifiedImageError @@ -50,6 +50,7 @@ from rest_framework.renderers import JSONRenderer, TemplateHTMLRenderer from rest_framework.response import Response from rest_framework.throttling import AnonRateThrottle, UserRateThrottle from rest_framework.views import APIView +from rest_framework import mixins from rest_framework.viewsets import ViewSetMixin from treebeard.exceptions import InvalidMoveToDescendant, InvalidPosition, PathOverflow @@ -90,9 +91,13 @@ from recipes import settings from recipes.settings import DRF_THROTTLE_RECIPE_URL_IMPORT, FDC_API_KEY +DateExample = OpenApiExample('Date Format: YYYY-MM-DD', value='1972-12-05', request_only=True) +BeforeDateExample = OpenApiExample('Date Format: -YYYY-MM-DD', value='-1972-12-05', request_only=True) + + @extend_schema_view(list=extend_schema(parameters=[ OpenApiParameter(name='query', description='lookup if query string is contained within the name, case insensitive', type=str), - OpenApiParameter(name='updated_at', description='if model has an updated_at timestamp, filter only models updated at or after datetime', type=str), # TODO format hint + OpenApiParameter(name='updated_at', description='if model has an updated_at timestamp, filter only models updated at or after datetime', type=str, examples=[DateExample]), # TODO format hint OpenApiParameter(name='limit', description='limit number of entries to return', type=str), OpenApiParameter(name='random', description='randomly orders entries (only works together with limit)', type=str), ])) @@ -336,7 +341,6 @@ class TreeMixin(MergeMixin, FuzzyFilterMixin): return self.annotate_recipe(queryset=self.queryset, request=self.request, serializer=self.serializer_class, tree=True) - @decorators.action(detail=True, url_path='move/(?P[^/.]+)', methods=['PUT'], ) @decorators.renderer_classes((TemplateHTMLRenderer, JSONRenderer)) def move(self, request, pk, parent: int): @@ -383,16 +387,14 @@ class TreeMixin(MergeMixin, FuzzyFilterMixin): return Response(content, status=status.HTTP_400_BAD_REQUEST) +@extend_schema_view(list=extend_schema(parameters=[ + OpenApiParameter(name='filter_list', description='User IDs, repeat for multiple', type=str), +])) class UserViewSet(viewsets.ModelViewSet): - """ - list: - optional parameters - - - **filter_list**: array of user id's to get names for - """ queryset = User.objects serializer_class = UserSerializer permission_classes = [CustomUserPermission & CustomTokenHasReadWriteScope] + pagination_disabled = True http_method_names = ['get', 'patch'] def get_queryset(self): @@ -411,10 +413,11 @@ class GroupViewSet(viewsets.ModelViewSet): queryset = Group.objects.all() serializer_class = GroupSerializer permission_classes = [CustomIsAdmin & CustomTokenHasReadWriteScope] + pagination_disabled = True http_method_names = ['get', ] -class SpaceViewSet(viewsets.ModelViewSet): +class SpaceViewSet(mixins.RetrieveModelMixin, mixins.UpdateModelMixin, viewsets.GenericViewSet): queryset = Space.objects serializer_class = SpaceSerializer permission_classes = [IsReadOnlyDRF & CustomIsUser | CustomIsOwner & CustomIsAdmin & CustomTokenHasReadWriteScope] @@ -447,7 +450,7 @@ class UserSpaceViewSet(viewsets.ModelViewSet): return self.queryset.filter(user=self.request.user, space=self.request.space) -class UserPreferenceViewSet(viewsets.ModelViewSet): +class UserPreferenceViewSet(mixins.RetrieveModelMixin, mixins.UpdateModelMixin, viewsets.GenericViewSet): queryset = UserPreference.objects serializer_class = UserPreferenceSerializer permission_classes = [CustomIsOwner & CustomTokenHasReadWriteScope] @@ -463,6 +466,7 @@ class StorageViewSet(viewsets.ModelViewSet): queryset = Storage.objects serializer_class = StorageSerializer permission_classes = [CustomIsAdmin & CustomTokenHasReadWriteScope] + pagination_disabled = True def get_queryset(self): return self.queryset.filter(space=self.request.space) @@ -472,6 +476,7 @@ class ConnectorConfigConfigViewSet(viewsets.ModelViewSet): queryset = ConnectorConfig.objects serializer_class = ConnectorConfigConfigSerializer permission_classes = [CustomIsAdmin & CustomTokenHasReadWriteScope] + pagination_disabled = True def get_queryset(self): return self.queryset.filter(space=self.request.space) @@ -481,6 +486,7 @@ class SyncViewSet(viewsets.ModelViewSet): queryset = Sync.objects serializer_class = SyncSerializer permission_classes = [CustomIsAdmin & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): return self.queryset.filter(space=self.request.space) @@ -500,6 +506,7 @@ class SupermarketViewSet(StandardFilterModelViewSet): queryset = Supermarket.objects serializer_class = SupermarketSerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): self.queryset = self.queryset.filter(space=self.request.space) @@ -512,6 +519,7 @@ class SupermarketCategoryViewSet(FuzzyFilterMixin, MergeMixin): model = SupermarketCategory serializer_class = SupermarketCategorySerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): self.queryset = self.queryset.filter(space=self.request.space).order_by(Lower('name').asc()) @@ -549,6 +557,7 @@ class FoodInheritFieldViewSet(viewsets.ReadOnlyModelViewSet): queryset = FoodInheritField.objects serializer_class = FoodInheritFieldSerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_disabled = True def get_queryset(self): # exclude fields not yet implemented @@ -696,6 +705,7 @@ class RecipeBookViewSet(StandardFilterModelViewSet): queryset = RecipeBook.objects serializer_class = RecipeBookSerializer permission_classes = [(CustomIsOwner | CustomIsShared) & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): order_field = self.request.GET.get('order_field') @@ -710,18 +720,15 @@ class RecipeBookViewSet(StandardFilterModelViewSet): return super().get_queryset() -class RecipeBookEntryViewSet(viewsets.ModelViewSet, viewsets.GenericViewSet): - """ - list: - optional parameters - - - **recipe**: id of recipe - only return books for that recipe - - **book**: id of book - only return recipes in that book - - """ +@extend_schema_view(list=extend_schema(parameters=[ + OpenApiParameter(name='recipe', description='id of recipe - only return books for that recipe', type=int), + OpenApiParameter(name='book', description='id of book - only return recipes in that book', type=int), +])) +class RecipeBookEntryViewSet(viewsets.ModelViewSet): queryset = RecipeBookEntry.objects serializer_class = RecipeBookEntrySerializer permission_classes = [(CustomIsOwner | CustomIsShared) & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): queryset = self.queryset.filter(Q(book__created_by=self.request.user) | Q(book__shared=self.request.user)).filter(book__space=self.request.space).distinct() @@ -737,8 +744,8 @@ class RecipeBookEntryViewSet(viewsets.ModelViewSet, viewsets.GenericViewSet): MealPlanViewQueryParameters = [ - OpenApiParameter(name='from_date', description=_('Filter meal plans from date (inclusive) in the format of YYYY-MM-DD.'), type=str), - OpenApiParameter(name='to_date', description=_('Filter meal plans to date (inclusive) in the format of YYYY-MM-DD.'), type=str), + OpenApiParameter(name='from_date', description=_('Filter meal plans from date (inclusive) in the format of YYYY-MM-DD.'), type=str, examples=[DateExample]), + OpenApiParameter(name='to_date', description=_('Filter meal plans to date (inclusive) in the format of YYYY-MM-DD.'), type=str, examples=[DateExample]), OpenApiParameter(name='meal_type', description=_('Filter meal plans with MealType ID. For multiple repeat parameter.'), type=str), ] @@ -746,18 +753,10 @@ MealPlanViewQueryParameters = [ @extend_schema_view(list=extend_schema(parameters=MealPlanViewQueryParameters), ical=extend_schema(parameters=MealPlanViewQueryParameters, responses={(200, 'text/calendar'): OpenApiTypes.STR})) class MealPlanViewSet(viewsets.ModelViewSet): - """ - list: - optional parameters - - - **from_date**: filter from (inclusive) a certain date onward - - **to_date**: filter upward to (inclusive) certain date - - **meal_type**: filter meal plans based on meal_type ID - - """ queryset = MealPlan.objects serializer_class = MealPlanSerializer permission_classes = [(CustomIsOwner | CustomIsShared) & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): queryset = self.queryset.filter(Q(created_by=self.request.user) | Q(shared=self.request.user)).filter(space=self.request.space).distinct().all() @@ -783,8 +782,8 @@ class MealPlanViewSet(viewsets.ModelViewSet): return meal_plans_to_ical(self.get_queryset(), f'meal_plan_{from_date}-{to_date}.ics') -# TODO create proper schema -class AutoPlanViewSet(viewsets.ViewSet): +class AutoPlanViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet): + serializer_class = AutoMealPlanSerializer http_method_names = ['post', 'options'] def create(self, request): @@ -855,6 +854,7 @@ class MealTypeViewSet(viewsets.ModelViewSet): queryset = MealType.objects serializer_class = MealTypeSerializer permission_classes = [CustomIsOwner & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): queryset = self.queryset.order_by('order', 'id').filter(created_by=self.request.user).filter(space=self.request.space).all() @@ -920,7 +920,7 @@ class RecipePagination(PageNumberPagination): @extend_schema_view(list=extend_schema(parameters=[ - OpenApiParameter(name='query', description=_('Query string matched (fuzzy) against recipe name. In the future also fulltext search.')), + OpenApiParameter(name='query', description=_('Query string matched (fuzzy) against recipe name. In the future also fulltext search.'), type=str), OpenApiParameter(name='keywords', description=_('ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or'), type=int), OpenApiParameter(name='keywords_or', description=_('Keyword IDs, repeat for multiple. Return recipes with any of the keywords'), type=int), OpenApiParameter(name='keywords_and', description=_('Keyword IDs, repeat for multiple. Return recipes with all of the keywords.'), type=int), @@ -933,20 +933,40 @@ class RecipePagination(PageNumberPagination): OpenApiParameter(name='foods_and_not', description=_('Food IDs, repeat for multiple. Exclude recipes with all of the foods.'), type=int), OpenApiParameter(name='units', description=_('ID of unit a recipe should have.'), type=int), OpenApiParameter(name='rating', description=_('Rating a recipe should have or greater. [0 - 5] Negative value filters rating less than.'), type=int), - OpenApiParameter(name='books', description=_('ID of book a recipe should be in. For multiple repeat parameter.')), + OpenApiParameter(name='books', description=_('ID of book a recipe should be in. For multiple repeat parameter.'), type=int), OpenApiParameter(name='books_or', description=_('Book IDs, repeat for multiple. Return recipes with any of the books'), type=int), OpenApiParameter(name='books_and', description=_('Book IDs, repeat for multiple. Return recipes with all of the books.'), type=int), OpenApiParameter(name='books_or_not', description=_('Book IDs, repeat for multiple. Exclude recipes with any of the books.'), type=int), OpenApiParameter(name='books_and_not', description=_('Book IDs, repeat for multiple. Exclude recipes with all of the books.'), type=int), - OpenApiParameter(name='internal', description=_('If only internal recipes should be returned. [''true''/''false'']')), + OpenApiParameter(name='internal', description=_('If only internal recipes should be returned. [''true''/''false'']'), type=bool), OpenApiParameter(name='random', description=_('Returns the results in randomized order. [''true''/''false'']')), OpenApiParameter(name='new', description=_('Returns new results first in search results. [''true''/''false'']')), OpenApiParameter(name='timescooked', description=_('Filter recipes cooked X times or more. Negative values returns cooked less than X times'), type=int), - OpenApiParameter(name='cookedon', description=_('Filter recipes last cooked on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.')), - OpenApiParameter(name='createdon', description=_('Filter recipes created on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.')), - OpenApiParameter(name='updatedon', description=_('Filter recipes updated on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.')), - OpenApiParameter(name='viewedon', description=_('Filter recipes lasts viewed on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.')), - OpenApiParameter(name='makenow', description=_('Filter recipes that can be made with OnHand food. [''true''/''false'']')), + OpenApiParameter( + name='cookedon', + description=_('Filter recipes last cooked on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.'), + type=str, + examples=[DateExample, BeforeDateExample] + ), + OpenApiParameter( + name='createdon', + description=_('Filter recipes created on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.'),\ + type=str, + examples=[DateExample, BeforeDateExample] + ), + OpenApiParameter( + name='updatedon', + description=_('Filter recipes updated on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.'), + type=str, + examples=[DateExample, BeforeDateExample] + ), + OpenApiParameter( + name='viewedon', + description=_('Filter recipes lasts viewed on or after YYYY-MM-DD. Prepending ''-'' filters on or before date.'), + type=str, + examples=[DateExample, BeforeDateExample] + ), + OpenApiParameter(name='makenow', description=_('Filter recipes that can be made with OnHand food. [''true''/''false'']'), type=bool), ])) class RecipeViewSet(viewsets.ModelViewSet): queryset = Recipe.objects @@ -1097,6 +1117,7 @@ class UnitConversionViewSet(viewsets.ModelViewSet): queryset = UnitConversion.objects serializer_class = UnitConversionSerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): food_id = self.request.query_params.get('food_id', None) @@ -1110,6 +1131,7 @@ class PropertyTypeViewSet(viewsets.ModelViewSet): queryset = PropertyType.objects serializer_class = PropertyTypeSerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): return self.queryset.filter(space=self.request.space) @@ -1119,6 +1141,7 @@ class PropertyViewSet(viewsets.ModelViewSet): queryset = Property.objects serializer_class = PropertySerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): return self.queryset.filter(space=self.request.space) @@ -1128,6 +1151,7 @@ class ShoppingListRecipeViewSet(viewsets.ModelViewSet): queryset = ShoppingListRecipe.objects serializer_class = ShoppingListRecipeSerializer permission_classes = [(CustomIsOwner | CustomIsShared) & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): self.queryset = self.queryset.filter(Q(entries__space=self.request.space) | Q(recipe__space=self.request.space)) @@ -1149,6 +1173,7 @@ class ShoppingListEntryViewSet(viewsets.ModelViewSet): queryset = ShoppingListEntry.objects serializer_class = ShoppingListEntrySerializer permission_classes = [(CustomIsOwner | CustomIsShared) & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): self.queryset = self.queryset.filter(space=self.request.space) @@ -1259,6 +1284,7 @@ class BookmarkletImportViewSet(viewsets.ModelViewSet): queryset = BookmarkletImport.objects serializer_class = BookmarkletImportSerializer permission_classes = [CustomIsUser & CustomTokenHasScope] + pagination_class = DefaultPagination required_scopes = ['bookmarklet'] def get_serializer_class(self): @@ -1274,6 +1300,7 @@ class UserFileViewSet(StandardFilterModelViewSet): queryset = UserFile.objects serializer_class = UserFileSerializer permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination parser_classes = [MultiPartParser] def get_queryset(self): @@ -1287,19 +1314,6 @@ class AutomationViewSet(StandardFilterModelViewSet): permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope] pagination_class = DefaultPagination - auto_type = { - 'FS': 'FOOD_ALIAS', - 'UA': 'UNIT_ALIAS', - 'KA': 'KEYWORD_ALIAS', - 'DR': 'DESCRIPTION_REPLACE', - 'IR': 'INSTRUCTION_REPLACE', - 'NU': 'NEVER_UNIT', - 'TW': 'TRANSPOSE_WORDS', - 'FR': 'FOOD_REPLACE', - 'UR': 'UNIT_REPLACE', - 'NR': 'NAME_REPLACE' - } - @extend_schema( parameters=[OpenApiParameter( name='type', @@ -1323,6 +1337,7 @@ class InviteLinkViewSet(StandardFilterModelViewSet): queryset = InviteLink.objects serializer_class = InviteLinkSerializer permission_classes = [CustomIsSpaceOwner & CustomIsAdmin & CustomTokenHasReadWriteScope] + pagination_class = DefaultPagination def get_queryset(self): @@ -1352,6 +1367,7 @@ class AccessTokenViewSet(viewsets.ModelViewSet): queryset = AccessToken.objects serializer_class = AccessTokenSerializer permission_classes = [CustomIsOwner & CustomTokenHasReadWriteScope] + pagination_disabled = True def get_queryset(self): return self.queryset.filter(user=self.request.user) diff --git a/index.ts b/index.ts new file mode 100644 index 000000000..be9d1edee --- /dev/null +++ b/index.ts @@ -0,0 +1,5 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './runtime'; +export * from './apis'; +export * from './models'; diff --git a/models/AccessToken.ts b/models/AccessToken.ts new file mode 100644 index 000000000..9c52b9c6b --- /dev/null +++ b/models/AccessToken.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AccessToken + */ +export interface AccessToken { + /** + * + * @type {number} + * @memberof AccessToken + */ + readonly id: number; + /** + * + * @type {string} + * @memberof AccessToken + */ + readonly token: string; + /** + * + * @type {Date} + * @memberof AccessToken + */ + expires: Date; + /** + * + * @type {string} + * @memberof AccessToken + */ + scope?: string; + /** + * + * @type {Date} + * @memberof AccessToken + */ + readonly created: Date; + /** + * + * @type {Date} + * @memberof AccessToken + */ + readonly updated: Date; +} + +/** + * Check if a given object implements the AccessToken interface. + */ +export function instanceOfAccessToken(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "token" in value; + isInstance = isInstance && "expires" in value; + isInstance = isInstance && "created" in value; + isInstance = isInstance && "updated" in value; + + return isInstance; +} + +export function AccessTokenFromJSON(json: any): AccessToken { + return AccessTokenFromJSONTyped(json, false); +} + +export function AccessTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessToken { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'token': json['token'], + 'expires': (new Date(json['expires'])), + 'scope': !exists(json, 'scope') ? undefined : json['scope'], + 'created': (new Date(json['created'])), + 'updated': (new Date(json['updated'])), + }; +} + +export function AccessTokenToJSON(value?: AccessToken | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'expires': (value.expires.toISOString()), + 'scope': value.scope, + }; +} + diff --git a/models/AuthToken.ts b/models/AuthToken.ts new file mode 100644 index 000000000..a2476e85e --- /dev/null +++ b/models/AuthToken.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AuthToken + */ +export interface AuthToken { + /** + * + * @type {string} + * @memberof AuthToken + */ + username: string; + /** + * + * @type {string} + * @memberof AuthToken + */ + password: string; + /** + * + * @type {string} + * @memberof AuthToken + */ + readonly token: string; +} + +/** + * Check if a given object implements the AuthToken interface. + */ +export function instanceOfAuthToken(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "username" in value; + isInstance = isInstance && "password" in value; + isInstance = isInstance && "token" in value; + + return isInstance; +} + +export function AuthTokenFromJSON(json: any): AuthToken { + return AuthTokenFromJSONTyped(json, false); +} + +export function AuthTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthToken { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'username': json['username'], + 'password': json['password'], + 'token': json['token'], + }; +} + +export function AuthTokenToJSON(value?: AuthToken | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'username': value.username, + 'password': value.password, + }; +} + diff --git a/models/AutoMealPlan.ts b/models/AutoMealPlan.ts new file mode 100644 index 000000000..11cf98944 --- /dev/null +++ b/models/AutoMealPlan.ts @@ -0,0 +1,126 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * + * @export + * @interface AutoMealPlan + */ +export interface AutoMealPlan { + /** + * + * @type {Date} + * @memberof AutoMealPlan + */ + startDate: Date; + /** + * + * @type {Date} + * @memberof AutoMealPlan + */ + endDate: Date; + /** + * + * @type {number} + * @memberof AutoMealPlan + */ + mealTypeId: number; + /** + * + * @type {Array} + * @memberof AutoMealPlan + */ + keywordIds: Array; + /** + * + * @type {number} + * @memberof AutoMealPlan + */ + servings: number; + /** + * + * @type {Array} + * @memberof AutoMealPlan + */ + shared?: Array | null; + /** + * + * @type {boolean} + * @memberof AutoMealPlan + */ + addshopping: boolean; +} + +/** + * Check if a given object implements the AutoMealPlan interface. + */ +export function instanceOfAutoMealPlan(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "startDate" in value; + isInstance = isInstance && "endDate" in value; + isInstance = isInstance && "mealTypeId" in value; + isInstance = isInstance && "keywordIds" in value; + isInstance = isInstance && "servings" in value; + isInstance = isInstance && "addshopping" in value; + + return isInstance; +} + +export function AutoMealPlanFromJSON(json: any): AutoMealPlan { + return AutoMealPlanFromJSONTyped(json, false); +} + +export function AutoMealPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): AutoMealPlan { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'startDate': (new Date(json['start_date'])), + 'endDate': (new Date(json['end_date'])), + 'mealTypeId': json['meal_type_id'], + 'keywordIds': json['keyword_ids'], + 'servings': json['servings'], + 'shared': !exists(json, 'shared') ? undefined : (json['shared'] === null ? null : (json['shared'] as Array).map(UserFromJSON)), + 'addshopping': json['addshopping'], + }; +} + +export function AutoMealPlanToJSON(value?: AutoMealPlan | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'start_date': (value.startDate.toISOString().substr(0,10)), + 'end_date': (value.endDate.toISOString().substr(0,10)), + 'meal_type_id': value.mealTypeId, + 'keyword_ids': value.keywordIds, + 'servings': value.servings, + 'shared': value.shared === undefined ? undefined : (value.shared === null ? null : (value.shared as Array).map(UserToJSON)), + 'addshopping': value.addshopping, + }; +} + diff --git a/models/Automation.ts b/models/Automation.ts new file mode 100644 index 000000000..6d2b60944 --- /dev/null +++ b/models/Automation.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TypeEnum } from './TypeEnum'; +import { + TypeEnumFromJSON, + TypeEnumFromJSONTyped, + TypeEnumToJSON, +} from './TypeEnum'; + +/** + * + * @export + * @interface Automation + */ +export interface Automation { + /** + * + * @type {number} + * @memberof Automation + */ + readonly id: number; + /** + * + * @type {TypeEnum} + * @memberof Automation + */ + type: TypeEnum; + /** + * + * @type {string} + * @memberof Automation + */ + name?: string; + /** + * + * @type {string} + * @memberof Automation + */ + description?: string | null; + /** + * + * @type {string} + * @memberof Automation + */ + param1?: string | null; + /** + * + * @type {string} + * @memberof Automation + */ + param2?: string | null; + /** + * + * @type {string} + * @memberof Automation + */ + param3?: string | null; + /** + * + * @type {number} + * @memberof Automation + */ + order?: number; + /** + * + * @type {boolean} + * @memberof Automation + */ + disabled?: boolean; + /** + * + * @type {number} + * @memberof Automation + */ + readonly createdBy: number; +} + +/** + * Check if a given object implements the Automation interface. + */ +export function instanceOfAutomation(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function AutomationFromJSON(json: any): Automation { + return AutomationFromJSONTyped(json, false); +} + +export function AutomationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Automation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'type': TypeEnumFromJSON(json['type']), + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'param1': !exists(json, 'param_1') ? undefined : json['param_1'], + 'param2': !exists(json, 'param_2') ? undefined : json['param_2'], + 'param3': !exists(json, 'param_3') ? undefined : json['param_3'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'disabled': !exists(json, 'disabled') ? undefined : json['disabled'], + 'createdBy': json['created_by'], + }; +} + +export function AutomationToJSON(value?: Automation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'type': TypeEnumToJSON(value.type), + 'name': value.name, + 'description': value.description, + 'param_1': value.param1, + 'param_2': value.param2, + 'param_3': value.param3, + 'order': value.order, + 'disabled': value.disabled, + }; +} + diff --git a/models/BookmarkletImport.ts b/models/BookmarkletImport.ts new file mode 100644 index 000000000..40bb648d8 --- /dev/null +++ b/models/BookmarkletImport.ts @@ -0,0 +1,98 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface BookmarkletImport + */ +export interface BookmarkletImport { + /** + * + * @type {number} + * @memberof BookmarkletImport + */ + readonly id: number; + /** + * + * @type {string} + * @memberof BookmarkletImport + */ + url?: string | null; + /** + * + * @type {string} + * @memberof BookmarkletImport + */ + html: string; + /** + * + * @type {number} + * @memberof BookmarkletImport + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof BookmarkletImport + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the BookmarkletImport interface. + */ +export function instanceOfBookmarkletImport(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "html" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function BookmarkletImportFromJSON(json: any): BookmarkletImport { + return BookmarkletImportFromJSONTyped(json, false); +} + +export function BookmarkletImportFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookmarkletImport { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'url': !exists(json, 'url') ? undefined : json['url'], + 'html': json['html'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function BookmarkletImportToJSON(value?: BookmarkletImport | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'url': value.url, + 'html': value.html, + }; +} + diff --git a/models/BookmarkletImportList.ts b/models/BookmarkletImportList.ts new file mode 100644 index 000000000..2c729ca4a --- /dev/null +++ b/models/BookmarkletImportList.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface BookmarkletImportList + */ +export interface BookmarkletImportList { + /** + * + * @type {number} + * @memberof BookmarkletImportList + */ + readonly id: number; + /** + * + * @type {string} + * @memberof BookmarkletImportList + */ + url?: string | null; + /** + * + * @type {number} + * @memberof BookmarkletImportList + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof BookmarkletImportList + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the BookmarkletImportList interface. + */ +export function instanceOfBookmarkletImportList(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function BookmarkletImportListFromJSON(json: any): BookmarkletImportList { + return BookmarkletImportListFromJSONTyped(json, false); +} + +export function BookmarkletImportListFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookmarkletImportList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'url': !exists(json, 'url') ? undefined : json['url'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function BookmarkletImportListToJSON(value?: BookmarkletImportList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'url': value.url, + }; +} + diff --git a/models/ConnectorConfigConfig.ts b/models/ConnectorConfigConfig.ts new file mode 100644 index 000000000..65a3ce8ee --- /dev/null +++ b/models/ConnectorConfigConfig.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ConnectorConfigConfig + */ +export interface ConnectorConfigConfig { + /** + * + * @type {number} + * @memberof ConnectorConfigConfig + */ + readonly id: number; + /** + * + * @type {string} + * @memberof ConnectorConfigConfig + */ + name: string; + /** + * + * @type {string} + * @memberof ConnectorConfigConfig + */ + url?: string | null; + /** + * + * @type {string} + * @memberof ConnectorConfigConfig + */ + token?: string | null; + /** + * + * @type {string} + * @memberof ConnectorConfigConfig + */ + todoEntity?: string | null; + /** + * Is Connector Enabled + * @type {boolean} + * @memberof ConnectorConfigConfig + */ + enabled?: boolean; + /** + * + * @type {boolean} + * @memberof ConnectorConfigConfig + */ + onShoppingListEntryCreatedEnabled?: boolean; + /** + * + * @type {boolean} + * @memberof ConnectorConfigConfig + */ + onShoppingListEntryUpdatedEnabled?: boolean; + /** + * + * @type {boolean} + * @memberof ConnectorConfigConfig + */ + onShoppingListEntryDeletedEnabled?: boolean; + /** + * + * @type {number} + * @memberof ConnectorConfigConfig + */ + readonly createdBy: number; +} + +/** + * Check if a given object implements the ConnectorConfigConfig interface. + */ +export function instanceOfConnectorConfigConfig(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function ConnectorConfigConfigFromJSON(json: any): ConnectorConfigConfig { + return ConnectorConfigConfigFromJSONTyped(json, false); +} + +export function ConnectorConfigConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConnectorConfigConfig { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'url': !exists(json, 'url') ? undefined : json['url'], + 'token': !exists(json, 'token') ? undefined : json['token'], + 'todoEntity': !exists(json, 'todo_entity') ? undefined : json['todo_entity'], + 'enabled': !exists(json, 'enabled') ? undefined : json['enabled'], + 'onShoppingListEntryCreatedEnabled': !exists(json, 'on_shopping_list_entry_created_enabled') ? undefined : json['on_shopping_list_entry_created_enabled'], + 'onShoppingListEntryUpdatedEnabled': !exists(json, 'on_shopping_list_entry_updated_enabled') ? undefined : json['on_shopping_list_entry_updated_enabled'], + 'onShoppingListEntryDeletedEnabled': !exists(json, 'on_shopping_list_entry_deleted_enabled') ? undefined : json['on_shopping_list_entry_deleted_enabled'], + 'createdBy': json['created_by'], + }; +} + +export function ConnectorConfigConfigToJSON(value?: ConnectorConfigConfig | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'url': value.url, + 'token': value.token, + 'todo_entity': value.todoEntity, + 'enabled': value.enabled, + 'on_shopping_list_entry_created_enabled': value.onShoppingListEntryCreatedEnabled, + 'on_shopping_list_entry_updated_enabled': value.onShoppingListEntryUpdatedEnabled, + 'on_shopping_list_entry_deleted_enabled': value.onShoppingListEntryDeletedEnabled, + }; +} + diff --git a/models/CookLog.ts b/models/CookLog.ts new file mode 100644 index 000000000..0f6f98e3f --- /dev/null +++ b/models/CookLog.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * + * @export + * @interface CookLog + */ +export interface CookLog { + /** + * + * @type {number} + * @memberof CookLog + */ + readonly id: number; + /** + * + * @type {number} + * @memberof CookLog + */ + recipe: number; + /** + * + * @type {number} + * @memberof CookLog + */ + servings?: number | null; + /** + * + * @type {number} + * @memberof CookLog + */ + rating?: number | null; + /** + * + * @type {string} + * @memberof CookLog + */ + comment?: string | null; + /** + * + * @type {User} + * @memberof CookLog + */ + readonly createdBy: User; + /** + * + * @type {Date} + * @memberof CookLog + */ + createdAt?: Date; + /** + * + * @type {Date} + * @memberof CookLog + */ + readonly updatedAt: Date; +} + +/** + * Check if a given object implements the CookLog interface. + */ +export function instanceOfCookLog(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "recipe" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function CookLogFromJSON(json: any): CookLog { + return CookLogFromJSONTyped(json, false); +} + +export function CookLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): CookLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'recipe': json['recipe'], + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + 'rating': !exists(json, 'rating') ? undefined : json['rating'], + 'comment': !exists(json, 'comment') ? undefined : json['comment'], + 'createdBy': UserFromJSON(json['created_by']), + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + }; +} + +export function CookLogToJSON(value?: CookLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'recipe': value.recipe, + 'servings': value.servings, + 'rating': value.rating, + 'comment': value.comment, + 'created_at': value.createdAt === undefined ? undefined : (value.createdAt.toISOString()), + }; +} + diff --git a/models/CustomFilter.ts b/models/CustomFilter.ts new file mode 100644 index 000000000..92284df99 --- /dev/null +++ b/models/CustomFilter.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface CustomFilter + */ +export interface CustomFilter { + /** + * + * @type {number} + * @memberof CustomFilter + */ + readonly id: number; + /** + * + * @type {string} + * @memberof CustomFilter + */ + name: string; + /** + * + * @type {string} + * @memberof CustomFilter + */ + search: string; + /** + * + * @type {Array} + * @memberof CustomFilter + */ + shared?: Array; + /** + * + * @type {number} + * @memberof CustomFilter + */ + readonly createdBy: number; +} + +/** + * Check if a given object implements the CustomFilter interface. + */ +export function instanceOfCustomFilter(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "search" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function CustomFilterFromJSON(json: any): CustomFilter { + return CustomFilterFromJSONTyped(json, false); +} + +export function CustomFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomFilter { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'search': json['search'], + 'shared': !exists(json, 'shared') ? undefined : ((json['shared'] as Array).map(UserFromJSON)), + 'createdBy': json['created_by'], + }; +} + +export function CustomFilterToJSON(value?: CustomFilter | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'search': value.search, + 'shared': value.shared === undefined ? undefined : ((value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/DefaultPageEnum.ts b/models/DefaultPageEnum.ts new file mode 100644 index 000000000..9aed6b3b0 --- /dev/null +++ b/models/DefaultPageEnum.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `SEARCH` - Search + * * `PLAN` - Meal-Plan + * * `BOOKS` - Books + * * `SHOPPING` - Shopping + * @export + */ +export const DefaultPageEnum = { + Search: 'SEARCH', + Plan: 'PLAN', + Books: 'BOOKS', + Shopping: 'SHOPPING' +} as const; +export type DefaultPageEnum = typeof DefaultPageEnum[keyof typeof DefaultPageEnum]; + + +export function DefaultPageEnumFromJSON(json: any): DefaultPageEnum { + return DefaultPageEnumFromJSONTyped(json, false); +} + +export function DefaultPageEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): DefaultPageEnum { + return json as DefaultPageEnum; +} + +export function DefaultPageEnumToJSON(value?: DefaultPageEnum | null): any { + return value as any; +} + diff --git a/models/DeleteEnum.ts b/models/DeleteEnum.ts new file mode 100644 index 000000000..937d1cfa4 --- /dev/null +++ b/models/DeleteEnum.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `true` - true + * @export + */ +export const DeleteEnum = { + True: 'true' +} as const; +export type DeleteEnum = typeof DeleteEnum[keyof typeof DeleteEnum]; + + +export function DeleteEnumFromJSON(json: any): DeleteEnum { + return DeleteEnumFromJSONTyped(json, false); +} + +export function DeleteEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeleteEnum { + return json as DeleteEnum; +} + +export function DeleteEnumToJSON(value?: DeleteEnum | null): any { + return value as any; +} + diff --git a/models/ExportLog.ts b/models/ExportLog.ts new file mode 100644 index 000000000..0d0b9c648 --- /dev/null +++ b/models/ExportLog.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ExportLog + */ +export interface ExportLog { + /** + * + * @type {number} + * @memberof ExportLog + */ + readonly id: number; + /** + * + * @type {string} + * @memberof ExportLog + */ + type: string; + /** + * + * @type {string} + * @memberof ExportLog + */ + msg?: string; + /** + * + * @type {boolean} + * @memberof ExportLog + */ + running?: boolean; + /** + * + * @type {number} + * @memberof ExportLog + */ + totalRecipes?: number; + /** + * + * @type {number} + * @memberof ExportLog + */ + exportedRecipes?: number; + /** + * + * @type {number} + * @memberof ExportLog + */ + cacheDuration?: number; + /** + * + * @type {boolean} + * @memberof ExportLog + */ + possiblyNotExpired?: boolean; + /** + * + * @type {number} + * @memberof ExportLog + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof ExportLog + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the ExportLog interface. + */ +export function instanceOfExportLog(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function ExportLogFromJSON(json: any): ExportLog { + return ExportLogFromJSONTyped(json, false); +} + +export function ExportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExportLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'type': json['type'], + 'msg': !exists(json, 'msg') ? undefined : json['msg'], + 'running': !exists(json, 'running') ? undefined : json['running'], + 'totalRecipes': !exists(json, 'total_recipes') ? undefined : json['total_recipes'], + 'exportedRecipes': !exists(json, 'exported_recipes') ? undefined : json['exported_recipes'], + 'cacheDuration': !exists(json, 'cache_duration') ? undefined : json['cache_duration'], + 'possiblyNotExpired': !exists(json, 'possibly_not_expired') ? undefined : json['possibly_not_expired'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function ExportLogToJSON(value?: ExportLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'type': value.type, + 'msg': value.msg, + 'running': value.running, + 'total_recipes': value.totalRecipes, + 'exported_recipes': value.exportedRecipes, + 'cache_duration': value.cacheDuration, + 'possibly_not_expired': value.possiblyNotExpired, + }; +} + diff --git a/models/Food.ts b/models/Food.ts new file mode 100644 index 000000000..f15c872a7 --- /dev/null +++ b/models/Food.ts @@ -0,0 +1,322 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { FoodRecipe } from './FoodRecipe'; +import { + FoodRecipeFromJSON, + FoodRecipeFromJSONTyped, + FoodRecipeToJSON, +} from './FoodRecipe'; +import type { FoodSimple } from './FoodSimple'; +import { + FoodSimpleFromJSON, + FoodSimpleFromJSONTyped, + FoodSimpleToJSON, +} from './FoodSimple'; +import type { FoodSupermarketCategory } from './FoodSupermarketCategory'; +import { + FoodSupermarketCategoryFromJSON, + FoodSupermarketCategoryFromJSONTyped, + FoodSupermarketCategoryToJSON, +} from './FoodSupermarketCategory'; +import type { Property } from './Property'; +import { + PropertyFromJSON, + PropertyFromJSONTyped, + PropertyToJSON, +} from './Property'; + +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface Food + */ +export interface Food { + /** + * + * @type {number} + * @memberof Food + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Food + */ + name: string; + /** + * + * @type {string} + * @memberof Food + */ + pluralName?: string | null; + /** + * + * @type {string} + * @memberof Food + */ + description?: string; + /** + * + * @type {string} + * @memberof Food + */ + readonly shopping: string; + /** + * + * @type {FoodRecipe} + * @memberof Food + */ + recipe?: FoodRecipe | null; + /** + * + * @type {string} + * @memberof Food + */ + url?: string | null; + /** + * + * @type {Array} + * @memberof Food + */ + properties?: Array | null; + /** + * + * @type {number} + * @memberof Food + */ + propertiesFoodAmount?: number; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof Food + */ + propertiesFoodUnit?: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof Food + */ + fdcId?: number | null; + /** + * + * @type {boolean} + * @memberof Food + */ + foodOnhand?: boolean | null; + /** + * + * @type {FoodSupermarketCategory} + * @memberof Food + */ + supermarketCategory?: FoodSupermarketCategory | null; + /** + * + * @type {number} + * @memberof Food + */ + readonly parent: number; + /** + * + * @type {number} + * @memberof Food + */ + readonly numchild: number; + /** + * + * @type {Array} + * @memberof Food + */ + inheritFields?: Array | null; + /** + * Returns a string representation of a tree node and it's ancestors, + * e.g. 'Cuisine > Asian > Chinese > Catonese'. + * @type {string} + * @memberof Food + */ + readonly fullName: string; + /** + * + * @type {boolean} + * @memberof Food + */ + ignoreShopping?: boolean; + /** + * + * @type {Array} + * @memberof Food + */ + substitute?: Array | null; + /** + * + * @type {boolean} + * @memberof Food + */ + substituteSiblings?: boolean; + /** + * + * @type {boolean} + * @memberof Food + */ + substituteChildren?: boolean; + /** + * + * @type {boolean} + * @memberof Food + */ + readonly substituteOnhand: boolean; + /** + * + * @type {Array} + * @memberof Food + */ + childInheritFields?: Array | null; + /** + * + * @type {string} + * @memberof Food + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the Food interface. + */ +export function instanceOfFood(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "shopping" in value; + isInstance = isInstance && "parent" in value; + isInstance = isInstance && "numchild" in value; + isInstance = isInstance && "fullName" in value; + isInstance = isInstance && "substituteOnhand" in value; + + return isInstance; +} + +export function FoodFromJSON(json: any): Food { + return FoodFromJSONTyped(json, false); +} + +export function FoodFromJSONTyped(json: any, ignoreDiscriminator: boolean): Food { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'shopping': json['shopping'], + 'recipe': !exists(json, 'recipe') ? undefined : FoodRecipeFromJSON(json['recipe']), + 'url': !exists(json, 'url') ? undefined : json['url'], + 'properties': !exists(json, 'properties') ? undefined : (json['properties'] === null ? null : (json['properties'] as Array).map(PropertyFromJSON)), + 'propertiesFoodAmount': !exists(json, 'properties_food_amount') ? undefined : json['properties_food_amount'], + 'propertiesFoodUnit': !exists(json, 'properties_food_unit') ? undefined : FoodPropertiesFoodUnitFromJSON(json['properties_food_unit']), + 'fdcId': !exists(json, 'fdc_id') ? undefined : json['fdc_id'], + 'foodOnhand': !exists(json, 'food_onhand') ? undefined : json['food_onhand'], + 'supermarketCategory': !exists(json, 'supermarket_category') ? undefined : FoodSupermarketCategoryFromJSON(json['supermarket_category']), + 'parent': json['parent'], + 'numchild': json['numchild'], + 'inheritFields': !exists(json, 'inherit_fields') ? undefined : (json['inherit_fields'] === null ? null : (json['inherit_fields'] as Array).map(FoodInheritFieldFromJSON)), + 'fullName': json['full_name'], + 'ignoreShopping': !exists(json, 'ignore_shopping') ? undefined : json['ignore_shopping'], + 'substitute': !exists(json, 'substitute') ? undefined : (json['substitute'] === null ? null : (json['substitute'] as Array).map(FoodSimpleFromJSON)), + 'substituteSiblings': !exists(json, 'substitute_siblings') ? undefined : json['substitute_siblings'], + 'substituteChildren': !exists(json, 'substitute_children') ? undefined : json['substitute_children'], + 'substituteOnhand': json['substitute_onhand'], + 'childInheritFields': !exists(json, 'child_inherit_fields') ? undefined : (json['child_inherit_fields'] === null ? null : (json['child_inherit_fields'] as Array).map(FoodInheritFieldFromJSON)), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function FoodToJSON(value?: Food | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + 'description': value.description, + 'recipe': FoodRecipeToJSON(value.recipe), + 'url': value.url, + 'properties': value.properties === undefined ? undefined : (value.properties === null ? null : (value.properties as Array).map(PropertyToJSON)), + 'properties_food_amount': value.propertiesFoodAmount, + 'properties_food_unit': FoodPropertiesFoodUnitToJSON(value.propertiesFoodUnit), + 'fdc_id': value.fdcId, + 'food_onhand': value.foodOnhand, + 'supermarket_category': FoodSupermarketCategoryToJSON(value.supermarketCategory), + 'inherit_fields': value.inheritFields === undefined ? undefined : (value.inheritFields === null ? null : (value.inheritFields as Array).map(FoodInheritFieldToJSON)), + 'ignore_shopping': value.ignoreShopping, + 'substitute': value.substitute === undefined ? undefined : (value.substitute === null ? null : (value.substitute as Array).map(FoodSimpleToJSON)), + 'substitute_siblings': value.substituteSiblings, + 'substitute_children': value.substituteChildren, + 'child_inherit_fields': value.childInheritFields === undefined ? undefined : (value.childInheritFields === null ? null : (value.childInheritFields as Array).map(FoodInheritFieldToJSON)), + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/FoodInheritField.ts b/models/FoodInheritField.ts new file mode 100644 index 000000000..d8d0306ac --- /dev/null +++ b/models/FoodInheritField.ts @@ -0,0 +1,115 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface FoodInheritField + */ +export interface FoodInheritField { + /** + * + * @type {number} + * @memberof FoodInheritField + */ + readonly id: number; + /** + * + * @type {string} + * @memberof FoodInheritField + */ + name?: string | null; + /** + * + * @type {string} + * @memberof FoodInheritField + */ + field?: string | null; +} + +/** + * Check if a given object implements the FoodInheritField interface. + */ +export function instanceOfFoodInheritField(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function FoodInheritFieldFromJSON(json: any): FoodInheritField { + return FoodInheritFieldFromJSONTyped(json, false); +} + +export function FoodInheritFieldFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodInheritField { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'field': !exists(json, 'field') ? undefined : json['field'], + }; +} + +export function FoodInheritFieldToJSON(value?: FoodInheritField | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'field': value.field, + }; +} + diff --git a/models/FoodPropertiesFoodUnit.ts b/models/FoodPropertiesFoodUnit.ts new file mode 100644 index 000000000..cc6906c6b --- /dev/null +++ b/models/FoodPropertiesFoodUnit.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FoodPropertiesFoodUnit + */ +export interface FoodPropertiesFoodUnit { + /** + * + * @type {number} + * @memberof FoodPropertiesFoodUnit + */ + readonly id: number; + /** + * + * @type {string} + * @memberof FoodPropertiesFoodUnit + */ + name: string; + /** + * + * @type {string} + * @memberof FoodPropertiesFoodUnit + */ + pluralName?: string | null; + /** + * + * @type {string} + * @memberof FoodPropertiesFoodUnit + */ + description?: string | null; + /** + * + * @type {string} + * @memberof FoodPropertiesFoodUnit + */ + baseUnit?: string | null; + /** + * + * @type {string} + * @memberof FoodPropertiesFoodUnit + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the FoodPropertiesFoodUnit interface. + */ +export function instanceOfFoodPropertiesFoodUnit(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function FoodPropertiesFoodUnitFromJSON(json: any): FoodPropertiesFoodUnit { + return FoodPropertiesFoodUnitFromJSONTyped(json, false); +} + +export function FoodPropertiesFoodUnitFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodPropertiesFoodUnit { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'baseUnit': !exists(json, 'base_unit') ? undefined : json['base_unit'], + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function FoodPropertiesFoodUnitToJSON(value?: FoodPropertiesFoodUnit | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + 'description': value.description, + 'base_unit': value.baseUnit, + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/FoodRecipe.ts b/models/FoodRecipe.ts new file mode 100644 index 000000000..7a3567c4c --- /dev/null +++ b/models/FoodRecipe.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FoodRecipe + */ +export interface FoodRecipe { + /** + * + * @type {number} + * @memberof FoodRecipe + */ + readonly id: number; + /** + * + * @type {string} + * @memberof FoodRecipe + */ + name: string; + /** + * + * @type {string} + * @memberof FoodRecipe + */ + readonly url: string; +} + +/** + * Check if a given object implements the FoodRecipe interface. + */ +export function instanceOfFoodRecipe(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "url" in value; + + return isInstance; +} + +export function FoodRecipeFromJSON(json: any): FoodRecipe { + return FoodRecipeFromJSONTyped(json, false); +} + +export function FoodRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodRecipe { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'url': json['url'], + }; +} + +export function FoodRecipeToJSON(value?: FoodRecipe | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/models/FoodShoppingUpdate.ts b/models/FoodShoppingUpdate.ts new file mode 100644 index 000000000..9b8dbb344 --- /dev/null +++ b/models/FoodShoppingUpdate.ts @@ -0,0 +1,99 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DeleteEnum } from './DeleteEnum'; +import { + DeleteEnumFromJSON, + DeleteEnumFromJSONTyped, + DeleteEnumToJSON, +} from './DeleteEnum'; + +/** + * + * @export + * @interface FoodShoppingUpdate + */ +export interface FoodShoppingUpdate { + /** + * + * @type {number} + * @memberof FoodShoppingUpdate + */ + readonly id: number; + /** + * Amount of food to add to the shopping list + * @type {number} + * @memberof FoodShoppingUpdate + */ + amount?: number | null; + /** + * ID of unit to use for the shopping list + * @type {number} + * @memberof FoodShoppingUpdate + */ + unit?: number | null; + /** + * When set to true will delete all food from active shopping lists. + * + * * `true` - true + * @type {DeleteEnum} + * @memberof FoodShoppingUpdate + */ + _delete: DeleteEnum | null; +} + +/** + * Check if a given object implements the FoodShoppingUpdate interface. + */ +export function instanceOfFoodShoppingUpdate(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "_delete" in value; + + return isInstance; +} + +export function FoodShoppingUpdateFromJSON(json: any): FoodShoppingUpdate { + return FoodShoppingUpdateFromJSONTyped(json, false); +} + +export function FoodShoppingUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodShoppingUpdate { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'amount': !exists(json, 'amount') ? undefined : json['amount'], + 'unit': !exists(json, 'unit') ? undefined : json['unit'], + '_delete': DeleteEnumFromJSON(json['delete']), + }; +} + +export function FoodShoppingUpdateToJSON(value?: FoodShoppingUpdate | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'amount': value.amount, + 'unit': value.unit, + 'delete': DeleteEnumToJSON(value._delete), + }; +} + diff --git a/models/FoodSimple.ts b/models/FoodSimple.ts new file mode 100644 index 000000000..3bfb8e6ca --- /dev/null +++ b/models/FoodSimple.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FoodSimple + */ +export interface FoodSimple { + /** + * + * @type {number} + * @memberof FoodSimple + */ + readonly id: number; + /** + * + * @type {string} + * @memberof FoodSimple + */ + name: string; + /** + * + * @type {string} + * @memberof FoodSimple + */ + pluralName?: string | null; +} + +/** + * Check if a given object implements the FoodSimple interface. + */ +export function instanceOfFoodSimple(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function FoodSimpleFromJSON(json: any): FoodSimple { + return FoodSimpleFromJSONTyped(json, false); +} + +export function FoodSimpleFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodSimple { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + }; +} + +export function FoodSimpleToJSON(value?: FoodSimple | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + }; +} + diff --git a/models/FoodSupermarketCategory.ts b/models/FoodSupermarketCategory.ts new file mode 100644 index 000000000..f459523f1 --- /dev/null +++ b/models/FoodSupermarketCategory.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FoodSupermarketCategory + */ +export interface FoodSupermarketCategory { + /** + * + * @type {number} + * @memberof FoodSupermarketCategory + */ + readonly id: number; + /** + * + * @type {string} + * @memberof FoodSupermarketCategory + */ + name: string; + /** + * + * @type {string} + * @memberof FoodSupermarketCategory + */ + description?: string | null; +} + +/** + * Check if a given object implements the FoodSupermarketCategory interface. + */ +export function instanceOfFoodSupermarketCategory(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function FoodSupermarketCategoryFromJSON(json: any): FoodSupermarketCategory { + return FoodSupermarketCategoryFromJSONTyped(json, false); +} + +export function FoodSupermarketCategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodSupermarketCategory { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + }; +} + +export function FoodSupermarketCategoryToJSON(value?: FoodSupermarketCategory | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + }; +} + diff --git a/models/Group.ts b/models/Group.ts new file mode 100644 index 000000000..0e9ac20b8 --- /dev/null +++ b/models/Group.ts @@ -0,0 +1,108 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface Group + */ +export interface Group { + /** + * + * @type {number} + * @memberof Group + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Group + */ + name: string; +} + +/** + * Check if a given object implements the Group interface. + */ +export function instanceOfGroup(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function GroupFromJSON(json: any): Group { + return GroupFromJSONTyped(json, false); +} + +export function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Group { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + }; +} + +export function GroupToJSON(value?: Group | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/models/ImportLog.ts b/models/ImportLog.ts new file mode 100644 index 000000000..746a488d9 --- /dev/null +++ b/models/ImportLog.ts @@ -0,0 +1,137 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Keyword } from './Keyword'; +import { + KeywordFromJSON, + KeywordFromJSONTyped, + KeywordToJSON, +} from './Keyword'; + +/** + * + * @export + * @interface ImportLog + */ +export interface ImportLog { + /** + * + * @type {number} + * @memberof ImportLog + */ + readonly id: number; + /** + * + * @type {string} + * @memberof ImportLog + */ + type: string; + /** + * + * @type {string} + * @memberof ImportLog + */ + msg?: string; + /** + * + * @type {boolean} + * @memberof ImportLog + */ + running?: boolean; + /** + * + * @type {Keyword} + * @memberof ImportLog + */ + readonly keyword: Keyword; + /** + * + * @type {number} + * @memberof ImportLog + */ + totalRecipes?: number; + /** + * + * @type {number} + * @memberof ImportLog + */ + importedRecipes?: number; + /** + * + * @type {number} + * @memberof ImportLog + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof ImportLog + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the ImportLog interface. + */ +export function instanceOfImportLog(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "keyword" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function ImportLogFromJSON(json: any): ImportLog { + return ImportLogFromJSONTyped(json, false); +} + +export function ImportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImportLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'type': json['type'], + 'msg': !exists(json, 'msg') ? undefined : json['msg'], + 'running': !exists(json, 'running') ? undefined : json['running'], + 'keyword': KeywordFromJSON(json['keyword']), + 'totalRecipes': !exists(json, 'total_recipes') ? undefined : json['total_recipes'], + 'importedRecipes': !exists(json, 'imported_recipes') ? undefined : json['imported_recipes'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function ImportLogToJSON(value?: ImportLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'type': value.type, + 'msg': value.msg, + 'running': value.running, + 'total_recipes': value.totalRecipes, + 'imported_recipes': value.importedRecipes, + }; +} + diff --git a/models/Ingredient.ts b/models/Ingredient.ts new file mode 100644 index 000000000..ddf74766c --- /dev/null +++ b/models/Ingredient.ts @@ -0,0 +1,177 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { IngredientFood } from './IngredientFood'; +import { + IngredientFoodFromJSON, + IngredientFoodFromJSONTyped, + IngredientFoodToJSON, +} from './IngredientFood'; + +/** + * Adds nested create feature + * @export + * @interface Ingredient + */ +export interface Ingredient { + /** + * + * @type {number} + * @memberof Ingredient + */ + readonly id: number; + /** + * + * @type {IngredientFood} + * @memberof Ingredient + */ + food: IngredientFood | null; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof Ingredient + */ + unit: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof Ingredient + */ + amount: number; + /** + * + * @type {Array} + * @memberof Ingredient + */ + readonly conversions: Array; + /** + * + * @type {string} + * @memberof Ingredient + */ + note?: string | null; + /** + * + * @type {number} + * @memberof Ingredient + */ + order?: number; + /** + * + * @type {boolean} + * @memberof Ingredient + */ + isHeader?: boolean; + /** + * + * @type {boolean} + * @memberof Ingredient + */ + noAmount?: boolean; + /** + * + * @type {string} + * @memberof Ingredient + */ + originalText?: string | null; + /** + * + * @type {Array} + * @memberof Ingredient + */ + readonly usedInRecipes: Array; + /** + * + * @type {boolean} + * @memberof Ingredient + */ + alwaysUsePluralUnit?: boolean; + /** + * + * @type {boolean} + * @memberof Ingredient + */ + alwaysUsePluralFood?: boolean; +} + +/** + * Check if a given object implements the Ingredient interface. + */ +export function instanceOfIngredient(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "food" in value; + isInstance = isInstance && "unit" in value; + isInstance = isInstance && "amount" in value; + isInstance = isInstance && "conversions" in value; + isInstance = isInstance && "usedInRecipes" in value; + + return isInstance; +} + +export function IngredientFromJSON(json: any): Ingredient { + return IngredientFromJSONTyped(json, false); +} + +export function IngredientFromJSONTyped(json: any, ignoreDiscriminator: boolean): Ingredient { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'food': IngredientFoodFromJSON(json['food']), + 'unit': FoodPropertiesFoodUnitFromJSON(json['unit']), + 'amount': json['amount'], + 'conversions': json['conversions'], + 'note': !exists(json, 'note') ? undefined : json['note'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'isHeader': !exists(json, 'is_header') ? undefined : json['is_header'], + 'noAmount': !exists(json, 'no_amount') ? undefined : json['no_amount'], + 'originalText': !exists(json, 'original_text') ? undefined : json['original_text'], + 'usedInRecipes': json['used_in_recipes'], + 'alwaysUsePluralUnit': !exists(json, 'always_use_plural_unit') ? undefined : json['always_use_plural_unit'], + 'alwaysUsePluralFood': !exists(json, 'always_use_plural_food') ? undefined : json['always_use_plural_food'], + }; +} + +export function IngredientToJSON(value?: Ingredient | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'food': IngredientFoodToJSON(value.food), + 'unit': FoodPropertiesFoodUnitToJSON(value.unit), + 'amount': value.amount, + 'note': value.note, + 'order': value.order, + 'is_header': value.isHeader, + 'no_amount': value.noAmount, + 'original_text': value.originalText, + 'always_use_plural_unit': value.alwaysUsePluralUnit, + 'always_use_plural_food': value.alwaysUsePluralFood, + }; +} + diff --git a/models/IngredientFood.ts b/models/IngredientFood.ts new file mode 100644 index 000000000..fbdea12a9 --- /dev/null +++ b/models/IngredientFood.ts @@ -0,0 +1,288 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { FoodRecipe } from './FoodRecipe'; +import { + FoodRecipeFromJSON, + FoodRecipeFromJSONTyped, + FoodRecipeToJSON, +} from './FoodRecipe'; +import type { FoodSimple } from './FoodSimple'; +import { + FoodSimpleFromJSON, + FoodSimpleFromJSONTyped, + FoodSimpleToJSON, +} from './FoodSimple'; +import type { FoodSupermarketCategory } from './FoodSupermarketCategory'; +import { + FoodSupermarketCategoryFromJSON, + FoodSupermarketCategoryFromJSONTyped, + FoodSupermarketCategoryToJSON, +} from './FoodSupermarketCategory'; +import type { Property } from './Property'; +import { + PropertyFromJSON, + PropertyFromJSONTyped, + PropertyToJSON, +} from './Property'; + +/** + * + * @export + * @interface IngredientFood + */ +export interface IngredientFood { + /** + * + * @type {number} + * @memberof IngredientFood + */ + readonly id: number; + /** + * + * @type {string} + * @memberof IngredientFood + */ + name: string; + /** + * + * @type {string} + * @memberof IngredientFood + */ + pluralName?: string | null; + /** + * + * @type {string} + * @memberof IngredientFood + */ + description?: string; + /** + * + * @type {string} + * @memberof IngredientFood + */ + readonly shopping: string; + /** + * + * @type {FoodRecipe} + * @memberof IngredientFood + */ + recipe?: FoodRecipe | null; + /** + * + * @type {string} + * @memberof IngredientFood + */ + url?: string | null; + /** + * + * @type {Array} + * @memberof IngredientFood + */ + properties?: Array | null; + /** + * + * @type {number} + * @memberof IngredientFood + */ + propertiesFoodAmount?: number; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof IngredientFood + */ + propertiesFoodUnit?: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof IngredientFood + */ + fdcId?: number | null; + /** + * + * @type {boolean} + * @memberof IngredientFood + */ + foodOnhand?: boolean | null; + /** + * + * @type {FoodSupermarketCategory} + * @memberof IngredientFood + */ + supermarketCategory?: FoodSupermarketCategory | null; + /** + * + * @type {number} + * @memberof IngredientFood + */ + readonly parent: number; + /** + * + * @type {number} + * @memberof IngredientFood + */ + readonly numchild: number; + /** + * + * @type {Array} + * @memberof IngredientFood + */ + inheritFields?: Array | null; + /** + * Returns a string representation of a tree node and it's ancestors, + * e.g. 'Cuisine > Asian > Chinese > Catonese'. + * @type {string} + * @memberof IngredientFood + */ + readonly fullName: string; + /** + * + * @type {boolean} + * @memberof IngredientFood + */ + ignoreShopping?: boolean; + /** + * + * @type {Array} + * @memberof IngredientFood + */ + substitute?: Array | null; + /** + * + * @type {boolean} + * @memberof IngredientFood + */ + substituteSiblings?: boolean; + /** + * + * @type {boolean} + * @memberof IngredientFood + */ + substituteChildren?: boolean; + /** + * + * @type {boolean} + * @memberof IngredientFood + */ + readonly substituteOnhand: boolean; + /** + * + * @type {Array} + * @memberof IngredientFood + */ + childInheritFields?: Array | null; + /** + * + * @type {string} + * @memberof IngredientFood + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the IngredientFood interface. + */ +export function instanceOfIngredientFood(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "shopping" in value; + isInstance = isInstance && "parent" in value; + isInstance = isInstance && "numchild" in value; + isInstance = isInstance && "fullName" in value; + isInstance = isInstance && "substituteOnhand" in value; + + return isInstance; +} + +export function IngredientFoodFromJSON(json: any): IngredientFood { + return IngredientFoodFromJSONTyped(json, false); +} + +export function IngredientFoodFromJSONTyped(json: any, ignoreDiscriminator: boolean): IngredientFood { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'shopping': json['shopping'], + 'recipe': !exists(json, 'recipe') ? undefined : FoodRecipeFromJSON(json['recipe']), + 'url': !exists(json, 'url') ? undefined : json['url'], + 'properties': !exists(json, 'properties') ? undefined : (json['properties'] === null ? null : (json['properties'] as Array).map(PropertyFromJSON)), + 'propertiesFoodAmount': !exists(json, 'properties_food_amount') ? undefined : json['properties_food_amount'], + 'propertiesFoodUnit': !exists(json, 'properties_food_unit') ? undefined : FoodPropertiesFoodUnitFromJSON(json['properties_food_unit']), + 'fdcId': !exists(json, 'fdc_id') ? undefined : json['fdc_id'], + 'foodOnhand': !exists(json, 'food_onhand') ? undefined : json['food_onhand'], + 'supermarketCategory': !exists(json, 'supermarket_category') ? undefined : FoodSupermarketCategoryFromJSON(json['supermarket_category']), + 'parent': json['parent'], + 'numchild': json['numchild'], + 'inheritFields': !exists(json, 'inherit_fields') ? undefined : (json['inherit_fields'] === null ? null : (json['inherit_fields'] as Array).map(FoodInheritFieldFromJSON)), + 'fullName': json['full_name'], + 'ignoreShopping': !exists(json, 'ignore_shopping') ? undefined : json['ignore_shopping'], + 'substitute': !exists(json, 'substitute') ? undefined : (json['substitute'] === null ? null : (json['substitute'] as Array).map(FoodSimpleFromJSON)), + 'substituteSiblings': !exists(json, 'substitute_siblings') ? undefined : json['substitute_siblings'], + 'substituteChildren': !exists(json, 'substitute_children') ? undefined : json['substitute_children'], + 'substituteOnhand': json['substitute_onhand'], + 'childInheritFields': !exists(json, 'child_inherit_fields') ? undefined : (json['child_inherit_fields'] === null ? null : (json['child_inherit_fields'] as Array).map(FoodInheritFieldFromJSON)), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function IngredientFoodToJSON(value?: IngredientFood | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + 'description': value.description, + 'recipe': FoodRecipeToJSON(value.recipe), + 'url': value.url, + 'properties': value.properties === undefined ? undefined : (value.properties === null ? null : (value.properties as Array).map(PropertyToJSON)), + 'properties_food_amount': value.propertiesFoodAmount, + 'properties_food_unit': FoodPropertiesFoodUnitToJSON(value.propertiesFoodUnit), + 'fdc_id': value.fdcId, + 'food_onhand': value.foodOnhand, + 'supermarket_category': FoodSupermarketCategoryToJSON(value.supermarketCategory), + 'inherit_fields': value.inheritFields === undefined ? undefined : (value.inheritFields === null ? null : (value.inheritFields as Array).map(FoodInheritFieldToJSON)), + 'ignore_shopping': value.ignoreShopping, + 'substitute': value.substitute === undefined ? undefined : (value.substitute === null ? null : (value.substitute as Array).map(FoodSimpleToJSON)), + 'substitute_siblings': value.substituteSiblings, + 'substitute_children': value.substituteChildren, + 'child_inherit_fields': value.childInheritFields === undefined ? undefined : (value.childInheritFields === null ? null : (value.childInheritFields as Array).map(FoodInheritFieldToJSON)), + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/InviteLink.ts b/models/InviteLink.ts new file mode 100644 index 000000000..e6b5ea302 --- /dev/null +++ b/models/InviteLink.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Group } from './Group'; +import { + GroupFromJSON, + GroupFromJSONTyped, + GroupToJSON, +} from './Group'; + +/** + * Adds nested create feature + * @export + * @interface InviteLink + */ +export interface InviteLink { + /** + * + * @type {number} + * @memberof InviteLink + */ + readonly id: number; + /** + * + * @type {string} + * @memberof InviteLink + */ + readonly uuid: string; + /** + * + * @type {string} + * @memberof InviteLink + */ + email?: string; + /** + * + * @type {Group} + * @memberof InviteLink + */ + group: Group; + /** + * + * @type {Date} + * @memberof InviteLink + */ + validUntil?: Date; + /** + * + * @type {number} + * @memberof InviteLink + */ + usedBy?: number | null; + /** + * + * @type {boolean} + * @memberof InviteLink + */ + reusable?: boolean; + /** + * + * @type {string} + * @memberof InviteLink + */ + internalNote?: string | null; + /** + * + * @type {number} + * @memberof InviteLink + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof InviteLink + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the InviteLink interface. + */ +export function instanceOfInviteLink(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "uuid" in value; + isInstance = isInstance && "group" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function InviteLinkFromJSON(json: any): InviteLink { + return InviteLinkFromJSONTyped(json, false); +} + +export function InviteLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): InviteLink { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'uuid': json['uuid'], + 'email': !exists(json, 'email') ? undefined : json['email'], + 'group': GroupFromJSON(json['group']), + 'validUntil': !exists(json, 'valid_until') ? undefined : (new Date(json['valid_until'])), + 'usedBy': !exists(json, 'used_by') ? undefined : json['used_by'], + 'reusable': !exists(json, 'reusable') ? undefined : json['reusable'], + 'internalNote': !exists(json, 'internal_note') ? undefined : json['internal_note'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function InviteLinkToJSON(value?: InviteLink | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'email': value.email, + 'group': GroupToJSON(value.group), + 'valid_until': value.validUntil === undefined ? undefined : (value.validUntil.toISOString().substr(0,10)), + 'used_by': value.usedBy, + 'reusable': value.reusable, + 'internal_note': value.internalNote, + }; +} + diff --git a/models/Keyword.ts b/models/Keyword.ts new file mode 100644 index 000000000..0fd02d0e1 --- /dev/null +++ b/models/Keyword.ts @@ -0,0 +1,165 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface Keyword + */ +export interface Keyword { + /** + * + * @type {number} + * @memberof Keyword + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Keyword + */ + name: string; + /** + * + * @type {string} + * @memberof Keyword + */ + readonly label: string; + /** + * + * @type {string} + * @memberof Keyword + */ + description?: string; + /** + * + * @type {number} + * @memberof Keyword + */ + readonly parent: number; + /** + * + * @type {number} + * @memberof Keyword + */ + readonly numchild: number; + /** + * + * @type {Date} + * @memberof Keyword + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof Keyword + */ + readonly updatedAt: Date; + /** + * Returns a string representation of a tree node and it's ancestors, + * e.g. 'Cuisine > Asian > Chinese > Catonese'. + * @type {string} + * @memberof Keyword + */ + readonly fullName: string; +} + +/** + * Check if a given object implements the Keyword interface. + */ +export function instanceOfKeyword(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "label" in value; + isInstance = isInstance && "parent" in value; + isInstance = isInstance && "numchild" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + isInstance = isInstance && "fullName" in value; + + return isInstance; +} + +export function KeywordFromJSON(json: any): Keyword { + return KeywordFromJSONTyped(json, false); +} + +export function KeywordFromJSONTyped(json: any, ignoreDiscriminator: boolean): Keyword { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'label': json['label'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'parent': json['parent'], + 'numchild': json['numchild'], + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + 'fullName': json['full_name'], + }; +} + +export function KeywordToJSON(value?: Keyword | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + }; +} + diff --git a/models/KeywordLabel.ts b/models/KeywordLabel.ts new file mode 100644 index 000000000..8f975015d --- /dev/null +++ b/models/KeywordLabel.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface KeywordLabel + */ +export interface KeywordLabel { + /** + * + * @type {number} + * @memberof KeywordLabel + */ + readonly id: number; + /** + * + * @type {string} + * @memberof KeywordLabel + */ + readonly label: string; +} + +/** + * Check if a given object implements the KeywordLabel interface. + */ +export function instanceOfKeywordLabel(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "label" in value; + + return isInstance; +} + +export function KeywordLabelFromJSON(json: any): KeywordLabel { + return KeywordLabelFromJSONTyped(json, false); +} + +export function KeywordLabelFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeywordLabel { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'label': json['label'], + }; +} + +export function KeywordLabelToJSON(value?: KeywordLabel | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + }; +} + diff --git a/models/MealPlan.ts b/models/MealPlan.ts new file mode 100644 index 000000000..086bea312 --- /dev/null +++ b/models/MealPlan.ts @@ -0,0 +1,191 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MealPlanRecipe } from './MealPlanRecipe'; +import { + MealPlanRecipeFromJSON, + MealPlanRecipeFromJSONTyped, + MealPlanRecipeToJSON, +} from './MealPlanRecipe'; +import type { MealType } from './MealType'; +import { + MealTypeFromJSON, + MealTypeFromJSONTyped, + MealTypeToJSON, +} from './MealType'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface MealPlan + */ +export interface MealPlan { + /** + * + * @type {number} + * @memberof MealPlan + */ + readonly id: number; + /** + * + * @type {string} + * @memberof MealPlan + */ + title?: string; + /** + * + * @type {MealPlanRecipe} + * @memberof MealPlan + */ + recipe?: MealPlanRecipe | null; + /** + * + * @type {number} + * @memberof MealPlan + */ + servings: number; + /** + * + * @type {string} + * @memberof MealPlan + */ + note?: string; + /** + * + * @type {string} + * @memberof MealPlan + */ + readonly noteMarkdown: string; + /** + * + * @type {Date} + * @memberof MealPlan + */ + fromDate: Date; + /** + * + * @type {Date} + * @memberof MealPlan + */ + toDate?: Date; + /** + * + * @type {MealType} + * @memberof MealPlan + */ + mealType: MealType; + /** + * + * @type {number} + * @memberof MealPlan + */ + readonly createdBy: number; + /** + * + * @type {Array} + * @memberof MealPlan + */ + shared?: Array | null; + /** + * + * @type {string} + * @memberof MealPlan + */ + readonly recipeName: string; + /** + * + * @type {string} + * @memberof MealPlan + */ + readonly mealTypeName: string; + /** + * + * @type {boolean} + * @memberof MealPlan + */ + readonly shopping: boolean; +} + +/** + * Check if a given object implements the MealPlan interface. + */ +export function instanceOfMealPlan(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "servings" in value; + isInstance = isInstance && "noteMarkdown" in value; + isInstance = isInstance && "fromDate" in value; + isInstance = isInstance && "mealType" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "recipeName" in value; + isInstance = isInstance && "mealTypeName" in value; + isInstance = isInstance && "shopping" in value; + + return isInstance; +} + +export function MealPlanFromJSON(json: any): MealPlan { + return MealPlanFromJSONTyped(json, false); +} + +export function MealPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): MealPlan { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'title': !exists(json, 'title') ? undefined : json['title'], + 'recipe': !exists(json, 'recipe') ? undefined : MealPlanRecipeFromJSON(json['recipe']), + 'servings': json['servings'], + 'note': !exists(json, 'note') ? undefined : json['note'], + 'noteMarkdown': json['note_markdown'], + 'fromDate': (new Date(json['from_date'])), + 'toDate': !exists(json, 'to_date') ? undefined : (new Date(json['to_date'])), + 'mealType': MealTypeFromJSON(json['meal_type']), + 'createdBy': json['created_by'], + 'shared': !exists(json, 'shared') ? undefined : (json['shared'] === null ? null : (json['shared'] as Array).map(UserFromJSON)), + 'recipeName': json['recipe_name'], + 'mealTypeName': json['meal_type_name'], + 'shopping': json['shopping'], + }; +} + +export function MealPlanToJSON(value?: MealPlan | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'title': value.title, + 'recipe': MealPlanRecipeToJSON(value.recipe), + 'servings': value.servings, + 'note': value.note, + 'from_date': (value.fromDate.toISOString().substr(0,10)), + 'to_date': value.toDate === undefined ? undefined : (value.toDate.toISOString().substr(0,10)), + 'meal_type': MealTypeToJSON(value.mealType), + 'shared': value.shared === undefined ? undefined : (value.shared === null ? null : (value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/MealPlanRecipe.ts b/models/MealPlanRecipe.ts new file mode 100644 index 000000000..22ddcf2a4 --- /dev/null +++ b/models/MealPlanRecipe.ts @@ -0,0 +1,200 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { KeywordLabel } from './KeywordLabel'; +import { + KeywordLabelFromJSON, + KeywordLabelFromJSONTyped, + KeywordLabelToJSON, +} from './KeywordLabel'; + +/** + * + * @export + * @interface MealPlanRecipe + */ +export interface MealPlanRecipe { + /** + * + * @type {number} + * @memberof MealPlanRecipe + */ + readonly id: number; + /** + * + * @type {string} + * @memberof MealPlanRecipe + */ + readonly name: string; + /** + * + * @type {string} + * @memberof MealPlanRecipe + */ + readonly description: string | null; + /** + * + * @type {string} + * @memberof MealPlanRecipe + */ + readonly image: string | null; + /** + * + * @type {Array} + * @memberof MealPlanRecipe + */ + readonly keywords: Array; + /** + * + * @type {number} + * @memberof MealPlanRecipe + */ + readonly workingTime: number; + /** + * + * @type {number} + * @memberof MealPlanRecipe + */ + readonly waitingTime: number; + /** + * + * @type {number} + * @memberof MealPlanRecipe + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof MealPlanRecipe + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof MealPlanRecipe + */ + readonly updatedAt: Date; + /** + * + * @type {boolean} + * @memberof MealPlanRecipe + */ + readonly internal: boolean; + /** + * + * @type {number} + * @memberof MealPlanRecipe + */ + readonly servings: number; + /** + * + * @type {string} + * @memberof MealPlanRecipe + */ + readonly servingsText: string; + /** + * + * @type {number} + * @memberof MealPlanRecipe + */ + readonly rating: number | null; + /** + * + * @type {Date} + * @memberof MealPlanRecipe + */ + readonly lastCooked: Date | null; + /** + * + * @type {boolean} + * @memberof MealPlanRecipe + */ + readonly _new: boolean; + /** + * + * @type {string} + * @memberof MealPlanRecipe + */ + readonly recent: string; +} + +/** + * Check if a given object implements the MealPlanRecipe interface. + */ +export function instanceOfMealPlanRecipe(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "description" in value; + isInstance = isInstance && "image" in value; + isInstance = isInstance && "keywords" in value; + isInstance = isInstance && "workingTime" in value; + isInstance = isInstance && "waitingTime" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + isInstance = isInstance && "internal" in value; + isInstance = isInstance && "servings" in value; + isInstance = isInstance && "servingsText" in value; + isInstance = isInstance && "rating" in value; + isInstance = isInstance && "lastCooked" in value; + isInstance = isInstance && "_new" in value; + isInstance = isInstance && "recent" in value; + + return isInstance; +} + +export function MealPlanRecipeFromJSON(json: any): MealPlanRecipe { + return MealPlanRecipeFromJSONTyped(json, false); +} + +export function MealPlanRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MealPlanRecipe { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': json['description'], + 'image': json['image'], + 'keywords': ((json['keywords'] as Array).map(KeywordLabelFromJSON)), + 'workingTime': json['working_time'], + 'waitingTime': json['waiting_time'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + 'internal': json['internal'], + 'servings': json['servings'], + 'servingsText': json['servings_text'], + 'rating': json['rating'], + 'lastCooked': (json['last_cooked'] === null ? null : new Date(json['last_cooked'])), + '_new': json['new'], + 'recent': json['recent'], + }; +} + +export function MealPlanRecipeToJSON(value?: MealPlanRecipe | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + }; +} + diff --git a/models/MealType.ts b/models/MealType.ts new file mode 100644 index 000000000..1dcc52589 --- /dev/null +++ b/models/MealType.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface MealType + */ +export interface MealType { + /** + * + * @type {number} + * @memberof MealType + */ + readonly id: number; + /** + * + * @type {string} + * @memberof MealType + */ + name: string; + /** + * + * @type {number} + * @memberof MealType + */ + order?: number; + /** + * + * @type {string} + * @memberof MealType + */ + color?: string | null; + /** + * + * @type {boolean} + * @memberof MealType + */ + _default?: boolean; + /** + * + * @type {number} + * @memberof MealType + */ + readonly createdBy: number; +} + +/** + * Check if a given object implements the MealType interface. + */ +export function instanceOfMealType(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function MealTypeFromJSON(json: any): MealType { + return MealTypeFromJSONTyped(json, false); +} + +export function MealTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MealType { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'color': !exists(json, 'color') ? undefined : json['color'], + '_default': !exists(json, 'default') ? undefined : json['default'], + 'createdBy': json['created_by'], + }; +} + +export function MealTypeToJSON(value?: MealType | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'order': value.order, + 'color': value.color, + 'default': value._default, + }; +} + diff --git a/models/MethodEnum.ts b/models/MethodEnum.ts new file mode 100644 index 000000000..9c9eb0afe --- /dev/null +++ b/models/MethodEnum.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `DB` - Dropbox + * * `NEXTCLOUD` - Nextcloud + * * `LOCAL` - Local + * @export + */ +export const MethodEnum = { + Db: 'DB', + Nextcloud: 'NEXTCLOUD', + Local: 'LOCAL' +} as const; +export type MethodEnum = typeof MethodEnum[keyof typeof MethodEnum]; + + +export function MethodEnumFromJSON(json: any): MethodEnum { + return MethodEnumFromJSONTyped(json, false); +} + +export function MethodEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): MethodEnum { + return json as MethodEnum; +} + +export function MethodEnumToJSON(value?: MethodEnum | null): any { + return value as any; +} + diff --git a/models/NutritionInformation.ts b/models/NutritionInformation.ts new file mode 100644 index 000000000..4e17dc87f --- /dev/null +++ b/models/NutritionInformation.ts @@ -0,0 +1,109 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface NutritionInformation + */ +export interface NutritionInformation { + /** + * + * @type {number} + * @memberof NutritionInformation + */ + readonly id: number; + /** + * + * @type {number} + * @memberof NutritionInformation + */ + carbohydrates: number; + /** + * + * @type {number} + * @memberof NutritionInformation + */ + fats: number; + /** + * + * @type {number} + * @memberof NutritionInformation + */ + proteins: number; + /** + * + * @type {number} + * @memberof NutritionInformation + */ + calories: number; + /** + * + * @type {string} + * @memberof NutritionInformation + */ + source?: string | null; +} + +/** + * Check if a given object implements the NutritionInformation interface. + */ +export function instanceOfNutritionInformation(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "carbohydrates" in value; + isInstance = isInstance && "fats" in value; + isInstance = isInstance && "proteins" in value; + isInstance = isInstance && "calories" in value; + + return isInstance; +} + +export function NutritionInformationFromJSON(json: any): NutritionInformation { + return NutritionInformationFromJSONTyped(json, false); +} + +export function NutritionInformationFromJSONTyped(json: any, ignoreDiscriminator: boolean): NutritionInformation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'carbohydrates': json['carbohydrates'], + 'fats': json['fats'], + 'proteins': json['proteins'], + 'calories': json['calories'], + 'source': !exists(json, 'source') ? undefined : json['source'], + }; +} + +export function NutritionInformationToJSON(value?: NutritionInformation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'carbohydrates': value.carbohydrates, + 'fats': value.fats, + 'proteins': value.proteins, + 'calories': value.calories, + 'source': value.source, + }; +} + diff --git a/models/PaginatedAutomationList.ts b/models/PaginatedAutomationList.ts new file mode 100644 index 000000000..5a338ce16 --- /dev/null +++ b/models/PaginatedAutomationList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Automation } from './Automation'; +import { + AutomationFromJSON, + AutomationFromJSONTyped, + AutomationToJSON, +} from './Automation'; + +/** + * + * @export + * @interface PaginatedAutomationList + */ +export interface PaginatedAutomationList { + /** + * + * @type {number} + * @memberof PaginatedAutomationList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedAutomationList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedAutomationList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedAutomationList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedAutomationList interface. + */ +export function instanceOfPaginatedAutomationList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedAutomationListFromJSON(json: any): PaginatedAutomationList { + return PaginatedAutomationListFromJSONTyped(json, false); +} + +export function PaginatedAutomationListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedAutomationList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(AutomationFromJSON)), + }; +} + +export function PaginatedAutomationListToJSON(value?: PaginatedAutomationList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(AutomationToJSON)), + }; +} + diff --git a/models/PaginatedBookmarkletImportListList.ts b/models/PaginatedBookmarkletImportListList.ts new file mode 100644 index 000000000..db31e83b6 --- /dev/null +++ b/models/PaginatedBookmarkletImportListList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BookmarkletImportList } from './BookmarkletImportList'; +import { + BookmarkletImportListFromJSON, + BookmarkletImportListFromJSONTyped, + BookmarkletImportListToJSON, +} from './BookmarkletImportList'; + +/** + * + * @export + * @interface PaginatedBookmarkletImportListList + */ +export interface PaginatedBookmarkletImportListList { + /** + * + * @type {number} + * @memberof PaginatedBookmarkletImportListList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedBookmarkletImportListList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedBookmarkletImportListList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedBookmarkletImportListList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedBookmarkletImportListList interface. + */ +export function instanceOfPaginatedBookmarkletImportListList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedBookmarkletImportListListFromJSON(json: any): PaginatedBookmarkletImportListList { + return PaginatedBookmarkletImportListListFromJSONTyped(json, false); +} + +export function PaginatedBookmarkletImportListListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedBookmarkletImportListList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(BookmarkletImportListFromJSON)), + }; +} + +export function PaginatedBookmarkletImportListListToJSON(value?: PaginatedBookmarkletImportListList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(BookmarkletImportListToJSON)), + }; +} + diff --git a/models/PaginatedCookLogList.ts b/models/PaginatedCookLogList.ts new file mode 100644 index 000000000..186a079ab --- /dev/null +++ b/models/PaginatedCookLogList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CookLog } from './CookLog'; +import { + CookLogFromJSON, + CookLogFromJSONTyped, + CookLogToJSON, +} from './CookLog'; + +/** + * + * @export + * @interface PaginatedCookLogList + */ +export interface PaginatedCookLogList { + /** + * + * @type {number} + * @memberof PaginatedCookLogList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedCookLogList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedCookLogList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedCookLogList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedCookLogList interface. + */ +export function instanceOfPaginatedCookLogList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedCookLogListFromJSON(json: any): PaginatedCookLogList { + return PaginatedCookLogListFromJSONTyped(json, false); +} + +export function PaginatedCookLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedCookLogList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(CookLogFromJSON)), + }; +} + +export function PaginatedCookLogListToJSON(value?: PaginatedCookLogList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(CookLogToJSON)), + }; +} + diff --git a/models/PaginatedCustomFilterList.ts b/models/PaginatedCustomFilterList.ts new file mode 100644 index 000000000..0f527be75 --- /dev/null +++ b/models/PaginatedCustomFilterList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CustomFilter } from './CustomFilter'; +import { + CustomFilterFromJSON, + CustomFilterFromJSONTyped, + CustomFilterToJSON, +} from './CustomFilter'; + +/** + * + * @export + * @interface PaginatedCustomFilterList + */ +export interface PaginatedCustomFilterList { + /** + * + * @type {number} + * @memberof PaginatedCustomFilterList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedCustomFilterList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedCustomFilterList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedCustomFilterList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedCustomFilterList interface. + */ +export function instanceOfPaginatedCustomFilterList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedCustomFilterListFromJSON(json: any): PaginatedCustomFilterList { + return PaginatedCustomFilterListFromJSONTyped(json, false); +} + +export function PaginatedCustomFilterListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedCustomFilterList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(CustomFilterFromJSON)), + }; +} + +export function PaginatedCustomFilterListToJSON(value?: PaginatedCustomFilterList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(CustomFilterToJSON)), + }; +} + diff --git a/models/PaginatedExportLogList.ts b/models/PaginatedExportLogList.ts new file mode 100644 index 000000000..983f4d94a --- /dev/null +++ b/models/PaginatedExportLogList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ExportLog } from './ExportLog'; +import { + ExportLogFromJSON, + ExportLogFromJSONTyped, + ExportLogToJSON, +} from './ExportLog'; + +/** + * + * @export + * @interface PaginatedExportLogList + */ +export interface PaginatedExportLogList { + /** + * + * @type {number} + * @memberof PaginatedExportLogList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedExportLogList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedExportLogList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedExportLogList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedExportLogList interface. + */ +export function instanceOfPaginatedExportLogList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedExportLogListFromJSON(json: any): PaginatedExportLogList { + return PaginatedExportLogListFromJSONTyped(json, false); +} + +export function PaginatedExportLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedExportLogList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(ExportLogFromJSON)), + }; +} + +export function PaginatedExportLogListToJSON(value?: PaginatedExportLogList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(ExportLogToJSON)), + }; +} + diff --git a/models/PaginatedFoodList.ts b/models/PaginatedFoodList.ts new file mode 100644 index 000000000..4c78e338a --- /dev/null +++ b/models/PaginatedFoodList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Food } from './Food'; +import { + FoodFromJSON, + FoodFromJSONTyped, + FoodToJSON, +} from './Food'; + +/** + * + * @export + * @interface PaginatedFoodList + */ +export interface PaginatedFoodList { + /** + * + * @type {number} + * @memberof PaginatedFoodList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedFoodList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedFoodList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedFoodList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedFoodList interface. + */ +export function instanceOfPaginatedFoodList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedFoodListFromJSON(json: any): PaginatedFoodList { + return PaginatedFoodListFromJSONTyped(json, false); +} + +export function PaginatedFoodListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedFoodList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(FoodFromJSON)), + }; +} + +export function PaginatedFoodListToJSON(value?: PaginatedFoodList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(FoodToJSON)), + }; +} + diff --git a/models/PaginatedImportLogList.ts b/models/PaginatedImportLogList.ts new file mode 100644 index 000000000..148f1dc19 --- /dev/null +++ b/models/PaginatedImportLogList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImportLog } from './ImportLog'; +import { + ImportLogFromJSON, + ImportLogFromJSONTyped, + ImportLogToJSON, +} from './ImportLog'; + +/** + * + * @export + * @interface PaginatedImportLogList + */ +export interface PaginatedImportLogList { + /** + * + * @type {number} + * @memberof PaginatedImportLogList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedImportLogList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedImportLogList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedImportLogList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedImportLogList interface. + */ +export function instanceOfPaginatedImportLogList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedImportLogListFromJSON(json: any): PaginatedImportLogList { + return PaginatedImportLogListFromJSONTyped(json, false); +} + +export function PaginatedImportLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedImportLogList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(ImportLogFromJSON)), + }; +} + +export function PaginatedImportLogListToJSON(value?: PaginatedImportLogList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(ImportLogToJSON)), + }; +} + diff --git a/models/PaginatedIngredientList.ts b/models/PaginatedIngredientList.ts new file mode 100644 index 000000000..38299a7a0 --- /dev/null +++ b/models/PaginatedIngredientList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Ingredient } from './Ingredient'; +import { + IngredientFromJSON, + IngredientFromJSONTyped, + IngredientToJSON, +} from './Ingredient'; + +/** + * + * @export + * @interface PaginatedIngredientList + */ +export interface PaginatedIngredientList { + /** + * + * @type {number} + * @memberof PaginatedIngredientList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedIngredientList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedIngredientList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedIngredientList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedIngredientList interface. + */ +export function instanceOfPaginatedIngredientList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedIngredientListFromJSON(json: any): PaginatedIngredientList { + return PaginatedIngredientListFromJSONTyped(json, false); +} + +export function PaginatedIngredientListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedIngredientList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(IngredientFromJSON)), + }; +} + +export function PaginatedIngredientListToJSON(value?: PaginatedIngredientList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(IngredientToJSON)), + }; +} + diff --git a/models/PaginatedInviteLinkList.ts b/models/PaginatedInviteLinkList.ts new file mode 100644 index 000000000..b5dab6406 --- /dev/null +++ b/models/PaginatedInviteLinkList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { InviteLink } from './InviteLink'; +import { + InviteLinkFromJSON, + InviteLinkFromJSONTyped, + InviteLinkToJSON, +} from './InviteLink'; + +/** + * + * @export + * @interface PaginatedInviteLinkList + */ +export interface PaginatedInviteLinkList { + /** + * + * @type {number} + * @memberof PaginatedInviteLinkList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedInviteLinkList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedInviteLinkList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedInviteLinkList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedInviteLinkList interface. + */ +export function instanceOfPaginatedInviteLinkList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedInviteLinkListFromJSON(json: any): PaginatedInviteLinkList { + return PaginatedInviteLinkListFromJSONTyped(json, false); +} + +export function PaginatedInviteLinkListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedInviteLinkList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(InviteLinkFromJSON)), + }; +} + +export function PaginatedInviteLinkListToJSON(value?: PaginatedInviteLinkList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(InviteLinkToJSON)), + }; +} + diff --git a/models/PaginatedKeywordList.ts b/models/PaginatedKeywordList.ts new file mode 100644 index 000000000..93aec2819 --- /dev/null +++ b/models/PaginatedKeywordList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Keyword } from './Keyword'; +import { + KeywordFromJSON, + KeywordFromJSONTyped, + KeywordToJSON, +} from './Keyword'; + +/** + * + * @export + * @interface PaginatedKeywordList + */ +export interface PaginatedKeywordList { + /** + * + * @type {number} + * @memberof PaginatedKeywordList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedKeywordList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedKeywordList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedKeywordList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedKeywordList interface. + */ +export function instanceOfPaginatedKeywordList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedKeywordListFromJSON(json: any): PaginatedKeywordList { + return PaginatedKeywordListFromJSONTyped(json, false); +} + +export function PaginatedKeywordListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedKeywordList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(KeywordFromJSON)), + }; +} + +export function PaginatedKeywordListToJSON(value?: PaginatedKeywordList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(KeywordToJSON)), + }; +} + diff --git a/models/PaginatedMealPlanList.ts b/models/PaginatedMealPlanList.ts new file mode 100644 index 000000000..5cd9176f7 --- /dev/null +++ b/models/PaginatedMealPlanList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MealPlan } from './MealPlan'; +import { + MealPlanFromJSON, + MealPlanFromJSONTyped, + MealPlanToJSON, +} from './MealPlan'; + +/** + * + * @export + * @interface PaginatedMealPlanList + */ +export interface PaginatedMealPlanList { + /** + * + * @type {number} + * @memberof PaginatedMealPlanList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedMealPlanList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedMealPlanList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedMealPlanList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedMealPlanList interface. + */ +export function instanceOfPaginatedMealPlanList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedMealPlanListFromJSON(json: any): PaginatedMealPlanList { + return PaginatedMealPlanListFromJSONTyped(json, false); +} + +export function PaginatedMealPlanListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedMealPlanList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(MealPlanFromJSON)), + }; +} + +export function PaginatedMealPlanListToJSON(value?: PaginatedMealPlanList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(MealPlanToJSON)), + }; +} + diff --git a/models/PaginatedMealTypeList.ts b/models/PaginatedMealTypeList.ts new file mode 100644 index 000000000..70773377c --- /dev/null +++ b/models/PaginatedMealTypeList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MealType } from './MealType'; +import { + MealTypeFromJSON, + MealTypeFromJSONTyped, + MealTypeToJSON, +} from './MealType'; + +/** + * + * @export + * @interface PaginatedMealTypeList + */ +export interface PaginatedMealTypeList { + /** + * + * @type {number} + * @memberof PaginatedMealTypeList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedMealTypeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedMealTypeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedMealTypeList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedMealTypeList interface. + */ +export function instanceOfPaginatedMealTypeList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedMealTypeListFromJSON(json: any): PaginatedMealTypeList { + return PaginatedMealTypeListFromJSONTyped(json, false); +} + +export function PaginatedMealTypeListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedMealTypeList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(MealTypeFromJSON)), + }; +} + +export function PaginatedMealTypeListToJSON(value?: PaginatedMealTypeList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(MealTypeToJSON)), + }; +} + diff --git a/models/PaginatedPropertyList.ts b/models/PaginatedPropertyList.ts new file mode 100644 index 000000000..00b97297d --- /dev/null +++ b/models/PaginatedPropertyList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Property } from './Property'; +import { + PropertyFromJSON, + PropertyFromJSONTyped, + PropertyToJSON, +} from './Property'; + +/** + * + * @export + * @interface PaginatedPropertyList + */ +export interface PaginatedPropertyList { + /** + * + * @type {number} + * @memberof PaginatedPropertyList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedPropertyList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedPropertyList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedPropertyList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedPropertyList interface. + */ +export function instanceOfPaginatedPropertyList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedPropertyListFromJSON(json: any): PaginatedPropertyList { + return PaginatedPropertyListFromJSONTyped(json, false); +} + +export function PaginatedPropertyListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedPropertyList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(PropertyFromJSON)), + }; +} + +export function PaginatedPropertyListToJSON(value?: PaginatedPropertyList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(PropertyToJSON)), + }; +} + diff --git a/models/PaginatedPropertyTypeList.ts b/models/PaginatedPropertyTypeList.ts new file mode 100644 index 000000000..7f3b5ba60 --- /dev/null +++ b/models/PaginatedPropertyTypeList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PropertyType } from './PropertyType'; +import { + PropertyTypeFromJSON, + PropertyTypeFromJSONTyped, + PropertyTypeToJSON, +} from './PropertyType'; + +/** + * + * @export + * @interface PaginatedPropertyTypeList + */ +export interface PaginatedPropertyTypeList { + /** + * + * @type {number} + * @memberof PaginatedPropertyTypeList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedPropertyTypeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedPropertyTypeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedPropertyTypeList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedPropertyTypeList interface. + */ +export function instanceOfPaginatedPropertyTypeList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedPropertyTypeListFromJSON(json: any): PaginatedPropertyTypeList { + return PaginatedPropertyTypeListFromJSONTyped(json, false); +} + +export function PaginatedPropertyTypeListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedPropertyTypeList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(PropertyTypeFromJSON)), + }; +} + +export function PaginatedPropertyTypeListToJSON(value?: PaginatedPropertyTypeList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(PropertyTypeToJSON)), + }; +} + diff --git a/models/PaginatedRecipeBookEntryList.ts b/models/PaginatedRecipeBookEntryList.ts new file mode 100644 index 000000000..d0431806f --- /dev/null +++ b/models/PaginatedRecipeBookEntryList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RecipeBookEntry } from './RecipeBookEntry'; +import { + RecipeBookEntryFromJSON, + RecipeBookEntryFromJSONTyped, + RecipeBookEntryToJSON, +} from './RecipeBookEntry'; + +/** + * + * @export + * @interface PaginatedRecipeBookEntryList + */ +export interface PaginatedRecipeBookEntryList { + /** + * + * @type {number} + * @memberof PaginatedRecipeBookEntryList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookEntryList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookEntryList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedRecipeBookEntryList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedRecipeBookEntryList interface. + */ +export function instanceOfPaginatedRecipeBookEntryList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedRecipeBookEntryListFromJSON(json: any): PaginatedRecipeBookEntryList { + return PaginatedRecipeBookEntryListFromJSONTyped(json, false); +} + +export function PaginatedRecipeBookEntryListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedRecipeBookEntryList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(RecipeBookEntryFromJSON)), + }; +} + +export function PaginatedRecipeBookEntryListToJSON(value?: PaginatedRecipeBookEntryList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(RecipeBookEntryToJSON)), + }; +} + diff --git a/models/PaginatedRecipeBookList.ts b/models/PaginatedRecipeBookList.ts new file mode 100644 index 000000000..e54dbae33 --- /dev/null +++ b/models/PaginatedRecipeBookList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RecipeBook } from './RecipeBook'; +import { + RecipeBookFromJSON, + RecipeBookFromJSONTyped, + RecipeBookToJSON, +} from './RecipeBook'; + +/** + * + * @export + * @interface PaginatedRecipeBookList + */ +export interface PaginatedRecipeBookList { + /** + * + * @type {number} + * @memberof PaginatedRecipeBookList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedRecipeBookList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedRecipeBookList interface. + */ +export function instanceOfPaginatedRecipeBookList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedRecipeBookListFromJSON(json: any): PaginatedRecipeBookList { + return PaginatedRecipeBookListFromJSONTyped(json, false); +} + +export function PaginatedRecipeBookListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedRecipeBookList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(RecipeBookFromJSON)), + }; +} + +export function PaginatedRecipeBookListToJSON(value?: PaginatedRecipeBookList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(RecipeBookToJSON)), + }; +} + diff --git a/models/PaginatedRecipeOverviewList.ts b/models/PaginatedRecipeOverviewList.ts new file mode 100644 index 000000000..470cd47a9 --- /dev/null +++ b/models/PaginatedRecipeOverviewList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RecipeOverview } from './RecipeOverview'; +import { + RecipeOverviewFromJSON, + RecipeOverviewFromJSONTyped, + RecipeOverviewToJSON, +} from './RecipeOverview'; + +/** + * + * @export + * @interface PaginatedRecipeOverviewList + */ +export interface PaginatedRecipeOverviewList { + /** + * + * @type {number} + * @memberof PaginatedRecipeOverviewList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedRecipeOverviewList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedRecipeOverviewList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedRecipeOverviewList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedRecipeOverviewList interface. + */ +export function instanceOfPaginatedRecipeOverviewList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedRecipeOverviewListFromJSON(json: any): PaginatedRecipeOverviewList { + return PaginatedRecipeOverviewListFromJSONTyped(json, false); +} + +export function PaginatedRecipeOverviewListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedRecipeOverviewList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(RecipeOverviewFromJSON)), + }; +} + +export function PaginatedRecipeOverviewListToJSON(value?: PaginatedRecipeOverviewList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(RecipeOverviewToJSON)), + }; +} + diff --git a/models/PaginatedShoppingListEntryList.ts b/models/PaginatedShoppingListEntryList.ts new file mode 100644 index 000000000..af0403905 --- /dev/null +++ b/models/PaginatedShoppingListEntryList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ShoppingListEntry } from './ShoppingListEntry'; +import { + ShoppingListEntryFromJSON, + ShoppingListEntryFromJSONTyped, + ShoppingListEntryToJSON, +} from './ShoppingListEntry'; + +/** + * + * @export + * @interface PaginatedShoppingListEntryList + */ +export interface PaginatedShoppingListEntryList { + /** + * + * @type {number} + * @memberof PaginatedShoppingListEntryList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedShoppingListEntryList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedShoppingListEntryList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedShoppingListEntryList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedShoppingListEntryList interface. + */ +export function instanceOfPaginatedShoppingListEntryList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedShoppingListEntryListFromJSON(json: any): PaginatedShoppingListEntryList { + return PaginatedShoppingListEntryListFromJSONTyped(json, false); +} + +export function PaginatedShoppingListEntryListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedShoppingListEntryList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(ShoppingListEntryFromJSON)), + }; +} + +export function PaginatedShoppingListEntryListToJSON(value?: PaginatedShoppingListEntryList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(ShoppingListEntryToJSON)), + }; +} + diff --git a/models/PaginatedShoppingListRecipeList.ts b/models/PaginatedShoppingListRecipeList.ts new file mode 100644 index 000000000..bddcc8248 --- /dev/null +++ b/models/PaginatedShoppingListRecipeList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ShoppingListRecipe } from './ShoppingListRecipe'; +import { + ShoppingListRecipeFromJSON, + ShoppingListRecipeFromJSONTyped, + ShoppingListRecipeToJSON, +} from './ShoppingListRecipe'; + +/** + * + * @export + * @interface PaginatedShoppingListRecipeList + */ +export interface PaginatedShoppingListRecipeList { + /** + * + * @type {number} + * @memberof PaginatedShoppingListRecipeList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedShoppingListRecipeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedShoppingListRecipeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedShoppingListRecipeList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedShoppingListRecipeList interface. + */ +export function instanceOfPaginatedShoppingListRecipeList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedShoppingListRecipeListFromJSON(json: any): PaginatedShoppingListRecipeList { + return PaginatedShoppingListRecipeListFromJSONTyped(json, false); +} + +export function PaginatedShoppingListRecipeListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedShoppingListRecipeList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(ShoppingListRecipeFromJSON)), + }; +} + +export function PaginatedShoppingListRecipeListToJSON(value?: PaginatedShoppingListRecipeList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(ShoppingListRecipeToJSON)), + }; +} + diff --git a/models/PaginatedStepList.ts b/models/PaginatedStepList.ts new file mode 100644 index 000000000..a5d793fa6 --- /dev/null +++ b/models/PaginatedStepList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Step } from './Step'; +import { + StepFromJSON, + StepFromJSONTyped, + StepToJSON, +} from './Step'; + +/** + * + * @export + * @interface PaginatedStepList + */ +export interface PaginatedStepList { + /** + * + * @type {number} + * @memberof PaginatedStepList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedStepList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedStepList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedStepList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedStepList interface. + */ +export function instanceOfPaginatedStepList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedStepListFromJSON(json: any): PaginatedStepList { + return PaginatedStepListFromJSONTyped(json, false); +} + +export function PaginatedStepListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedStepList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(StepFromJSON)), + }; +} + +export function PaginatedStepListToJSON(value?: PaginatedStepList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(StepToJSON)), + }; +} + diff --git a/models/PaginatedSupermarketCategoryList.ts b/models/PaginatedSupermarketCategoryList.ts new file mode 100644 index 000000000..5c7baae18 --- /dev/null +++ b/models/PaginatedSupermarketCategoryList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SupermarketCategory } from './SupermarketCategory'; +import { + SupermarketCategoryFromJSON, + SupermarketCategoryFromJSONTyped, + SupermarketCategoryToJSON, +} from './SupermarketCategory'; + +/** + * + * @export + * @interface PaginatedSupermarketCategoryList + */ +export interface PaginatedSupermarketCategoryList { + /** + * + * @type {number} + * @memberof PaginatedSupermarketCategoryList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSupermarketCategoryList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSupermarketCategoryList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSupermarketCategoryList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedSupermarketCategoryList interface. + */ +export function instanceOfPaginatedSupermarketCategoryList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedSupermarketCategoryListFromJSON(json: any): PaginatedSupermarketCategoryList { + return PaginatedSupermarketCategoryListFromJSONTyped(json, false); +} + +export function PaginatedSupermarketCategoryListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSupermarketCategoryList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(SupermarketCategoryFromJSON)), + }; +} + +export function PaginatedSupermarketCategoryListToJSON(value?: PaginatedSupermarketCategoryList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(SupermarketCategoryToJSON)), + }; +} + diff --git a/models/PaginatedSupermarketCategoryRelationList.ts b/models/PaginatedSupermarketCategoryRelationList.ts new file mode 100644 index 000000000..4cdfe496c --- /dev/null +++ b/models/PaginatedSupermarketCategoryRelationList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SupermarketCategoryRelation } from './SupermarketCategoryRelation'; +import { + SupermarketCategoryRelationFromJSON, + SupermarketCategoryRelationFromJSONTyped, + SupermarketCategoryRelationToJSON, +} from './SupermarketCategoryRelation'; + +/** + * + * @export + * @interface PaginatedSupermarketCategoryRelationList + */ +export interface PaginatedSupermarketCategoryRelationList { + /** + * + * @type {number} + * @memberof PaginatedSupermarketCategoryRelationList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSupermarketCategoryRelationList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSupermarketCategoryRelationList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSupermarketCategoryRelationList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedSupermarketCategoryRelationList interface. + */ +export function instanceOfPaginatedSupermarketCategoryRelationList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedSupermarketCategoryRelationListFromJSON(json: any): PaginatedSupermarketCategoryRelationList { + return PaginatedSupermarketCategoryRelationListFromJSONTyped(json, false); +} + +export function PaginatedSupermarketCategoryRelationListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSupermarketCategoryRelationList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(SupermarketCategoryRelationFromJSON)), + }; +} + +export function PaginatedSupermarketCategoryRelationListToJSON(value?: PaginatedSupermarketCategoryRelationList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(SupermarketCategoryRelationToJSON)), + }; +} + diff --git a/models/PaginatedSupermarketList.ts b/models/PaginatedSupermarketList.ts new file mode 100644 index 000000000..91e013a55 --- /dev/null +++ b/models/PaginatedSupermarketList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Supermarket } from './Supermarket'; +import { + SupermarketFromJSON, + SupermarketFromJSONTyped, + SupermarketToJSON, +} from './Supermarket'; + +/** + * + * @export + * @interface PaginatedSupermarketList + */ +export interface PaginatedSupermarketList { + /** + * + * @type {number} + * @memberof PaginatedSupermarketList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSupermarketList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSupermarketList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSupermarketList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedSupermarketList interface. + */ +export function instanceOfPaginatedSupermarketList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedSupermarketListFromJSON(json: any): PaginatedSupermarketList { + return PaginatedSupermarketListFromJSONTyped(json, false); +} + +export function PaginatedSupermarketListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSupermarketList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(SupermarketFromJSON)), + }; +} + +export function PaginatedSupermarketListToJSON(value?: PaginatedSupermarketList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(SupermarketToJSON)), + }; +} + diff --git a/models/PaginatedSyncList.ts b/models/PaginatedSyncList.ts new file mode 100644 index 000000000..f3b38a4d2 --- /dev/null +++ b/models/PaginatedSyncList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Sync } from './Sync'; +import { + SyncFromJSON, + SyncFromJSONTyped, + SyncToJSON, +} from './Sync'; + +/** + * + * @export + * @interface PaginatedSyncList + */ +export interface PaginatedSyncList { + /** + * + * @type {number} + * @memberof PaginatedSyncList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSyncList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSyncList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSyncList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedSyncList interface. + */ +export function instanceOfPaginatedSyncList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedSyncListFromJSON(json: any): PaginatedSyncList { + return PaginatedSyncListFromJSONTyped(json, false); +} + +export function PaginatedSyncListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSyncList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(SyncFromJSON)), + }; +} + +export function PaginatedSyncListToJSON(value?: PaginatedSyncList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(SyncToJSON)), + }; +} + diff --git a/models/PaginatedSyncLogList.ts b/models/PaginatedSyncLogList.ts new file mode 100644 index 000000000..8f3fc165e --- /dev/null +++ b/models/PaginatedSyncLogList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SyncLog } from './SyncLog'; +import { + SyncLogFromJSON, + SyncLogFromJSONTyped, + SyncLogToJSON, +} from './SyncLog'; + +/** + * + * @export + * @interface PaginatedSyncLogList + */ +export interface PaginatedSyncLogList { + /** + * + * @type {number} + * @memberof PaginatedSyncLogList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSyncLogList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSyncLogList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSyncLogList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedSyncLogList interface. + */ +export function instanceOfPaginatedSyncLogList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedSyncLogListFromJSON(json: any): PaginatedSyncLogList { + return PaginatedSyncLogListFromJSONTyped(json, false); +} + +export function PaginatedSyncLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSyncLogList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(SyncLogFromJSON)), + }; +} + +export function PaginatedSyncLogListToJSON(value?: PaginatedSyncLogList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(SyncLogToJSON)), + }; +} + diff --git a/models/PaginatedUnitConversionList.ts b/models/PaginatedUnitConversionList.ts new file mode 100644 index 000000000..38dc2b687 --- /dev/null +++ b/models/PaginatedUnitConversionList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UnitConversion } from './UnitConversion'; +import { + UnitConversionFromJSON, + UnitConversionFromJSONTyped, + UnitConversionToJSON, +} from './UnitConversion'; + +/** + * + * @export + * @interface PaginatedUnitConversionList + */ +export interface PaginatedUnitConversionList { + /** + * + * @type {number} + * @memberof PaginatedUnitConversionList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedUnitConversionList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedUnitConversionList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedUnitConversionList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedUnitConversionList interface. + */ +export function instanceOfPaginatedUnitConversionList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedUnitConversionListFromJSON(json: any): PaginatedUnitConversionList { + return PaginatedUnitConversionListFromJSONTyped(json, false); +} + +export function PaginatedUnitConversionListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUnitConversionList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(UnitConversionFromJSON)), + }; +} + +export function PaginatedUnitConversionListToJSON(value?: PaginatedUnitConversionList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(UnitConversionToJSON)), + }; +} + diff --git a/models/PaginatedUnitList.ts b/models/PaginatedUnitList.ts new file mode 100644 index 000000000..9bbcdcf5f --- /dev/null +++ b/models/PaginatedUnitList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Unit } from './Unit'; +import { + UnitFromJSON, + UnitFromJSONTyped, + UnitToJSON, +} from './Unit'; + +/** + * + * @export + * @interface PaginatedUnitList + */ +export interface PaginatedUnitList { + /** + * + * @type {number} + * @memberof PaginatedUnitList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedUnitList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedUnitList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedUnitList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedUnitList interface. + */ +export function instanceOfPaginatedUnitList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedUnitListFromJSON(json: any): PaginatedUnitList { + return PaginatedUnitListFromJSONTyped(json, false); +} + +export function PaginatedUnitListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUnitList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(UnitFromJSON)), + }; +} + +export function PaginatedUnitListToJSON(value?: PaginatedUnitList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(UnitToJSON)), + }; +} + diff --git a/models/PaginatedUserFileList.ts b/models/PaginatedUserFileList.ts new file mode 100644 index 000000000..2450732cc --- /dev/null +++ b/models/PaginatedUserFileList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserFile } from './UserFile'; +import { + UserFileFromJSON, + UserFileFromJSONTyped, + UserFileToJSON, +} from './UserFile'; + +/** + * + * @export + * @interface PaginatedUserFileList + */ +export interface PaginatedUserFileList { + /** + * + * @type {number} + * @memberof PaginatedUserFileList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedUserFileList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedUserFileList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedUserFileList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedUserFileList interface. + */ +export function instanceOfPaginatedUserFileList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedUserFileListFromJSON(json: any): PaginatedUserFileList { + return PaginatedUserFileListFromJSONTyped(json, false); +} + +export function PaginatedUserFileListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUserFileList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(UserFileFromJSON)), + }; +} + +export function PaginatedUserFileListToJSON(value?: PaginatedUserFileList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(UserFileToJSON)), + }; +} + diff --git a/models/PaginatedUserSpaceList.ts b/models/PaginatedUserSpaceList.ts new file mode 100644 index 000000000..74a77eb74 --- /dev/null +++ b/models/PaginatedUserSpaceList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserSpace } from './UserSpace'; +import { + UserSpaceFromJSON, + UserSpaceFromJSONTyped, + UserSpaceToJSON, +} from './UserSpace'; + +/** + * + * @export + * @interface PaginatedUserSpaceList + */ +export interface PaginatedUserSpaceList { + /** + * + * @type {number} + * @memberof PaginatedUserSpaceList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedUserSpaceList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedUserSpaceList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedUserSpaceList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedUserSpaceList interface. + */ +export function instanceOfPaginatedUserSpaceList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedUserSpaceListFromJSON(json: any): PaginatedUserSpaceList { + return PaginatedUserSpaceListFromJSONTyped(json, false); +} + +export function PaginatedUserSpaceListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUserSpaceList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(UserSpaceFromJSON)), + }; +} + +export function PaginatedUserSpaceListToJSON(value?: PaginatedUserSpaceList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(UserSpaceToJSON)), + }; +} + diff --git a/models/PaginatedViewLogList.ts b/models/PaginatedViewLogList.ts new file mode 100644 index 000000000..dbf3b0534 --- /dev/null +++ b/models/PaginatedViewLogList.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ViewLog } from './ViewLog'; +import { + ViewLogFromJSON, + ViewLogFromJSONTyped, + ViewLogToJSON, +} from './ViewLog'; + +/** + * + * @export + * @interface PaginatedViewLogList + */ +export interface PaginatedViewLogList { + /** + * + * @type {number} + * @memberof PaginatedViewLogList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedViewLogList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedViewLogList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedViewLogList + */ + results?: Array; +} + +/** + * Check if a given object implements the PaginatedViewLogList interface. + */ +export function instanceOfPaginatedViewLogList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PaginatedViewLogListFromJSON(json: any): PaginatedViewLogList { + return PaginatedViewLogListFromJSONTyped(json, false); +} + +export function PaginatedViewLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedViewLogList { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': !exists(json, 'count') ? undefined : json['count'], + 'next': !exists(json, 'next') ? undefined : json['next'], + 'previous': !exists(json, 'previous') ? undefined : json['previous'], + 'results': !exists(json, 'results') ? undefined : ((json['results'] as Array).map(ViewLogFromJSON)), + }; +} + +export function PaginatedViewLogListToJSON(value?: PaginatedViewLogList | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'next': value.next, + 'previous': value.previous, + 'results': value.results === undefined ? undefined : ((value.results as Array).map(ViewLogToJSON)), + }; +} + diff --git a/models/PatchedAccessToken.ts b/models/PatchedAccessToken.ts new file mode 100644 index 000000000..1c136a970 --- /dev/null +++ b/models/PatchedAccessToken.ts @@ -0,0 +1,101 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedAccessToken + */ +export interface PatchedAccessToken { + /** + * + * @type {number} + * @memberof PatchedAccessToken + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedAccessToken + */ + readonly token?: string; + /** + * + * @type {Date} + * @memberof PatchedAccessToken + */ + expires?: Date; + /** + * + * @type {string} + * @memberof PatchedAccessToken + */ + scope?: string; + /** + * + * @type {Date} + * @memberof PatchedAccessToken + */ + readonly created?: Date; + /** + * + * @type {Date} + * @memberof PatchedAccessToken + */ + readonly updated?: Date; +} + +/** + * Check if a given object implements the PatchedAccessToken interface. + */ +export function instanceOfPatchedAccessToken(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedAccessTokenFromJSON(json: any): PatchedAccessToken { + return PatchedAccessTokenFromJSONTyped(json, false); +} + +export function PatchedAccessTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedAccessToken { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'token': !exists(json, 'token') ? undefined : json['token'], + 'expires': !exists(json, 'expires') ? undefined : (new Date(json['expires'])), + 'scope': !exists(json, 'scope') ? undefined : json['scope'], + 'created': !exists(json, 'created') ? undefined : (new Date(json['created'])), + 'updated': !exists(json, 'updated') ? undefined : (new Date(json['updated'])), + }; +} + +export function PatchedAccessTokenToJSON(value?: PatchedAccessToken | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'expires': value.expires === undefined ? undefined : (value.expires.toISOString()), + 'scope': value.scope, + }; +} + diff --git a/models/PatchedAutomation.ts b/models/PatchedAutomation.ts new file mode 100644 index 000000000..25b659a61 --- /dev/null +++ b/models/PatchedAutomation.ts @@ -0,0 +1,142 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TypeEnum } from './TypeEnum'; +import { + TypeEnumFromJSON, + TypeEnumFromJSONTyped, + TypeEnumToJSON, +} from './TypeEnum'; + +/** + * + * @export + * @interface PatchedAutomation + */ +export interface PatchedAutomation { + /** + * + * @type {number} + * @memberof PatchedAutomation + */ + readonly id?: number; + /** + * + * @type {TypeEnum} + * @memberof PatchedAutomation + */ + type?: TypeEnum; + /** + * + * @type {string} + * @memberof PatchedAutomation + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedAutomation + */ + description?: string | null; + /** + * + * @type {string} + * @memberof PatchedAutomation + */ + param1?: string | null; + /** + * + * @type {string} + * @memberof PatchedAutomation + */ + param2?: string | null; + /** + * + * @type {string} + * @memberof PatchedAutomation + */ + param3?: string | null; + /** + * + * @type {number} + * @memberof PatchedAutomation + */ + order?: number; + /** + * + * @type {boolean} + * @memberof PatchedAutomation + */ + disabled?: boolean; + /** + * + * @type {number} + * @memberof PatchedAutomation + */ + readonly createdBy?: number; +} + +/** + * Check if a given object implements the PatchedAutomation interface. + */ +export function instanceOfPatchedAutomation(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedAutomationFromJSON(json: any): PatchedAutomation { + return PatchedAutomationFromJSONTyped(json, false); +} + +export function PatchedAutomationFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedAutomation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'type': !exists(json, 'type') ? undefined : TypeEnumFromJSON(json['type']), + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'param1': !exists(json, 'param_1') ? undefined : json['param_1'], + 'param2': !exists(json, 'param_2') ? undefined : json['param_2'], + 'param3': !exists(json, 'param_3') ? undefined : json['param_3'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'disabled': !exists(json, 'disabled') ? undefined : json['disabled'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + }; +} + +export function PatchedAutomationToJSON(value?: PatchedAutomation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'type': TypeEnumToJSON(value.type), + 'name': value.name, + 'description': value.description, + 'param_1': value.param1, + 'param_2': value.param2, + 'param_3': value.param3, + 'order': value.order, + 'disabled': value.disabled, + }; +} + diff --git a/models/PatchedBookmarkletImport.ts b/models/PatchedBookmarkletImport.ts new file mode 100644 index 000000000..ff6499b93 --- /dev/null +++ b/models/PatchedBookmarkletImport.ts @@ -0,0 +1,94 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedBookmarkletImport + */ +export interface PatchedBookmarkletImport { + /** + * + * @type {number} + * @memberof PatchedBookmarkletImport + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedBookmarkletImport + */ + url?: string | null; + /** + * + * @type {string} + * @memberof PatchedBookmarkletImport + */ + html?: string; + /** + * + * @type {number} + * @memberof PatchedBookmarkletImport + */ + readonly createdBy?: number; + /** + * + * @type {Date} + * @memberof PatchedBookmarkletImport + */ + readonly createdAt?: Date; +} + +/** + * Check if a given object implements the PatchedBookmarkletImport interface. + */ +export function instanceOfPatchedBookmarkletImport(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedBookmarkletImportFromJSON(json: any): PatchedBookmarkletImport { + return PatchedBookmarkletImportFromJSONTyped(json, false); +} + +export function PatchedBookmarkletImportFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedBookmarkletImport { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'url': !exists(json, 'url') ? undefined : json['url'], + 'html': !exists(json, 'html') ? undefined : json['html'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + }; +} + +export function PatchedBookmarkletImportToJSON(value?: PatchedBookmarkletImport | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'url': value.url, + 'html': value.html, + }; +} + diff --git a/models/PatchedConnectorConfigConfig.ts b/models/PatchedConnectorConfigConfig.ts new file mode 100644 index 000000000..468ccb9c6 --- /dev/null +++ b/models/PatchedConnectorConfigConfig.ts @@ -0,0 +1,135 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedConnectorConfigConfig + */ +export interface PatchedConnectorConfigConfig { + /** + * + * @type {number} + * @memberof PatchedConnectorConfigConfig + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedConnectorConfigConfig + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedConnectorConfigConfig + */ + url?: string | null; + /** + * + * @type {string} + * @memberof PatchedConnectorConfigConfig + */ + token?: string | null; + /** + * + * @type {string} + * @memberof PatchedConnectorConfigConfig + */ + todoEntity?: string | null; + /** + * Is Connector Enabled + * @type {boolean} + * @memberof PatchedConnectorConfigConfig + */ + enabled?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedConnectorConfigConfig + */ + onShoppingListEntryCreatedEnabled?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedConnectorConfigConfig + */ + onShoppingListEntryUpdatedEnabled?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedConnectorConfigConfig + */ + onShoppingListEntryDeletedEnabled?: boolean; + /** + * + * @type {number} + * @memberof PatchedConnectorConfigConfig + */ + readonly createdBy?: number; +} + +/** + * Check if a given object implements the PatchedConnectorConfigConfig interface. + */ +export function instanceOfPatchedConnectorConfigConfig(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedConnectorConfigConfigFromJSON(json: any): PatchedConnectorConfigConfig { + return PatchedConnectorConfigConfigFromJSONTyped(json, false); +} + +export function PatchedConnectorConfigConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedConnectorConfigConfig { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'url': !exists(json, 'url') ? undefined : json['url'], + 'token': !exists(json, 'token') ? undefined : json['token'], + 'todoEntity': !exists(json, 'todo_entity') ? undefined : json['todo_entity'], + 'enabled': !exists(json, 'enabled') ? undefined : json['enabled'], + 'onShoppingListEntryCreatedEnabled': !exists(json, 'on_shopping_list_entry_created_enabled') ? undefined : json['on_shopping_list_entry_created_enabled'], + 'onShoppingListEntryUpdatedEnabled': !exists(json, 'on_shopping_list_entry_updated_enabled') ? undefined : json['on_shopping_list_entry_updated_enabled'], + 'onShoppingListEntryDeletedEnabled': !exists(json, 'on_shopping_list_entry_deleted_enabled') ? undefined : json['on_shopping_list_entry_deleted_enabled'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + }; +} + +export function PatchedConnectorConfigConfigToJSON(value?: PatchedConnectorConfigConfig | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'url': value.url, + 'token': value.token, + 'todo_entity': value.todoEntity, + 'enabled': value.enabled, + 'on_shopping_list_entry_created_enabled': value.onShoppingListEntryCreatedEnabled, + 'on_shopping_list_entry_updated_enabled': value.onShoppingListEntryUpdatedEnabled, + 'on_shopping_list_entry_deleted_enabled': value.onShoppingListEntryDeletedEnabled, + }; +} + diff --git a/models/PatchedCookLog.ts b/models/PatchedCookLog.ts new file mode 100644 index 000000000..46e1b4db9 --- /dev/null +++ b/models/PatchedCookLog.ts @@ -0,0 +1,125 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * + * @export + * @interface PatchedCookLog + */ +export interface PatchedCookLog { + /** + * + * @type {number} + * @memberof PatchedCookLog + */ + readonly id?: number; + /** + * + * @type {number} + * @memberof PatchedCookLog + */ + recipe?: number; + /** + * + * @type {number} + * @memberof PatchedCookLog + */ + servings?: number | null; + /** + * + * @type {number} + * @memberof PatchedCookLog + */ + rating?: number | null; + /** + * + * @type {string} + * @memberof PatchedCookLog + */ + comment?: string | null; + /** + * + * @type {User} + * @memberof PatchedCookLog + */ + readonly createdBy?: User; + /** + * + * @type {Date} + * @memberof PatchedCookLog + */ + createdAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedCookLog + */ + readonly updatedAt?: Date; +} + +/** + * Check if a given object implements the PatchedCookLog interface. + */ +export function instanceOfPatchedCookLog(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedCookLogFromJSON(json: any): PatchedCookLog { + return PatchedCookLogFromJSONTyped(json, false); +} + +export function PatchedCookLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedCookLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'recipe': !exists(json, 'recipe') ? undefined : json['recipe'], + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + 'rating': !exists(json, 'rating') ? undefined : json['rating'], + 'comment': !exists(json, 'comment') ? undefined : json['comment'], + 'createdBy': !exists(json, 'created_by') ? undefined : UserFromJSON(json['created_by']), + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])), + }; +} + +export function PatchedCookLogToJSON(value?: PatchedCookLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'recipe': value.recipe, + 'servings': value.servings, + 'rating': value.rating, + 'comment': value.comment, + 'created_at': value.createdAt === undefined ? undefined : (value.createdAt.toISOString()), + }; +} + diff --git a/models/PatchedCustomFilter.ts b/models/PatchedCustomFilter.ts new file mode 100644 index 000000000..356455110 --- /dev/null +++ b/models/PatchedCustomFilter.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface PatchedCustomFilter + */ +export interface PatchedCustomFilter { + /** + * + * @type {number} + * @memberof PatchedCustomFilter + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedCustomFilter + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedCustomFilter + */ + search?: string; + /** + * + * @type {Array} + * @memberof PatchedCustomFilter + */ + shared?: Array; + /** + * + * @type {number} + * @memberof PatchedCustomFilter + */ + readonly createdBy?: number; +} + +/** + * Check if a given object implements the PatchedCustomFilter interface. + */ +export function instanceOfPatchedCustomFilter(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedCustomFilterFromJSON(json: any): PatchedCustomFilter { + return PatchedCustomFilterFromJSONTyped(json, false); +} + +export function PatchedCustomFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedCustomFilter { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'search': !exists(json, 'search') ? undefined : json['search'], + 'shared': !exists(json, 'shared') ? undefined : ((json['shared'] as Array).map(UserFromJSON)), + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + }; +} + +export function PatchedCustomFilterToJSON(value?: PatchedCustomFilter | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'search': value.search, + 'shared': value.shared === undefined ? undefined : ((value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/PatchedExportLog.ts b/models/PatchedExportLog.ts new file mode 100644 index 000000000..90040ef12 --- /dev/null +++ b/models/PatchedExportLog.ts @@ -0,0 +1,134 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedExportLog + */ +export interface PatchedExportLog { + /** + * + * @type {number} + * @memberof PatchedExportLog + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedExportLog + */ + type?: string; + /** + * + * @type {string} + * @memberof PatchedExportLog + */ + msg?: string; + /** + * + * @type {boolean} + * @memberof PatchedExportLog + */ + running?: boolean; + /** + * + * @type {number} + * @memberof PatchedExportLog + */ + totalRecipes?: number; + /** + * + * @type {number} + * @memberof PatchedExportLog + */ + exportedRecipes?: number; + /** + * + * @type {number} + * @memberof PatchedExportLog + */ + cacheDuration?: number; + /** + * + * @type {boolean} + * @memberof PatchedExportLog + */ + possiblyNotExpired?: boolean; + /** + * + * @type {number} + * @memberof PatchedExportLog + */ + readonly createdBy?: number; + /** + * + * @type {Date} + * @memberof PatchedExportLog + */ + readonly createdAt?: Date; +} + +/** + * Check if a given object implements the PatchedExportLog interface. + */ +export function instanceOfPatchedExportLog(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedExportLogFromJSON(json: any): PatchedExportLog { + return PatchedExportLogFromJSONTyped(json, false); +} + +export function PatchedExportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedExportLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'type': !exists(json, 'type') ? undefined : json['type'], + 'msg': !exists(json, 'msg') ? undefined : json['msg'], + 'running': !exists(json, 'running') ? undefined : json['running'], + 'totalRecipes': !exists(json, 'total_recipes') ? undefined : json['total_recipes'], + 'exportedRecipes': !exists(json, 'exported_recipes') ? undefined : json['exported_recipes'], + 'cacheDuration': !exists(json, 'cache_duration') ? undefined : json['cache_duration'], + 'possiblyNotExpired': !exists(json, 'possibly_not_expired') ? undefined : json['possibly_not_expired'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + }; +} + +export function PatchedExportLogToJSON(value?: PatchedExportLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'type': value.type, + 'msg': value.msg, + 'running': value.running, + 'total_recipes': value.totalRecipes, + 'exported_recipes': value.exportedRecipes, + 'cache_duration': value.cacheDuration, + 'possibly_not_expired': value.possiblyNotExpired, + }; +} + diff --git a/models/PatchedFood.ts b/models/PatchedFood.ts new file mode 100644 index 000000000..0ad725428 --- /dev/null +++ b/models/PatchedFood.ts @@ -0,0 +1,315 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { FoodRecipe } from './FoodRecipe'; +import { + FoodRecipeFromJSON, + FoodRecipeFromJSONTyped, + FoodRecipeToJSON, +} from './FoodRecipe'; +import type { FoodSimple } from './FoodSimple'; +import { + FoodSimpleFromJSON, + FoodSimpleFromJSONTyped, + FoodSimpleToJSON, +} from './FoodSimple'; +import type { FoodSupermarketCategory } from './FoodSupermarketCategory'; +import { + FoodSupermarketCategoryFromJSON, + FoodSupermarketCategoryFromJSONTyped, + FoodSupermarketCategoryToJSON, +} from './FoodSupermarketCategory'; +import type { Property } from './Property'; +import { + PropertyFromJSON, + PropertyFromJSONTyped, + PropertyToJSON, +} from './Property'; + +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface PatchedFood + */ +export interface PatchedFood { + /** + * + * @type {number} + * @memberof PatchedFood + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedFood + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedFood + */ + pluralName?: string | null; + /** + * + * @type {string} + * @memberof PatchedFood + */ + description?: string; + /** + * + * @type {string} + * @memberof PatchedFood + */ + readonly shopping?: string; + /** + * + * @type {FoodRecipe} + * @memberof PatchedFood + */ + recipe?: FoodRecipe | null; + /** + * + * @type {string} + * @memberof PatchedFood + */ + url?: string | null; + /** + * + * @type {Array} + * @memberof PatchedFood + */ + properties?: Array | null; + /** + * + * @type {number} + * @memberof PatchedFood + */ + propertiesFoodAmount?: number; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof PatchedFood + */ + propertiesFoodUnit?: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof PatchedFood + */ + fdcId?: number | null; + /** + * + * @type {boolean} + * @memberof PatchedFood + */ + foodOnhand?: boolean | null; + /** + * + * @type {FoodSupermarketCategory} + * @memberof PatchedFood + */ + supermarketCategory?: FoodSupermarketCategory | null; + /** + * + * @type {number} + * @memberof PatchedFood + */ + readonly parent?: number; + /** + * + * @type {number} + * @memberof PatchedFood + */ + readonly numchild?: number; + /** + * + * @type {Array} + * @memberof PatchedFood + */ + inheritFields?: Array | null; + /** + * Returns a string representation of a tree node and it's ancestors, + * e.g. 'Cuisine > Asian > Chinese > Catonese'. + * @type {string} + * @memberof PatchedFood + */ + readonly fullName?: string; + /** + * + * @type {boolean} + * @memberof PatchedFood + */ + ignoreShopping?: boolean; + /** + * + * @type {Array} + * @memberof PatchedFood + */ + substitute?: Array | null; + /** + * + * @type {boolean} + * @memberof PatchedFood + */ + substituteSiblings?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedFood + */ + substituteChildren?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedFood + */ + readonly substituteOnhand?: boolean; + /** + * + * @type {Array} + * @memberof PatchedFood + */ + childInheritFields?: Array | null; + /** + * + * @type {string} + * @memberof PatchedFood + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the PatchedFood interface. + */ +export function instanceOfPatchedFood(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedFoodFromJSON(json: any): PatchedFood { + return PatchedFoodFromJSONTyped(json, false); +} + +export function PatchedFoodFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedFood { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'shopping': !exists(json, 'shopping') ? undefined : json['shopping'], + 'recipe': !exists(json, 'recipe') ? undefined : FoodRecipeFromJSON(json['recipe']), + 'url': !exists(json, 'url') ? undefined : json['url'], + 'properties': !exists(json, 'properties') ? undefined : (json['properties'] === null ? null : (json['properties'] as Array).map(PropertyFromJSON)), + 'propertiesFoodAmount': !exists(json, 'properties_food_amount') ? undefined : json['properties_food_amount'], + 'propertiesFoodUnit': !exists(json, 'properties_food_unit') ? undefined : FoodPropertiesFoodUnitFromJSON(json['properties_food_unit']), + 'fdcId': !exists(json, 'fdc_id') ? undefined : json['fdc_id'], + 'foodOnhand': !exists(json, 'food_onhand') ? undefined : json['food_onhand'], + 'supermarketCategory': !exists(json, 'supermarket_category') ? undefined : FoodSupermarketCategoryFromJSON(json['supermarket_category']), + 'parent': !exists(json, 'parent') ? undefined : json['parent'], + 'numchild': !exists(json, 'numchild') ? undefined : json['numchild'], + 'inheritFields': !exists(json, 'inherit_fields') ? undefined : (json['inherit_fields'] === null ? null : (json['inherit_fields'] as Array).map(FoodInheritFieldFromJSON)), + 'fullName': !exists(json, 'full_name') ? undefined : json['full_name'], + 'ignoreShopping': !exists(json, 'ignore_shopping') ? undefined : json['ignore_shopping'], + 'substitute': !exists(json, 'substitute') ? undefined : (json['substitute'] === null ? null : (json['substitute'] as Array).map(FoodSimpleFromJSON)), + 'substituteSiblings': !exists(json, 'substitute_siblings') ? undefined : json['substitute_siblings'], + 'substituteChildren': !exists(json, 'substitute_children') ? undefined : json['substitute_children'], + 'substituteOnhand': !exists(json, 'substitute_onhand') ? undefined : json['substitute_onhand'], + 'childInheritFields': !exists(json, 'child_inherit_fields') ? undefined : (json['child_inherit_fields'] === null ? null : (json['child_inherit_fields'] as Array).map(FoodInheritFieldFromJSON)), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function PatchedFoodToJSON(value?: PatchedFood | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + 'description': value.description, + 'recipe': FoodRecipeToJSON(value.recipe), + 'url': value.url, + 'properties': value.properties === undefined ? undefined : (value.properties === null ? null : (value.properties as Array).map(PropertyToJSON)), + 'properties_food_amount': value.propertiesFoodAmount, + 'properties_food_unit': FoodPropertiesFoodUnitToJSON(value.propertiesFoodUnit), + 'fdc_id': value.fdcId, + 'food_onhand': value.foodOnhand, + 'supermarket_category': FoodSupermarketCategoryToJSON(value.supermarketCategory), + 'inherit_fields': value.inheritFields === undefined ? undefined : (value.inheritFields === null ? null : (value.inheritFields as Array).map(FoodInheritFieldToJSON)), + 'ignore_shopping': value.ignoreShopping, + 'substitute': value.substitute === undefined ? undefined : (value.substitute === null ? null : (value.substitute as Array).map(FoodSimpleToJSON)), + 'substitute_siblings': value.substituteSiblings, + 'substitute_children': value.substituteChildren, + 'child_inherit_fields': value.childInheritFields === undefined ? undefined : (value.childInheritFields === null ? null : (value.childInheritFields as Array).map(FoodInheritFieldToJSON)), + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/PatchedImportLog.ts b/models/PatchedImportLog.ts new file mode 100644 index 000000000..94a4c8bc6 --- /dev/null +++ b/models/PatchedImportLog.ts @@ -0,0 +1,132 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Keyword } from './Keyword'; +import { + KeywordFromJSON, + KeywordFromJSONTyped, + KeywordToJSON, +} from './Keyword'; + +/** + * + * @export + * @interface PatchedImportLog + */ +export interface PatchedImportLog { + /** + * + * @type {number} + * @memberof PatchedImportLog + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedImportLog + */ + type?: string; + /** + * + * @type {string} + * @memberof PatchedImportLog + */ + msg?: string; + /** + * + * @type {boolean} + * @memberof PatchedImportLog + */ + running?: boolean; + /** + * + * @type {Keyword} + * @memberof PatchedImportLog + */ + readonly keyword?: Keyword; + /** + * + * @type {number} + * @memberof PatchedImportLog + */ + totalRecipes?: number; + /** + * + * @type {number} + * @memberof PatchedImportLog + */ + importedRecipes?: number; + /** + * + * @type {number} + * @memberof PatchedImportLog + */ + readonly createdBy?: number; + /** + * + * @type {Date} + * @memberof PatchedImportLog + */ + readonly createdAt?: Date; +} + +/** + * Check if a given object implements the PatchedImportLog interface. + */ +export function instanceOfPatchedImportLog(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedImportLogFromJSON(json: any): PatchedImportLog { + return PatchedImportLogFromJSONTyped(json, false); +} + +export function PatchedImportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedImportLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'type': !exists(json, 'type') ? undefined : json['type'], + 'msg': !exists(json, 'msg') ? undefined : json['msg'], + 'running': !exists(json, 'running') ? undefined : json['running'], + 'keyword': !exists(json, 'keyword') ? undefined : KeywordFromJSON(json['keyword']), + 'totalRecipes': !exists(json, 'total_recipes') ? undefined : json['total_recipes'], + 'importedRecipes': !exists(json, 'imported_recipes') ? undefined : json['imported_recipes'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + }; +} + +export function PatchedImportLogToJSON(value?: PatchedImportLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'type': value.type, + 'msg': value.msg, + 'running': value.running, + 'total_recipes': value.totalRecipes, + 'imported_recipes': value.importedRecipes, + }; +} + diff --git a/models/PatchedIngredient.ts b/models/PatchedIngredient.ts new file mode 100644 index 000000000..40c494021 --- /dev/null +++ b/models/PatchedIngredient.ts @@ -0,0 +1,171 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { IngredientFood } from './IngredientFood'; +import { + IngredientFoodFromJSON, + IngredientFoodFromJSONTyped, + IngredientFoodToJSON, +} from './IngredientFood'; + +/** + * Adds nested create feature + * @export + * @interface PatchedIngredient + */ +export interface PatchedIngredient { + /** + * + * @type {number} + * @memberof PatchedIngredient + */ + readonly id?: number; + /** + * + * @type {IngredientFood} + * @memberof PatchedIngredient + */ + food?: IngredientFood | null; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof PatchedIngredient + */ + unit?: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof PatchedIngredient + */ + amount?: number; + /** + * + * @type {Array} + * @memberof PatchedIngredient + */ + readonly conversions?: Array; + /** + * + * @type {string} + * @memberof PatchedIngredient + */ + note?: string | null; + /** + * + * @type {number} + * @memberof PatchedIngredient + */ + order?: number; + /** + * + * @type {boolean} + * @memberof PatchedIngredient + */ + isHeader?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedIngredient + */ + noAmount?: boolean; + /** + * + * @type {string} + * @memberof PatchedIngredient + */ + originalText?: string | null; + /** + * + * @type {Array} + * @memberof PatchedIngredient + */ + readonly usedInRecipes?: Array; + /** + * + * @type {boolean} + * @memberof PatchedIngredient + */ + alwaysUsePluralUnit?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedIngredient + */ + alwaysUsePluralFood?: boolean; +} + +/** + * Check if a given object implements the PatchedIngredient interface. + */ +export function instanceOfPatchedIngredient(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedIngredientFromJSON(json: any): PatchedIngredient { + return PatchedIngredientFromJSONTyped(json, false); +} + +export function PatchedIngredientFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedIngredient { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'food': !exists(json, 'food') ? undefined : IngredientFoodFromJSON(json['food']), + 'unit': !exists(json, 'unit') ? undefined : FoodPropertiesFoodUnitFromJSON(json['unit']), + 'amount': !exists(json, 'amount') ? undefined : json['amount'], + 'conversions': !exists(json, 'conversions') ? undefined : json['conversions'], + 'note': !exists(json, 'note') ? undefined : json['note'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'isHeader': !exists(json, 'is_header') ? undefined : json['is_header'], + 'noAmount': !exists(json, 'no_amount') ? undefined : json['no_amount'], + 'originalText': !exists(json, 'original_text') ? undefined : json['original_text'], + 'usedInRecipes': !exists(json, 'used_in_recipes') ? undefined : json['used_in_recipes'], + 'alwaysUsePluralUnit': !exists(json, 'always_use_plural_unit') ? undefined : json['always_use_plural_unit'], + 'alwaysUsePluralFood': !exists(json, 'always_use_plural_food') ? undefined : json['always_use_plural_food'], + }; +} + +export function PatchedIngredientToJSON(value?: PatchedIngredient | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'food': IngredientFoodToJSON(value.food), + 'unit': FoodPropertiesFoodUnitToJSON(value.unit), + 'amount': value.amount, + 'note': value.note, + 'order': value.order, + 'is_header': value.isHeader, + 'no_amount': value.noAmount, + 'original_text': value.originalText, + 'always_use_plural_unit': value.alwaysUsePluralUnit, + 'always_use_plural_food': value.alwaysUsePluralFood, + }; +} + diff --git a/models/PatchedInviteLink.ts b/models/PatchedInviteLink.ts new file mode 100644 index 000000000..6301e0fd0 --- /dev/null +++ b/models/PatchedInviteLink.ts @@ -0,0 +1,140 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Group } from './Group'; +import { + GroupFromJSON, + GroupFromJSONTyped, + GroupToJSON, +} from './Group'; + +/** + * Adds nested create feature + * @export + * @interface PatchedInviteLink + */ +export interface PatchedInviteLink { + /** + * + * @type {number} + * @memberof PatchedInviteLink + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedInviteLink + */ + readonly uuid?: string; + /** + * + * @type {string} + * @memberof PatchedInviteLink + */ + email?: string; + /** + * + * @type {Group} + * @memberof PatchedInviteLink + */ + group?: Group; + /** + * + * @type {Date} + * @memberof PatchedInviteLink + */ + validUntil?: Date; + /** + * + * @type {number} + * @memberof PatchedInviteLink + */ + usedBy?: number | null; + /** + * + * @type {boolean} + * @memberof PatchedInviteLink + */ + reusable?: boolean; + /** + * + * @type {string} + * @memberof PatchedInviteLink + */ + internalNote?: string | null; + /** + * + * @type {number} + * @memberof PatchedInviteLink + */ + readonly createdBy?: number; + /** + * + * @type {Date} + * @memberof PatchedInviteLink + */ + readonly createdAt?: Date; +} + +/** + * Check if a given object implements the PatchedInviteLink interface. + */ +export function instanceOfPatchedInviteLink(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedInviteLinkFromJSON(json: any): PatchedInviteLink { + return PatchedInviteLinkFromJSONTyped(json, false); +} + +export function PatchedInviteLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedInviteLink { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'uuid': !exists(json, 'uuid') ? undefined : json['uuid'], + 'email': !exists(json, 'email') ? undefined : json['email'], + 'group': !exists(json, 'group') ? undefined : GroupFromJSON(json['group']), + 'validUntil': !exists(json, 'valid_until') ? undefined : (new Date(json['valid_until'])), + 'usedBy': !exists(json, 'used_by') ? undefined : json['used_by'], + 'reusable': !exists(json, 'reusable') ? undefined : json['reusable'], + 'internalNote': !exists(json, 'internal_note') ? undefined : json['internal_note'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + }; +} + +export function PatchedInviteLinkToJSON(value?: PatchedInviteLink | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'email': value.email, + 'group': GroupToJSON(value.group), + 'valid_until': value.validUntil === undefined ? undefined : (value.validUntil.toISOString().substr(0,10)), + 'used_by': value.usedBy, + 'reusable': value.reusable, + 'internal_note': value.internalNote, + }; +} + diff --git a/models/PatchedKeyword.ts b/models/PatchedKeyword.ts new file mode 100644 index 000000000..83933dad5 --- /dev/null +++ b/models/PatchedKeyword.ts @@ -0,0 +1,157 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface PatchedKeyword + */ +export interface PatchedKeyword { + /** + * + * @type {number} + * @memberof PatchedKeyword + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedKeyword + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedKeyword + */ + readonly label?: string; + /** + * + * @type {string} + * @memberof PatchedKeyword + */ + description?: string; + /** + * + * @type {number} + * @memberof PatchedKeyword + */ + readonly parent?: number; + /** + * + * @type {number} + * @memberof PatchedKeyword + */ + readonly numchild?: number; + /** + * + * @type {Date} + * @memberof PatchedKeyword + */ + readonly createdAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedKeyword + */ + readonly updatedAt?: Date; + /** + * Returns a string representation of a tree node and it's ancestors, + * e.g. 'Cuisine > Asian > Chinese > Catonese'. + * @type {string} + * @memberof PatchedKeyword + */ + readonly fullName?: string; +} + +/** + * Check if a given object implements the PatchedKeyword interface. + */ +export function instanceOfPatchedKeyword(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedKeywordFromJSON(json: any): PatchedKeyword { + return PatchedKeywordFromJSONTyped(json, false); +} + +export function PatchedKeywordFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedKeyword { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'label': !exists(json, 'label') ? undefined : json['label'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'parent': !exists(json, 'parent') ? undefined : json['parent'], + 'numchild': !exists(json, 'numchild') ? undefined : json['numchild'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])), + 'fullName': !exists(json, 'full_name') ? undefined : json['full_name'], + }; +} + +export function PatchedKeywordToJSON(value?: PatchedKeyword | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + }; +} + diff --git a/models/PatchedMealPlan.ts b/models/PatchedMealPlan.ts new file mode 100644 index 000000000..b186e9817 --- /dev/null +++ b/models/PatchedMealPlan.ts @@ -0,0 +1,182 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MealPlanRecipe } from './MealPlanRecipe'; +import { + MealPlanRecipeFromJSON, + MealPlanRecipeFromJSONTyped, + MealPlanRecipeToJSON, +} from './MealPlanRecipe'; +import type { MealType } from './MealType'; +import { + MealTypeFromJSON, + MealTypeFromJSONTyped, + MealTypeToJSON, +} from './MealType'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface PatchedMealPlan + */ +export interface PatchedMealPlan { + /** + * + * @type {number} + * @memberof PatchedMealPlan + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedMealPlan + */ + title?: string; + /** + * + * @type {MealPlanRecipe} + * @memberof PatchedMealPlan + */ + recipe?: MealPlanRecipe | null; + /** + * + * @type {number} + * @memberof PatchedMealPlan + */ + servings?: number; + /** + * + * @type {string} + * @memberof PatchedMealPlan + */ + note?: string; + /** + * + * @type {string} + * @memberof PatchedMealPlan + */ + readonly noteMarkdown?: string; + /** + * + * @type {Date} + * @memberof PatchedMealPlan + */ + fromDate?: Date; + /** + * + * @type {Date} + * @memberof PatchedMealPlan + */ + toDate?: Date; + /** + * + * @type {MealType} + * @memberof PatchedMealPlan + */ + mealType?: MealType; + /** + * + * @type {number} + * @memberof PatchedMealPlan + */ + readonly createdBy?: number; + /** + * + * @type {Array} + * @memberof PatchedMealPlan + */ + shared?: Array | null; + /** + * + * @type {string} + * @memberof PatchedMealPlan + */ + readonly recipeName?: string; + /** + * + * @type {string} + * @memberof PatchedMealPlan + */ + readonly mealTypeName?: string; + /** + * + * @type {boolean} + * @memberof PatchedMealPlan + */ + readonly shopping?: boolean; +} + +/** + * Check if a given object implements the PatchedMealPlan interface. + */ +export function instanceOfPatchedMealPlan(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedMealPlanFromJSON(json: any): PatchedMealPlan { + return PatchedMealPlanFromJSONTyped(json, false); +} + +export function PatchedMealPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedMealPlan { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'title': !exists(json, 'title') ? undefined : json['title'], + 'recipe': !exists(json, 'recipe') ? undefined : MealPlanRecipeFromJSON(json['recipe']), + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + 'note': !exists(json, 'note') ? undefined : json['note'], + 'noteMarkdown': !exists(json, 'note_markdown') ? undefined : json['note_markdown'], + 'fromDate': !exists(json, 'from_date') ? undefined : (new Date(json['from_date'])), + 'toDate': !exists(json, 'to_date') ? undefined : (new Date(json['to_date'])), + 'mealType': !exists(json, 'meal_type') ? undefined : MealTypeFromJSON(json['meal_type']), + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'shared': !exists(json, 'shared') ? undefined : (json['shared'] === null ? null : (json['shared'] as Array).map(UserFromJSON)), + 'recipeName': !exists(json, 'recipe_name') ? undefined : json['recipe_name'], + 'mealTypeName': !exists(json, 'meal_type_name') ? undefined : json['meal_type_name'], + 'shopping': !exists(json, 'shopping') ? undefined : json['shopping'], + }; +} + +export function PatchedMealPlanToJSON(value?: PatchedMealPlan | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'title': value.title, + 'recipe': MealPlanRecipeToJSON(value.recipe), + 'servings': value.servings, + 'note': value.note, + 'from_date': value.fromDate === undefined ? undefined : (value.fromDate.toISOString().substr(0,10)), + 'to_date': value.toDate === undefined ? undefined : (value.toDate.toISOString().substr(0,10)), + 'meal_type': MealTypeToJSON(value.mealType), + 'shared': value.shared === undefined ? undefined : (value.shared === null ? null : (value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/PatchedMealType.ts b/models/PatchedMealType.ts new file mode 100644 index 000000000..71b8a0feb --- /dev/null +++ b/models/PatchedMealType.ts @@ -0,0 +1,103 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface PatchedMealType + */ +export interface PatchedMealType { + /** + * + * @type {number} + * @memberof PatchedMealType + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedMealType + */ + name?: string; + /** + * + * @type {number} + * @memberof PatchedMealType + */ + order?: number; + /** + * + * @type {string} + * @memberof PatchedMealType + */ + color?: string | null; + /** + * + * @type {boolean} + * @memberof PatchedMealType + */ + _default?: boolean; + /** + * + * @type {number} + * @memberof PatchedMealType + */ + readonly createdBy?: number; +} + +/** + * Check if a given object implements the PatchedMealType interface. + */ +export function instanceOfPatchedMealType(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedMealTypeFromJSON(json: any): PatchedMealType { + return PatchedMealTypeFromJSONTyped(json, false); +} + +export function PatchedMealTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedMealType { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'color': !exists(json, 'color') ? undefined : json['color'], + '_default': !exists(json, 'default') ? undefined : json['default'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + }; +} + +export function PatchedMealTypeToJSON(value?: PatchedMealType | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'order': value.order, + 'color': value.color, + 'default': value._default, + }; +} + diff --git a/models/PatchedProperty.ts b/models/PatchedProperty.ts new file mode 100644 index 000000000..ba5990954 --- /dev/null +++ b/models/PatchedProperty.ts @@ -0,0 +1,121 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PropertyType } from './PropertyType'; +import { + PropertyTypeFromJSON, + PropertyTypeFromJSONTyped, + PropertyTypeToJSON, +} from './PropertyType'; + +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface PatchedProperty + */ +export interface PatchedProperty { + /** + * + * @type {number} + * @memberof PatchedProperty + */ + readonly id?: number; + /** + * + * @type {number} + * @memberof PatchedProperty + */ + propertyAmount?: number | null; + /** + * + * @type {PropertyType} + * @memberof PatchedProperty + */ + propertyType?: PropertyType; +} + +/** + * Check if a given object implements the PatchedProperty interface. + */ +export function instanceOfPatchedProperty(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedPropertyFromJSON(json: any): PatchedProperty { + return PatchedPropertyFromJSONTyped(json, false); +} + +export function PatchedPropertyFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedProperty { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'propertyAmount': !exists(json, 'property_amount') ? undefined : json['property_amount'], + 'propertyType': !exists(json, 'property_type') ? undefined : PropertyTypeFromJSON(json['property_type']), + }; +} + +export function PatchedPropertyToJSON(value?: PatchedProperty | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'property_amount': value.propertyAmount, + 'property_type': PropertyTypeToJSON(value.propertyType), + }; +} + diff --git a/models/PatchedPropertyType.ts b/models/PatchedPropertyType.ts new file mode 100644 index 000000000..aeb13f06d --- /dev/null +++ b/models/PatchedPropertyType.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface PatchedPropertyType + */ +export interface PatchedPropertyType { + /** + * + * @type {number} + * @memberof PatchedPropertyType + */ + id?: number; + /** + * + * @type {string} + * @memberof PatchedPropertyType + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedPropertyType + */ + unit?: string | null; + /** + * + * @type {string} + * @memberof PatchedPropertyType + */ + description?: string | null; + /** + * + * @type {number} + * @memberof PatchedPropertyType + */ + order?: number; + /** + * + * @type {string} + * @memberof PatchedPropertyType + */ + openDataSlug?: string | null; + /** + * + * @type {number} + * @memberof PatchedPropertyType + */ + fdcId?: number | null; +} + +/** + * Check if a given object implements the PatchedPropertyType interface. + */ +export function instanceOfPatchedPropertyType(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedPropertyTypeFromJSON(json: any): PatchedPropertyType { + return PatchedPropertyTypeFromJSONTyped(json, false); +} + +export function PatchedPropertyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedPropertyType { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'unit': !exists(json, 'unit') ? undefined : json['unit'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + 'fdcId': !exists(json, 'fdc_id') ? undefined : json['fdc_id'], + }; +} + +export function PatchedPropertyTypeToJSON(value?: PatchedPropertyType | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'id': value.id, + 'name': value.name, + 'unit': value.unit, + 'description': value.description, + 'order': value.order, + 'open_data_slug': value.openDataSlug, + 'fdc_id': value.fdcId, + }; +} + diff --git a/models/PatchedRecipe.ts b/models/PatchedRecipe.ts new file mode 100644 index 000000000..3ef820f98 --- /dev/null +++ b/models/PatchedRecipe.ts @@ -0,0 +1,272 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Keyword } from './Keyword'; +import { + KeywordFromJSON, + KeywordFromJSONTyped, + KeywordToJSON, +} from './Keyword'; +import type { PatchedRecipeNutrition } from './PatchedRecipeNutrition'; +import { + PatchedRecipeNutritionFromJSON, + PatchedRecipeNutritionFromJSONTyped, + PatchedRecipeNutritionToJSON, +} from './PatchedRecipeNutrition'; +import type { Property } from './Property'; +import { + PropertyFromJSON, + PropertyFromJSONTyped, + PropertyToJSON, +} from './Property'; +import type { Step } from './Step'; +import { + StepFromJSON, + StepFromJSONTyped, + StepToJSON, +} from './Step'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface PatchedRecipe + */ +export interface PatchedRecipe { + /** + * + * @type {number} + * @memberof PatchedRecipe + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedRecipe + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedRecipe + */ + description?: string | null; + /** + * + * @type {string} + * @memberof PatchedRecipe + */ + readonly image?: string | null; + /** + * + * @type {Array} + * @memberof PatchedRecipe + */ + keywords?: Array; + /** + * + * @type {Array} + * @memberof PatchedRecipe + */ + steps?: Array; + /** + * + * @type {number} + * @memberof PatchedRecipe + */ + workingTime?: number; + /** + * + * @type {number} + * @memberof PatchedRecipe + */ + waitingTime?: number; + /** + * + * @type {number} + * @memberof PatchedRecipe + */ + readonly createdBy?: number; + /** + * + * @type {Date} + * @memberof PatchedRecipe + */ + readonly createdAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedRecipe + */ + readonly updatedAt?: Date; + /** + * + * @type {string} + * @memberof PatchedRecipe + */ + sourceUrl?: string | null; + /** + * + * @type {boolean} + * @memberof PatchedRecipe + */ + internal?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedRecipe + */ + showIngredientOverview?: boolean; + /** + * + * @type {PatchedRecipeNutrition} + * @memberof PatchedRecipe + */ + nutrition?: PatchedRecipeNutrition | null; + /** + * + * @type {Array} + * @memberof PatchedRecipe + */ + properties?: Array; + /** + * + * @type {any} + * @memberof PatchedRecipe + */ + readonly foodProperties?: any | null; + /** + * + * @type {number} + * @memberof PatchedRecipe + */ + servings?: number; + /** + * + * @type {string} + * @memberof PatchedRecipe + */ + filePath?: string; + /** + * + * @type {string} + * @memberof PatchedRecipe + */ + servingsText?: string; + /** + * + * @type {number} + * @memberof PatchedRecipe + */ + readonly rating?: number | null; + /** + * + * @type {Date} + * @memberof PatchedRecipe + */ + readonly lastCooked?: Date | null; + /** + * + * @type {boolean} + * @memberof PatchedRecipe + */ + _private?: boolean; + /** + * + * @type {Array} + * @memberof PatchedRecipe + */ + shared?: Array; +} + +/** + * Check if a given object implements the PatchedRecipe interface. + */ +export function instanceOfPatchedRecipe(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedRecipeFromJSON(json: any): PatchedRecipe { + return PatchedRecipeFromJSONTyped(json, false); +} + +export function PatchedRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipe { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'image': !exists(json, 'image') ? undefined : json['image'], + 'keywords': !exists(json, 'keywords') ? undefined : ((json['keywords'] as Array).map(KeywordFromJSON)), + 'steps': !exists(json, 'steps') ? undefined : ((json['steps'] as Array).map(StepFromJSON)), + 'workingTime': !exists(json, 'working_time') ? undefined : json['working_time'], + 'waitingTime': !exists(json, 'waiting_time') ? undefined : json['waiting_time'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])), + 'sourceUrl': !exists(json, 'source_url') ? undefined : json['source_url'], + 'internal': !exists(json, 'internal') ? undefined : json['internal'], + 'showIngredientOverview': !exists(json, 'show_ingredient_overview') ? undefined : json['show_ingredient_overview'], + 'nutrition': !exists(json, 'nutrition') ? undefined : PatchedRecipeNutritionFromJSON(json['nutrition']), + 'properties': !exists(json, 'properties') ? undefined : ((json['properties'] as Array).map(PropertyFromJSON)), + 'foodProperties': !exists(json, 'food_properties') ? undefined : json['food_properties'], + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + 'filePath': !exists(json, 'file_path') ? undefined : json['file_path'], + 'servingsText': !exists(json, 'servings_text') ? undefined : json['servings_text'], + 'rating': !exists(json, 'rating') ? undefined : json['rating'], + 'lastCooked': !exists(json, 'last_cooked') ? undefined : (json['last_cooked'] === null ? null : new Date(json['last_cooked'])), + '_private': !exists(json, 'private') ? undefined : json['private'], + 'shared': !exists(json, 'shared') ? undefined : ((json['shared'] as Array).map(UserFromJSON)), + }; +} + +export function PatchedRecipeToJSON(value?: PatchedRecipe | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'keywords': value.keywords === undefined ? undefined : ((value.keywords as Array).map(KeywordToJSON)), + 'steps': value.steps === undefined ? undefined : ((value.steps as Array).map(StepToJSON)), + 'working_time': value.workingTime, + 'waiting_time': value.waitingTime, + 'source_url': value.sourceUrl, + 'internal': value.internal, + 'show_ingredient_overview': value.showIngredientOverview, + 'nutrition': PatchedRecipeNutritionToJSON(value.nutrition), + 'properties': value.properties === undefined ? undefined : ((value.properties as Array).map(PropertyToJSON)), + 'servings': value.servings, + 'file_path': value.filePath, + 'servings_text': value.servingsText, + 'private': value._private, + 'shared': value.shared === undefined ? undefined : ((value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/PatchedRecipeBook.ts b/models/PatchedRecipeBook.ts new file mode 100644 index 000000000..b365d9645 --- /dev/null +++ b/models/PatchedRecipeBook.ts @@ -0,0 +1,124 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PatchedRecipeBookFilter } from './PatchedRecipeBookFilter'; +import { + PatchedRecipeBookFilterFromJSON, + PatchedRecipeBookFilterFromJSONTyped, + PatchedRecipeBookFilterToJSON, +} from './PatchedRecipeBookFilter'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface PatchedRecipeBook + */ +export interface PatchedRecipeBook { + /** + * + * @type {number} + * @memberof PatchedRecipeBook + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedRecipeBook + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedRecipeBook + */ + description?: string; + /** + * + * @type {Array} + * @memberof PatchedRecipeBook + */ + shared?: Array; + /** + * + * @type {number} + * @memberof PatchedRecipeBook + */ + readonly createdBy?: number; + /** + * + * @type {PatchedRecipeBookFilter} + * @memberof PatchedRecipeBook + */ + filter?: PatchedRecipeBookFilter | null; + /** + * + * @type {number} + * @memberof PatchedRecipeBook + */ + order?: number; +} + +/** + * Check if a given object implements the PatchedRecipeBook interface. + */ +export function instanceOfPatchedRecipeBook(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedRecipeBookFromJSON(json: any): PatchedRecipeBook { + return PatchedRecipeBookFromJSONTyped(json, false); +} + +export function PatchedRecipeBookFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeBook { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'shared': !exists(json, 'shared') ? undefined : ((json['shared'] as Array).map(UserFromJSON)), + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'filter': !exists(json, 'filter') ? undefined : PatchedRecipeBookFilterFromJSON(json['filter']), + 'order': !exists(json, 'order') ? undefined : json['order'], + }; +} + +export function PatchedRecipeBookToJSON(value?: PatchedRecipeBook | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'shared': value.shared === undefined ? undefined : ((value.shared as Array).map(UserToJSON)), + 'filter': PatchedRecipeBookFilterToJSON(value.filter), + 'order': value.order, + }; +} + diff --git a/models/PatchedRecipeBookEntry.ts b/models/PatchedRecipeBookEntry.ts new file mode 100644 index 000000000..7f93b90ce --- /dev/null +++ b/models/PatchedRecipeBookEntry.ts @@ -0,0 +1,107 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RecipeBook } from './RecipeBook'; +import { + RecipeBookFromJSON, + RecipeBookFromJSONTyped, + RecipeBookToJSON, +} from './RecipeBook'; +import type { RecipeOverview } from './RecipeOverview'; +import { + RecipeOverviewFromJSON, + RecipeOverviewFromJSONTyped, + RecipeOverviewToJSON, +} from './RecipeOverview'; + +/** + * + * @export + * @interface PatchedRecipeBookEntry + */ +export interface PatchedRecipeBookEntry { + /** + * + * @type {number} + * @memberof PatchedRecipeBookEntry + */ + readonly id?: number; + /** + * + * @type {number} + * @memberof PatchedRecipeBookEntry + */ + book?: number; + /** + * + * @type {RecipeBook} + * @memberof PatchedRecipeBookEntry + */ + readonly bookContent?: RecipeBook; + /** + * + * @type {number} + * @memberof PatchedRecipeBookEntry + */ + recipe?: number; + /** + * + * @type {RecipeOverview} + * @memberof PatchedRecipeBookEntry + */ + readonly recipeContent?: RecipeOverview; +} + +/** + * Check if a given object implements the PatchedRecipeBookEntry interface. + */ +export function instanceOfPatchedRecipeBookEntry(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedRecipeBookEntryFromJSON(json: any): PatchedRecipeBookEntry { + return PatchedRecipeBookEntryFromJSONTyped(json, false); +} + +export function PatchedRecipeBookEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeBookEntry { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'book': !exists(json, 'book') ? undefined : json['book'], + 'bookContent': !exists(json, 'book_content') ? undefined : RecipeBookFromJSON(json['book_content']), + 'recipe': !exists(json, 'recipe') ? undefined : json['recipe'], + 'recipeContent': !exists(json, 'recipe_content') ? undefined : RecipeOverviewFromJSON(json['recipe_content']), + }; +} + +export function PatchedRecipeBookEntryToJSON(value?: PatchedRecipeBookEntry | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'book': value.book, + 'recipe': value.recipe, + }; +} + diff --git a/models/PatchedRecipeBookFilter.ts b/models/PatchedRecipeBookFilter.ts new file mode 100644 index 000000000..ce79cad3c --- /dev/null +++ b/models/PatchedRecipeBookFilter.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * + * @export + * @interface PatchedRecipeBookFilter + */ +export interface PatchedRecipeBookFilter { + /** + * + * @type {number} + * @memberof PatchedRecipeBookFilter + */ + readonly id: number; + /** + * + * @type {string} + * @memberof PatchedRecipeBookFilter + */ + name: string; + /** + * + * @type {string} + * @memberof PatchedRecipeBookFilter + */ + search: string; + /** + * + * @type {Array} + * @memberof PatchedRecipeBookFilter + */ + shared?: Array; + /** + * + * @type {number} + * @memberof PatchedRecipeBookFilter + */ + readonly createdBy: number; +} + +/** + * Check if a given object implements the PatchedRecipeBookFilter interface. + */ +export function instanceOfPatchedRecipeBookFilter(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "search" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function PatchedRecipeBookFilterFromJSON(json: any): PatchedRecipeBookFilter { + return PatchedRecipeBookFilterFromJSONTyped(json, false); +} + +export function PatchedRecipeBookFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeBookFilter { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'search': json['search'], + 'shared': !exists(json, 'shared') ? undefined : ((json['shared'] as Array).map(UserFromJSON)), + 'createdBy': json['created_by'], + }; +} + +export function PatchedRecipeBookFilterToJSON(value?: PatchedRecipeBookFilter | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'search': value.search, + 'shared': value.shared === undefined ? undefined : ((value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/PatchedRecipeNutrition.ts b/models/PatchedRecipeNutrition.ts new file mode 100644 index 000000000..dd1f39368 --- /dev/null +++ b/models/PatchedRecipeNutrition.ts @@ -0,0 +1,109 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedRecipeNutrition + */ +export interface PatchedRecipeNutrition { + /** + * + * @type {number} + * @memberof PatchedRecipeNutrition + */ + readonly id: number; + /** + * + * @type {number} + * @memberof PatchedRecipeNutrition + */ + carbohydrates: number; + /** + * + * @type {number} + * @memberof PatchedRecipeNutrition + */ + fats: number; + /** + * + * @type {number} + * @memberof PatchedRecipeNutrition + */ + proteins: number; + /** + * + * @type {number} + * @memberof PatchedRecipeNutrition + */ + calories: number; + /** + * + * @type {string} + * @memberof PatchedRecipeNutrition + */ + source?: string | null; +} + +/** + * Check if a given object implements the PatchedRecipeNutrition interface. + */ +export function instanceOfPatchedRecipeNutrition(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "carbohydrates" in value; + isInstance = isInstance && "fats" in value; + isInstance = isInstance && "proteins" in value; + isInstance = isInstance && "calories" in value; + + return isInstance; +} + +export function PatchedRecipeNutritionFromJSON(json: any): PatchedRecipeNutrition { + return PatchedRecipeNutritionFromJSONTyped(json, false); +} + +export function PatchedRecipeNutritionFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeNutrition { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'carbohydrates': json['carbohydrates'], + 'fats': json['fats'], + 'proteins': json['proteins'], + 'calories': json['calories'], + 'source': !exists(json, 'source') ? undefined : json['source'], + }; +} + +export function PatchedRecipeNutritionToJSON(value?: PatchedRecipeNutrition | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'carbohydrates': value.carbohydrates, + 'fats': value.fats, + 'proteins': value.proteins, + 'calories': value.calories, + 'source': value.source, + }; +} + diff --git a/models/PatchedShoppingListEntry.ts b/models/PatchedShoppingListEntry.ts new file mode 100644 index 000000000..a348caaeb --- /dev/null +++ b/models/PatchedShoppingListEntry.ts @@ -0,0 +1,181 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { IngredientFood } from './IngredientFood'; +import { + IngredientFoodFromJSON, + IngredientFoodFromJSONTyped, + IngredientFoodToJSON, +} from './IngredientFood'; +import type { ShoppingListRecipe } from './ShoppingListRecipe'; +import { + ShoppingListRecipeFromJSON, + ShoppingListRecipeFromJSONTyped, + ShoppingListRecipeToJSON, +} from './ShoppingListRecipe'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface PatchedShoppingListEntry + */ +export interface PatchedShoppingListEntry { + /** + * + * @type {number} + * @memberof PatchedShoppingListEntry + */ + readonly id?: number; + /** + * + * @type {number} + * @memberof PatchedShoppingListEntry + */ + listRecipe?: number | null; + /** + * + * @type {IngredientFood} + * @memberof PatchedShoppingListEntry + */ + food?: IngredientFood | null; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof PatchedShoppingListEntry + */ + unit?: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof PatchedShoppingListEntry + */ + amount?: number; + /** + * + * @type {number} + * @memberof PatchedShoppingListEntry + */ + order?: number; + /** + * + * @type {boolean} + * @memberof PatchedShoppingListEntry + */ + checked?: boolean; + /** + * + * @type {ShoppingListRecipe} + * @memberof PatchedShoppingListEntry + */ + readonly recipeMealplan?: ShoppingListRecipe; + /** + * + * @type {User} + * @memberof PatchedShoppingListEntry + */ + readonly createdBy?: User; + /** + * + * @type {Date} + * @memberof PatchedShoppingListEntry + */ + readonly createdAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedShoppingListEntry + */ + readonly updatedAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedShoppingListEntry + */ + completedAt?: Date | null; + /** + * + * @type {Date} + * @memberof PatchedShoppingListEntry + */ + delayUntil?: Date | null; +} + +/** + * Check if a given object implements the PatchedShoppingListEntry interface. + */ +export function instanceOfPatchedShoppingListEntry(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedShoppingListEntryFromJSON(json: any): PatchedShoppingListEntry { + return PatchedShoppingListEntryFromJSONTyped(json, false); +} + +export function PatchedShoppingListEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedShoppingListEntry { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'listRecipe': !exists(json, 'list_recipe') ? undefined : json['list_recipe'], + 'food': !exists(json, 'food') ? undefined : IngredientFoodFromJSON(json['food']), + 'unit': !exists(json, 'unit') ? undefined : FoodPropertiesFoodUnitFromJSON(json['unit']), + 'amount': !exists(json, 'amount') ? undefined : json['amount'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'checked': !exists(json, 'checked') ? undefined : json['checked'], + 'recipeMealplan': !exists(json, 'recipe_mealplan') ? undefined : ShoppingListRecipeFromJSON(json['recipe_mealplan']), + 'createdBy': !exists(json, 'created_by') ? undefined : UserFromJSON(json['created_by']), + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])), + 'completedAt': !exists(json, 'completed_at') ? undefined : (json['completed_at'] === null ? null : new Date(json['completed_at'])), + 'delayUntil': !exists(json, 'delay_until') ? undefined : (json['delay_until'] === null ? null : new Date(json['delay_until'])), + }; +} + +export function PatchedShoppingListEntryToJSON(value?: PatchedShoppingListEntry | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'list_recipe': value.listRecipe, + 'food': IngredientFoodToJSON(value.food), + 'unit': FoodPropertiesFoodUnitToJSON(value.unit), + 'amount': value.amount, + 'order': value.order, + 'checked': value.checked, + 'completed_at': value.completedAt === undefined ? undefined : (value.completedAt === null ? null : value.completedAt.toISOString()), + 'delay_until': value.delayUntil === undefined ? undefined : (value.delayUntil === null ? null : value.delayUntil.toISOString()), + }; +} + diff --git a/models/PatchedShoppingListRecipe.ts b/models/PatchedShoppingListRecipe.ts new file mode 100644 index 000000000..5db07829a --- /dev/null +++ b/models/PatchedShoppingListRecipe.ts @@ -0,0 +1,123 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedShoppingListRecipe + */ +export interface PatchedShoppingListRecipe { + /** + * + * @type {number} + * @memberof PatchedShoppingListRecipe + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedShoppingListRecipe + */ + readonly recipeName?: string; + /** + * + * @type {string} + * @memberof PatchedShoppingListRecipe + */ + readonly name?: string; + /** + * + * @type {number} + * @memberof PatchedShoppingListRecipe + */ + recipe?: number | null; + /** + * + * @type {number} + * @memberof PatchedShoppingListRecipe + */ + mealplan?: number | null; + /** + * + * @type {number} + * @memberof PatchedShoppingListRecipe + */ + servings?: number; + /** + * + * @type {string} + * @memberof PatchedShoppingListRecipe + */ + readonly mealplanNote?: string; + /** + * + * @type {Date} + * @memberof PatchedShoppingListRecipe + */ + readonly mealplanFromDate?: Date; + /** + * + * @type {string} + * @memberof PatchedShoppingListRecipe + */ + readonly mealplanType?: string; +} + +/** + * Check if a given object implements the PatchedShoppingListRecipe interface. + */ +export function instanceOfPatchedShoppingListRecipe(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedShoppingListRecipeFromJSON(json: any): PatchedShoppingListRecipe { + return PatchedShoppingListRecipeFromJSONTyped(json, false); +} + +export function PatchedShoppingListRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedShoppingListRecipe { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'recipeName': !exists(json, 'recipe_name') ? undefined : json['recipe_name'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'recipe': !exists(json, 'recipe') ? undefined : json['recipe'], + 'mealplan': !exists(json, 'mealplan') ? undefined : json['mealplan'], + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + 'mealplanNote': !exists(json, 'mealplan_note') ? undefined : json['mealplan_note'], + 'mealplanFromDate': !exists(json, 'mealplan_from_date') ? undefined : (new Date(json['mealplan_from_date'])), + 'mealplanType': !exists(json, 'mealplan_type') ? undefined : json['mealplan_type'], + }; +} + +export function PatchedShoppingListRecipeToJSON(value?: PatchedShoppingListRecipe | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'recipe': value.recipe, + 'mealplan': value.mealplan, + 'servings': value.servings, + }; +} + diff --git a/models/PatchedSpace.ts b/models/PatchedSpace.ts new file mode 100644 index 000000000..d24bcc3f4 --- /dev/null +++ b/models/PatchedSpace.ts @@ -0,0 +1,287 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { PatchedSpaceImage } from './PatchedSpaceImage'; +import { + PatchedSpaceImageFromJSON, + PatchedSpaceImageFromJSONTyped, + PatchedSpaceImageToJSON, +} from './PatchedSpaceImage'; +import type { SpaceNavTextColorEnum } from './SpaceNavTextColorEnum'; +import { + SpaceNavTextColorEnumFromJSON, + SpaceNavTextColorEnumFromJSONTyped, + SpaceNavTextColorEnumToJSON, +} from './SpaceNavTextColorEnum'; +import type { SpaceThemeEnum } from './SpaceThemeEnum'; +import { + SpaceThemeEnumFromJSON, + SpaceThemeEnumFromJSONTyped, + SpaceThemeEnumToJSON, +} from './SpaceThemeEnum'; + +/** + * Adds nested create feature + * @export + * @interface PatchedSpace + */ +export interface PatchedSpace { + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedSpace + */ + name?: string; + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly createdBy?: number | null; + /** + * + * @type {Date} + * @memberof PatchedSpace + */ + readonly createdAt?: Date; + /** + * + * @type {string} + * @memberof PatchedSpace + */ + message?: string; + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly maxRecipes?: number; + /** + * Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload. + * @type {number} + * @memberof PatchedSpace + */ + readonly maxFileStorageMb?: number; + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly maxUsers?: number; + /** + * + * @type {boolean} + * @memberof PatchedSpace + */ + readonly allowSharing?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedSpace + */ + readonly demo?: boolean; + /** + * + * @type {Array} + * @memberof PatchedSpace + */ + foodInherit?: Array; + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly userCount?: number; + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly recipeCount?: number; + /** + * + * @type {number} + * @memberof PatchedSpace + */ + readonly fileSizeMb?: number; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + image?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + navLogo?: PatchedSpaceImage | null; + /** + * + * @type {SpaceThemeEnum} + * @memberof PatchedSpace + */ + spaceTheme?: SpaceThemeEnum; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + customSpaceTheme?: PatchedSpaceImage | null; + /** + * + * @type {string} + * @memberof PatchedSpace + */ + navBgColor?: string; + /** + * + * @type {SpaceNavTextColorEnum} + * @memberof PatchedSpace + */ + navTextColor?: SpaceNavTextColorEnum; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColor32?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColor128?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColor144?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColor180?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColor192?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColor512?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedSpace + */ + logoColorSvg?: PatchedSpaceImage | null; +} + +/** + * Check if a given object implements the PatchedSpace interface. + */ +export function instanceOfPatchedSpace(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedSpaceFromJSON(json: any): PatchedSpace { + return PatchedSpaceFromJSONTyped(json, false); +} + +export function PatchedSpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSpace { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'message': !exists(json, 'message') ? undefined : json['message'], + 'maxRecipes': !exists(json, 'max_recipes') ? undefined : json['max_recipes'], + 'maxFileStorageMb': !exists(json, 'max_file_storage_mb') ? undefined : json['max_file_storage_mb'], + 'maxUsers': !exists(json, 'max_users') ? undefined : json['max_users'], + 'allowSharing': !exists(json, 'allow_sharing') ? undefined : json['allow_sharing'], + 'demo': !exists(json, 'demo') ? undefined : json['demo'], + 'foodInherit': !exists(json, 'food_inherit') ? undefined : ((json['food_inherit'] as Array).map(FoodInheritFieldFromJSON)), + 'userCount': !exists(json, 'user_count') ? undefined : json['user_count'], + 'recipeCount': !exists(json, 'recipe_count') ? undefined : json['recipe_count'], + 'fileSizeMb': !exists(json, 'file_size_mb') ? undefined : json['file_size_mb'], + 'image': !exists(json, 'image') ? undefined : PatchedSpaceImageFromJSON(json['image']), + 'navLogo': !exists(json, 'nav_logo') ? undefined : PatchedSpaceImageFromJSON(json['nav_logo']), + 'spaceTheme': !exists(json, 'space_theme') ? undefined : SpaceThemeEnumFromJSON(json['space_theme']), + 'customSpaceTheme': !exists(json, 'custom_space_theme') ? undefined : PatchedSpaceImageFromJSON(json['custom_space_theme']), + 'navBgColor': !exists(json, 'nav_bg_color') ? undefined : json['nav_bg_color'], + 'navTextColor': !exists(json, 'nav_text_color') ? undefined : SpaceNavTextColorEnumFromJSON(json['nav_text_color']), + 'logoColor32': !exists(json, 'logo_color_32') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_32']), + 'logoColor128': !exists(json, 'logo_color_128') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_128']), + 'logoColor144': !exists(json, 'logo_color_144') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_144']), + 'logoColor180': !exists(json, 'logo_color_180') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_180']), + 'logoColor192': !exists(json, 'logo_color_192') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_192']), + 'logoColor512': !exists(json, 'logo_color_512') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_512']), + 'logoColorSvg': !exists(json, 'logo_color_svg') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_svg']), + }; +} + +export function PatchedSpaceToJSON(value?: PatchedSpace | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'message': value.message, + 'food_inherit': value.foodInherit === undefined ? undefined : ((value.foodInherit as Array).map(FoodInheritFieldToJSON)), + 'image': PatchedSpaceImageToJSON(value.image), + 'nav_logo': PatchedSpaceImageToJSON(value.navLogo), + 'space_theme': SpaceThemeEnumToJSON(value.spaceTheme), + 'custom_space_theme': PatchedSpaceImageToJSON(value.customSpaceTheme), + 'nav_bg_color': value.navBgColor, + 'nav_text_color': SpaceNavTextColorEnumToJSON(value.navTextColor), + 'logo_color_32': PatchedSpaceImageToJSON(value.logoColor32), + 'logo_color_128': PatchedSpaceImageToJSON(value.logoColor128), + 'logo_color_144': PatchedSpaceImageToJSON(value.logoColor144), + 'logo_color_180': PatchedSpaceImageToJSON(value.logoColor180), + 'logo_color_192': PatchedSpaceImageToJSON(value.logoColor192), + 'logo_color_512': PatchedSpaceImageToJSON(value.logoColor512), + 'logo_color_svg': PatchedSpaceImageToJSON(value.logoColorSvg), + }; +} + diff --git a/models/PatchedSpaceImage.ts b/models/PatchedSpaceImage.ts new file mode 100644 index 000000000..5aa629148 --- /dev/null +++ b/models/PatchedSpaceImage.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedSpaceImage + */ +export interface PatchedSpaceImage { + /** + * + * @type {number} + * @memberof PatchedSpaceImage + */ + readonly id: number; + /** + * + * @type {string} + * @memberof PatchedSpaceImage + */ + name: string; + /** + * + * @type {string} + * @memberof PatchedSpaceImage + */ + readonly fileDownload: string; + /** + * + * @type {string} + * @memberof PatchedSpaceImage + */ + readonly preview: string; +} + +/** + * Check if a given object implements the PatchedSpaceImage interface. + */ +export function instanceOfPatchedSpaceImage(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "fileDownload" in value; + isInstance = isInstance && "preview" in value; + + return isInstance; +} + +export function PatchedSpaceImageFromJSON(json: any): PatchedSpaceImage { + return PatchedSpaceImageFromJSONTyped(json, false); +} + +export function PatchedSpaceImageFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSpaceImage { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'fileDownload': json['file_download'], + 'preview': json['preview'], + }; +} + +export function PatchedSpaceImageToJSON(value?: PatchedSpaceImage | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/models/PatchedStep.ts b/models/PatchedStep.ts new file mode 100644 index 000000000..c30e2f44d --- /dev/null +++ b/models/PatchedStep.ts @@ -0,0 +1,170 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Ingredient } from './Ingredient'; +import { + IngredientFromJSON, + IngredientFromJSONTyped, + IngredientToJSON, +} from './Ingredient'; +import type { PatchedSpaceImage } from './PatchedSpaceImage'; +import { + PatchedSpaceImageFromJSON, + PatchedSpaceImageFromJSONTyped, + PatchedSpaceImageToJSON, +} from './PatchedSpaceImage'; + +/** + * Adds nested create feature + * @export + * @interface PatchedStep + */ +export interface PatchedStep { + /** + * + * @type {number} + * @memberof PatchedStep + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedStep + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedStep + */ + instruction?: string; + /** + * + * @type {Array} + * @memberof PatchedStep + */ + ingredients?: Array; + /** + * + * @type {string} + * @memberof PatchedStep + */ + readonly instructionsMarkdown?: string; + /** + * + * @type {number} + * @memberof PatchedStep + */ + time?: number; + /** + * + * @type {number} + * @memberof PatchedStep + */ + order?: number; + /** + * + * @type {boolean} + * @memberof PatchedStep + */ + showAsHeader?: boolean; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedStep + */ + file?: PatchedSpaceImage | null; + /** + * + * @type {number} + * @memberof PatchedStep + */ + stepRecipe?: number | null; + /** + * + * @type {any} + * @memberof PatchedStep + */ + readonly stepRecipeData?: any | null; + /** + * + * @type {number} + * @memberof PatchedStep + */ + readonly numrecipe?: number; + /** + * + * @type {boolean} + * @memberof PatchedStep + */ + showIngredientsTable?: boolean; +} + +/** + * Check if a given object implements the PatchedStep interface. + */ +export function instanceOfPatchedStep(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedStepFromJSON(json: any): PatchedStep { + return PatchedStepFromJSONTyped(json, false); +} + +export function PatchedStepFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedStep { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'instruction': !exists(json, 'instruction') ? undefined : json['instruction'], + 'ingredients': !exists(json, 'ingredients') ? undefined : ((json['ingredients'] as Array).map(IngredientFromJSON)), + 'instructionsMarkdown': !exists(json, 'instructions_markdown') ? undefined : json['instructions_markdown'], + 'time': !exists(json, 'time') ? undefined : json['time'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'showAsHeader': !exists(json, 'show_as_header') ? undefined : json['show_as_header'], + 'file': !exists(json, 'file') ? undefined : PatchedSpaceImageFromJSON(json['file']), + 'stepRecipe': !exists(json, 'step_recipe') ? undefined : json['step_recipe'], + 'stepRecipeData': !exists(json, 'step_recipe_data') ? undefined : json['step_recipe_data'], + 'numrecipe': !exists(json, 'numrecipe') ? undefined : json['numrecipe'], + 'showIngredientsTable': !exists(json, 'show_ingredients_table') ? undefined : json['show_ingredients_table'], + }; +} + +export function PatchedStepToJSON(value?: PatchedStep | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'instruction': value.instruction, + 'ingredients': value.ingredients === undefined ? undefined : ((value.ingredients as Array).map(IngredientToJSON)), + 'time': value.time, + 'order': value.order, + 'show_as_header': value.showAsHeader, + 'file': PatchedSpaceImageToJSON(value.file), + 'step_recipe': value.stepRecipe, + 'show_ingredients_table': value.showIngredientsTable, + }; +} + diff --git a/models/PatchedStorage.ts b/models/PatchedStorage.ts new file mode 100644 index 000000000..aa760b3e0 --- /dev/null +++ b/models/PatchedStorage.ts @@ -0,0 +1,118 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MethodEnum } from './MethodEnum'; +import { + MethodEnumFromJSON, + MethodEnumFromJSONTyped, + MethodEnumToJSON, +} from './MethodEnum'; + +/** + * + * @export + * @interface PatchedStorage + */ +export interface PatchedStorage { + /** + * + * @type {number} + * @memberof PatchedStorage + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedStorage + */ + name?: string; + /** + * + * @type {MethodEnum} + * @memberof PatchedStorage + */ + method?: MethodEnum; + /** + * + * @type {string} + * @memberof PatchedStorage + */ + username?: string | null; + /** + * + * @type {string} + * @memberof PatchedStorage + */ + password?: string | null; + /** + * + * @type {string} + * @memberof PatchedStorage + */ + token?: string | null; + /** + * + * @type {number} + * @memberof PatchedStorage + */ + readonly createdBy?: number; +} + +/** + * Check if a given object implements the PatchedStorage interface. + */ +export function instanceOfPatchedStorage(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedStorageFromJSON(json: any): PatchedStorage { + return PatchedStorageFromJSONTyped(json, false); +} + +export function PatchedStorageFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedStorage { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'method': !exists(json, 'method') ? undefined : MethodEnumFromJSON(json['method']), + 'username': !exists(json, 'username') ? undefined : json['username'], + 'password': !exists(json, 'password') ? undefined : json['password'], + 'token': !exists(json, 'token') ? undefined : json['token'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + }; +} + +export function PatchedStorageToJSON(value?: PatchedStorage | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'method': MethodEnumToJSON(value.method), + 'username': value.username, + 'password': value.password, + 'token': value.token, + }; +} + diff --git a/models/PatchedSupermarket.ts b/models/PatchedSupermarket.ts new file mode 100644 index 000000000..d895df855 --- /dev/null +++ b/models/PatchedSupermarket.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SupermarketCategoryRelation } from './SupermarketCategoryRelation'; +import { + SupermarketCategoryRelationFromJSON, + SupermarketCategoryRelationFromJSONTyped, + SupermarketCategoryRelationToJSON, +} from './SupermarketCategoryRelation'; + +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface PatchedSupermarket + */ +export interface PatchedSupermarket { + /** + * + * @type {number} + * @memberof PatchedSupermarket + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedSupermarket + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedSupermarket + */ + description?: string | null; + /** + * + * @type {Array} + * @memberof PatchedSupermarket + */ + readonly categoryToSupermarket?: Array; + /** + * + * @type {string} + * @memberof PatchedSupermarket + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the PatchedSupermarket interface. + */ +export function instanceOfPatchedSupermarket(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedSupermarketFromJSON(json: any): PatchedSupermarket { + return PatchedSupermarketFromJSONTyped(json, false); +} + +export function PatchedSupermarketFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSupermarket { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'categoryToSupermarket': !exists(json, 'category_to_supermarket') ? undefined : ((json['category_to_supermarket'] as Array).map(SupermarketCategoryRelationFromJSON)), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function PatchedSupermarketToJSON(value?: PatchedSupermarket | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/PatchedSupermarketCategory.ts b/models/PatchedSupermarketCategory.ts new file mode 100644 index 000000000..43c46ad1b --- /dev/null +++ b/models/PatchedSupermarketCategory.ts @@ -0,0 +1,114 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface PatchedSupermarketCategory + */ +export interface PatchedSupermarketCategory { + /** + * + * @type {number} + * @memberof PatchedSupermarketCategory + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedSupermarketCategory + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedSupermarketCategory + */ + description?: string | null; +} + +/** + * Check if a given object implements the PatchedSupermarketCategory interface. + */ +export function instanceOfPatchedSupermarketCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedSupermarketCategoryFromJSON(json: any): PatchedSupermarketCategory { + return PatchedSupermarketCategoryFromJSONTyped(json, false); +} + +export function PatchedSupermarketCategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSupermarketCategory { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + }; +} + +export function PatchedSupermarketCategoryToJSON(value?: PatchedSupermarketCategory | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + }; +} + diff --git a/models/PatchedSupermarketCategoryRelation.ts b/models/PatchedSupermarketCategoryRelation.ts new file mode 100644 index 000000000..211ae3c01 --- /dev/null +++ b/models/PatchedSupermarketCategoryRelation.ts @@ -0,0 +1,95 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SupermarketCategory } from './SupermarketCategory'; +import { + SupermarketCategoryFromJSON, + SupermarketCategoryFromJSONTyped, + SupermarketCategoryToJSON, +} from './SupermarketCategory'; + +/** + * Adds nested create feature + * @export + * @interface PatchedSupermarketCategoryRelation + */ +export interface PatchedSupermarketCategoryRelation { + /** + * + * @type {number} + * @memberof PatchedSupermarketCategoryRelation + */ + readonly id?: number; + /** + * + * @type {SupermarketCategory} + * @memberof PatchedSupermarketCategoryRelation + */ + category?: SupermarketCategory; + /** + * + * @type {number} + * @memberof PatchedSupermarketCategoryRelation + */ + supermarket?: number; + /** + * + * @type {number} + * @memberof PatchedSupermarketCategoryRelation + */ + order?: number; +} + +/** + * Check if a given object implements the PatchedSupermarketCategoryRelation interface. + */ +export function instanceOfPatchedSupermarketCategoryRelation(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedSupermarketCategoryRelationFromJSON(json: any): PatchedSupermarketCategoryRelation { + return PatchedSupermarketCategoryRelationFromJSONTyped(json, false); +} + +export function PatchedSupermarketCategoryRelationFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSupermarketCategoryRelation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'category': !exists(json, 'category') ? undefined : SupermarketCategoryFromJSON(json['category']), + 'supermarket': !exists(json, 'supermarket') ? undefined : json['supermarket'], + 'order': !exists(json, 'order') ? undefined : json['order'], + }; +} + +export function PatchedSupermarketCategoryRelationToJSON(value?: PatchedSupermarketCategoryRelation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'category': SupermarketCategoryToJSON(value.category), + 'supermarket': value.supermarket, + 'order': value.order, + }; +} + diff --git a/models/PatchedSync.ts b/models/PatchedSync.ts new file mode 100644 index 000000000..7d1cb60c6 --- /dev/null +++ b/models/PatchedSync.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedSync + */ +export interface PatchedSync { + /** + * + * @type {number} + * @memberof PatchedSync + */ + readonly id?: number; + /** + * + * @type {number} + * @memberof PatchedSync + */ + storage?: number; + /** + * + * @type {string} + * @memberof PatchedSync + */ + path?: string; + /** + * + * @type {boolean} + * @memberof PatchedSync + */ + active?: boolean; + /** + * + * @type {Date} + * @memberof PatchedSync + */ + lastChecked?: Date | null; + /** + * + * @type {Date} + * @memberof PatchedSync + */ + readonly createdAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedSync + */ + readonly updatedAt?: Date; +} + +/** + * Check if a given object implements the PatchedSync interface. + */ +export function instanceOfPatchedSync(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedSyncFromJSON(json: any): PatchedSync { + return PatchedSyncFromJSONTyped(json, false); +} + +export function PatchedSyncFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSync { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'storage': !exists(json, 'storage') ? undefined : json['storage'], + 'path': !exists(json, 'path') ? undefined : json['path'], + 'active': !exists(json, 'active') ? undefined : json['active'], + 'lastChecked': !exists(json, 'last_checked') ? undefined : (json['last_checked'] === null ? null : new Date(json['last_checked'])), + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])), + }; +} + +export function PatchedSyncToJSON(value?: PatchedSync | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'storage': value.storage, + 'path': value.path, + 'active': value.active, + 'last_checked': value.lastChecked === undefined ? undefined : (value.lastChecked === null ? null : value.lastChecked.toISOString()), + }; +} + diff --git a/models/PatchedUnit.ts b/models/PatchedUnit.ts new file mode 100644 index 000000000..5fe1da326 --- /dev/null +++ b/models/PatchedUnit.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface PatchedUnit + */ +export interface PatchedUnit { + /** + * + * @type {number} + * @memberof PatchedUnit + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedUnit + */ + name?: string; + /** + * + * @type {string} + * @memberof PatchedUnit + */ + pluralName?: string | null; + /** + * + * @type {string} + * @memberof PatchedUnit + */ + description?: string | null; + /** + * + * @type {string} + * @memberof PatchedUnit + */ + baseUnit?: string | null; + /** + * + * @type {string} + * @memberof PatchedUnit + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the PatchedUnit interface. + */ +export function instanceOfPatchedUnit(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedUnitFromJSON(json: any): PatchedUnit { + return PatchedUnitFromJSONTyped(json, false); +} + +export function PatchedUnitFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUnit { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'baseUnit': !exists(json, 'base_unit') ? undefined : json['base_unit'], + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function PatchedUnitToJSON(value?: PatchedUnit | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + 'description': value.description, + 'base_unit': value.baseUnit, + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/PatchedUnitConversion.ts b/models/PatchedUnitConversion.ts new file mode 100644 index 000000000..3bea42a93 --- /dev/null +++ b/models/PatchedUnitConversion.ts @@ -0,0 +1,132 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { IngredientFood } from './IngredientFood'; +import { + IngredientFoodFromJSON, + IngredientFoodFromJSONTyped, + IngredientFoodToJSON, +} from './IngredientFood'; +import type { Unit } from './Unit'; +import { + UnitFromJSON, + UnitFromJSONTyped, + UnitToJSON, +} from './Unit'; + +/** + * Adds nested create feature + * @export + * @interface PatchedUnitConversion + */ +export interface PatchedUnitConversion { + /** + * + * @type {number} + * @memberof PatchedUnitConversion + */ + readonly id?: number; + /** + * + * @type {string} + * @memberof PatchedUnitConversion + */ + readonly name?: string; + /** + * + * @type {number} + * @memberof PatchedUnitConversion + */ + baseAmount?: number; + /** + * + * @type {Unit} + * @memberof PatchedUnitConversion + */ + baseUnit?: Unit; + /** + * + * @type {number} + * @memberof PatchedUnitConversion + */ + convertedAmount?: number; + /** + * + * @type {Unit} + * @memberof PatchedUnitConversion + */ + convertedUnit?: Unit; + /** + * + * @type {IngredientFood} + * @memberof PatchedUnitConversion + */ + food?: IngredientFood | null; + /** + * + * @type {string} + * @memberof PatchedUnitConversion + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the PatchedUnitConversion interface. + */ +export function instanceOfPatchedUnitConversion(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedUnitConversionFromJSON(json: any): PatchedUnitConversion { + return PatchedUnitConversionFromJSONTyped(json, false); +} + +export function PatchedUnitConversionFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUnitConversion { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'baseAmount': !exists(json, 'base_amount') ? undefined : json['base_amount'], + 'baseUnit': !exists(json, 'base_unit') ? undefined : UnitFromJSON(json['base_unit']), + 'convertedAmount': !exists(json, 'converted_amount') ? undefined : json['converted_amount'], + 'convertedUnit': !exists(json, 'converted_unit') ? undefined : UnitFromJSON(json['converted_unit']), + 'food': !exists(json, 'food') ? undefined : IngredientFoodFromJSON(json['food']), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function PatchedUnitConversionToJSON(value?: PatchedUnitConversion | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'base_amount': value.baseAmount, + 'base_unit': UnitToJSON(value.baseUnit), + 'converted_amount': value.convertedAmount, + 'converted_unit': UnitToJSON(value.convertedUnit), + 'food': IngredientFoodToJSON(value.food), + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/PatchedUser.ts b/models/PatchedUser.ts new file mode 100644 index 000000000..96a235776 --- /dev/null +++ b/models/PatchedUser.ts @@ -0,0 +1,94 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface PatchedUser + */ +export interface PatchedUser { + /** + * + * @type {number} + * @memberof PatchedUser + */ + readonly id?: number; + /** + * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + * @type {string} + * @memberof PatchedUser + */ + readonly username?: string; + /** + * + * @type {string} + * @memberof PatchedUser + */ + firstName?: string; + /** + * + * @type {string} + * @memberof PatchedUser + */ + lastName?: string; + /** + * + * @type {string} + * @memberof PatchedUser + */ + readonly displayName?: string; +} + +/** + * Check if a given object implements the PatchedUser interface. + */ +export function instanceOfPatchedUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedUserFromJSON(json: any): PatchedUser { + return PatchedUserFromJSONTyped(json, false); +} + +export function PatchedUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUser { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'username': !exists(json, 'username') ? undefined : json['username'], + 'firstName': !exists(json, 'first_name') ? undefined : json['first_name'], + 'lastName': !exists(json, 'last_name') ? undefined : json['last_name'], + 'displayName': !exists(json, 'display_name') ? undefined : json['display_name'], + }; +} + +export function PatchedUserToJSON(value?: PatchedUser | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'first_name': value.firstName, + 'last_name': value.lastName, + }; +} + diff --git a/models/PatchedUserPreference.ts b/models/PatchedUserPreference.ts new file mode 100644 index 000000000..9e83267ed --- /dev/null +++ b/models/PatchedUserPreference.ts @@ -0,0 +1,324 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DefaultPageEnum } from './DefaultPageEnum'; +import { + DefaultPageEnumFromJSON, + DefaultPageEnumFromJSONTyped, + DefaultPageEnumToJSON, +} from './DefaultPageEnum'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { PatchedSpaceImage } from './PatchedSpaceImage'; +import { + PatchedSpaceImageFromJSON, + PatchedSpaceImageFromJSONTyped, + PatchedSpaceImageToJSON, +} from './PatchedSpaceImage'; +import type { ThemeEnum } from './ThemeEnum'; +import { + ThemeEnumFromJSON, + ThemeEnumFromJSONTyped, + ThemeEnumToJSON, +} from './ThemeEnum'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; +import type { UserPreferenceNavTextColorEnum } from './UserPreferenceNavTextColorEnum'; +import { + UserPreferenceNavTextColorEnumFromJSON, + UserPreferenceNavTextColorEnumFromJSONTyped, + UserPreferenceNavTextColorEnumToJSON, +} from './UserPreferenceNavTextColorEnum'; + +/** + * Adds nested create feature + * @export + * @interface PatchedUserPreference + */ +export interface PatchedUserPreference { + /** + * + * @type {number} + * @memberof PatchedUserPreference + */ + user?: number; + /** + * + * @type {PatchedSpaceImage} + * @memberof PatchedUserPreference + */ + image?: PatchedSpaceImage | null; + /** + * + * @type {ThemeEnum} + * @memberof PatchedUserPreference + */ + theme?: ThemeEnum; + /** + * + * @type {string} + * @memberof PatchedUserPreference + */ + navBgColor?: string; + /** + * + * @type {UserPreferenceNavTextColorEnum} + * @memberof PatchedUserPreference + */ + navTextColor?: UserPreferenceNavTextColorEnum; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + navShowLogo?: boolean; + /** + * + * @type {string} + * @memberof PatchedUserPreference + */ + defaultUnit?: string; + /** + * + * @type {DefaultPageEnum} + * @memberof PatchedUserPreference + */ + defaultPage?: DefaultPageEnum; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + useFractions?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + useKj?: boolean; + /** + * + * @type {Array} + * @memberof PatchedUserPreference + */ + planShare?: Array | null; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + navSticky?: boolean; + /** + * + * @type {number} + * @memberof PatchedUserPreference + */ + ingredientDecimals?: number; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + comments?: boolean; + /** + * + * @type {number} + * @memberof PatchedUserPreference + */ + shoppingAutoSync?: number; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + mealplanAutoaddShopping?: boolean; + /** + * + * @type {FoodInheritField} + * @memberof PatchedUserPreference + */ + readonly foodInheritDefault?: FoodInheritField; + /** + * + * @type {number} + * @memberof PatchedUserPreference + */ + defaultDelay?: number; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + mealplanAutoincludeRelated?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + mealplanAutoexcludeOnhand?: boolean; + /** + * + * @type {Array} + * @memberof PatchedUserPreference + */ + shoppingShare?: Array | null; + /** + * + * @type {number} + * @memberof PatchedUserPreference + */ + shoppingRecentDays?: number; + /** + * + * @type {string} + * @memberof PatchedUserPreference + */ + csvDelim?: string; + /** + * + * @type {string} + * @memberof PatchedUserPreference + */ + csvPrefix?: string; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + filterToSupermarket?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + shoppingAddOnhand?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + leftHanded?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + showStepIngredients?: boolean; + /** + * + * @type {boolean} + * @memberof PatchedUserPreference + */ + readonly foodChildrenExist?: boolean; +} + +/** + * Check if a given object implements the PatchedUserPreference interface. + */ +export function instanceOfPatchedUserPreference(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedUserPreferenceFromJSON(json: any): PatchedUserPreference { + return PatchedUserPreferenceFromJSONTyped(json, false); +} + +export function PatchedUserPreferenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUserPreference { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'user': !exists(json, 'user') ? undefined : json['user'], + 'image': !exists(json, 'image') ? undefined : PatchedSpaceImageFromJSON(json['image']), + 'theme': !exists(json, 'theme') ? undefined : ThemeEnumFromJSON(json['theme']), + 'navBgColor': !exists(json, 'nav_bg_color') ? undefined : json['nav_bg_color'], + 'navTextColor': !exists(json, 'nav_text_color') ? undefined : UserPreferenceNavTextColorEnumFromJSON(json['nav_text_color']), + 'navShowLogo': !exists(json, 'nav_show_logo') ? undefined : json['nav_show_logo'], + 'defaultUnit': !exists(json, 'default_unit') ? undefined : json['default_unit'], + 'defaultPage': !exists(json, 'default_page') ? undefined : DefaultPageEnumFromJSON(json['default_page']), + 'useFractions': !exists(json, 'use_fractions') ? undefined : json['use_fractions'], + 'useKj': !exists(json, 'use_kj') ? undefined : json['use_kj'], + 'planShare': !exists(json, 'plan_share') ? undefined : (json['plan_share'] === null ? null : (json['plan_share'] as Array).map(UserFromJSON)), + 'navSticky': !exists(json, 'nav_sticky') ? undefined : json['nav_sticky'], + 'ingredientDecimals': !exists(json, 'ingredient_decimals') ? undefined : json['ingredient_decimals'], + 'comments': !exists(json, 'comments') ? undefined : json['comments'], + 'shoppingAutoSync': !exists(json, 'shopping_auto_sync') ? undefined : json['shopping_auto_sync'], + 'mealplanAutoaddShopping': !exists(json, 'mealplan_autoadd_shopping') ? undefined : json['mealplan_autoadd_shopping'], + 'foodInheritDefault': !exists(json, 'food_inherit_default') ? undefined : FoodInheritFieldFromJSON(json['food_inherit_default']), + 'defaultDelay': !exists(json, 'default_delay') ? undefined : json['default_delay'], + 'mealplanAutoincludeRelated': !exists(json, 'mealplan_autoinclude_related') ? undefined : json['mealplan_autoinclude_related'], + 'mealplanAutoexcludeOnhand': !exists(json, 'mealplan_autoexclude_onhand') ? undefined : json['mealplan_autoexclude_onhand'], + 'shoppingShare': !exists(json, 'shopping_share') ? undefined : (json['shopping_share'] === null ? null : (json['shopping_share'] as Array).map(UserFromJSON)), + 'shoppingRecentDays': !exists(json, 'shopping_recent_days') ? undefined : json['shopping_recent_days'], + 'csvDelim': !exists(json, 'csv_delim') ? undefined : json['csv_delim'], + 'csvPrefix': !exists(json, 'csv_prefix') ? undefined : json['csv_prefix'], + 'filterToSupermarket': !exists(json, 'filter_to_supermarket') ? undefined : json['filter_to_supermarket'], + 'shoppingAddOnhand': !exists(json, 'shopping_add_onhand') ? undefined : json['shopping_add_onhand'], + 'leftHanded': !exists(json, 'left_handed') ? undefined : json['left_handed'], + 'showStepIngredients': !exists(json, 'show_step_ingredients') ? undefined : json['show_step_ingredients'], + 'foodChildrenExist': !exists(json, 'food_children_exist') ? undefined : json['food_children_exist'], + }; +} + +export function PatchedUserPreferenceToJSON(value?: PatchedUserPreference | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'user': value.user, + 'image': PatchedSpaceImageToJSON(value.image), + 'theme': ThemeEnumToJSON(value.theme), + 'nav_bg_color': value.navBgColor, + 'nav_text_color': UserPreferenceNavTextColorEnumToJSON(value.navTextColor), + 'nav_show_logo': value.navShowLogo, + 'default_unit': value.defaultUnit, + 'default_page': DefaultPageEnumToJSON(value.defaultPage), + 'use_fractions': value.useFractions, + 'use_kj': value.useKj, + 'plan_share': value.planShare === undefined ? undefined : (value.planShare === null ? null : (value.planShare as Array).map(UserToJSON)), + 'nav_sticky': value.navSticky, + 'ingredient_decimals': value.ingredientDecimals, + 'comments': value.comments, + 'shopping_auto_sync': value.shoppingAutoSync, + 'mealplan_autoadd_shopping': value.mealplanAutoaddShopping, + 'default_delay': value.defaultDelay, + 'mealplan_autoinclude_related': value.mealplanAutoincludeRelated, + 'mealplan_autoexclude_onhand': value.mealplanAutoexcludeOnhand, + 'shopping_share': value.shoppingShare === undefined ? undefined : (value.shoppingShare === null ? null : (value.shoppingShare as Array).map(UserToJSON)), + 'shopping_recent_days': value.shoppingRecentDays, + 'csv_delim': value.csvDelim, + 'csv_prefix': value.csvPrefix, + 'filter_to_supermarket': value.filterToSupermarket, + 'shopping_add_onhand': value.shoppingAddOnhand, + 'left_handed': value.leftHanded, + 'show_step_ingredients': value.showStepIngredients, + }; +} + diff --git a/models/PatchedUserSpace.ts b/models/PatchedUserSpace.ts new file mode 100644 index 000000000..1e419f25f --- /dev/null +++ b/models/PatchedUserSpace.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Group } from './Group'; +import { + GroupFromJSON, + GroupFromJSONTyped, + GroupToJSON, +} from './Group'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface PatchedUserSpace + */ +export interface PatchedUserSpace { + /** + * + * @type {number} + * @memberof PatchedUserSpace + */ + readonly id?: number; + /** + * + * @type {User} + * @memberof PatchedUserSpace + */ + readonly user?: User; + /** + * + * @type {number} + * @memberof PatchedUserSpace + */ + readonly space?: number; + /** + * + * @type {Array} + * @memberof PatchedUserSpace + */ + groups?: Array; + /** + * + * @type {boolean} + * @memberof PatchedUserSpace + */ + active?: boolean; + /** + * + * @type {string} + * @memberof PatchedUserSpace + */ + internalNote?: string | null; + /** + * + * @type {number} + * @memberof PatchedUserSpace + */ + readonly inviteLink?: number | null; + /** + * + * @type {Date} + * @memberof PatchedUserSpace + */ + readonly createdAt?: Date; + /** + * + * @type {Date} + * @memberof PatchedUserSpace + */ + readonly updatedAt?: Date; +} + +/** + * Check if a given object implements the PatchedUserSpace interface. + */ +export function instanceOfPatchedUserSpace(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedUserSpaceFromJSON(json: any): PatchedUserSpace { + return PatchedUserSpaceFromJSONTyped(json, false); +} + +export function PatchedUserSpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUserSpace { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'user': !exists(json, 'user') ? undefined : UserFromJSON(json['user']), + 'space': !exists(json, 'space') ? undefined : json['space'], + 'groups': !exists(json, 'groups') ? undefined : ((json['groups'] as Array).map(GroupFromJSON)), + 'active': !exists(json, 'active') ? undefined : json['active'], + 'internalNote': !exists(json, 'internal_note') ? undefined : json['internal_note'], + 'inviteLink': !exists(json, 'invite_link') ? undefined : json['invite_link'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + 'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])), + }; +} + +export function PatchedUserSpaceToJSON(value?: PatchedUserSpace | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'groups': value.groups === undefined ? undefined : ((value.groups as Array).map(GroupToJSON)), + 'active': value.active, + 'internal_note': value.internalNote, + }; +} + diff --git a/models/PatchedViewLog.ts b/models/PatchedViewLog.ts new file mode 100644 index 000000000..3c188b2ba --- /dev/null +++ b/models/PatchedViewLog.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PatchedViewLog + */ +export interface PatchedViewLog { + /** + * + * @type {number} + * @memberof PatchedViewLog + */ + readonly id?: number; + /** + * + * @type {number} + * @memberof PatchedViewLog + */ + recipe?: number; + /** + * + * @type {number} + * @memberof PatchedViewLog + */ + readonly createdBy?: number; + /** + * + * @type {Date} + * @memberof PatchedViewLog + */ + readonly createdAt?: Date; +} + +/** + * Check if a given object implements the PatchedViewLog interface. + */ +export function instanceOfPatchedViewLog(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PatchedViewLogFromJSON(json: any): PatchedViewLog { + return PatchedViewLogFromJSONTyped(json, false); +} + +export function PatchedViewLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedViewLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'recipe': !exists(json, 'recipe') ? undefined : json['recipe'], + 'createdBy': !exists(json, 'created_by') ? undefined : json['created_by'], + 'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])), + }; +} + +export function PatchedViewLogToJSON(value?: PatchedViewLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'recipe': value.recipe, + }; +} + diff --git a/models/Property.ts b/models/Property.ts new file mode 100644 index 000000000..d3f09d094 --- /dev/null +++ b/models/Property.ts @@ -0,0 +1,124 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PropertyType } from './PropertyType'; +import { + PropertyTypeFromJSON, + PropertyTypeFromJSONTyped, + PropertyTypeToJSON, +} from './PropertyType'; + +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface Property + */ +export interface Property { + /** + * + * @type {number} + * @memberof Property + */ + readonly id: number; + /** + * + * @type {number} + * @memberof Property + */ + propertyAmount: number | null; + /** + * + * @type {PropertyType} + * @memberof Property + */ + propertyType: PropertyType; +} + +/** + * Check if a given object implements the Property interface. + */ +export function instanceOfProperty(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "propertyAmount" in value; + isInstance = isInstance && "propertyType" in value; + + return isInstance; +} + +export function PropertyFromJSON(json: any): Property { + return PropertyFromJSONTyped(json, false); +} + +export function PropertyFromJSONTyped(json: any, ignoreDiscriminator: boolean): Property { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'propertyAmount': json['property_amount'], + 'propertyType': PropertyTypeFromJSON(json['property_type']), + }; +} + +export function PropertyToJSON(value?: Property | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'property_amount': value.propertyAmount, + 'property_type': PropertyTypeToJSON(value.propertyType), + }; +} + diff --git a/models/PropertyType.ts b/models/PropertyType.ts new file mode 100644 index 000000000..765ff06cd --- /dev/null +++ b/models/PropertyType.ts @@ -0,0 +1,114 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface PropertyType + */ +export interface PropertyType { + /** + * + * @type {number} + * @memberof PropertyType + */ + id?: number; + /** + * + * @type {string} + * @memberof PropertyType + */ + name: string; + /** + * + * @type {string} + * @memberof PropertyType + */ + unit?: string | null; + /** + * + * @type {string} + * @memberof PropertyType + */ + description?: string | null; + /** + * + * @type {number} + * @memberof PropertyType + */ + order?: number; + /** + * + * @type {string} + * @memberof PropertyType + */ + openDataSlug?: string | null; + /** + * + * @type {number} + * @memberof PropertyType + */ + fdcId?: number | null; +} + +/** + * Check if a given object implements the PropertyType interface. + */ +export function instanceOfPropertyType(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function PropertyTypeFromJSON(json: any): PropertyType { + return PropertyTypeFromJSONTyped(json, false); +} + +export function PropertyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PropertyType { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'id') ? undefined : json['id'], + 'name': json['name'], + 'unit': !exists(json, 'unit') ? undefined : json['unit'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + 'fdcId': !exists(json, 'fdc_id') ? undefined : json['fdc_id'], + }; +} + +export function PropertyTypeToJSON(value?: PropertyType | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'id': value.id, + 'name': value.name, + 'unit': value.unit, + 'description': value.description, + 'order': value.order, + 'open_data_slug': value.openDataSlug, + 'fdc_id': value.fdcId, + }; +} + diff --git a/models/Recipe.ts b/models/Recipe.ts new file mode 100644 index 000000000..633bcc659 --- /dev/null +++ b/models/Recipe.ts @@ -0,0 +1,282 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Keyword } from './Keyword'; +import { + KeywordFromJSON, + KeywordFromJSONTyped, + KeywordToJSON, +} from './Keyword'; +import type { PatchedRecipeNutrition } from './PatchedRecipeNutrition'; +import { + PatchedRecipeNutritionFromJSON, + PatchedRecipeNutritionFromJSONTyped, + PatchedRecipeNutritionToJSON, +} from './PatchedRecipeNutrition'; +import type { Property } from './Property'; +import { + PropertyFromJSON, + PropertyFromJSONTyped, + PropertyToJSON, +} from './Property'; +import type { Step } from './Step'; +import { + StepFromJSON, + StepFromJSONTyped, + StepToJSON, +} from './Step'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface Recipe + */ +export interface Recipe { + /** + * + * @type {number} + * @memberof Recipe + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Recipe + */ + name: string; + /** + * + * @type {string} + * @memberof Recipe + */ + description?: string | null; + /** + * + * @type {string} + * @memberof Recipe + */ + readonly image: string | null; + /** + * + * @type {Array} + * @memberof Recipe + */ + keywords?: Array; + /** + * + * @type {Array} + * @memberof Recipe + */ + steps: Array; + /** + * + * @type {number} + * @memberof Recipe + */ + workingTime?: number; + /** + * + * @type {number} + * @memberof Recipe + */ + waitingTime?: number; + /** + * + * @type {number} + * @memberof Recipe + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof Recipe + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof Recipe + */ + readonly updatedAt: Date; + /** + * + * @type {string} + * @memberof Recipe + */ + sourceUrl?: string | null; + /** + * + * @type {boolean} + * @memberof Recipe + */ + internal?: boolean; + /** + * + * @type {boolean} + * @memberof Recipe + */ + showIngredientOverview?: boolean; + /** + * + * @type {PatchedRecipeNutrition} + * @memberof Recipe + */ + nutrition?: PatchedRecipeNutrition | null; + /** + * + * @type {Array} + * @memberof Recipe + */ + properties?: Array; + /** + * + * @type {any} + * @memberof Recipe + */ + readonly foodProperties: any | null; + /** + * + * @type {number} + * @memberof Recipe + */ + servings?: number; + /** + * + * @type {string} + * @memberof Recipe + */ + filePath?: string; + /** + * + * @type {string} + * @memberof Recipe + */ + servingsText?: string; + /** + * + * @type {number} + * @memberof Recipe + */ + readonly rating: number | null; + /** + * + * @type {Date} + * @memberof Recipe + */ + readonly lastCooked: Date | null; + /** + * + * @type {boolean} + * @memberof Recipe + */ + _private?: boolean; + /** + * + * @type {Array} + * @memberof Recipe + */ + shared?: Array; +} + +/** + * Check if a given object implements the Recipe interface. + */ +export function instanceOfRecipe(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "image" in value; + isInstance = isInstance && "steps" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + isInstance = isInstance && "foodProperties" in value; + isInstance = isInstance && "rating" in value; + isInstance = isInstance && "lastCooked" in value; + + return isInstance; +} + +export function RecipeFromJSON(json: any): Recipe { + return RecipeFromJSONTyped(json, false); +} + +export function RecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Recipe { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'image': json['image'], + 'keywords': !exists(json, 'keywords') ? undefined : ((json['keywords'] as Array).map(KeywordFromJSON)), + 'steps': ((json['steps'] as Array).map(StepFromJSON)), + 'workingTime': !exists(json, 'working_time') ? undefined : json['working_time'], + 'waitingTime': !exists(json, 'waiting_time') ? undefined : json['waiting_time'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + 'sourceUrl': !exists(json, 'source_url') ? undefined : json['source_url'], + 'internal': !exists(json, 'internal') ? undefined : json['internal'], + 'showIngredientOverview': !exists(json, 'show_ingredient_overview') ? undefined : json['show_ingredient_overview'], + 'nutrition': !exists(json, 'nutrition') ? undefined : PatchedRecipeNutritionFromJSON(json['nutrition']), + 'properties': !exists(json, 'properties') ? undefined : ((json['properties'] as Array).map(PropertyFromJSON)), + 'foodProperties': json['food_properties'], + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + 'filePath': !exists(json, 'file_path') ? undefined : json['file_path'], + 'servingsText': !exists(json, 'servings_text') ? undefined : json['servings_text'], + 'rating': json['rating'], + 'lastCooked': (json['last_cooked'] === null ? null : new Date(json['last_cooked'])), + '_private': !exists(json, 'private') ? undefined : json['private'], + 'shared': !exists(json, 'shared') ? undefined : ((json['shared'] as Array).map(UserFromJSON)), + }; +} + +export function RecipeToJSON(value?: Recipe | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'keywords': value.keywords === undefined ? undefined : ((value.keywords as Array).map(KeywordToJSON)), + 'steps': ((value.steps as Array).map(StepToJSON)), + 'working_time': value.workingTime, + 'waiting_time': value.waitingTime, + 'source_url': value.sourceUrl, + 'internal': value.internal, + 'show_ingredient_overview': value.showIngredientOverview, + 'nutrition': PatchedRecipeNutritionToJSON(value.nutrition), + 'properties': value.properties === undefined ? undefined : ((value.properties as Array).map(PropertyToJSON)), + 'servings': value.servings, + 'file_path': value.filePath, + 'servings_text': value.servingsText, + 'private': value._private, + 'shared': value.shared === undefined ? undefined : ((value.shared as Array).map(UserToJSON)), + }; +} + diff --git a/models/RecipeBook.ts b/models/RecipeBook.ts new file mode 100644 index 000000000..32898e558 --- /dev/null +++ b/models/RecipeBook.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PatchedRecipeBookFilter } from './PatchedRecipeBookFilter'; +import { + PatchedRecipeBookFilterFromJSON, + PatchedRecipeBookFilterFromJSONTyped, + PatchedRecipeBookFilterToJSON, +} from './PatchedRecipeBookFilter'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface RecipeBook + */ +export interface RecipeBook { + /** + * + * @type {number} + * @memberof RecipeBook + */ + readonly id: number; + /** + * + * @type {string} + * @memberof RecipeBook + */ + name: string; + /** + * + * @type {string} + * @memberof RecipeBook + */ + description?: string; + /** + * + * @type {Array} + * @memberof RecipeBook + */ + shared: Array; + /** + * + * @type {number} + * @memberof RecipeBook + */ + readonly createdBy: number; + /** + * + * @type {PatchedRecipeBookFilter} + * @memberof RecipeBook + */ + filter?: PatchedRecipeBookFilter | null; + /** + * + * @type {number} + * @memberof RecipeBook + */ + order?: number; +} + +/** + * Check if a given object implements the RecipeBook interface. + */ +export function instanceOfRecipeBook(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "shared" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function RecipeBookFromJSON(json: any): RecipeBook { + return RecipeBookFromJSONTyped(json, false); +} + +export function RecipeBookFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeBook { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'shared': ((json['shared'] as Array).map(UserFromJSON)), + 'createdBy': json['created_by'], + 'filter': !exists(json, 'filter') ? undefined : PatchedRecipeBookFilterFromJSON(json['filter']), + 'order': !exists(json, 'order') ? undefined : json['order'], + }; +} + +export function RecipeBookToJSON(value?: RecipeBook | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'shared': ((value.shared as Array).map(UserToJSON)), + 'filter': PatchedRecipeBookFilterToJSON(value.filter), + 'order': value.order, + }; +} + diff --git a/models/RecipeBookEntry.ts b/models/RecipeBookEntry.ts new file mode 100644 index 000000000..7fcb67cf3 --- /dev/null +++ b/models/RecipeBookEntry.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RecipeBook } from './RecipeBook'; +import { + RecipeBookFromJSON, + RecipeBookFromJSONTyped, + RecipeBookToJSON, +} from './RecipeBook'; +import type { RecipeOverview } from './RecipeOverview'; +import { + RecipeOverviewFromJSON, + RecipeOverviewFromJSONTyped, + RecipeOverviewToJSON, +} from './RecipeOverview'; + +/** + * + * @export + * @interface RecipeBookEntry + */ +export interface RecipeBookEntry { + /** + * + * @type {number} + * @memberof RecipeBookEntry + */ + readonly id: number; + /** + * + * @type {number} + * @memberof RecipeBookEntry + */ + book: number; + /** + * + * @type {RecipeBook} + * @memberof RecipeBookEntry + */ + readonly bookContent: RecipeBook; + /** + * + * @type {number} + * @memberof RecipeBookEntry + */ + recipe: number; + /** + * + * @type {RecipeOverview} + * @memberof RecipeBookEntry + */ + readonly recipeContent: RecipeOverview; +} + +/** + * Check if a given object implements the RecipeBookEntry interface. + */ +export function instanceOfRecipeBookEntry(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "book" in value; + isInstance = isInstance && "bookContent" in value; + isInstance = isInstance && "recipe" in value; + isInstance = isInstance && "recipeContent" in value; + + return isInstance; +} + +export function RecipeBookEntryFromJSON(json: any): RecipeBookEntry { + return RecipeBookEntryFromJSONTyped(json, false); +} + +export function RecipeBookEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeBookEntry { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'book': json['book'], + 'bookContent': RecipeBookFromJSON(json['book_content']), + 'recipe': json['recipe'], + 'recipeContent': RecipeOverviewFromJSON(json['recipe_content']), + }; +} + +export function RecipeBookEntryToJSON(value?: RecipeBookEntry | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'book': value.book, + 'recipe': value.recipe, + }; +} + diff --git a/models/RecipeFlat.ts b/models/RecipeFlat.ts new file mode 100644 index 000000000..bbf32af3e --- /dev/null +++ b/models/RecipeFlat.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface RecipeFlat + */ +export interface RecipeFlat { + /** + * + * @type {number} + * @memberof RecipeFlat + */ + readonly id: number; + /** + * + * @type {string} + * @memberof RecipeFlat + */ + name: string; + /** + * + * @type {string} + * @memberof RecipeFlat + */ + image?: string | null; +} + +/** + * Check if a given object implements the RecipeFlat interface. + */ +export function instanceOfRecipeFlat(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function RecipeFlatFromJSON(json: any): RecipeFlat { + return RecipeFlatFromJSONTyped(json, false); +} + +export function RecipeFlatFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeFlat { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'image': !exists(json, 'image') ? undefined : json['image'], + }; +} + +export function RecipeFlatToJSON(value?: RecipeFlat | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'image': value.image, + }; +} + diff --git a/models/RecipeImage.ts b/models/RecipeImage.ts new file mode 100644 index 000000000..3045a4076 --- /dev/null +++ b/models/RecipeImage.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface RecipeImage + */ +export interface RecipeImage { + /** + * + * @type {string} + * @memberof RecipeImage + */ + image?: string | null; + /** + * + * @type {string} + * @memberof RecipeImage + */ + imageUrl?: string | null; +} + +/** + * Check if a given object implements the RecipeImage interface. + */ +export function instanceOfRecipeImage(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RecipeImageFromJSON(json: any): RecipeImage { + return RecipeImageFromJSONTyped(json, false); +} + +export function RecipeImageFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeImage { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'image': !exists(json, 'image') ? undefined : json['image'], + 'imageUrl': !exists(json, 'image_url') ? undefined : json['image_url'], + }; +} + +export function RecipeImageToJSON(value?: RecipeImage | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'image': value.image, + 'image_url': value.imageUrl, + }; +} + diff --git a/models/RecipeOverview.ts b/models/RecipeOverview.ts new file mode 100644 index 000000000..0288e2a30 --- /dev/null +++ b/models/RecipeOverview.ts @@ -0,0 +1,200 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { KeywordLabel } from './KeywordLabel'; +import { + KeywordLabelFromJSON, + KeywordLabelFromJSONTyped, + KeywordLabelToJSON, +} from './KeywordLabel'; + +/** + * Adds nested create feature + * @export + * @interface RecipeOverview + */ +export interface RecipeOverview { + /** + * + * @type {number} + * @memberof RecipeOverview + */ + readonly id: number; + /** + * + * @type {string} + * @memberof RecipeOverview + */ + readonly name: string; + /** + * + * @type {string} + * @memberof RecipeOverview + */ + readonly description: string | null; + /** + * + * @type {string} + * @memberof RecipeOverview + */ + readonly image: string | null; + /** + * + * @type {Array} + * @memberof RecipeOverview + */ + readonly keywords: Array; + /** + * + * @type {number} + * @memberof RecipeOverview + */ + readonly workingTime: number; + /** + * + * @type {number} + * @memberof RecipeOverview + */ + readonly waitingTime: number; + /** + * + * @type {number} + * @memberof RecipeOverview + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof RecipeOverview + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof RecipeOverview + */ + readonly updatedAt: Date; + /** + * + * @type {boolean} + * @memberof RecipeOverview + */ + readonly internal: boolean; + /** + * + * @type {number} + * @memberof RecipeOverview + */ + readonly servings: number; + /** + * + * @type {string} + * @memberof RecipeOverview + */ + readonly servingsText: string; + /** + * + * @type {number} + * @memberof RecipeOverview + */ + readonly rating: number | null; + /** + * + * @type {Date} + * @memberof RecipeOverview + */ + readonly lastCooked: Date | null; + /** + * + * @type {boolean} + * @memberof RecipeOverview + */ + readonly _new: boolean; + /** + * + * @type {string} + * @memberof RecipeOverview + */ + readonly recent: string; +} + +/** + * Check if a given object implements the RecipeOverview interface. + */ +export function instanceOfRecipeOverview(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "description" in value; + isInstance = isInstance && "image" in value; + isInstance = isInstance && "keywords" in value; + isInstance = isInstance && "workingTime" in value; + isInstance = isInstance && "waitingTime" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + isInstance = isInstance && "internal" in value; + isInstance = isInstance && "servings" in value; + isInstance = isInstance && "servingsText" in value; + isInstance = isInstance && "rating" in value; + isInstance = isInstance && "lastCooked" in value; + isInstance = isInstance && "_new" in value; + isInstance = isInstance && "recent" in value; + + return isInstance; +} + +export function RecipeOverviewFromJSON(json: any): RecipeOverview { + return RecipeOverviewFromJSONTyped(json, false); +} + +export function RecipeOverviewFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeOverview { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': json['description'], + 'image': json['image'], + 'keywords': ((json['keywords'] as Array).map(KeywordLabelFromJSON)), + 'workingTime': json['working_time'], + 'waitingTime': json['waiting_time'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + 'internal': json['internal'], + 'servings': json['servings'], + 'servingsText': json['servings_text'], + 'rating': json['rating'], + 'lastCooked': (json['last_cooked'] === null ? null : new Date(json['last_cooked'])), + '_new': json['new'], + 'recent': json['recent'], + }; +} + +export function RecipeOverviewToJSON(value?: RecipeOverview | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + }; +} + diff --git a/models/RecipeShoppingUpdate.ts b/models/RecipeShoppingUpdate.ts new file mode 100644 index 000000000..a9e57aed6 --- /dev/null +++ b/models/RecipeShoppingUpdate.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface RecipeShoppingUpdate + */ +export interface RecipeShoppingUpdate { + /** + * + * @type {number} + * @memberof RecipeShoppingUpdate + */ + readonly id: number; + /** + * Existing shopping list to update + * @type {number} + * @memberof RecipeShoppingUpdate + */ + listRecipe?: number | null; + /** + * List of ingredient IDs from the recipe to add, if not provided all ingredients will be added. + * @type {number} + * @memberof RecipeShoppingUpdate + */ + ingredients?: number | null; + /** + * Providing a list_recipe ID and servings of 0 will delete that shopping list. + * @type {number} + * @memberof RecipeShoppingUpdate + */ + servings?: number | null; +} + +/** + * Check if a given object implements the RecipeShoppingUpdate interface. + */ +export function instanceOfRecipeShoppingUpdate(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function RecipeShoppingUpdateFromJSON(json: any): RecipeShoppingUpdate { + return RecipeShoppingUpdateFromJSONTyped(json, false); +} + +export function RecipeShoppingUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeShoppingUpdate { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'listRecipe': !exists(json, 'list_recipe') ? undefined : json['list_recipe'], + 'ingredients': !exists(json, 'ingredients') ? undefined : json['ingredients'], + 'servings': !exists(json, 'servings') ? undefined : json['servings'], + }; +} + +export function RecipeShoppingUpdateToJSON(value?: RecipeShoppingUpdate | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'list_recipe': value.listRecipe, + 'ingredients': value.ingredients, + 'servings': value.servings, + }; +} + diff --git a/models/RecipeSimple.ts b/models/RecipeSimple.ts new file mode 100644 index 000000000..a811bc742 --- /dev/null +++ b/models/RecipeSimple.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface RecipeSimple + */ +export interface RecipeSimple { + /** + * + * @type {number} + * @memberof RecipeSimple + */ + readonly id: number; + /** + * + * @type {string} + * @memberof RecipeSimple + */ + name: string; + /** + * + * @type {string} + * @memberof RecipeSimple + */ + readonly url: string; +} + +/** + * Check if a given object implements the RecipeSimple interface. + */ +export function instanceOfRecipeSimple(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "url" in value; + + return isInstance; +} + +export function RecipeSimpleFromJSON(json: any): RecipeSimple { + return RecipeSimpleFromJSONTyped(json, false); +} + +export function RecipeSimpleFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeSimple { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'url': json['url'], + }; +} + +export function RecipeSimpleToJSON(value?: RecipeSimple | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/models/ShoppingListEntry.ts b/models/ShoppingListEntry.ts new file mode 100644 index 000000000..7845759c3 --- /dev/null +++ b/models/ShoppingListEntry.ts @@ -0,0 +1,188 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodPropertiesFoodUnit } from './FoodPropertiesFoodUnit'; +import { + FoodPropertiesFoodUnitFromJSON, + FoodPropertiesFoodUnitFromJSONTyped, + FoodPropertiesFoodUnitToJSON, +} from './FoodPropertiesFoodUnit'; +import type { IngredientFood } from './IngredientFood'; +import { + IngredientFoodFromJSON, + IngredientFoodFromJSONTyped, + IngredientFoodToJSON, +} from './IngredientFood'; +import type { ShoppingListRecipe } from './ShoppingListRecipe'; +import { + ShoppingListRecipeFromJSON, + ShoppingListRecipeFromJSONTyped, + ShoppingListRecipeToJSON, +} from './ShoppingListRecipe'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface ShoppingListEntry + */ +export interface ShoppingListEntry { + /** + * + * @type {number} + * @memberof ShoppingListEntry + */ + readonly id: number; + /** + * + * @type {number} + * @memberof ShoppingListEntry + */ + listRecipe?: number | null; + /** + * + * @type {IngredientFood} + * @memberof ShoppingListEntry + */ + food: IngredientFood | null; + /** + * + * @type {FoodPropertiesFoodUnit} + * @memberof ShoppingListEntry + */ + unit?: FoodPropertiesFoodUnit | null; + /** + * + * @type {number} + * @memberof ShoppingListEntry + */ + amount: number; + /** + * + * @type {number} + * @memberof ShoppingListEntry + */ + order?: number; + /** + * + * @type {boolean} + * @memberof ShoppingListEntry + */ + checked?: boolean; + /** + * + * @type {ShoppingListRecipe} + * @memberof ShoppingListEntry + */ + readonly recipeMealplan: ShoppingListRecipe; + /** + * + * @type {User} + * @memberof ShoppingListEntry + */ + readonly createdBy: User; + /** + * + * @type {Date} + * @memberof ShoppingListEntry + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof ShoppingListEntry + */ + readonly updatedAt: Date; + /** + * + * @type {Date} + * @memberof ShoppingListEntry + */ + completedAt?: Date | null; + /** + * + * @type {Date} + * @memberof ShoppingListEntry + */ + delayUntil?: Date | null; +} + +/** + * Check if a given object implements the ShoppingListEntry interface. + */ +export function instanceOfShoppingListEntry(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "food" in value; + isInstance = isInstance && "amount" in value; + isInstance = isInstance && "recipeMealplan" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function ShoppingListEntryFromJSON(json: any): ShoppingListEntry { + return ShoppingListEntryFromJSONTyped(json, false); +} + +export function ShoppingListEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShoppingListEntry { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'listRecipe': !exists(json, 'list_recipe') ? undefined : json['list_recipe'], + 'food': IngredientFoodFromJSON(json['food']), + 'unit': !exists(json, 'unit') ? undefined : FoodPropertiesFoodUnitFromJSON(json['unit']), + 'amount': json['amount'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'checked': !exists(json, 'checked') ? undefined : json['checked'], + 'recipeMealplan': ShoppingListRecipeFromJSON(json['recipe_mealplan']), + 'createdBy': UserFromJSON(json['created_by']), + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + 'completedAt': !exists(json, 'completed_at') ? undefined : (json['completed_at'] === null ? null : new Date(json['completed_at'])), + 'delayUntil': !exists(json, 'delay_until') ? undefined : (json['delay_until'] === null ? null : new Date(json['delay_until'])), + }; +} + +export function ShoppingListEntryToJSON(value?: ShoppingListEntry | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'list_recipe': value.listRecipe, + 'food': IngredientFoodToJSON(value.food), + 'unit': FoodPropertiesFoodUnitToJSON(value.unit), + 'amount': value.amount, + 'order': value.order, + 'checked': value.checked, + 'completed_at': value.completedAt === undefined ? undefined : (value.completedAt === null ? null : value.completedAt.toISOString()), + 'delay_until': value.delayUntil === undefined ? undefined : (value.delayUntil === null ? null : value.delayUntil.toISOString()), + }; +} + diff --git a/models/ShoppingListEntryBulk.ts b/models/ShoppingListEntryBulk.ts new file mode 100644 index 000000000..96f2ace96 --- /dev/null +++ b/models/ShoppingListEntryBulk.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ShoppingListEntryBulk + */ +export interface ShoppingListEntryBulk { + /** + * + * @type {Array} + * @memberof ShoppingListEntryBulk + */ + ids: Array; + /** + * + * @type {boolean} + * @memberof ShoppingListEntryBulk + */ + checked: boolean; +} + +/** + * Check if a given object implements the ShoppingListEntryBulk interface. + */ +export function instanceOfShoppingListEntryBulk(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ids" in value; + isInstance = isInstance && "checked" in value; + + return isInstance; +} + +export function ShoppingListEntryBulkFromJSON(json: any): ShoppingListEntryBulk { + return ShoppingListEntryBulkFromJSONTyped(json, false); +} + +export function ShoppingListEntryBulkFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShoppingListEntryBulk { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ids': json['ids'], + 'checked': json['checked'], + }; +} + +export function ShoppingListEntryBulkToJSON(value?: ShoppingListEntryBulk | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ids': value.ids, + 'checked': value.checked, + }; +} + diff --git a/models/ShoppingListRecipe.ts b/models/ShoppingListRecipe.ts new file mode 100644 index 000000000..644383232 --- /dev/null +++ b/models/ShoppingListRecipe.ts @@ -0,0 +1,130 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ShoppingListRecipe + */ +export interface ShoppingListRecipe { + /** + * + * @type {number} + * @memberof ShoppingListRecipe + */ + readonly id: number; + /** + * + * @type {string} + * @memberof ShoppingListRecipe + */ + readonly recipeName: string; + /** + * + * @type {string} + * @memberof ShoppingListRecipe + */ + readonly name: string; + /** + * + * @type {number} + * @memberof ShoppingListRecipe + */ + recipe?: number | null; + /** + * + * @type {number} + * @memberof ShoppingListRecipe + */ + mealplan?: number | null; + /** + * + * @type {number} + * @memberof ShoppingListRecipe + */ + servings: number; + /** + * + * @type {string} + * @memberof ShoppingListRecipe + */ + readonly mealplanNote: string; + /** + * + * @type {Date} + * @memberof ShoppingListRecipe + */ + readonly mealplanFromDate: Date; + /** + * + * @type {string} + * @memberof ShoppingListRecipe + */ + readonly mealplanType: string; +} + +/** + * Check if a given object implements the ShoppingListRecipe interface. + */ +export function instanceOfShoppingListRecipe(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "recipeName" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "servings" in value; + isInstance = isInstance && "mealplanNote" in value; + isInstance = isInstance && "mealplanFromDate" in value; + isInstance = isInstance && "mealplanType" in value; + + return isInstance; +} + +export function ShoppingListRecipeFromJSON(json: any): ShoppingListRecipe { + return ShoppingListRecipeFromJSONTyped(json, false); +} + +export function ShoppingListRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShoppingListRecipe { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'recipeName': json['recipe_name'], + 'name': json['name'], + 'recipe': !exists(json, 'recipe') ? undefined : json['recipe'], + 'mealplan': !exists(json, 'mealplan') ? undefined : json['mealplan'], + 'servings': json['servings'], + 'mealplanNote': json['mealplan_note'], + 'mealplanFromDate': (new Date(json['mealplan_from_date'])), + 'mealplanType': json['mealplan_type'], + }; +} + +export function ShoppingListRecipeToJSON(value?: ShoppingListRecipe | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'recipe': value.recipe, + 'mealplan': value.mealplan, + 'servings': value.servings, + }; +} + diff --git a/models/Space.ts b/models/Space.ts new file mode 100644 index 000000000..dcb8fc503 --- /dev/null +++ b/models/Space.ts @@ -0,0 +1,299 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { PatchedSpaceImage } from './PatchedSpaceImage'; +import { + PatchedSpaceImageFromJSON, + PatchedSpaceImageFromJSONTyped, + PatchedSpaceImageToJSON, +} from './PatchedSpaceImage'; +import type { SpaceNavTextColorEnum } from './SpaceNavTextColorEnum'; +import { + SpaceNavTextColorEnumFromJSON, + SpaceNavTextColorEnumFromJSONTyped, + SpaceNavTextColorEnumToJSON, +} from './SpaceNavTextColorEnum'; +import type { SpaceThemeEnum } from './SpaceThemeEnum'; +import { + SpaceThemeEnumFromJSON, + SpaceThemeEnumFromJSONTyped, + SpaceThemeEnumToJSON, +} from './SpaceThemeEnum'; + +/** + * Adds nested create feature + * @export + * @interface Space + */ +export interface Space { + /** + * + * @type {number} + * @memberof Space + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Space + */ + name?: string; + /** + * + * @type {number} + * @memberof Space + */ + readonly createdBy: number | null; + /** + * + * @type {Date} + * @memberof Space + */ + readonly createdAt: Date; + /** + * + * @type {string} + * @memberof Space + */ + message?: string; + /** + * + * @type {number} + * @memberof Space + */ + readonly maxRecipes: number; + /** + * Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload. + * @type {number} + * @memberof Space + */ + readonly maxFileStorageMb: number; + /** + * + * @type {number} + * @memberof Space + */ + readonly maxUsers: number; + /** + * + * @type {boolean} + * @memberof Space + */ + readonly allowSharing: boolean; + /** + * + * @type {boolean} + * @memberof Space + */ + readonly demo: boolean; + /** + * + * @type {Array} + * @memberof Space + */ + foodInherit: Array; + /** + * + * @type {number} + * @memberof Space + */ + readonly userCount: number; + /** + * + * @type {number} + * @memberof Space + */ + readonly recipeCount: number; + /** + * + * @type {number} + * @memberof Space + */ + readonly fileSizeMb: number; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + image?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + navLogo?: PatchedSpaceImage | null; + /** + * + * @type {SpaceThemeEnum} + * @memberof Space + */ + spaceTheme?: SpaceThemeEnum; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + customSpaceTheme?: PatchedSpaceImage | null; + /** + * + * @type {string} + * @memberof Space + */ + navBgColor?: string; + /** + * + * @type {SpaceNavTextColorEnum} + * @memberof Space + */ + navTextColor?: SpaceNavTextColorEnum; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColor32?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColor128?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColor144?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColor180?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColor192?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColor512?: PatchedSpaceImage | null; + /** + * + * @type {PatchedSpaceImage} + * @memberof Space + */ + logoColorSvg?: PatchedSpaceImage | null; +} + +/** + * Check if a given object implements the Space interface. + */ +export function instanceOfSpace(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "maxRecipes" in value; + isInstance = isInstance && "maxFileStorageMb" in value; + isInstance = isInstance && "maxUsers" in value; + isInstance = isInstance && "allowSharing" in value; + isInstance = isInstance && "demo" in value; + isInstance = isInstance && "foodInherit" in value; + isInstance = isInstance && "userCount" in value; + isInstance = isInstance && "recipeCount" in value; + isInstance = isInstance && "fileSizeMb" in value; + + return isInstance; +} + +export function SpaceFromJSON(json: any): Space { + return SpaceFromJSONTyped(json, false); +} + +export function SpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Space { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + 'message': !exists(json, 'message') ? undefined : json['message'], + 'maxRecipes': json['max_recipes'], + 'maxFileStorageMb': json['max_file_storage_mb'], + 'maxUsers': json['max_users'], + 'allowSharing': json['allow_sharing'], + 'demo': json['demo'], + 'foodInherit': ((json['food_inherit'] as Array).map(FoodInheritFieldFromJSON)), + 'userCount': json['user_count'], + 'recipeCount': json['recipe_count'], + 'fileSizeMb': json['file_size_mb'], + 'image': !exists(json, 'image') ? undefined : PatchedSpaceImageFromJSON(json['image']), + 'navLogo': !exists(json, 'nav_logo') ? undefined : PatchedSpaceImageFromJSON(json['nav_logo']), + 'spaceTheme': !exists(json, 'space_theme') ? undefined : SpaceThemeEnumFromJSON(json['space_theme']), + 'customSpaceTheme': !exists(json, 'custom_space_theme') ? undefined : PatchedSpaceImageFromJSON(json['custom_space_theme']), + 'navBgColor': !exists(json, 'nav_bg_color') ? undefined : json['nav_bg_color'], + 'navTextColor': !exists(json, 'nav_text_color') ? undefined : SpaceNavTextColorEnumFromJSON(json['nav_text_color']), + 'logoColor32': !exists(json, 'logo_color_32') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_32']), + 'logoColor128': !exists(json, 'logo_color_128') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_128']), + 'logoColor144': !exists(json, 'logo_color_144') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_144']), + 'logoColor180': !exists(json, 'logo_color_180') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_180']), + 'logoColor192': !exists(json, 'logo_color_192') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_192']), + 'logoColor512': !exists(json, 'logo_color_512') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_512']), + 'logoColorSvg': !exists(json, 'logo_color_svg') ? undefined : PatchedSpaceImageFromJSON(json['logo_color_svg']), + }; +} + +export function SpaceToJSON(value?: Space | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'message': value.message, + 'food_inherit': ((value.foodInherit as Array).map(FoodInheritFieldToJSON)), + 'image': PatchedSpaceImageToJSON(value.image), + 'nav_logo': PatchedSpaceImageToJSON(value.navLogo), + 'space_theme': SpaceThemeEnumToJSON(value.spaceTheme), + 'custom_space_theme': PatchedSpaceImageToJSON(value.customSpaceTheme), + 'nav_bg_color': value.navBgColor, + 'nav_text_color': SpaceNavTextColorEnumToJSON(value.navTextColor), + 'logo_color_32': PatchedSpaceImageToJSON(value.logoColor32), + 'logo_color_128': PatchedSpaceImageToJSON(value.logoColor128), + 'logo_color_144': PatchedSpaceImageToJSON(value.logoColor144), + 'logo_color_180': PatchedSpaceImageToJSON(value.logoColor180), + 'logo_color_192': PatchedSpaceImageToJSON(value.logoColor192), + 'logo_color_512': PatchedSpaceImageToJSON(value.logoColor512), + 'logo_color_svg': PatchedSpaceImageToJSON(value.logoColorSvg), + }; +} + diff --git a/models/SpaceNavTextColorEnum.ts b/models/SpaceNavTextColorEnum.ts new file mode 100644 index 000000000..ea1a950b3 --- /dev/null +++ b/models/SpaceNavTextColorEnum.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `BLANK` - ------- + * * `LIGHT` - Light + * * `DARK` - Dark + * @export + */ +export const SpaceNavTextColorEnum = { + Blank: 'BLANK', + Light: 'LIGHT', + Dark: 'DARK' +} as const; +export type SpaceNavTextColorEnum = typeof SpaceNavTextColorEnum[keyof typeof SpaceNavTextColorEnum]; + + +export function SpaceNavTextColorEnumFromJSON(json: any): SpaceNavTextColorEnum { + return SpaceNavTextColorEnumFromJSONTyped(json, false); +} + +export function SpaceNavTextColorEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpaceNavTextColorEnum { + return json as SpaceNavTextColorEnum; +} + +export function SpaceNavTextColorEnumToJSON(value?: SpaceNavTextColorEnum | null): any { + return value as any; +} + diff --git a/models/SpaceThemeEnum.ts b/models/SpaceThemeEnum.ts new file mode 100644 index 000000000..f8dde967e --- /dev/null +++ b/models/SpaceThemeEnum.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `BLANK` - ------- + * * `TANDOOR` - Tandoor + * * `BOOTSTRAP` - Bootstrap + * * `DARKLY` - Darkly + * * `FLATLY` - Flatly + * * `SUPERHERO` - Superhero + * * `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE) + * @export + */ +export const SpaceThemeEnum = { + Blank: 'BLANK', + Tandoor: 'TANDOOR', + Bootstrap: 'BOOTSTRAP', + Darkly: 'DARKLY', + Flatly: 'FLATLY', + Superhero: 'SUPERHERO', + TandoorDark: 'TANDOOR_DARK' +} as const; +export type SpaceThemeEnum = typeof SpaceThemeEnum[keyof typeof SpaceThemeEnum]; + + +export function SpaceThemeEnumFromJSON(json: any): SpaceThemeEnum { + return SpaceThemeEnumFromJSONTyped(json, false); +} + +export function SpaceThemeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpaceThemeEnum { + return json as SpaceThemeEnum; +} + +export function SpaceThemeEnumToJSON(value?: SpaceThemeEnum | null): any { + return value as any; +} + diff --git a/models/Step.ts b/models/Step.ts new file mode 100644 index 000000000..10b15ad0a --- /dev/null +++ b/models/Step.ts @@ -0,0 +1,175 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Ingredient } from './Ingredient'; +import { + IngredientFromJSON, + IngredientFromJSONTyped, + IngredientToJSON, +} from './Ingredient'; +import type { PatchedSpaceImage } from './PatchedSpaceImage'; +import { + PatchedSpaceImageFromJSON, + PatchedSpaceImageFromJSONTyped, + PatchedSpaceImageToJSON, +} from './PatchedSpaceImage'; + +/** + * Adds nested create feature + * @export + * @interface Step + */ +export interface Step { + /** + * + * @type {number} + * @memberof Step + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Step + */ + name?: string; + /** + * + * @type {string} + * @memberof Step + */ + instruction?: string; + /** + * + * @type {Array} + * @memberof Step + */ + ingredients: Array; + /** + * + * @type {string} + * @memberof Step + */ + readonly instructionsMarkdown: string; + /** + * + * @type {number} + * @memberof Step + */ + time?: number; + /** + * + * @type {number} + * @memberof Step + */ + order?: number; + /** + * + * @type {boolean} + * @memberof Step + */ + showAsHeader?: boolean; + /** + * + * @type {PatchedSpaceImage} + * @memberof Step + */ + file?: PatchedSpaceImage | null; + /** + * + * @type {number} + * @memberof Step + */ + stepRecipe?: number | null; + /** + * + * @type {any} + * @memberof Step + */ + readonly stepRecipeData: any | null; + /** + * + * @type {number} + * @memberof Step + */ + readonly numrecipe: number; + /** + * + * @type {boolean} + * @memberof Step + */ + showIngredientsTable?: boolean; +} + +/** + * Check if a given object implements the Step interface. + */ +export function instanceOfStep(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "ingredients" in value; + isInstance = isInstance && "instructionsMarkdown" in value; + isInstance = isInstance && "stepRecipeData" in value; + isInstance = isInstance && "numrecipe" in value; + + return isInstance; +} + +export function StepFromJSON(json: any): Step { + return StepFromJSONTyped(json, false); +} + +export function StepFromJSONTyped(json: any, ignoreDiscriminator: boolean): Step { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'instruction': !exists(json, 'instruction') ? undefined : json['instruction'], + 'ingredients': ((json['ingredients'] as Array).map(IngredientFromJSON)), + 'instructionsMarkdown': json['instructions_markdown'], + 'time': !exists(json, 'time') ? undefined : json['time'], + 'order': !exists(json, 'order') ? undefined : json['order'], + 'showAsHeader': !exists(json, 'show_as_header') ? undefined : json['show_as_header'], + 'file': !exists(json, 'file') ? undefined : PatchedSpaceImageFromJSON(json['file']), + 'stepRecipe': !exists(json, 'step_recipe') ? undefined : json['step_recipe'], + 'stepRecipeData': json['step_recipe_data'], + 'numrecipe': json['numrecipe'], + 'showIngredientsTable': !exists(json, 'show_ingredients_table') ? undefined : json['show_ingredients_table'], + }; +} + +export function StepToJSON(value?: Step | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'instruction': value.instruction, + 'ingredients': ((value.ingredients as Array).map(IngredientToJSON)), + 'time': value.time, + 'order': value.order, + 'show_as_header': value.showAsHeader, + 'file': PatchedSpaceImageToJSON(value.file), + 'step_recipe': value.stepRecipe, + 'show_ingredients_table': value.showIngredientsTable, + }; +} + diff --git a/models/Storage.ts b/models/Storage.ts new file mode 100644 index 000000000..150702d33 --- /dev/null +++ b/models/Storage.ts @@ -0,0 +1,121 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MethodEnum } from './MethodEnum'; +import { + MethodEnumFromJSON, + MethodEnumFromJSONTyped, + MethodEnumToJSON, +} from './MethodEnum'; + +/** + * + * @export + * @interface Storage + */ +export interface Storage { + /** + * + * @type {number} + * @memberof Storage + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Storage + */ + name: string; + /** + * + * @type {MethodEnum} + * @memberof Storage + */ + method?: MethodEnum; + /** + * + * @type {string} + * @memberof Storage + */ + username?: string | null; + /** + * + * @type {string} + * @memberof Storage + */ + password?: string | null; + /** + * + * @type {string} + * @memberof Storage + */ + token?: string | null; + /** + * + * @type {number} + * @memberof Storage + */ + readonly createdBy: number; +} + +/** + * Check if a given object implements the Storage interface. + */ +export function instanceOfStorage(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "createdBy" in value; + + return isInstance; +} + +export function StorageFromJSON(json: any): Storage { + return StorageFromJSONTyped(json, false); +} + +export function StorageFromJSONTyped(json: any, ignoreDiscriminator: boolean): Storage { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'method': !exists(json, 'method') ? undefined : MethodEnumFromJSON(json['method']), + 'username': !exists(json, 'username') ? undefined : json['username'], + 'password': !exists(json, 'password') ? undefined : json['password'], + 'token': !exists(json, 'token') ? undefined : json['token'], + 'createdBy': json['created_by'], + }; +} + +export function StorageToJSON(value?: Storage | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'method': MethodEnumToJSON(value.method), + 'username': value.username, + 'password': value.password, + 'token': value.token, + }; +} + diff --git a/models/Supermarket.ts b/models/Supermarket.ts new file mode 100644 index 000000000..4717f8d52 --- /dev/null +++ b/models/Supermarket.ts @@ -0,0 +1,139 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SupermarketCategoryRelation } from './SupermarketCategoryRelation'; +import { + SupermarketCategoryRelationFromJSON, + SupermarketCategoryRelationFromJSONTyped, + SupermarketCategoryRelationToJSON, +} from './SupermarketCategoryRelation'; + +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface Supermarket + */ +export interface Supermarket { + /** + * + * @type {number} + * @memberof Supermarket + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Supermarket + */ + name: string; + /** + * + * @type {string} + * @memberof Supermarket + */ + description?: string | null; + /** + * + * @type {Array} + * @memberof Supermarket + */ + readonly categoryToSupermarket: Array; + /** + * + * @type {string} + * @memberof Supermarket + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the Supermarket interface. + */ +export function instanceOfSupermarket(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "categoryToSupermarket" in value; + + return isInstance; +} + +export function SupermarketFromJSON(json: any): Supermarket { + return SupermarketFromJSONTyped(json, false); +} + +export function SupermarketFromJSONTyped(json: any, ignoreDiscriminator: boolean): Supermarket { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'categoryToSupermarket': ((json['category_to_supermarket'] as Array).map(SupermarketCategoryRelationFromJSON)), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function SupermarketToJSON(value?: Supermarket | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/SupermarketCategory.ts b/models/SupermarketCategory.ts new file mode 100644 index 000000000..d3ea28875 --- /dev/null +++ b/models/SupermarketCategory.ts @@ -0,0 +1,116 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface SupermarketCategory + */ +export interface SupermarketCategory { + /** + * + * @type {number} + * @memberof SupermarketCategory + */ + readonly id: number; + /** + * + * @type {string} + * @memberof SupermarketCategory + */ + name: string; + /** + * + * @type {string} + * @memberof SupermarketCategory + */ + description?: string | null; +} + +/** + * Check if a given object implements the SupermarketCategory interface. + */ +export function instanceOfSupermarketCategory(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function SupermarketCategoryFromJSON(json: any): SupermarketCategory { + return SupermarketCategoryFromJSONTyped(json, false); +} + +export function SupermarketCategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): SupermarketCategory { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + }; +} + +export function SupermarketCategoryToJSON(value?: SupermarketCategory | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + }; +} + diff --git a/models/SupermarketCategoryRelation.ts b/models/SupermarketCategoryRelation.ts new file mode 100644 index 000000000..da12b45e4 --- /dev/null +++ b/models/SupermarketCategoryRelation.ts @@ -0,0 +1,98 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SupermarketCategory } from './SupermarketCategory'; +import { + SupermarketCategoryFromJSON, + SupermarketCategoryFromJSONTyped, + SupermarketCategoryToJSON, +} from './SupermarketCategory'; + +/** + * Adds nested create feature + * @export + * @interface SupermarketCategoryRelation + */ +export interface SupermarketCategoryRelation { + /** + * + * @type {number} + * @memberof SupermarketCategoryRelation + */ + readonly id: number; + /** + * + * @type {SupermarketCategory} + * @memberof SupermarketCategoryRelation + */ + category: SupermarketCategory; + /** + * + * @type {number} + * @memberof SupermarketCategoryRelation + */ + supermarket: number; + /** + * + * @type {number} + * @memberof SupermarketCategoryRelation + */ + order?: number; +} + +/** + * Check if a given object implements the SupermarketCategoryRelation interface. + */ +export function instanceOfSupermarketCategoryRelation(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "category" in value; + isInstance = isInstance && "supermarket" in value; + + return isInstance; +} + +export function SupermarketCategoryRelationFromJSON(json: any): SupermarketCategoryRelation { + return SupermarketCategoryRelationFromJSONTyped(json, false); +} + +export function SupermarketCategoryRelationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SupermarketCategoryRelation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'category': SupermarketCategoryFromJSON(json['category']), + 'supermarket': json['supermarket'], + 'order': !exists(json, 'order') ? undefined : json['order'], + }; +} + +export function SupermarketCategoryRelationToJSON(value?: SupermarketCategoryRelation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'category': SupermarketCategoryToJSON(value.category), + 'supermarket': value.supermarket, + 'order': value.order, + }; +} + diff --git a/models/Sync.ts b/models/Sync.ts new file mode 100644 index 000000000..6855c2e17 --- /dev/null +++ b/models/Sync.ts @@ -0,0 +1,114 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface Sync + */ +export interface Sync { + /** + * + * @type {number} + * @memberof Sync + */ + readonly id: number; + /** + * + * @type {number} + * @memberof Sync + */ + storage: number; + /** + * + * @type {string} + * @memberof Sync + */ + path?: string; + /** + * + * @type {boolean} + * @memberof Sync + */ + active?: boolean; + /** + * + * @type {Date} + * @memberof Sync + */ + lastChecked?: Date | null; + /** + * + * @type {Date} + * @memberof Sync + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof Sync + */ + readonly updatedAt: Date; +} + +/** + * Check if a given object implements the Sync interface. + */ +export function instanceOfSync(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "storage" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function SyncFromJSON(json: any): Sync { + return SyncFromJSONTyped(json, false); +} + +export function SyncFromJSONTyped(json: any, ignoreDiscriminator: boolean): Sync { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'storage': json['storage'], + 'path': !exists(json, 'path') ? undefined : json['path'], + 'active': !exists(json, 'active') ? undefined : json['active'], + 'lastChecked': !exists(json, 'last_checked') ? undefined : (json['last_checked'] === null ? null : new Date(json['last_checked'])), + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + }; +} + +export function SyncToJSON(value?: Sync | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'storage': value.storage, + 'path': value.path, + 'active': value.active, + 'last_checked': value.lastChecked === undefined ? undefined : (value.lastChecked === null ? null : value.lastChecked.toISOString()), + }; +} + diff --git a/models/SyncLog.ts b/models/SyncLog.ts new file mode 100644 index 000000000..840da46f7 --- /dev/null +++ b/models/SyncLog.ts @@ -0,0 +1,99 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SyncLog + */ +export interface SyncLog { + /** + * + * @type {number} + * @memberof SyncLog + */ + readonly id: number; + /** + * + * @type {number} + * @memberof SyncLog + */ + sync: number; + /** + * + * @type {string} + * @memberof SyncLog + */ + status: string; + /** + * + * @type {string} + * @memberof SyncLog + */ + msg?: string; + /** + * + * @type {Date} + * @memberof SyncLog + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the SyncLog interface. + */ +export function instanceOfSyncLog(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "sync" in value; + isInstance = isInstance && "status" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function SyncLogFromJSON(json: any): SyncLog { + return SyncLogFromJSONTyped(json, false); +} + +export function SyncLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'sync': json['sync'], + 'status': json['status'], + 'msg': !exists(json, 'msg') ? undefined : json['msg'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function SyncLogToJSON(value?: SyncLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'sync': value.sync, + 'status': value.status, + 'msg': value.msg, + }; +} + diff --git a/models/ThemeEnum.ts b/models/ThemeEnum.ts new file mode 100644 index 000000000..f9c343f3f --- /dev/null +++ b/models/ThemeEnum.ts @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `TANDOOR` - Tandoor + * * `BOOTSTRAP` - Bootstrap + * * `DARKLY` - Darkly + * * `FLATLY` - Flatly + * * `SUPERHERO` - Superhero + * * `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE) + * @export + */ +export const ThemeEnum = { + Tandoor: 'TANDOOR', + Bootstrap: 'BOOTSTRAP', + Darkly: 'DARKLY', + Flatly: 'FLATLY', + Superhero: 'SUPERHERO', + TandoorDark: 'TANDOOR_DARK' +} as const; +export type ThemeEnum = typeof ThemeEnum[keyof typeof ThemeEnum]; + + +export function ThemeEnumFromJSON(json: any): ThemeEnum { + return ThemeEnumFromJSONTyped(json, false); +} + +export function ThemeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): ThemeEnum { + return json as ThemeEnum; +} + +export function ThemeEnumToJSON(value?: ThemeEnum | null): any { + return value as any; +} + diff --git a/models/TypeEnum.ts b/models/TypeEnum.ts new file mode 100644 index 000000000..90cb70902 --- /dev/null +++ b/models/TypeEnum.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `FOOD_ALIAS` - Food Alias + * * `UNIT_ALIAS` - Unit Alias + * * `KEYWORD_ALIAS` - Keyword Alias + * * `DESCRIPTION_REPLACE` - Description Replace + * * `INSTRUCTION_REPLACE` - Instruction Replace + * * `NEVER_UNIT` - Never Unit + * * `TRANSPOSE_WORDS` - Transpose Words + * * `FOOD_REPLACE` - Food Replace + * * `UNIT_REPLACE` - Unit Replace + * * `NAME_REPLACE` - Name Replace + * @export + */ +export const TypeEnum = { + FoodAlias: 'FOOD_ALIAS', + UnitAlias: 'UNIT_ALIAS', + KeywordAlias: 'KEYWORD_ALIAS', + DescriptionReplace: 'DESCRIPTION_REPLACE', + InstructionReplace: 'INSTRUCTION_REPLACE', + NeverUnit: 'NEVER_UNIT', + TransposeWords: 'TRANSPOSE_WORDS', + FoodReplace: 'FOOD_REPLACE', + UnitReplace: 'UNIT_REPLACE', + NameReplace: 'NAME_REPLACE' +} as const; +export type TypeEnum = typeof TypeEnum[keyof typeof TypeEnum]; + + +export function TypeEnumFromJSON(json: any): TypeEnum { + return TypeEnumFromJSONTyped(json, false); +} + +export function TypeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypeEnum { + return json as TypeEnum; +} + +export function TypeEnumToJSON(value?: TypeEnum | null): any { + return value as any; +} + diff --git a/models/Unit.ts b/models/Unit.ts new file mode 100644 index 000000000..0ef5662b8 --- /dev/null +++ b/models/Unit.ts @@ -0,0 +1,140 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Moves `UniqueValidator`'s from the validation stage to the save stage. + * It solves the problem with nested validation for unique fields on update. + * + * If you want more details, you can read related issues and articles: + * https://github.com/beda-software/drf-writable-nested/issues/1 + * http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers + * + * Example of usage: + * ``` + * class Child(models.Model): + * field = models.CharField(unique=True) + * + * + * class Parent(models.Model): + * child = models.ForeignKey('Child') + * + * + * class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer): + * class Meta: + * model = Child + * + * + * class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer): + * child = ChildSerializer() + * + * class Meta: + * model = Parent + * ``` + * + * Note: `UniqueFieldsMixin` must be applied only on the serializer + * which has unique fields. + * + * Note: When you are using both mixins + * (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`) + * you should put `UniqueFieldsMixin` ahead. + * @export + * @interface Unit + */ +export interface Unit { + /** + * + * @type {number} + * @memberof Unit + */ + readonly id: number; + /** + * + * @type {string} + * @memberof Unit + */ + name: string; + /** + * + * @type {string} + * @memberof Unit + */ + pluralName?: string | null; + /** + * + * @type {string} + * @memberof Unit + */ + description?: string | null; + /** + * + * @type {string} + * @memberof Unit + */ + baseUnit?: string | null; + /** + * + * @type {string} + * @memberof Unit + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the Unit interface. + */ +export function instanceOfUnit(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function UnitFromJSON(json: any): Unit { + return UnitFromJSONTyped(json, false); +} + +export function UnitFromJSONTyped(json: any, ignoreDiscriminator: boolean): Unit { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'pluralName': !exists(json, 'plural_name') ? undefined : json['plural_name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'baseUnit': !exists(json, 'base_unit') ? undefined : json['base_unit'], + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function UnitToJSON(value?: Unit | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'plural_name': value.pluralName, + 'description': value.description, + 'base_unit': value.baseUnit, + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/UnitConversion.ts b/models/UnitConversion.ts new file mode 100644 index 000000000..e756c50e1 --- /dev/null +++ b/models/UnitConversion.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { IngredientFood } from './IngredientFood'; +import { + IngredientFoodFromJSON, + IngredientFoodFromJSONTyped, + IngredientFoodToJSON, +} from './IngredientFood'; +import type { Unit } from './Unit'; +import { + UnitFromJSON, + UnitFromJSONTyped, + UnitToJSON, +} from './Unit'; + +/** + * Adds nested create feature + * @export + * @interface UnitConversion + */ +export interface UnitConversion { + /** + * + * @type {number} + * @memberof UnitConversion + */ + readonly id: number; + /** + * + * @type {string} + * @memberof UnitConversion + */ + readonly name: string; + /** + * + * @type {number} + * @memberof UnitConversion + */ + baseAmount: number; + /** + * + * @type {Unit} + * @memberof UnitConversion + */ + baseUnit: Unit; + /** + * + * @type {number} + * @memberof UnitConversion + */ + convertedAmount: number; + /** + * + * @type {Unit} + * @memberof UnitConversion + */ + convertedUnit: Unit; + /** + * + * @type {IngredientFood} + * @memberof UnitConversion + */ + food?: IngredientFood | null; + /** + * + * @type {string} + * @memberof UnitConversion + */ + openDataSlug?: string | null; +} + +/** + * Check if a given object implements the UnitConversion interface. + */ +export function instanceOfUnitConversion(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "baseAmount" in value; + isInstance = isInstance && "baseUnit" in value; + isInstance = isInstance && "convertedAmount" in value; + isInstance = isInstance && "convertedUnit" in value; + + return isInstance; +} + +export function UnitConversionFromJSON(json: any): UnitConversion { + return UnitConversionFromJSONTyped(json, false); +} + +export function UnitConversionFromJSONTyped(json: any, ignoreDiscriminator: boolean): UnitConversion { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'baseAmount': json['base_amount'], + 'baseUnit': UnitFromJSON(json['base_unit']), + 'convertedAmount': json['converted_amount'], + 'convertedUnit': UnitFromJSON(json['converted_unit']), + 'food': !exists(json, 'food') ? undefined : IngredientFoodFromJSON(json['food']), + 'openDataSlug': !exists(json, 'open_data_slug') ? undefined : json['open_data_slug'], + }; +} + +export function UnitConversionToJSON(value?: UnitConversion | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'base_amount': value.baseAmount, + 'base_unit': UnitToJSON(value.baseUnit), + 'converted_amount': value.convertedAmount, + 'converted_unit': UnitToJSON(value.convertedUnit), + 'food': IngredientFoodToJSON(value.food), + 'open_data_slug': value.openDataSlug, + }; +} + diff --git a/models/User.ts b/models/User.ts new file mode 100644 index 000000000..7b5226787 --- /dev/null +++ b/models/User.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Adds nested create feature + * @export + * @interface User + */ +export interface User { + /** + * + * @type {number} + * @memberof User + */ + readonly id: number; + /** + * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + * @type {string} + * @memberof User + */ + readonly username: string; + /** + * + * @type {string} + * @memberof User + */ + firstName?: string; + /** + * + * @type {string} + * @memberof User + */ + lastName?: string; + /** + * + * @type {string} + * @memberof User + */ + readonly displayName: string; +} + +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "username" in value; + isInstance = isInstance && "displayName" in value; + + return isInstance; +} + +export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'username': json['username'], + 'firstName': !exists(json, 'first_name') ? undefined : json['first_name'], + 'lastName': !exists(json, 'last_name') ? undefined : json['last_name'], + 'displayName': json['display_name'], + }; +} + +export function UserToJSON(value?: User | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'first_name': value.firstName, + 'last_name': value.lastName, + }; +} + diff --git a/models/UserFile.ts b/models/UserFile.ts new file mode 100644 index 000000000..d1c04a481 --- /dev/null +++ b/models/UserFile.ts @@ -0,0 +1,107 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UserFile + */ +export interface UserFile { + /** + * + * @type {number} + * @memberof UserFile + */ + readonly id: number; + /** + * + * @type {string} + * @memberof UserFile + */ + name: string; + /** + * + * @type {string} + * @memberof UserFile + */ + file: string; + /** + * + * @type {string} + * @memberof UserFile + */ + readonly fileDownload: string; + /** + * + * @type {string} + * @memberof UserFile + */ + readonly preview: string; + /** + * + * @type {number} + * @memberof UserFile + */ + readonly fileSizeKb: number; +} + +/** + * Check if a given object implements the UserFile interface. + */ +export function instanceOfUserFile(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "file" in value; + isInstance = isInstance && "fileDownload" in value; + isInstance = isInstance && "preview" in value; + isInstance = isInstance && "fileSizeKb" in value; + + return isInstance; +} + +export function UserFileFromJSON(json: any): UserFile { + return UserFileFromJSONTyped(json, false); +} + +export function UserFileFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserFile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'file': json['file'], + 'fileDownload': json['file_download'], + 'preview': json['preview'], + 'fileSizeKb': json['file_size_kb'], + }; +} + +export function UserFileToJSON(value?: UserFile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'file': value.file, + }; +} + diff --git a/models/UserFileView.ts b/models/UserFileView.ts new file mode 100644 index 000000000..a6ef56828 --- /dev/null +++ b/models/UserFileView.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UserFileView + */ +export interface UserFileView { + /** + * + * @type {number} + * @memberof UserFileView + */ + readonly id: number; + /** + * + * @type {string} + * @memberof UserFileView + */ + name: string; + /** + * + * @type {string} + * @memberof UserFileView + */ + readonly fileDownload: string; + /** + * + * @type {string} + * @memberof UserFileView + */ + readonly preview: string; +} + +/** + * Check if a given object implements the UserFileView interface. + */ +export function instanceOfUserFileView(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "fileDownload" in value; + isInstance = isInstance && "preview" in value; + + return isInstance; +} + +export function UserFileViewFromJSON(json: any): UserFileView { + return UserFileViewFromJSONTyped(json, false); +} + +export function UserFileViewFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserFileView { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'fileDownload': json['file_download'], + 'preview': json['preview'], + }; +} + +export function UserFileViewToJSON(value?: UserFileView | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/models/UserPreference.ts b/models/UserPreference.ts new file mode 100644 index 000000000..1e7eb72d2 --- /dev/null +++ b/models/UserPreference.ts @@ -0,0 +1,327 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DefaultPageEnum } from './DefaultPageEnum'; +import { + DefaultPageEnumFromJSON, + DefaultPageEnumFromJSONTyped, + DefaultPageEnumToJSON, +} from './DefaultPageEnum'; +import type { FoodInheritField } from './FoodInheritField'; +import { + FoodInheritFieldFromJSON, + FoodInheritFieldFromJSONTyped, + FoodInheritFieldToJSON, +} from './FoodInheritField'; +import type { PatchedSpaceImage } from './PatchedSpaceImage'; +import { + PatchedSpaceImageFromJSON, + PatchedSpaceImageFromJSONTyped, + PatchedSpaceImageToJSON, +} from './PatchedSpaceImage'; +import type { ThemeEnum } from './ThemeEnum'; +import { + ThemeEnumFromJSON, + ThemeEnumFromJSONTyped, + ThemeEnumToJSON, +} from './ThemeEnum'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; +import type { UserPreferenceNavTextColorEnum } from './UserPreferenceNavTextColorEnum'; +import { + UserPreferenceNavTextColorEnumFromJSON, + UserPreferenceNavTextColorEnumFromJSONTyped, + UserPreferenceNavTextColorEnumToJSON, +} from './UserPreferenceNavTextColorEnum'; + +/** + * Adds nested create feature + * @export + * @interface UserPreference + */ +export interface UserPreference { + /** + * + * @type {number} + * @memberof UserPreference + */ + user: number; + /** + * + * @type {PatchedSpaceImage} + * @memberof UserPreference + */ + image?: PatchedSpaceImage | null; + /** + * + * @type {ThemeEnum} + * @memberof UserPreference + */ + theme?: ThemeEnum; + /** + * + * @type {string} + * @memberof UserPreference + */ + navBgColor?: string; + /** + * + * @type {UserPreferenceNavTextColorEnum} + * @memberof UserPreference + */ + navTextColor?: UserPreferenceNavTextColorEnum; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + navShowLogo?: boolean; + /** + * + * @type {string} + * @memberof UserPreference + */ + defaultUnit?: string; + /** + * + * @type {DefaultPageEnum} + * @memberof UserPreference + */ + defaultPage?: DefaultPageEnum; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + useFractions?: boolean; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + useKj?: boolean; + /** + * + * @type {Array} + * @memberof UserPreference + */ + planShare?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + navSticky?: boolean; + /** + * + * @type {number} + * @memberof UserPreference + */ + ingredientDecimals?: number; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + comments?: boolean; + /** + * + * @type {number} + * @memberof UserPreference + */ + shoppingAutoSync?: number; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + mealplanAutoaddShopping?: boolean; + /** + * + * @type {FoodInheritField} + * @memberof UserPreference + */ + readonly foodInheritDefault: FoodInheritField; + /** + * + * @type {number} + * @memberof UserPreference + */ + defaultDelay?: number; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + mealplanAutoincludeRelated?: boolean; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + mealplanAutoexcludeOnhand?: boolean; + /** + * + * @type {Array} + * @memberof UserPreference + */ + shoppingShare?: Array | null; + /** + * + * @type {number} + * @memberof UserPreference + */ + shoppingRecentDays?: number; + /** + * + * @type {string} + * @memberof UserPreference + */ + csvDelim?: string; + /** + * + * @type {string} + * @memberof UserPreference + */ + csvPrefix?: string; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + filterToSupermarket?: boolean; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + shoppingAddOnhand?: boolean; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + leftHanded?: boolean; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + showStepIngredients?: boolean; + /** + * + * @type {boolean} + * @memberof UserPreference + */ + readonly foodChildrenExist: boolean; +} + +/** + * Check if a given object implements the UserPreference interface. + */ +export function instanceOfUserPreference(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "user" in value; + isInstance = isInstance && "foodInheritDefault" in value; + isInstance = isInstance && "foodChildrenExist" in value; + + return isInstance; +} + +export function UserPreferenceFromJSON(json: any): UserPreference { + return UserPreferenceFromJSONTyped(json, false); +} + +export function UserPreferenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserPreference { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'user': json['user'], + 'image': !exists(json, 'image') ? undefined : PatchedSpaceImageFromJSON(json['image']), + 'theme': !exists(json, 'theme') ? undefined : ThemeEnumFromJSON(json['theme']), + 'navBgColor': !exists(json, 'nav_bg_color') ? undefined : json['nav_bg_color'], + 'navTextColor': !exists(json, 'nav_text_color') ? undefined : UserPreferenceNavTextColorEnumFromJSON(json['nav_text_color']), + 'navShowLogo': !exists(json, 'nav_show_logo') ? undefined : json['nav_show_logo'], + 'defaultUnit': !exists(json, 'default_unit') ? undefined : json['default_unit'], + 'defaultPage': !exists(json, 'default_page') ? undefined : DefaultPageEnumFromJSON(json['default_page']), + 'useFractions': !exists(json, 'use_fractions') ? undefined : json['use_fractions'], + 'useKj': !exists(json, 'use_kj') ? undefined : json['use_kj'], + 'planShare': !exists(json, 'plan_share') ? undefined : (json['plan_share'] === null ? null : (json['plan_share'] as Array).map(UserFromJSON)), + 'navSticky': !exists(json, 'nav_sticky') ? undefined : json['nav_sticky'], + 'ingredientDecimals': !exists(json, 'ingredient_decimals') ? undefined : json['ingredient_decimals'], + 'comments': !exists(json, 'comments') ? undefined : json['comments'], + 'shoppingAutoSync': !exists(json, 'shopping_auto_sync') ? undefined : json['shopping_auto_sync'], + 'mealplanAutoaddShopping': !exists(json, 'mealplan_autoadd_shopping') ? undefined : json['mealplan_autoadd_shopping'], + 'foodInheritDefault': FoodInheritFieldFromJSON(json['food_inherit_default']), + 'defaultDelay': !exists(json, 'default_delay') ? undefined : json['default_delay'], + 'mealplanAutoincludeRelated': !exists(json, 'mealplan_autoinclude_related') ? undefined : json['mealplan_autoinclude_related'], + 'mealplanAutoexcludeOnhand': !exists(json, 'mealplan_autoexclude_onhand') ? undefined : json['mealplan_autoexclude_onhand'], + 'shoppingShare': !exists(json, 'shopping_share') ? undefined : (json['shopping_share'] === null ? null : (json['shopping_share'] as Array).map(UserFromJSON)), + 'shoppingRecentDays': !exists(json, 'shopping_recent_days') ? undefined : json['shopping_recent_days'], + 'csvDelim': !exists(json, 'csv_delim') ? undefined : json['csv_delim'], + 'csvPrefix': !exists(json, 'csv_prefix') ? undefined : json['csv_prefix'], + 'filterToSupermarket': !exists(json, 'filter_to_supermarket') ? undefined : json['filter_to_supermarket'], + 'shoppingAddOnhand': !exists(json, 'shopping_add_onhand') ? undefined : json['shopping_add_onhand'], + 'leftHanded': !exists(json, 'left_handed') ? undefined : json['left_handed'], + 'showStepIngredients': !exists(json, 'show_step_ingredients') ? undefined : json['show_step_ingredients'], + 'foodChildrenExist': json['food_children_exist'], + }; +} + +export function UserPreferenceToJSON(value?: UserPreference | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'user': value.user, + 'image': PatchedSpaceImageToJSON(value.image), + 'theme': ThemeEnumToJSON(value.theme), + 'nav_bg_color': value.navBgColor, + 'nav_text_color': UserPreferenceNavTextColorEnumToJSON(value.navTextColor), + 'nav_show_logo': value.navShowLogo, + 'default_unit': value.defaultUnit, + 'default_page': DefaultPageEnumToJSON(value.defaultPage), + 'use_fractions': value.useFractions, + 'use_kj': value.useKj, + 'plan_share': value.planShare === undefined ? undefined : (value.planShare === null ? null : (value.planShare as Array).map(UserToJSON)), + 'nav_sticky': value.navSticky, + 'ingredient_decimals': value.ingredientDecimals, + 'comments': value.comments, + 'shopping_auto_sync': value.shoppingAutoSync, + 'mealplan_autoadd_shopping': value.mealplanAutoaddShopping, + 'default_delay': value.defaultDelay, + 'mealplan_autoinclude_related': value.mealplanAutoincludeRelated, + 'mealplan_autoexclude_onhand': value.mealplanAutoexcludeOnhand, + 'shopping_share': value.shoppingShare === undefined ? undefined : (value.shoppingShare === null ? null : (value.shoppingShare as Array).map(UserToJSON)), + 'shopping_recent_days': value.shoppingRecentDays, + 'csv_delim': value.csvDelim, + 'csv_prefix': value.csvPrefix, + 'filter_to_supermarket': value.filterToSupermarket, + 'shopping_add_onhand': value.shoppingAddOnhand, + 'left_handed': value.leftHanded, + 'show_step_ingredients': value.showStepIngredients, + }; +} + diff --git a/models/UserPreferenceNavTextColorEnum.ts b/models/UserPreferenceNavTextColorEnum.ts new file mode 100644 index 000000000..b86aaf3b1 --- /dev/null +++ b/models/UserPreferenceNavTextColorEnum.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `LIGHT` - Light + * * `DARK` - Dark + * @export + */ +export const UserPreferenceNavTextColorEnum = { + Light: 'LIGHT', + Dark: 'DARK' +} as const; +export type UserPreferenceNavTextColorEnum = typeof UserPreferenceNavTextColorEnum[keyof typeof UserPreferenceNavTextColorEnum]; + + +export function UserPreferenceNavTextColorEnumFromJSON(json: any): UserPreferenceNavTextColorEnum { + return UserPreferenceNavTextColorEnumFromJSONTyped(json, false); +} + +export function UserPreferenceNavTextColorEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserPreferenceNavTextColorEnum { + return json as UserPreferenceNavTextColorEnum; +} + +export function UserPreferenceNavTextColorEnumToJSON(value?: UserPreferenceNavTextColorEnum | null): any { + return value as any; +} + diff --git a/models/UserSpace.ts b/models/UserSpace.ts new file mode 100644 index 000000000..11dfeb19c --- /dev/null +++ b/models/UserSpace.ts @@ -0,0 +1,143 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Group } from './Group'; +import { + GroupFromJSON, + GroupFromJSONTyped, + GroupToJSON, +} from './Group'; +import type { User } from './User'; +import { + UserFromJSON, + UserFromJSONTyped, + UserToJSON, +} from './User'; + +/** + * Adds nested create feature + * @export + * @interface UserSpace + */ +export interface UserSpace { + /** + * + * @type {number} + * @memberof UserSpace + */ + readonly id: number; + /** + * + * @type {User} + * @memberof UserSpace + */ + readonly user: User; + /** + * + * @type {number} + * @memberof UserSpace + */ + readonly space: number; + /** + * + * @type {Array} + * @memberof UserSpace + */ + groups: Array; + /** + * + * @type {boolean} + * @memberof UserSpace + */ + active?: boolean; + /** + * + * @type {string} + * @memberof UserSpace + */ + internalNote?: string | null; + /** + * + * @type {number} + * @memberof UserSpace + */ + readonly inviteLink: number | null; + /** + * + * @type {Date} + * @memberof UserSpace + */ + readonly createdAt: Date; + /** + * + * @type {Date} + * @memberof UserSpace + */ + readonly updatedAt: Date; +} + +/** + * Check if a given object implements the UserSpace interface. + */ +export function instanceOfUserSpace(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "user" in value; + isInstance = isInstance && "space" in value; + isInstance = isInstance && "groups" in value; + isInstance = isInstance && "inviteLink" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function UserSpaceFromJSON(json: any): UserSpace { + return UserSpaceFromJSONTyped(json, false); +} + +export function UserSpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserSpace { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'user': UserFromJSON(json['user']), + 'space': json['space'], + 'groups': ((json['groups'] as Array).map(GroupFromJSON)), + 'active': !exists(json, 'active') ? undefined : json['active'], + 'internalNote': !exists(json, 'internal_note') ? undefined : json['internal_note'], + 'inviteLink': json['invite_link'], + 'createdAt': (new Date(json['created_at'])), + 'updatedAt': (new Date(json['updated_at'])), + }; +} + +export function UserSpaceToJSON(value?: UserSpace | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'groups': ((value.groups as Array).map(GroupToJSON)), + 'active': value.active, + 'internal_note': value.internalNote, + }; +} + diff --git a/models/ViewLog.ts b/models/ViewLog.ts new file mode 100644 index 000000000..5bc85d8d7 --- /dev/null +++ b/models/ViewLog.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ViewLog + */ +export interface ViewLog { + /** + * + * @type {number} + * @memberof ViewLog + */ + readonly id: number; + /** + * + * @type {number} + * @memberof ViewLog + */ + recipe: number; + /** + * + * @type {number} + * @memberof ViewLog + */ + readonly createdBy: number; + /** + * + * @type {Date} + * @memberof ViewLog + */ + readonly createdAt: Date; +} + +/** + * Check if a given object implements the ViewLog interface. + */ +export function instanceOfViewLog(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "recipe" in value; + isInstance = isInstance && "createdBy" in value; + isInstance = isInstance && "createdAt" in value; + + return isInstance; +} + +export function ViewLogFromJSON(json: any): ViewLog { + return ViewLogFromJSONTyped(json, false); +} + +export function ViewLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): ViewLog { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'recipe': json['recipe'], + 'createdBy': json['created_by'], + 'createdAt': (new Date(json['created_at'])), + }; +} + +export function ViewLogToJSON(value?: ViewLog | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'recipe': value.recipe, + }; +} + diff --git a/models/index.ts b/models/index.ts new file mode 100644 index 000000000..010531d48 --- /dev/null +++ b/models/index.ts @@ -0,0 +1,134 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './AccessToken'; +export * from './AuthToken'; +export * from './AutoMealPlan'; +export * from './Automation'; +export * from './BookmarkletImport'; +export * from './BookmarkletImportList'; +export * from './ConnectorConfigConfig'; +export * from './CookLog'; +export * from './CustomFilter'; +export * from './DefaultPageEnum'; +export * from './DeleteEnum'; +export * from './ExportLog'; +export * from './Food'; +export * from './FoodInheritField'; +export * from './FoodPropertiesFoodUnit'; +export * from './FoodRecipe'; +export * from './FoodShoppingUpdate'; +export * from './FoodSimple'; +export * from './FoodSupermarketCategory'; +export * from './Group'; +export * from './ImportLog'; +export * from './Ingredient'; +export * from './IngredientFood'; +export * from './InviteLink'; +export * from './Keyword'; +export * from './KeywordLabel'; +export * from './MealPlan'; +export * from './MealPlanRecipe'; +export * from './MealType'; +export * from './MethodEnum'; +export * from './NutritionInformation'; +export * from './PaginatedAutomationList'; +export * from './PaginatedBookmarkletImportListList'; +export * from './PaginatedCookLogList'; +export * from './PaginatedCustomFilterList'; +export * from './PaginatedExportLogList'; +export * from './PaginatedFoodList'; +export * from './PaginatedImportLogList'; +export * from './PaginatedIngredientList'; +export * from './PaginatedInviteLinkList'; +export * from './PaginatedKeywordList'; +export * from './PaginatedMealPlanList'; +export * from './PaginatedMealTypeList'; +export * from './PaginatedPropertyList'; +export * from './PaginatedPropertyTypeList'; +export * from './PaginatedRecipeBookEntryList'; +export * from './PaginatedRecipeBookList'; +export * from './PaginatedRecipeOverviewList'; +export * from './PaginatedShoppingListEntryList'; +export * from './PaginatedShoppingListRecipeList'; +export * from './PaginatedStepList'; +export * from './PaginatedSupermarketCategoryList'; +export * from './PaginatedSupermarketCategoryRelationList'; +export * from './PaginatedSupermarketList'; +export * from './PaginatedSyncList'; +export * from './PaginatedSyncLogList'; +export * from './PaginatedUnitConversionList'; +export * from './PaginatedUnitList'; +export * from './PaginatedUserFileList'; +export * from './PaginatedUserSpaceList'; +export * from './PaginatedViewLogList'; +export * from './PatchedAccessToken'; +export * from './PatchedAutomation'; +export * from './PatchedBookmarkletImport'; +export * from './PatchedConnectorConfigConfig'; +export * from './PatchedCookLog'; +export * from './PatchedCustomFilter'; +export * from './PatchedExportLog'; +export * from './PatchedFood'; +export * from './PatchedImportLog'; +export * from './PatchedIngredient'; +export * from './PatchedInviteLink'; +export * from './PatchedKeyword'; +export * from './PatchedMealPlan'; +export * from './PatchedMealType'; +export * from './PatchedProperty'; +export * from './PatchedPropertyType'; +export * from './PatchedRecipe'; +export * from './PatchedRecipeBook'; +export * from './PatchedRecipeBookEntry'; +export * from './PatchedRecipeBookFilter'; +export * from './PatchedRecipeNutrition'; +export * from './PatchedShoppingListEntry'; +export * from './PatchedShoppingListRecipe'; +export * from './PatchedSpace'; +export * from './PatchedSpaceImage'; +export * from './PatchedStep'; +export * from './PatchedStorage'; +export * from './PatchedSupermarket'; +export * from './PatchedSupermarketCategory'; +export * from './PatchedSupermarketCategoryRelation'; +export * from './PatchedSync'; +export * from './PatchedUnit'; +export * from './PatchedUnitConversion'; +export * from './PatchedUser'; +export * from './PatchedUserPreference'; +export * from './PatchedUserSpace'; +export * from './PatchedViewLog'; +export * from './Property'; +export * from './PropertyType'; +export * from './Recipe'; +export * from './RecipeBook'; +export * from './RecipeBookEntry'; +export * from './RecipeFlat'; +export * from './RecipeImage'; +export * from './RecipeOverview'; +export * from './RecipeShoppingUpdate'; +export * from './RecipeSimple'; +export * from './ShoppingListEntry'; +export * from './ShoppingListEntryBulk'; +export * from './ShoppingListRecipe'; +export * from './Space'; +export * from './SpaceNavTextColorEnum'; +export * from './SpaceThemeEnum'; +export * from './Step'; +export * from './Storage'; +export * from './Supermarket'; +export * from './SupermarketCategory'; +export * from './SupermarketCategoryRelation'; +export * from './Sync'; +export * from './SyncLog'; +export * from './ThemeEnum'; +export * from './TypeEnum'; +export * from './Unit'; +export * from './UnitConversion'; +export * from './User'; +export * from './UserFile'; +export * from './UserFileView'; +export * from './UserPreference'; +export * from './UserPreferenceNavTextColorEnum'; +export * from './UserSpace'; +export * from './ViewLog'; diff --git a/runtime.ts b/runtime.ts new file mode 100644 index 000000000..87401b60c --- /dev/null +++ b/runtime.ts @@ -0,0 +1,407 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Tandoor + * Tandoor API Docs + * + * The version of the OpenAPI document: 0.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export const BASE_PATH = "http://localhost".replace(/\/+$/, ""); + +export interface ConfigurationParameters { + basePath?: string; // override base path + fetchApi?: FetchAPI; // override for fetch implementation + middleware?: Middleware[]; // middleware to apply before/after fetch requests + queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings + username?: string; // parameter for basic security + password?: string; // parameter for basic security + apiKey?: string | ((name: string) => string); // parameter for apiKey security + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security + headers?: HTTPHeaders; //header params we want to use on every request + credentials?: RequestCredentials; //value for the credentials param we want to use on each request +} + +export class Configuration { + constructor(private configuration: ConfigurationParameters = {}) {} + + set config(configuration: Configuration) { + this.configuration = configuration; + } + + get basePath(): string { + return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH; + } + + get fetchApi(): FetchAPI | undefined { + return this.configuration.fetchApi; + } + + get middleware(): Middleware[] { + return this.configuration.middleware || []; + } + + get queryParamsStringify(): (params: HTTPQuery) => string { + return this.configuration.queryParamsStringify || querystring; + } + + get username(): string | undefined { + return this.configuration.username; + } + + get password(): string | undefined { + return this.configuration.password; + } + + get apiKey(): ((name: string) => string) | undefined { + const apiKey = this.configuration.apiKey; + if (apiKey) { + return typeof apiKey === 'function' ? apiKey : () => apiKey; + } + return undefined; + } + + get accessToken(): ((name?: string, scopes?: string[]) => string | Promise) | undefined { + const accessToken = this.configuration.accessToken; + if (accessToken) { + return typeof accessToken === 'function' ? accessToken : async () => accessToken; + } + return undefined; + } + + get headers(): HTTPHeaders | undefined { + return this.configuration.headers; + } + + get credentials(): RequestCredentials | undefined { + return this.configuration.credentials; + } +} + +export const DefaultConfig = new Configuration(); + +/** + * This is the base class for all generated API classes. + */ +export class BaseAPI { + + private middleware: Middleware[]; + + constructor(protected configuration = DefaultConfig) { + this.middleware = configuration.middleware; + } + + withMiddleware(this: T, ...middlewares: Middleware[]) { + const next = this.clone(); + next.middleware = next.middleware.concat(...middlewares); + return next; + } + + withPreMiddleware(this: T, ...preMiddlewares: Array) { + const middlewares = preMiddlewares.map((pre) => ({ pre })); + return this.withMiddleware(...middlewares); + } + + withPostMiddleware(this: T, ...postMiddlewares: Array) { + const middlewares = postMiddlewares.map((post) => ({ post })); + return this.withMiddleware(...middlewares); + } + + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { + const { url, init } = await this.createFetchParams(context, initOverrides); + const response = await this.fetchApi(url, init); + if (response && (response.status >= 200 && response.status < 300)) { + return response; + } + throw new ResponseError(response, 'Response returned an error code'); + } + + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { + let url = this.configuration.basePath + context.path; + if (context.query !== undefined && Object.keys(context.query).length !== 0) { + // only add the querystring to the URL if there are query parameters. + // this is done to avoid urls ending with a "?" character which buggy webservers + // do not handle correctly sometimes. + url += '?' + this.configuration.queryParamsStringify(context.query); + } + + const headers = Object.assign({}, this.configuration.headers, context.headers); + Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {}); + + const initOverrideFn = + typeof initOverrides === "function" + ? initOverrides + : async () => initOverrides; + + const initParams = { + method: context.method, + headers, + body: context.body, + credentials: this.configuration.credentials, + }; + + const overridedInit: RequestInit = { + ...initParams, + ...(await initOverrideFn({ + init: initParams, + context, + })) + }; + + const init: RequestInit = { + ...overridedInit, + body: + isFormData(overridedInit.body) || + overridedInit.body instanceof URLSearchParams || + isBlob(overridedInit.body) + ? overridedInit.body + : JSON.stringify(overridedInit.body), + }; + + return { url, init }; + } + + private fetchApi = async (url: string, init: RequestInit) => { + let fetchParams = { url, init }; + for (const middleware of this.middleware) { + if (middleware.pre) { + fetchParams = await middleware.pre({ + fetch: this.fetchApi, + ...fetchParams, + }) || fetchParams; + } + } + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response === undefined) { + if (e instanceof Error) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } else { + throw e; + } + } + } + for (const middleware of this.middleware) { + if (middleware.post) { + response = await middleware.post({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + response: response.clone(), + }) || response; + } + } + return response; + } + + /** + * Create a shallow clone of `this` by constructing a new instance + * and then shallow cloning data members. + */ + private clone(this: T): T { + const constructor = this.constructor as any; + const next = new constructor(this.configuration); + next.middleware = this.middleware.slice(); + return next; + } +}; + +function isBlob(value: any): value is Blob { + return typeof Blob !== 'undefined' && value instanceof Blob; +} + +function isFormData(value: any): value is FormData { + return typeof FormData !== "undefined" && value instanceof FormData; +} + +export class ResponseError extends Error { + override name: "ResponseError" = "ResponseError"; + constructor(public response: Response, msg?: string) { + super(msg); + } +} + +export class FetchError extends Error { + override name: "FetchError" = "FetchError"; + constructor(public cause: Error, msg?: string) { + super(msg); + } +} + +export class RequiredError extends Error { + override name: "RequiredError" = "RequiredError"; + constructor(public field: string, msg?: string) { + super(msg); + } +} + +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +export type FetchAPI = WindowOrWorkerGlobalScope['fetch']; + +export type Json = any; +export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD'; +export type HTTPHeaders = { [key: string]: string }; +export type HTTPQuery = { [key: string]: string | number | null | boolean | Array | Set | HTTPQuery }; +export type HTTPBody = Json | FormData | URLSearchParams; +export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody }; +export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; + +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise + +export interface FetchParams { + url: string; + init: RequestInit; +} + +export interface RequestOpts { + path: string; + method: HTTPMethod; + headers: HTTPHeaders; + query?: HTTPQuery; + body?: HTTPBody; +} + +export function exists(json: any, key: string) { + const value = json[key]; + return value !== null && value !== undefined; +} + +export function querystring(params: HTTPQuery, prefix: string = ''): string { + return Object.keys(params) + .map(key => querystringSingleKey(key, params[key], prefix)) + .filter(part => part.length > 0) + .join('&'); +} + +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { + const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); + if (value instanceof Array) { + const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) + .join(`&${encodeURIComponent(fullKey)}=`); + return `${encodeURIComponent(fullKey)}=${multiValue}`; + } + if (value instanceof Set) { + const valueAsArray = Array.from(value); + return querystringSingleKey(key, valueAsArray, keyPrefix); + } + if (value instanceof Date) { + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`; + } + if (value instanceof Object) { + return querystring(value as HTTPQuery, fullKey); + } + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`; +} + +export function mapValues(data: any, fn: (item: any) => any) { + return Object.keys(data).reduce( + (acc, key) => ({ ...acc, [key]: fn(data[key]) }), + {} + ); +} + +export function canConsumeForm(consumes: Consume[]): boolean { + for (const consume of consumes) { + if ('multipart/form-data' === consume.contentType) { + return true; + } + } + return false; +} + +export interface Consume { + contentType: string; +} + +export interface RequestContext { + fetch: FetchAPI; + url: string; + init: RequestInit; +} + +export interface ResponseContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + response: Response; +} + +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + +export interface Middleware { + pre?(context: RequestContext): Promise; + post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; +} + +export interface ApiResponse { + raw: Response; + value(): Promise; +} + +export interface ResponseTransformer { + (json: any): T; +} + +export class JSONApiResponse { + constructor(public raw: Response, private transformer: ResponseTransformer = (jsonValue: any) => jsonValue) {} + + async value(): Promise { + return this.transformer(await this.raw.json()); + } +} + +export class VoidApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return undefined; + } +} + +export class BlobApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.blob(); + }; +} + +export class TextApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.text(); + }; +} diff --git a/vue/src/utils/openapi/api.ts b/vue/src/utils/openapi/api.ts index 1fb7843f4..55af3a210 100644 --- a/vue/src/utils/openapi/api.ts +++ b/vue/src/utils/openapi/api.ts @@ -89,6 +89,55 @@ export interface AuthToken { */ token: string; } +/** + * + * @export + * @interface AutoMealPlan + */ +export interface AutoMealPlan { + /** + * + * @type {string} + * @memberof AutoMealPlan + */ + start_date: string; + /** + * + * @type {string} + * @memberof AutoMealPlan + */ + end_date: string; + /** + * + * @type {number} + * @memberof AutoMealPlan + */ + meal_type_id: number; + /** + * + * @type {Array} + * @memberof AutoMealPlan + */ + keyword_ids: Array; + /** + * + * @type {number} + * @memberof AutoMealPlan + */ + servings: number; + /** + * + * @type {Array} + * @memberof AutoMealPlan + */ + shared?: Array | null; + /** + * + * @type {boolean} + * @memberof AutoMealPlan + */ + addshopping: boolean; +} /** * * @export @@ -1234,6 +1283,37 @@ export interface PaginatedAutomationList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedBookmarkletImportListList + */ +export interface PaginatedBookmarkletImportListList { + /** + * + * @type {number} + * @memberof PaginatedBookmarkletImportListList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedBookmarkletImportListList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedBookmarkletImportListList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedBookmarkletImportListList + */ + results?: Array; +} /** * * @export @@ -1420,6 +1500,37 @@ export interface PaginatedIngredientList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedInviteLinkList + */ +export interface PaginatedInviteLinkList { + /** + * + * @type {number} + * @memberof PaginatedInviteLinkList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedInviteLinkList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedInviteLinkList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedInviteLinkList + */ + results?: Array; +} /** * * @export @@ -1451,6 +1562,192 @@ export interface PaginatedKeywordList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedMealPlanList + */ +export interface PaginatedMealPlanList { + /** + * + * @type {number} + * @memberof PaginatedMealPlanList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedMealPlanList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedMealPlanList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedMealPlanList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedMealTypeList + */ +export interface PaginatedMealTypeList { + /** + * + * @type {number} + * @memberof PaginatedMealTypeList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedMealTypeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedMealTypeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedMealTypeList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedPropertyList + */ +export interface PaginatedPropertyList { + /** + * + * @type {number} + * @memberof PaginatedPropertyList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedPropertyList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedPropertyList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedPropertyList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedPropertyTypeList + */ +export interface PaginatedPropertyTypeList { + /** + * + * @type {number} + * @memberof PaginatedPropertyTypeList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedPropertyTypeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedPropertyTypeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedPropertyTypeList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedRecipeBookEntryList + */ +export interface PaginatedRecipeBookEntryList { + /** + * + * @type {number} + * @memberof PaginatedRecipeBookEntryList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookEntryList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookEntryList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedRecipeBookEntryList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedRecipeBookList + */ +export interface PaginatedRecipeBookList { + /** + * + * @type {number} + * @memberof PaginatedRecipeBookList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedRecipeBookList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedRecipeBookList + */ + results?: Array; +} /** * * @export @@ -1482,6 +1779,68 @@ export interface PaginatedRecipeOverviewList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedShoppingListEntryList + */ +export interface PaginatedShoppingListEntryList { + /** + * + * @type {number} + * @memberof PaginatedShoppingListEntryList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedShoppingListEntryList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedShoppingListEntryList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedShoppingListEntryList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedShoppingListRecipeList + */ +export interface PaginatedShoppingListRecipeList { + /** + * + * @type {number} + * @memberof PaginatedShoppingListRecipeList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedShoppingListRecipeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedShoppingListRecipeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedShoppingListRecipeList + */ + results?: Array; +} /** * * @export @@ -1513,6 +1872,37 @@ export interface PaginatedStepList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedSupermarketCategoryList + */ +export interface PaginatedSupermarketCategoryList { + /** + * + * @type {number} + * @memberof PaginatedSupermarketCategoryList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSupermarketCategoryList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSupermarketCategoryList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSupermarketCategoryList + */ + results?: Array; +} /** * * @export @@ -1544,6 +1934,68 @@ export interface PaginatedSupermarketCategoryRelationList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedSupermarketList + */ +export interface PaginatedSupermarketList { + /** + * + * @type {number} + * @memberof PaginatedSupermarketList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSupermarketList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSupermarketList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSupermarketList + */ + results?: Array; +} +/** + * + * @export + * @interface PaginatedSyncList + */ +export interface PaginatedSyncList { + /** + * + * @type {number} + * @memberof PaginatedSyncList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedSyncList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSyncList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSyncList + */ + results?: Array; +} /** * * @export @@ -1575,6 +2027,37 @@ export interface PaginatedSyncLogList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedUnitConversionList + */ +export interface PaginatedUnitConversionList { + /** + * + * @type {number} + * @memberof PaginatedUnitConversionList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedUnitConversionList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedUnitConversionList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedUnitConversionList + */ + results?: Array; +} /** * * @export @@ -1606,6 +2089,37 @@ export interface PaginatedUnitList { */ results?: Array; } +/** + * + * @export + * @interface PaginatedUserFileList + */ +export interface PaginatedUserFileList { + /** + * + * @type {number} + * @memberof PaginatedUserFileList + */ + count?: number; + /** + * + * @type {string} + * @memberof PaginatedUserFileList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedUserFileList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedUserFileList + */ + results?: Array; +} /** * * @export @@ -5860,10 +6374,13 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * + * @param {AutoMealPlan} autoMealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiAutoPlanCreate: async (options: any = {}): Promise => { + apiAutoPlanCreate: async (autoMealPlan: AutoMealPlan, options: any = {}): Promise => { + // verify required parameter 'autoMealPlan' is not null or undefined + assertParamExists('apiAutoPlanCreate', 'autoMealPlan', autoMealPlan) const localVarPath = `/api/auto-plan/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -5881,9 +6398,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) + localVarHeaderParameter['Content-Type'] = 'application/json'; + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(autoMealPlan, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -6205,10 +6725,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiBookmarkletImportList: async (options: any = {}): Promise => { + apiBookmarkletImportList: async (page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/bookmarklet-import/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -6224,6 +6746,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -7804,10 +8334,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiFoodPropertyList: async (options: any = {}): Promise => { + apiFoodPropertyList: async (page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/food-property/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -7823,6 +8355,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -7986,10 +8526,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiFoodPropertyTypeList: async (options: any = {}): Promise => { + apiFoodPropertyTypeList: async (page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/food-property-type/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -8005,6 +8547,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -8941,13 +9491,15 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiInviteLinkList: async (limit?: string, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { + apiInviteLinkList: async (limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { const localVarPath = `/api/invite-link/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -8967,6 +9519,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['limit'] = limit; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (query !== undefined) { localVarQueryParameter['query'] = query; } @@ -9465,7 +10025,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9503,7 +10063,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9539,7 +10099,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. @@ -9586,14 +10146,16 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiMealPlanList: async (fromDate?: string, mealType?: string, toDate?: string, options: any = {}): Promise => { + apiMealPlanList: async (fromDate?: string, mealType?: string, page?: number, pageSize?: number, toDate?: string, options: any = {}): Promise => { const localVarPath = `/api/meal-plan/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -9617,6 +10179,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['meal_type'] = mealType; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (toDate !== undefined) { localVarQueryParameter['to_date'] = toDate; } @@ -9633,7 +10203,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {PatchedMealPlan} [patchedMealPlan] * @param {*} [options] Override http request option. @@ -9673,7 +10243,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9709,7 +10279,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. @@ -9826,10 +10396,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * returns list of meal types created by the requesting user ordered by the order field. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiMealTypeList: async (options: any = {}): Promise => { + apiMealTypeList: async (page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/meal-type/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -9845,6 +10417,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -10089,7 +10669,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10127,7 +10707,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10163,11 +10743,15 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * + * @param {number} [book] id of book - only return recipes in that book + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. + * @param {number} [recipe] id of recipe - only return books for that recipe * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiRecipeBookEntryList: async (options: any = {}): Promise => { + apiRecipeBookEntryList: async (book?: number, page?: number, pageSize?: number, recipe?: number, options: any = {}): Promise => { const localVarPath = `/api/recipe-book-entry/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -10183,6 +10767,22 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (book !== undefined) { + localVarQueryParameter['book'] = book; + } + + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + + if (recipe !== undefined) { + localVarQueryParameter['recipe'] = recipe; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -10195,7 +10795,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {PatchedRecipeBookEntry} [patchedRecipeBookEntry] * @param {*} [options] Override http request option. @@ -10235,7 +10835,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10271,7 +10871,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. @@ -10315,13 +10915,15 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiRecipeBookList: async (limit?: string, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { + apiRecipeBookList: async (limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { const localVarPath = `/api/recipe-book/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -10341,6 +10943,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['limit'] = limit; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (query !== undefined) { localVarQueryParameter['query'] = query; } @@ -10672,7 +11282,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * - * @param {string} [books] ID of book a recipe should be in. For multiple repeat parameter. + * @param {number} [books] ID of book a recipe should be in. For multiple repeat parameter. * @param {number} [booksAnd] Book IDs, repeat for multiple. Return recipes with all of the books. * @param {number} [booksAndNot] Book IDs, repeat for multiple. Exclude recipes with all of the books. * @param {number} [booksOr] Book IDs, repeat for multiple. Return recipes with any of the books @@ -10684,13 +11294,13 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) * @param {number} [foodsAndNot] Food IDs, repeat for multiple. Exclude recipes with all of the foods. * @param {number} [foodsOr] Food IDs, repeat for multiple. Return recipes with any of the foods * @param {number} [foodsOrNot] Food IDs, repeat for multiple. Exclude recipes with any of the foods. - * @param {string} [internal] If only internal recipes should be returned. [true/<b>false</b>] + * @param {boolean} [internal] If only internal recipes should be returned. [true/<b>false</b>] * @param {number} [keywords] ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or * @param {number} [keywordsAnd] Keyword IDs, repeat for multiple. Return recipes with all of the keywords. * @param {number} [keywordsAndNot] Keyword IDs, repeat for multiple. Exclude recipes with all of the keywords. * @param {number} [keywordsOr] Keyword IDs, repeat for multiple. Return recipes with any of the keywords * @param {number} [keywordsOrNot] Keyword IDs, repeat for multiple. Exclude recipes with any of the keywords. - * @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] + * @param {boolean} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] * @param {string} [_new] Returns new results first in search results. [true/<b>false</b>] * @param {number} [page] A page number within the paginated result set. * @param {number} [pageSize] Number of results to return per page. @@ -10704,7 +11314,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiRecipeList: async (books?: string, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: string, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: string, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options: any = {}): Promise => { + apiRecipeList: async (books?: number, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: boolean, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: boolean, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options: any = {}): Promise => { const localVarPath = `/api/recipe/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -11225,11 +11835,13 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) * * @param {string} [checked] Filter shopping list entries on checked. [true, false, both, <b>recent</b>]<br> - recent includes unchecked items and recently completed items. * @param {number} [id] Returns the shopping list entry with a primary key of id. Multiple values allowed. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {number} [supermarket] Returns the shopping list entries sorted by supermarket category order. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiShoppingListEntryList: async (checked?: string, id?: number, supermarket?: number, options: any = {}): Promise => { + apiShoppingListEntryList: async (checked?: string, id?: number, page?: number, pageSize?: number, supermarket?: number, options: any = {}): Promise => { const localVarPath = `/api/shopping-list-entry/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -11253,6 +11865,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['id'] = id; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (supermarket !== undefined) { localVarQueryParameter['supermarket'] = supermarket; } @@ -11462,10 +12082,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiShoppingListRecipeList: async (options: any = {}): Promise => { + apiShoppingListRecipeList: async (page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/shopping-list-recipe/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -11481,6 +12103,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -11610,38 +12240,6 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) options: localVarRequestOptions, }; }, - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiSpaceList: async (options: any = {}): Promise => { - const localVarPath = `/api/space/`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication ApiKeyAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - - - setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, /** * * @param {number} id A unique integer value identifying this space. @@ -12263,13 +12861,15 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiSupermarketCategoryList: async (limit?: string, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { + apiSupermarketCategoryList: async (limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { const localVarPath = `/api/supermarket-category/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -12289,6 +12889,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['limit'] = limit; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (query !== undefined) { localVarQueryParameter['query'] = query; } @@ -12807,13 +13415,15 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiSupermarketList: async (limit?: string, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { + apiSupermarketList: async (limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { const localVarPath = `/api/supermarket/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -12833,6 +13443,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['limit'] = limit; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (query !== undefined) { localVarQueryParameter['query'] = query; } @@ -13086,10 +13704,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiSyncList: async (options: any = {}): Promise => { + apiSyncList: async (page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/sync/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -13105,6 +13725,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -13389,10 +14017,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) /** * * @param {number} [foodId] ID of food to filter for + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiUnitConversionList: async (foodId?: number, options: any = {}): Promise => { + apiUnitConversionList: async (foodId?: number, page?: number, pageSize?: number, options: any = {}): Promise => { const localVarPath = `/api/unit-conversion/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -13412,6 +14042,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['food_id'] = foodId; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -13958,13 +14596,15 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiUserFileList: async (limit?: string, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { + apiUserFileList: async (limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options: any = {}): Promise => { const localVarPath = `/api/user-file/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -13984,6 +14624,14 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) localVarQueryParameter['limit'] = limit; } + if (page !== undefined) { + localVarQueryParameter['page'] = page; + } + + if (pageSize !== undefined) { + localVarQueryParameter['page_size'] = pageSize; + } + if (query !== undefined) { localVarQueryParameter['query'] = query; } @@ -14196,11 +14844,12 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * + * @param {string} [filterList] User IDs, repeat for multiple * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiUserList: async (options: any = {}): Promise => { + apiUserList: async (filterList?: string, options: any = {}): Promise => { const localVarPath = `/api/user/`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -14216,6 +14865,10 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) // authentication ApiKeyAuth required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + if (filterList !== undefined) { + localVarQueryParameter['filter_list'] = filterList; + } + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); @@ -14228,7 +14881,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {PatchedUser} [patchedUser] * @param {*} [options] Override http request option. @@ -14267,38 +14920,6 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) options: localVarRequestOptions, }; }, - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiUserPreferenceList: async (options: any = {}): Promise => { - const localVarPath = `/api/user-preference/`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication ApiKeyAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - - - setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, /** * * @param {number} user A unique value identifying this user preference. @@ -14376,7 +14997,7 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration) }; }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -14872,11 +15493,12 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * + * @param {AutoMealPlan} autoMealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiAutoPlanCreate(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiAutoPlanCreate(options); + async apiAutoPlanCreate(autoMealPlan: AutoMealPlan, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiAutoPlanCreate(autoMealPlan, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -14965,11 +15587,13 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiBookmarkletImportList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiBookmarkletImportList(options); + async apiBookmarkletImportList(page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiBookmarkletImportList(page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -15393,11 +16017,13 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiFoodPropertyList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiFoodPropertyList(options); + async apiFoodPropertyList(page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiFoodPropertyList(page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -15443,11 +16069,13 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiFoodPropertyTypeList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiFoodPropertyTypeList(options); + async apiFoodPropertyTypeList(page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiFoodPropertyTypeList(page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -15702,14 +16330,16 @@ export const ApiApiFp = function(configuration?: Configuration) { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiInviteLinkList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiInviteLinkList(limit, query, random, updatedAt, options); + async apiInviteLinkList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiInviteLinkList(limit, page, pageSize, query, random, updatedAt, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -15838,7 +16468,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -15848,7 +16478,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -15858,7 +16488,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. @@ -15870,19 +16500,21 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiMealPlanList(fromDate?: string, mealType?: string, toDate?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiMealPlanList(fromDate, mealType, toDate, options); + async apiMealPlanList(fromDate?: string, mealType?: string, page?: number, pageSize?: number, toDate?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiMealPlanList(fromDate, mealType, page, pageSize, toDate, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {PatchedMealPlan} [patchedMealPlan] * @param {*} [options] Override http request option. @@ -15893,7 +16525,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -15903,7 +16535,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. @@ -15935,11 +16567,13 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * returns list of meal types created by the requesting user ordered by the order field. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiMealTypeList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiMealTypeList(options); + async apiMealTypeList(page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiMealTypeList(page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16006,7 +16640,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -16016,7 +16650,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -16026,16 +16660,20 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * + * @param {number} [book] id of book - only return recipes in that book + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. + * @param {number} [recipe] id of recipe - only return books for that recipe * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiRecipeBookEntryList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiRecipeBookEntryList(options); + async apiRecipeBookEntryList(book?: number, page?: number, pageSize?: number, recipe?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiRecipeBookEntryList(book, page, pageSize, recipe, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {PatchedRecipeBookEntry} [patchedRecipeBookEntry] * @param {*} [options] Override http request option. @@ -16046,7 +16684,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -16056,7 +16694,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. @@ -16069,14 +16707,16 @@ export const ApiApiFp = function(configuration?: Configuration) { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiRecipeBookList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiRecipeBookList(limit, query, random, updatedAt, options); + async apiRecipeBookList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiRecipeBookList(limit, page, pageSize, query, random, updatedAt, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16163,7 +16803,7 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * - * @param {string} [books] ID of book a recipe should be in. For multiple repeat parameter. + * @param {number} [books] ID of book a recipe should be in. For multiple repeat parameter. * @param {number} [booksAnd] Book IDs, repeat for multiple. Return recipes with all of the books. * @param {number} [booksAndNot] Book IDs, repeat for multiple. Exclude recipes with all of the books. * @param {number} [booksOr] Book IDs, repeat for multiple. Return recipes with any of the books @@ -16175,13 +16815,13 @@ export const ApiApiFp = function(configuration?: Configuration) { * @param {number} [foodsAndNot] Food IDs, repeat for multiple. Exclude recipes with all of the foods. * @param {number} [foodsOr] Food IDs, repeat for multiple. Return recipes with any of the foods * @param {number} [foodsOrNot] Food IDs, repeat for multiple. Exclude recipes with any of the foods. - * @param {string} [internal] If only internal recipes should be returned. [true/<b>false</b>] + * @param {boolean} [internal] If only internal recipes should be returned. [true/<b>false</b>] * @param {number} [keywords] ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or * @param {number} [keywordsAnd] Keyword IDs, repeat for multiple. Return recipes with all of the keywords. * @param {number} [keywordsAndNot] Keyword IDs, repeat for multiple. Exclude recipes with all of the keywords. * @param {number} [keywordsOr] Keyword IDs, repeat for multiple. Return recipes with any of the keywords * @param {number} [keywordsOrNot] Keyword IDs, repeat for multiple. Exclude recipes with any of the keywords. - * @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] + * @param {boolean} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] * @param {string} [_new] Returns new results first in search results. [true/<b>false</b>] * @param {number} [page] A page number within the paginated result set. * @param {number} [pageSize] Number of results to return per page. @@ -16195,7 +16835,7 @@ export const ApiApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiRecipeList(books?: string, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: string, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: string, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + async apiRecipeList(books?: number, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: boolean, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: boolean, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.apiRecipeList(books, booksAnd, booksAndNot, booksOr, booksOrNot, cookedon, createdon, foods, foodsAnd, foodsAndNot, foodsOr, foodsOrNot, internal, keywords, keywordsAnd, keywordsAndNot, keywordsOr, keywordsOrNot, makenow, _new, page, pageSize, query, random, rating, timescooked, units, updatedon, viewedon, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, @@ -16305,12 +16945,14 @@ export const ApiApiFp = function(configuration?: Configuration) { * * @param {string} [checked] Filter shopping list entries on checked. [true, false, both, <b>recent</b>]<br> - recent includes unchecked items and recently completed items. * @param {number} [id] Returns the shopping list entry with a primary key of id. Multiple values allowed. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {number} [supermarket] Returns the shopping list entries sorted by supermarket category order. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiShoppingListEntryList(checked?: string, id?: number, supermarket?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiShoppingListEntryList(checked, id, supermarket, options); + async apiShoppingListEntryList(checked?: string, id?: number, page?: number, pageSize?: number, supermarket?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiShoppingListEntryList(checked, id, page, pageSize, supermarket, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16367,11 +17009,13 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiShoppingListRecipeList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiShoppingListRecipeList(options); + async apiShoppingListRecipeList(page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiShoppingListRecipeList(page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16406,15 +17050,6 @@ export const ApiApiFp = function(configuration?: Configuration) { const localVarAxiosArgs = await localVarAxiosParamCreator.apiShoppingListRecipeUpdate(id, shoppingListRecipe, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiSpaceList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiSpaceList(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, /** * * @param {number} id A unique integer value identifying this space. @@ -16585,14 +17220,16 @@ export const ApiApiFp = function(configuration?: Configuration) { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiSupermarketCategoryList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiSupermarketCategoryList(limit, query, random, updatedAt, options); + async apiSupermarketCategoryList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiSupermarketCategoryList(limit, page, pageSize, query, random, updatedAt, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16729,14 +17366,16 @@ export const ApiApiFp = function(configuration?: Configuration) { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiSupermarketList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiSupermarketList(limit, query, random, updatedAt, options); + async apiSupermarketList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiSupermarketList(limit, page, pageSize, query, random, updatedAt, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16803,11 +17442,13 @@ export const ApiApiFp = function(configuration?: Configuration) { }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiSyncList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiSyncList(options); + async apiSyncList(page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiSyncList(page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -16886,11 +17527,13 @@ export const ApiApiFp = function(configuration?: Configuration) { /** * * @param {number} [foodId] ID of food to filter for + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiUnitConversionList(foodId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiUnitConversionList(foodId, options); + async apiUnitConversionList(foodId?: number, page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiUnitConversionList(foodId, page, pageSize, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -17032,14 +17675,16 @@ export const ApiApiFp = function(configuration?: Configuration) { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiUserFileList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiUserFileList(limit, query, random, updatedAt, options); + async apiUserFileList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiUserFileList(limit, page, pageSize, query, random, updatedAt, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -17085,16 +17730,17 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * + * @param {string} [filterList] User IDs, repeat for multiple * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiUserList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiUserList(options); + async apiUserList(filterList?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiUserList(filterList, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {PatchedUser} [patchedUser] * @param {*} [options] Override http request option. @@ -17104,15 +17750,6 @@ export const ApiApiFp = function(configuration?: Configuration) { const localVarAxiosArgs = await localVarAxiosParamCreator.apiUserPartialUpdate(id, patchedUser, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiUserPreferenceList(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiUserPreferenceList(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, /** * * @param {number} user A unique value identifying this user preference. @@ -17135,7 +17772,7 @@ export const ApiApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -17316,11 +17953,12 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * + * @param {AutoMealPlan} autoMealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiAutoPlanCreate(options?: any): AxiosPromise { - return localVarFp.apiAutoPlanCreate(options).then((request) => request(axios, basePath)); + apiAutoPlanCreate(autoMealPlan: AutoMealPlan, options?: any): AxiosPromise { + return localVarFp.apiAutoPlanCreate(autoMealPlan, options).then((request) => request(axios, basePath)); }, /** * @@ -17400,11 +18038,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiBookmarkletImportList(options?: any): AxiosPromise> { - return localVarFp.apiBookmarkletImportList(options).then((request) => request(axios, basePath)); + apiBookmarkletImportList(page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiBookmarkletImportList(page, pageSize, options).then((request) => request(axios, basePath)); }, /** * @@ -17788,11 +18428,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiFoodPropertyList(options?: any): AxiosPromise> { - return localVarFp.apiFoodPropertyList(options).then((request) => request(axios, basePath)); + apiFoodPropertyList(page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiFoodPropertyList(page, pageSize, options).then((request) => request(axios, basePath)); }, /** * @@ -17833,11 +18475,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiFoodPropertyTypeList(options?: any): AxiosPromise> { - return localVarFp.apiFoodPropertyTypeList(options).then((request) => request(axios, basePath)); + apiFoodPropertyTypeList(page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiFoodPropertyTypeList(page, pageSize, options).then((request) => request(axios, basePath)); }, /** * @@ -18067,14 +18711,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiInviteLinkList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise> { - return localVarFp.apiInviteLinkList(limit, query, random, updatedAt, options).then((request) => request(axios, basePath)); + apiInviteLinkList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise { + return localVarFp.apiInviteLinkList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(axios, basePath)); }, /** * @@ -18191,7 +18837,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiKeywordUpdate(id, keyword, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -18200,7 +18846,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiMealPlanCreate(mealPlan, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -18209,7 +18855,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiMealPlanDestroy(id, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. @@ -18220,18 +18866,20 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiMealPlanIcalRetrieve(fromDate, mealType, toDate, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiMealPlanList(fromDate?: string, mealType?: string, toDate?: string, options?: any): AxiosPromise> { - return localVarFp.apiMealPlanList(fromDate, mealType, toDate, options).then((request) => request(axios, basePath)); + apiMealPlanList(fromDate?: string, mealType?: string, page?: number, pageSize?: number, toDate?: string, options?: any): AxiosPromise { + return localVarFp.apiMealPlanList(fromDate, mealType, page, pageSize, toDate, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {PatchedMealPlan} [patchedMealPlan] * @param {*} [options] Override http request option. @@ -18241,7 +18889,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiMealPlanPartialUpdate(id, patchedMealPlan, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -18250,7 +18898,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiMealPlanRetrieve(id, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. @@ -18279,11 +18927,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * returns list of meal types created by the requesting user ordered by the order field. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiMealTypeList(options?: any): AxiosPromise> { - return localVarFp.apiMealTypeList(options).then((request) => request(axios, basePath)); + apiMealTypeList(page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiMealTypeList(page, pageSize, options).then((request) => request(axios, basePath)); }, /** * returns list of meal types created by the requesting user ordered by the order field. @@ -18343,7 +18993,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiRecipeBookDestroy(id, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -18352,7 +19002,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiRecipeBookEntryCreate(recipeBookEntry, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -18361,15 +19011,19 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiRecipeBookEntryDestroy(id, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * + * @param {number} [book] id of book - only return recipes in that book + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. + * @param {number} [recipe] id of recipe - only return books for that recipe * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiRecipeBookEntryList(options?: any): AxiosPromise> { - return localVarFp.apiRecipeBookEntryList(options).then((request) => request(axios, basePath)); + apiRecipeBookEntryList(book?: number, page?: number, pageSize?: number, recipe?: number, options?: any): AxiosPromise { + return localVarFp.apiRecipeBookEntryList(book, page, pageSize, recipe, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {PatchedRecipeBookEntry} [patchedRecipeBookEntry] * @param {*} [options] Override http request option. @@ -18379,7 +19033,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiRecipeBookEntryPartialUpdate(id, patchedRecipeBookEntry, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -18388,7 +19042,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiRecipeBookEntryRetrieve(id, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. @@ -18400,14 +19054,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiRecipeBookList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise> { - return localVarFp.apiRecipeBookList(limit, query, random, updatedAt, options).then((request) => request(axios, basePath)); + apiRecipeBookList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise { + return localVarFp.apiRecipeBookList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(axios, basePath)); }, /** * @@ -18485,7 +19141,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * - * @param {string} [books] ID of book a recipe should be in. For multiple repeat parameter. + * @param {number} [books] ID of book a recipe should be in. For multiple repeat parameter. * @param {number} [booksAnd] Book IDs, repeat for multiple. Return recipes with all of the books. * @param {number} [booksAndNot] Book IDs, repeat for multiple. Exclude recipes with all of the books. * @param {number} [booksOr] Book IDs, repeat for multiple. Return recipes with any of the books @@ -18497,13 +19153,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: * @param {number} [foodsAndNot] Food IDs, repeat for multiple. Exclude recipes with all of the foods. * @param {number} [foodsOr] Food IDs, repeat for multiple. Return recipes with any of the foods * @param {number} [foodsOrNot] Food IDs, repeat for multiple. Exclude recipes with any of the foods. - * @param {string} [internal] If only internal recipes should be returned. [true/<b>false</b>] + * @param {boolean} [internal] If only internal recipes should be returned. [true/<b>false</b>] * @param {number} [keywords] ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or * @param {number} [keywordsAnd] Keyword IDs, repeat for multiple. Return recipes with all of the keywords. * @param {number} [keywordsAndNot] Keyword IDs, repeat for multiple. Exclude recipes with all of the keywords. * @param {number} [keywordsOr] Keyword IDs, repeat for multiple. Return recipes with any of the keywords * @param {number} [keywordsOrNot] Keyword IDs, repeat for multiple. Exclude recipes with any of the keywords. - * @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] + * @param {boolean} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] * @param {string} [_new] Returns new results first in search results. [true/<b>false</b>] * @param {number} [page] A page number within the paginated result set. * @param {number} [pageSize] Number of results to return per page. @@ -18517,7 +19173,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiRecipeList(books?: string, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: string, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: string, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options?: any): AxiosPromise { + apiRecipeList(books?: number, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: boolean, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: boolean, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options?: any): AxiosPromise { return localVarFp.apiRecipeList(books, booksAnd, booksAndNot, booksOr, booksOrNot, cookedon, createdon, foods, foodsAnd, foodsAndNot, foodsOr, foodsOrNot, internal, keywords, keywordsAnd, keywordsAndNot, keywordsOr, keywordsOrNot, makenow, _new, page, pageSize, query, random, rating, timescooked, units, updatedon, viewedon, options).then((request) => request(axios, basePath)); }, /** @@ -18616,12 +19272,14 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: * * @param {string} [checked] Filter shopping list entries on checked. [true, false, both, <b>recent</b>]<br> - recent includes unchecked items and recently completed items. * @param {number} [id] Returns the shopping list entry with a primary key of id. Multiple values allowed. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {number} [supermarket] Returns the shopping list entries sorted by supermarket category order. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiShoppingListEntryList(checked?: string, id?: number, supermarket?: number, options?: any): AxiosPromise> { - return localVarFp.apiShoppingListEntryList(checked, id, supermarket, options).then((request) => request(axios, basePath)); + apiShoppingListEntryList(checked?: string, id?: number, page?: number, pageSize?: number, supermarket?: number, options?: any): AxiosPromise { + return localVarFp.apiShoppingListEntryList(checked, id, page, pageSize, supermarket, options).then((request) => request(axios, basePath)); }, /** * @@ -18672,11 +19330,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiShoppingListRecipeList(options?: any): AxiosPromise> { - return localVarFp.apiShoppingListRecipeList(options).then((request) => request(axios, basePath)); + apiShoppingListRecipeList(page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiShoppingListRecipeList(page, pageSize, options).then((request) => request(axios, basePath)); }, /** * @@ -18707,14 +19367,6 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: apiShoppingListRecipeUpdate(id: number, shoppingListRecipe: ShoppingListRecipe, options?: any): AxiosPromise { return localVarFp.apiShoppingListRecipeUpdate(id, shoppingListRecipe, options).then((request) => request(axios, basePath)); }, - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiSpaceList(options?: any): AxiosPromise> { - return localVarFp.apiSpaceList(options).then((request) => request(axios, basePath)); - }, /** * * @param {number} id A unique integer value identifying this space. @@ -18869,14 +19521,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiSupermarketCategoryList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise> { - return localVarFp.apiSupermarketCategoryList(limit, query, random, updatedAt, options).then((request) => request(axios, basePath)); + apiSupermarketCategoryList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise { + return localVarFp.apiSupermarketCategoryList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(axios, basePath)); }, /** * @@ -19000,14 +19654,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiSupermarketList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise> { - return localVarFp.apiSupermarketList(limit, query, random, updatedAt, options).then((request) => request(axios, basePath)); + apiSupermarketList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise { + return localVarFp.apiSupermarketList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(axios, basePath)); }, /** * @@ -19067,11 +19723,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: }, /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiSyncList(options?: any): AxiosPromise> { - return localVarFp.apiSyncList(options).then((request) => request(axios, basePath)); + apiSyncList(page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiSyncList(page, pageSize, options).then((request) => request(axios, basePath)); }, /** * @@ -19142,11 +19800,13 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: /** * * @param {number} [foodId] ID of food to filter for + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiUnitConversionList(foodId?: number, options?: any): AxiosPromise> { - return localVarFp.apiUnitConversionList(foodId, options).then((request) => request(axios, basePath)); + apiUnitConversionList(foodId?: number, page?: number, pageSize?: number, options?: any): AxiosPromise { + return localVarFp.apiUnitConversionList(foodId, page, pageSize, options).then((request) => request(axios, basePath)); }, /** * @@ -19275,14 +19935,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiUserFileList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise> { - return localVarFp.apiUserFileList(limit, query, random, updatedAt, options).then((request) => request(axios, basePath)); + apiUserFileList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any): AxiosPromise { + return localVarFp.apiUserFileList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(axios, basePath)); }, /** * @@ -19324,15 +19986,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiUserFileUpdate(id, id2, name, file, fileDownload, preview, fileSizeKb, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * + * @param {string} [filterList] User IDs, repeat for multiple * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiUserList(options?: any): AxiosPromise> { - return localVarFp.apiUserList(options).then((request) => request(axios, basePath)); + apiUserList(filterList?: string, options?: any): AxiosPromise> { + return localVarFp.apiUserList(filterList, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {PatchedUser} [patchedUser] * @param {*} [options] Override http request option. @@ -19341,14 +20004,6 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: apiUserPartialUpdate(id: number, patchedUser?: PatchedUser, options?: any): AxiosPromise { return localVarFp.apiUserPartialUpdate(id, patchedUser, options).then((request) => request(axios, basePath)); }, - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiUserPreferenceList(options?: any): AxiosPromise> { - return localVarFp.apiUserPreferenceList(options).then((request) => request(axios, basePath)); - }, /** * * @param {number} user A unique value identifying this user preference. @@ -19369,7 +20024,7 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?: return localVarFp.apiUserPreferenceRetrieve(user, options).then((request) => request(axios, basePath)); }, /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -19551,12 +20206,13 @@ export class ApiApi extends BaseAPI { /** * + * @param {AutoMealPlan} autoMealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiAutoPlanCreate(options?: any) { - return ApiApiFp(this.configuration).apiAutoPlanCreate(options).then((request) => request(this.axios, this.basePath)); + public apiAutoPlanCreate(autoMealPlan: AutoMealPlan, options?: any) { + return ApiApiFp(this.configuration).apiAutoPlanCreate(autoMealPlan, options).then((request) => request(this.axios, this.basePath)); } /** @@ -19653,12 +20309,14 @@ export class ApiApi extends BaseAPI { /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiBookmarkletImportList(options?: any) { - return ApiApiFp(this.configuration).apiBookmarkletImportList(options).then((request) => request(this.axios, this.basePath)); + public apiBookmarkletImportList(page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiBookmarkletImportList(page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -20121,12 +20779,14 @@ export class ApiApi extends BaseAPI { /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiFoodPropertyList(options?: any) { - return ApiApiFp(this.configuration).apiFoodPropertyList(options).then((request) => request(this.axios, this.basePath)); + public apiFoodPropertyList(page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiFoodPropertyList(page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -20176,12 +20836,14 @@ export class ApiApi extends BaseAPI { /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiFoodPropertyTypeList(options?: any) { - return ApiApiFp(this.configuration).apiFoodPropertyTypeList(options).then((request) => request(this.axios, this.basePath)); + public apiFoodPropertyTypeList(page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiFoodPropertyTypeList(page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -20460,6 +21122,8 @@ export class ApiApi extends BaseAPI { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime @@ -20467,8 +21131,8 @@ export class ApiApi extends BaseAPI { * @throws {RequiredError} * @memberof ApiApi */ - public apiInviteLinkList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any) { - return ApiApiFp(this.configuration).apiInviteLinkList(limit, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); + public apiInviteLinkList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any) { + return ApiApiFp(this.configuration).apiInviteLinkList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); } /** @@ -20608,7 +21272,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -20619,7 +21283,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -20630,7 +21294,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. @@ -20643,20 +21307,22 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {string} [fromDate] Filter meal plans from date (inclusive) in the format of YYYY-MM-DD. * @param {string} [mealType] Filter meal plans with MealType ID. For multiple repeat parameter. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [toDate] Filter meal plans to date (inclusive) in the format of YYYY-MM-DD. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiMealPlanList(fromDate?: string, mealType?: string, toDate?: string, options?: any) { - return ApiApiFp(this.configuration).apiMealPlanList(fromDate, mealType, toDate, options).then((request) => request(this.axios, this.basePath)); + public apiMealPlanList(fromDate?: string, mealType?: string, page?: number, pageSize?: number, toDate?: string, options?: any) { + return ApiApiFp(this.configuration).apiMealPlanList(fromDate, mealType, page, pageSize, toDate, options).then((request) => request(this.axios, this.basePath)); } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {PatchedMealPlan} [patchedMealPlan] * @param {*} [options] Override http request option. @@ -20668,7 +21334,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -20679,7 +21345,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **from_date**: filter from (inclusive) a certain date onward - **to_date**: filter upward to (inclusive) certain date - **meal_type**: filter meal plans based on meal_type ID + * * @param {number} id A unique integer value identifying this meal plan. * @param {MealPlan} mealPlan * @param {*} [options] Override http request option. @@ -20714,12 +21380,14 @@ export class ApiApi extends BaseAPI { /** * returns list of meal types created by the requesting user ordered by the order field. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiMealTypeList(options?: any) { - return ApiApiFp(this.configuration).apiMealTypeList(options).then((request) => request(this.axios, this.basePath)); + public apiMealTypeList(page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiMealTypeList(page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -20792,7 +21460,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -20803,7 +21471,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -20814,17 +21482,21 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * + * @param {number} [book] id of book - only return recipes in that book + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. + * @param {number} [recipe] id of recipe - only return books for that recipe * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiRecipeBookEntryList(options?: any) { - return ApiApiFp(this.configuration).apiRecipeBookEntryList(options).then((request) => request(this.axios, this.basePath)); + public apiRecipeBookEntryList(book?: number, page?: number, pageSize?: number, recipe?: number, options?: any) { + return ApiApiFp(this.configuration).apiRecipeBookEntryList(book, page, pageSize, recipe, options).then((request) => request(this.axios, this.basePath)); } /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {PatchedRecipeBookEntry} [patchedRecipeBookEntry] * @param {*} [options] Override http request option. @@ -20836,7 +21508,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -20847,7 +21519,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **recipe**: id of recipe - only return books for that recipe - **book**: id of book - only return recipes in that book + * * @param {number} id A unique integer value identifying this recipe book entry. * @param {RecipeBookEntry} recipeBookEntry * @param {*} [options] Override http request option. @@ -20861,6 +21533,8 @@ export class ApiApi extends BaseAPI { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime @@ -20868,8 +21542,8 @@ export class ApiApi extends BaseAPI { * @throws {RequiredError} * @memberof ApiApi */ - public apiRecipeBookList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any) { - return ApiApiFp(this.configuration).apiRecipeBookList(limit, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); + public apiRecipeBookList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any) { + return ApiApiFp(this.configuration).apiRecipeBookList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); } /** @@ -20964,7 +21638,7 @@ export class ApiApi extends BaseAPI { /** * - * @param {string} [books] ID of book a recipe should be in. For multiple repeat parameter. + * @param {number} [books] ID of book a recipe should be in. For multiple repeat parameter. * @param {number} [booksAnd] Book IDs, repeat for multiple. Return recipes with all of the books. * @param {number} [booksAndNot] Book IDs, repeat for multiple. Exclude recipes with all of the books. * @param {number} [booksOr] Book IDs, repeat for multiple. Return recipes with any of the books @@ -20976,13 +21650,13 @@ export class ApiApi extends BaseAPI { * @param {number} [foodsAndNot] Food IDs, repeat for multiple. Exclude recipes with all of the foods. * @param {number} [foodsOr] Food IDs, repeat for multiple. Return recipes with any of the foods * @param {number} [foodsOrNot] Food IDs, repeat for multiple. Exclude recipes with any of the foods. - * @param {string} [internal] If only internal recipes should be returned. [true/<b>false</b>] + * @param {boolean} [internal] If only internal recipes should be returned. [true/<b>false</b>] * @param {number} [keywords] ID of keyword a recipe should have. For multiple repeat parameter. Equivalent to keywords_or * @param {number} [keywordsAnd] Keyword IDs, repeat for multiple. Return recipes with all of the keywords. * @param {number} [keywordsAndNot] Keyword IDs, repeat for multiple. Exclude recipes with all of the keywords. * @param {number} [keywordsOr] Keyword IDs, repeat for multiple. Return recipes with any of the keywords * @param {number} [keywordsOrNot] Keyword IDs, repeat for multiple. Exclude recipes with any of the keywords. - * @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] + * @param {boolean} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>] * @param {string} [_new] Returns new results first in search results. [true/<b>false</b>] * @param {number} [page] A page number within the paginated result set. * @param {number} [pageSize] Number of results to return per page. @@ -20997,7 +21671,7 @@ export class ApiApi extends BaseAPI { * @throws {RequiredError} * @memberof ApiApi */ - public apiRecipeList(books?: string, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: string, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: string, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options?: any) { + public apiRecipeList(books?: number, booksAnd?: number, booksAndNot?: number, booksOr?: number, booksOrNot?: number, cookedon?: string, createdon?: string, foods?: number, foodsAnd?: number, foodsAndNot?: number, foodsOr?: number, foodsOrNot?: number, internal?: boolean, keywords?: number, keywordsAnd?: number, keywordsAndNot?: number, keywordsOr?: number, keywordsOrNot?: number, makenow?: boolean, _new?: string, page?: number, pageSize?: number, query?: string, random?: string, rating?: number, timescooked?: number, units?: number, updatedon?: string, viewedon?: string, options?: any) { return ApiApiFp(this.configuration).apiRecipeList(books, booksAnd, booksAndNot, booksOr, booksOrNot, cookedon, createdon, foods, foodsAnd, foodsAndNot, foodsOr, foodsOrNot, internal, keywords, keywordsAnd, keywordsAndNot, keywordsOr, keywordsOrNot, makenow, _new, page, pageSize, query, random, rating, timescooked, units, updatedon, viewedon, options).then((request) => request(this.axios, this.basePath)); } @@ -21117,13 +21791,15 @@ export class ApiApi extends BaseAPI { * * @param {string} [checked] Filter shopping list entries on checked. [true, false, both, <b>recent</b>]<br> - recent includes unchecked items and recently completed items. * @param {number} [id] Returns the shopping list entry with a primary key of id. Multiple values allowed. + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {number} [supermarket] Returns the shopping list entries sorted by supermarket category order. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiShoppingListEntryList(checked?: string, id?: number, supermarket?: number, options?: any) { - return ApiApiFp(this.configuration).apiShoppingListEntryList(checked, id, supermarket, options).then((request) => request(this.axios, this.basePath)); + public apiShoppingListEntryList(checked?: string, id?: number, page?: number, pageSize?: number, supermarket?: number, options?: any) { + return ApiApiFp(this.configuration).apiShoppingListEntryList(checked, id, page, pageSize, supermarket, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21185,12 +21861,14 @@ export class ApiApi extends BaseAPI { /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiShoppingListRecipeList(options?: any) { - return ApiApiFp(this.configuration).apiShoppingListRecipeList(options).then((request) => request(this.axios, this.basePath)); + public apiShoppingListRecipeList(page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiShoppingListRecipeList(page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21228,16 +21906,6 @@ export class ApiApi extends BaseAPI { return ApiApiFp(this.configuration).apiShoppingListRecipeUpdate(id, shoppingListRecipe, options).then((request) => request(this.axios, this.basePath)); } - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof ApiApi - */ - public apiSpaceList(options?: any) { - return ApiApiFp(this.configuration).apiSpaceList(options).then((request) => request(this.axios, this.basePath)); - } - /** * * @param {number} id A unique integer value identifying this space. @@ -21424,6 +22092,8 @@ export class ApiApi extends BaseAPI { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime @@ -21431,8 +22101,8 @@ export class ApiApi extends BaseAPI { * @throws {RequiredError} * @memberof ApiApi */ - public apiSupermarketCategoryList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any) { - return ApiApiFp(this.configuration).apiSupermarketCategoryList(limit, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); + public apiSupermarketCategoryList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any) { + return ApiApiFp(this.configuration).apiSupermarketCategoryList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21581,6 +22251,8 @@ export class ApiApi extends BaseAPI { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime @@ -21588,8 +22260,8 @@ export class ApiApi extends BaseAPI { * @throws {RequiredError} * @memberof ApiApi */ - public apiSupermarketList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any) { - return ApiApiFp(this.configuration).apiSupermarketList(limit, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); + public apiSupermarketList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any) { + return ApiApiFp(this.configuration).apiSupermarketList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21662,12 +22334,14 @@ export class ApiApi extends BaseAPI { /** * + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiSyncList(options?: any) { - return ApiApiFp(this.configuration).apiSyncList(options).then((request) => request(this.axios, this.basePath)); + public apiSyncList(page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiSyncList(page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21753,12 +22427,14 @@ export class ApiApi extends BaseAPI { /** * * @param {number} [foodId] ID of food to filter for + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiUnitConversionList(foodId?: number, options?: any) { - return ApiApiFp(this.configuration).apiUnitConversionList(foodId, options).then((request) => request(this.axios, this.basePath)); + public apiUnitConversionList(foodId?: number, page?: number, pageSize?: number, options?: any) { + return ApiApiFp(this.configuration).apiUnitConversionList(foodId, page, pageSize, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21912,6 +22588,8 @@ export class ApiApi extends BaseAPI { /** * * @param {string} [limit] limit number of entries to return + * @param {number} [page] A page number within the paginated result set. + * @param {number} [pageSize] Number of results to return per page. * @param {string} [query] lookup if query string is contained within the name, case insensitive * @param {string} [random] randomly orders entries (only works together with limit) * @param {string} [updatedAt] if model has an updated_at timestamp, filter only models updated at or after datetime @@ -21919,8 +22597,8 @@ export class ApiApi extends BaseAPI { * @throws {RequiredError} * @memberof ApiApi */ - public apiUserFileList(limit?: string, query?: string, random?: string, updatedAt?: string, options?: any) { - return ApiApiFp(this.configuration).apiUserFileList(limit, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); + public apiUserFileList(limit?: string, page?: number, pageSize?: number, query?: string, random?: string, updatedAt?: string, options?: any) { + return ApiApiFp(this.configuration).apiUserFileList(limit, page, pageSize, query, random, updatedAt, options).then((request) => request(this.axios, this.basePath)); } /** @@ -21969,17 +22647,18 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * + * @param {string} [filterList] User IDs, repeat for multiple * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ApiApi */ - public apiUserList(options?: any) { - return ApiApiFp(this.configuration).apiUserList(options).then((request) => request(this.axios, this.basePath)); + public apiUserList(filterList?: string, options?: any) { + return ApiApiFp(this.configuration).apiUserList(filterList, options).then((request) => request(this.axios, this.basePath)); } /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {PatchedUser} [patchedUser] * @param {*} [options] Override http request option. @@ -21990,16 +22669,6 @@ export class ApiApi extends BaseAPI { return ApiApiFp(this.configuration).apiUserPartialUpdate(id, patchedUser, options).then((request) => request(this.axios, this.basePath)); } - /** - * - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof ApiApi - */ - public apiUserPreferenceList(options?: any) { - return ApiApiFp(this.configuration).apiUserPreferenceList(options).then((request) => request(this.axios, this.basePath)); - } - /** * * @param {number} user A unique value identifying this user preference. @@ -22024,7 +22693,7 @@ export class ApiApi extends BaseAPI { } /** - * list: optional parameters - **filter_list**: array of user id\'s to get names for + * * @param {number} id A unique integer value identifying this user. * @param {*} [options] Override http request option. * @throws {RequiredError}