From 0741e07999ac99036958de41247d3cd8a66d0c79 Mon Sep 17 00:00:00 2001 From: Craig Date: Sat, 2 Aug 2025 13:39:55 +0000 Subject: [PATCH] Add Label notifier * Running 'task dev:generate' on current mealie-next --- frontend/lib/api/types/admin.ts | 6 +- frontend/lib/api/types/analytics.ts | 2 +- frontend/lib/api/types/cookbook.ts | 6 +- frontend/lib/api/types/group.ts | 2 +- frontend/lib/api/types/household.ts | 6 +- frontend/lib/api/types/labels.ts | 2 +- frontend/lib/api/types/meal-plan.ts | 10 ++-- frontend/lib/api/types/recipe.ts | 15 ++++- frontend/lib/api/types/reports.ts | 2 +- frontend/lib/api/types/response.ts | 2 +- frontend/lib/api/types/user.ts | 4 +- frontend/types/components.d.ts | 74 +++++++++++------------ mealie/schema/_mealie/__init__.py | 6 +- mealie/schema/admin/__init__.py | 36 +++++------ mealie/schema/group/__init__.py | 6 +- mealie/schema/household/__init__.py | 86 +++++++++++++-------------- mealie/schema/meal_plan/__init__.py | 6 +- mealie/schema/recipe/__init__.py | 92 ++++++++++++++--------------- mealie/schema/response/__init__.py | 4 +- mealie/schema/user/__init__.py | 12 ++-- tests/utils/api_routes/__init__.py | 2 - 21 files changed, 198 insertions(+), 183 deletions(-) diff --git a/frontend/lib/api/types/admin.ts b/frontend/lib/api/types/admin.ts index 95b431bc9..868cb74e6 100644 --- a/frontend/lib/api/types/admin.ts +++ b/frontend/lib/api/types/admin.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script @@ -117,6 +117,7 @@ export interface CustomPageBase { export interface RecipeCategoryResponse { name: string; id: string; + groupId?: string | null; slug: string; recipes?: RecipeSummary[]; } @@ -149,18 +150,21 @@ export interface RecipeSummary { } export interface RecipeCategory { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTag { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTool { id: string; + groupId?: string | null; name: string; slug: string; householdsWithTool?: string[]; diff --git a/frontend/lib/api/types/analytics.ts b/frontend/lib/api/types/analytics.ts index 43cb23663..f0eb9d489 100644 --- a/frontend/lib/api/types/analytics.ts +++ b/frontend/lib/api/types/analytics.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script diff --git a/frontend/lib/api/types/cookbook.ts b/frontend/lib/api/types/cookbook.ts index 2daf20aaa..a33189a2c 100644 --- a/frontend/lib/api/types/cookbook.ts +++ b/frontend/lib/api/types/cookbook.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script @@ -39,7 +39,6 @@ export interface QueryFilterJSONPart { attributeName?: string | null; relationalOperator?: RelationalKeyword | RelationalOperator | null; value?: string | string[] | null; - [k: string]: unknown; } export interface RecipeCookBook { name: string; @@ -83,18 +82,21 @@ export interface RecipeSummary { } export interface RecipeCategory { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTag { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTool { id: string; + groupId?: string | null; name: string; slug: string; householdsWithTool?: string[]; diff --git a/frontend/lib/api/types/group.ts b/frontend/lib/api/types/group.ts index 1f72c09c5..bc2fbcf62 100644 --- a/frontend/lib/api/types/group.ts +++ b/frontend/lib/api/types/group.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script diff --git a/frontend/lib/api/types/household.ts b/frontend/lib/api/types/household.ts index 3f635879c..dd8d31622 100644 --- a/frontend/lib/api/types/household.ts +++ b/frontend/lib/api/types/household.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script @@ -167,6 +167,7 @@ export interface GroupRecipeActionOut { export interface GroupRecipeActionPayload { action: GroupRecipeActionOut; content: unknown; + recipeScale: number; } export interface HouseholdCreate { groupId?: string | null; @@ -602,18 +603,21 @@ export interface RecipeSummary { } export interface RecipeCategory { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTag { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTool { id: string; + groupId?: string | null; name: string; slug: string; householdsWithTool?: string[]; diff --git a/frontend/lib/api/types/labels.ts b/frontend/lib/api/types/labels.ts index 9d44342cc..a8fc4c046 100644 --- a/frontend/lib/api/types/labels.ts +++ b/frontend/lib/api/types/labels.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script diff --git a/frontend/lib/api/types/meal-plan.ts b/frontend/lib/api/types/meal-plan.ts index aa28e6349..b6d1c08e4 100644 --- a/frontend/lib/api/types/meal-plan.ts +++ b/frontend/lib/api/types/meal-plan.ts @@ -1,12 +1,10 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script */ -import type { HouseholdSummary } from "./household"; - export type PlanEntryType = "breakfast" | "lunch" | "dinner" | "side"; export type PlanRulesDay = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | "unset"; export type PlanRulesType = "breakfast" | "lunch" | "dinner" | "side" | "unset"; @@ -44,9 +42,6 @@ export interface PlanRulesOut { householdId: string; id: string; queryFilter?: QueryFilterJSON; - categories?: RecipeCategory[]; - tags?: RecipeTag[]; - households?: HouseholdSummary[]; } export interface QueryFilterJSON { parts?: QueryFilterJSONPart[]; @@ -108,18 +103,21 @@ export interface RecipeSummary { } export interface RecipeCategory { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTag { id?: string | null; + groupId?: string | null; name: string; slug: string; [k: string]: unknown; } export interface RecipeTool { id: string; + groupId?: string | null; name: string; slug: string; householdsWithTool?: string[]; diff --git a/frontend/lib/api/types/recipe.ts b/frontend/lib/api/types/recipe.ts index e87f95bdf..983c5552d 100644 --- a/frontend/lib/api/types/recipe.ts +++ b/frontend/lib/api/types/recipe.ts @@ -19,6 +19,7 @@ export interface AssignCategories { export interface CategoryBase { name: string; id: string; + groupId?: string | null; slug: string; } export interface AssignSettings { @@ -41,6 +42,7 @@ export interface AssignTags { export interface TagBase { name: string; id: string; + groupId?: string | null; slug: string; } export interface CategoryIn { @@ -49,8 +51,8 @@ export interface CategoryIn { export interface CategoryOut { name: string; id: string; - slug: string; groupId: string; + slug: string; } export interface CategorySave { name: string; @@ -98,11 +100,13 @@ export interface CreateRecipeBulk { } export interface RecipeCategory { id?: string | null; + groupId?: string | null; name: string; slug: string; } export interface RecipeTag { id?: string | null; + groupId?: string | null; name: string; slug: string; } @@ -226,7 +230,7 @@ export interface Recipe { groupId?: string; name?: string | null; slug?: string; - image?: string; + image?: unknown; recipeServings?: number; recipeYieldQuantity?: number; recipeYield?: string | null; @@ -258,6 +262,7 @@ export interface Recipe { } export interface RecipeTool { id: string; + groupId?: string | null; name: string; slug: string; householdsWithTool?: string[]; @@ -296,6 +301,7 @@ export interface UserBase { export interface RecipeCategoryResponse { name: string; id: string; + groupId?: string | null; slug: string; recipes?: RecipeSummary[]; } @@ -404,6 +410,7 @@ export interface RecipeSuggestionResponseItem { export interface RecipeTagResponse { name: string; id: string; + groupId?: string | null; slug: string; recipes?: RecipeSummary[]; } @@ -452,12 +459,14 @@ export interface RecipeToolOut { name: string; householdsWithTool?: string[]; id: string; + groupId: string; slug: string; } export interface RecipeToolResponse { name: string; householdsWithTool?: string[]; id: string; + groupId: string; slug: string; recipes?: RecipeSummary[]; } @@ -512,7 +521,7 @@ export interface ScrapeRecipeTest { url: string; useOpenAI?: boolean; } -export interface SlugResponse { } +export interface SlugResponse {} export interface TagIn { name: string; } diff --git a/frontend/lib/api/types/reports.ts b/frontend/lib/api/types/reports.ts index e06788a0f..2b763275e 100644 --- a/frontend/lib/api/types/reports.ts +++ b/frontend/lib/api/types/reports.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script diff --git a/frontend/lib/api/types/response.ts b/frontend/lib/api/types/response.ts index d77f44084..dfa8a54f4 100644 --- a/frontend/lib/api/types/response.ts +++ b/frontend/lib/api/types/response.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script diff --git a/frontend/lib/api/types/user.ts b/frontend/lib/api/types/user.ts index 58ef25f6a..029e166b6 100644 --- a/frontend/lib/api/types/user.ts +++ b/frontend/lib/api/types/user.ts @@ -1,5 +1,5 @@ /* tslint:disable */ - +/* eslint-disable */ /** /* This file was automatically generated from pydantic models by running pydantic2ts. /* Do not modify it by hand - just update the pydantic models and then re-run the script @@ -63,6 +63,7 @@ export interface GroupInDB { export interface CategoryBase { name: string; id: string; + groupId?: string | null; slug: string; } export interface ReadWebhook { @@ -197,7 +198,6 @@ export interface UserBase { canManage?: boolean; canManageHousehold?: boolean; canOrganize?: boolean; - advancedOptions?: boolean; } export interface UserIn { id?: string | null; diff --git a/frontend/types/components.d.ts b/frontend/types/components.d.ts index d074283ee..9ad4eeca1 100644 --- a/frontend/types/components.d.ts +++ b/frontend/types/components.d.ts @@ -1,41 +1,41 @@ // This Code is auto generated by gen_ts_types.py -import type AdvancedOnly from "@/components/global/AdvancedOnly.vue"; -import type AppButtonCopy from "@/components/global/AppButtonCopy.vue"; -import type AppButtonUpload from "@/components/global/AppButtonUpload.vue"; -import type AppLoader from "@/components/global/AppLoader.vue"; -import type AppToolbar from "@/components/global/AppToolbar.vue"; -import type AutoForm from "@/components/global/AutoForm.vue"; -import type BannerExperimental from "@/components/global/BannerExperimental.vue"; -import type BannerWarning from "@/components/global/BannerWarning.vue"; -import type BaseButton from "@/components/global/BaseButton.vue"; -import type BaseButtonGroup from "@/components/global/BaseButtonGroup.vue"; -import type BaseCardSectionTitle from "@/components/global/BaseCardSectionTitle.vue"; -import type BaseDialog from "@/components/global/BaseDialog.vue"; -import type BaseDivider from "@/components/global/BaseDivider.vue"; -import type BaseOverflowButton from "@/components/global/BaseOverflowButton.vue"; -import type BasePageTitle from "@/components/global/BasePageTitle.vue"; -import type BaseStatCard from "@/components/global/BaseStatCard.vue"; -import type BaseWizard from "@/components/global/BaseWizard.vue"; -import type ButtonLink from "@/components/global/ButtonLink.vue"; -import type ContextMenu from "@/components/global/ContextMenu.vue"; -import type CrudTable from "@/components/global/CrudTable.vue"; -import type DevDumpJson from "@/components/global/DevDumpJson.vue"; -import type DocLink from "@/components/global/DocLink.vue"; -import type DropZone from "@/components/global/DropZone.vue"; -import type HelpIcon from "@/components/global/HelpIcon.vue"; -import type ImageCropper from "@/components/global/ImageCropper.vue"; -import type InputColor from "@/components/global/InputColor.vue"; -import type InputLabelType from "@/components/global/InputLabelType.vue"; -import type InputQuantity from "@/components/global/InputQuantity.vue"; -import type LanguageDialog from "@/components/global/LanguageDialog.vue"; -import type MarkdownEditor from "@/components/global/MarkdownEditor.vue"; -import type RecipeJsonEditor from "@/components/global/RecipeJsonEditor.vue"; -import type ReportTable from "@/components/global/ReportTable.vue"; -import type SafeMarkdown from "@/components/global/SafeMarkdown.vue"; -import type StatsCards from "@/components/global/StatsCards.vue"; -import type ToggleState from "@/components/global/ToggleState.vue"; -import type WakelockSwitch from "@/components/global/WakelockSwitch.vue"; -import type DefaultLayout from "@/components/layout/DefaultLayout.vue"; +import AdvancedOnly from "@/components/global/AdvancedOnly.vue"; +import AppButtonCopy from "@/components/global/AppButtonCopy.vue"; +import AppButtonUpload from "@/components/global/AppButtonUpload.vue"; +import AppLoader from "@/components/global/AppLoader.vue"; +import AppToolbar from "@/components/global/AppToolbar.vue"; +import AutoForm from "@/components/global/AutoForm.vue"; +import BannerExperimental from "@/components/global/BannerExperimental.vue"; +import BannerWarning from "@/components/global/BannerWarning.vue"; +import BaseButton from "@/components/global/BaseButton.vue"; +import BaseButtonGroup from "@/components/global/BaseButtonGroup.vue"; +import BaseCardSectionTitle from "@/components/global/BaseCardSectionTitle.vue"; +import BaseDialog from "@/components/global/BaseDialog.vue"; +import BaseDivider from "@/components/global/BaseDivider.vue"; +import BaseOverflowButton from "@/components/global/BaseOverflowButton.vue"; +import BasePageTitle from "@/components/global/BasePageTitle.vue"; +import BaseStatCard from "@/components/global/BaseStatCard.vue"; +import BaseWizard from "@/components/global/BaseWizard.vue"; +import ButtonLink from "@/components/global/ButtonLink.vue"; +import ContextMenu from "@/components/global/ContextMenu.vue"; +import CrudTable from "@/components/global/CrudTable.vue"; +import DevDumpJson from "@/components/global/DevDumpJson.vue"; +import DocLink from "@/components/global/DocLink.vue"; +import DropZone from "@/components/global/DropZone.vue"; +import HelpIcon from "@/components/global/HelpIcon.vue"; +import ImageCropper from "@/components/global/ImageCropper.vue"; +import InputColor from "@/components/global/InputColor.vue"; +import InputLabelType from "@/components/global/InputLabelType.vue"; +import InputQuantity from "@/components/global/InputQuantity.vue"; +import LanguageDialog from "@/components/global/LanguageDialog.vue"; +import MarkdownEditor from "@/components/global/MarkdownEditor.vue"; +import RecipeJsonEditor from "@/components/global/RecipeJsonEditor.vue"; +import ReportTable from "@/components/global/ReportTable.vue"; +import SafeMarkdown from "@/components/global/SafeMarkdown.vue"; +import StatsCards from "@/components/global/StatsCards.vue"; +import ToggleState from "@/components/global/ToggleState.vue"; +import WakelockSwitch from "@/components/global/WakelockSwitch.vue"; +import DefaultLayout from "@/components/layout/DefaultLayout.vue"; declare module "vue" { export interface GlobalComponents { diff --git a/mealie/schema/_mealie/__init__.py b/mealie/schema/_mealie/__init__.py index 628e17908..7441e747a 100644 --- a/mealie/schema/_mealie/__init__.py +++ b/mealie/schema/_mealie/__init__.py @@ -3,11 +3,11 @@ from .datetime_parse import DateError, DateTimeError, DurationError, TimeError from .mealie_model import HasUUID, MealieModel, SearchType __all__ = [ + "HasUUID", + "MealieModel", + "SearchType", "DateError", "DateTimeError", "DurationError", "TimeError", - "HasUUID", - "MealieModel", - "SearchType", ] diff --git a/mealie/schema/admin/__init__.py b/mealie/schema/admin/__init__.py index 367e94739..92edafd25 100644 --- a/mealie/schema/admin/__init__.py +++ b/mealie/schema/admin/__init__.py @@ -18,28 +18,10 @@ from .restore import ( from .settings import CustomPageBase, CustomPageOut __all__ = [ - "MaintenanceLogs", - "MaintenanceStorageDetails", - "MaintenanceSummary", "ChowdownURL", "MigrationFile", "MigrationImport", "Migrations", - "CustomPageBase", - "CustomPageOut", - "CommentImport", - "CustomPageImport", - "GroupImport", - "ImportBase", - "NotificationImport", - "RecipeImport", - "SettingsImport", - "UserImport", - "AllBackups", - "BackupFile", - "BackupOptions", - "CreateBackup", - "ImportJob", "AdminAboutInfo", "AppInfo", "AppStartupInfo", @@ -49,5 +31,23 @@ __all__ = [ "EmailReady", "EmailSuccess", "EmailTest", + "CustomPageBase", + "CustomPageOut", + "AllBackups", + "BackupFile", + "BackupOptions", + "CreateBackup", + "ImportJob", + "MaintenanceLogs", + "MaintenanceStorageDetails", + "MaintenanceSummary", "DebugResponse", + "CommentImport", + "CustomPageImport", + "GroupImport", + "ImportBase", + "NotificationImport", + "RecipeImport", + "SettingsImport", + "UserImport", ] diff --git a/mealie/schema/group/__init__.py b/mealie/schema/group/__init__.py index a731b4432..3e0fb46fb 100644 --- a/mealie/schema/group/__init__.py +++ b/mealie/schema/group/__init__.py @@ -7,13 +7,13 @@ from .group_seeder import SeederConfig from .group_statistics import GroupStorage __all__ = [ + "GroupAdminUpdate", + "GroupStorage", "GroupDataExport", + "SeederConfig", "CreateGroupPreferences", "ReadGroupPreferences", "UpdateGroupPreferences", - "GroupStorage", "DataMigrationCreate", "SupportedMigrations", - "SeederConfig", - "GroupAdminUpdate", ] diff --git a/mealie/schema/household/__init__.py b/mealie/schema/household/__init__.py index 1fcc7bb25..f0e2f88d9 100644 --- a/mealie/schema/household/__init__.py +++ b/mealie/schema/household/__init__.py @@ -70,49 +70,6 @@ from .invite_token import CreateInviteToken, EmailInitationResponse, EmailInvita from .webhook import CreateWebhook, ReadWebhook, SaveWebhook, WebhookPagination, WebhookType __all__ = [ - "GroupEventNotifierCreate", - "GroupEventNotifierOptions", - "GroupEventNotifierOptionsOut", - "GroupEventNotifierOptionsSave", - "GroupEventNotifierOut", - "GroupEventNotifierPrivate", - "GroupEventNotifierSave", - "GroupEventNotifierUpdate", - "GroupEventPagination", - "CreateGroupRecipeAction", - "GroupRecipeActionOut", - "GroupRecipeActionPagination", - "GroupRecipeActionPayload", - "GroupRecipeActionType", - "SaveGroupRecipeAction", - "CreateWebhook", - "ReadWebhook", - "SaveWebhook", - "WebhookPagination", - "WebhookType", - "CreateHouseholdPreferences", - "ReadHouseholdPreferences", - "SaveHouseholdPreferences", - "UpdateHouseholdPreferences", - "HouseholdCreate", - "HouseholdInDB", - "HouseholdPagination", - "HouseholdRecipeBase", - "HouseholdRecipeCreate", - "HouseholdRecipeOut", - "HouseholdRecipeSummary", - "HouseholdRecipeUpdate", - "HouseholdSave", - "HouseholdSummary", - "HouseholdUserSummary", - "UpdateHousehold", - "UpdateHouseholdAdmin", - "HouseholdStatistics", - "CreateInviteToken", - "EmailInitationResponse", - "EmailInvitation", - "ReadInviteToken", - "SaveInviteToken", "ShoppingListAddRecipeParams", "ShoppingListAddRecipeParamsBulk", "ShoppingListCreate", @@ -136,5 +93,48 @@ __all__ = [ "ShoppingListSave", "ShoppingListSummary", "ShoppingListUpdate", + "GroupEventNotifierCreate", + "GroupEventNotifierOptions", + "GroupEventNotifierOptionsOut", + "GroupEventNotifierOptionsSave", + "GroupEventNotifierOut", + "GroupEventNotifierPrivate", + "GroupEventNotifierSave", + "GroupEventNotifierUpdate", + "GroupEventPagination", + "CreateGroupRecipeAction", + "GroupRecipeActionOut", + "GroupRecipeActionPagination", + "GroupRecipeActionPayload", + "GroupRecipeActionType", + "SaveGroupRecipeAction", + "CreateHouseholdPreferences", + "ReadHouseholdPreferences", + "SaveHouseholdPreferences", + "UpdateHouseholdPreferences", "SetPermissions", + "CreateInviteToken", + "EmailInitationResponse", + "EmailInvitation", + "ReadInviteToken", + "SaveInviteToken", + "HouseholdStatistics", + "CreateWebhook", + "ReadWebhook", + "SaveWebhook", + "WebhookPagination", + "WebhookType", + "HouseholdCreate", + "HouseholdInDB", + "HouseholdPagination", + "HouseholdRecipeBase", + "HouseholdRecipeCreate", + "HouseholdRecipeOut", + "HouseholdRecipeSummary", + "HouseholdRecipeUpdate", + "HouseholdSave", + "HouseholdSummary", + "HouseholdUserSummary", + "UpdateHousehold", + "UpdateHouseholdAdmin", ] diff --git a/mealie/schema/meal_plan/__init__.py b/mealie/schema/meal_plan/__init__.py index 639c61ee6..5f3b9b033 100644 --- a/mealie/schema/meal_plan/__init__.py +++ b/mealie/schema/meal_plan/__init__.py @@ -12,9 +12,6 @@ from .plan_rules import PlanRulesCreate, PlanRulesDay, PlanRulesOut, PlanRulesPa from .shopping_list import ListItem, ShoppingListIn, ShoppingListOut __all__ = [ - "ListItem", - "ShoppingListIn", - "ShoppingListOut", "CreatePlanEntry", "CreateRandomEntry", "PlanEntryPagination", @@ -22,6 +19,9 @@ __all__ = [ "ReadPlanEntry", "SavePlanEntry", "UpdatePlanEntry", + "ListItem", + "ShoppingListIn", + "ShoppingListOut", "PlanRulesCreate", "PlanRulesDay", "PlanRulesOut", diff --git a/mealie/schema/recipe/__init__.py b/mealie/schema/recipe/__init__.py index 2304c8a5e..d105db300 100644 --- a/mealie/schema/recipe/__init__.py +++ b/mealie/schema/recipe/__init__.py @@ -89,35 +89,6 @@ from .recipe_tool import RecipeToolCreate, RecipeToolOut, RecipeToolResponse, Re from .request_helpers import RecipeDuplicate, RecipeSlug, RecipeZipTokenResponse, SlugResponse, UpdateImageResponse __all__ = [ - "IngredientReferences", - "RecipeStep", - "RecipeNote", - "CategoryBase", - "CategoryIn", - "CategoryOut", - "CategorySave", - "RecipeCategoryResponse", - "RecipeTagResponse", - "TagBase", - "TagIn", - "TagOut", - "TagSave", - "RecipeAsset", - "RecipeTimelineEventCreate", - "RecipeTimelineEventIn", - "RecipeTimelineEventOut", - "RecipeTimelineEventPagination", - "RecipeTimelineEventUpdate", - "TimelineEventImage", - "TimelineEventType", - "RecipeSuggestionQuery", - "RecipeSuggestionResponse", - "RecipeSuggestionResponseItem", - "Nutrition", - "RecipeShareToken", - "RecipeShareTokenCreate", - "RecipeShareTokenSave", - "RecipeShareTokenSummary", "CreateIngredientFood", "CreateIngredientFoodAlias", "CreateIngredientUnit", @@ -140,13 +111,27 @@ __all__ = [ "SaveIngredientFood", "SaveIngredientUnit", "UnitFoodBase", + "RecipeTimelineEventCreate", + "RecipeTimelineEventIn", + "RecipeTimelineEventOut", + "RecipeTimelineEventPagination", + "RecipeTimelineEventUpdate", + "TimelineEventImage", + "TimelineEventType", + "Nutrition", + "AssignCategories", + "AssignSettings", + "AssignTags", + "DeleteRecipes", + "ExportBase", + "ExportRecipes", + "ExportTypes", "RecipeCommentCreate", "RecipeCommentOut", "RecipeCommentPagination", "RecipeCommentSave", "RecipeCommentUpdate", "UserBase", - "RecipeSettings", "CreateRecipe", "CreateRecipeBulk", "CreateRecipeByUrlBulk", @@ -160,25 +145,40 @@ __all__ = [ "RecipeTagPagination", "RecipeTool", "RecipeToolPagination", - "ScrapeRecipe", - "ScrapeRecipeBase", - "ScrapeRecipeData", - "ScrapeRecipeTest", - "AssignCategories", - "AssignSettings", - "AssignTags", - "DeleteRecipes", - "ExportBase", - "ExportRecipes", - "ExportTypes", - "RecipeToolCreate", - "RecipeToolOut", - "RecipeToolResponse", - "RecipeToolSave", - "RecipeImageTypes", + "IngredientReferences", + "RecipeStep", + "RecipeNote", + "RecipeSuggestionQuery", + "RecipeSuggestionResponse", + "RecipeSuggestionResponseItem", + "RecipeSettings", + "RecipeShareToken", + "RecipeShareTokenCreate", + "RecipeShareTokenSave", + "RecipeShareTokenSummary", + "RecipeAsset", "RecipeDuplicate", "RecipeSlug", "RecipeZipTokenResponse", "SlugResponse", "UpdateImageResponse", + "RecipeToolCreate", + "RecipeToolOut", + "RecipeToolResponse", + "RecipeToolSave", + "CategoryBase", + "CategoryIn", + "CategoryOut", + "CategorySave", + "RecipeCategoryResponse", + "RecipeTagResponse", + "TagBase", + "TagIn", + "TagOut", + "TagSave", + "ScrapeRecipe", + "ScrapeRecipeBase", + "ScrapeRecipeData", + "ScrapeRecipeTest", + "RecipeImageTypes", ] diff --git a/mealie/schema/response/__init__.py b/mealie/schema/response/__init__.py index c513794c5..fad4f840f 100644 --- a/mealie/schema/response/__init__.py +++ b/mealie/schema/response/__init__.py @@ -28,14 +28,14 @@ __all__ = [ "QueryFilterJSONPart", "RelationalKeyword", "RelationalOperator", - "ValidationResponse", + "SearchFilter", "OrderByNullPosition", "OrderDirection", "PaginationBase", "PaginationQuery", "RecipeSearchQuery", "RequestQuery", - "SearchFilter", + "ValidationResponse", "ErrorResponse", "FileTokenResponse", "SuccessResponse", diff --git a/mealie/schema/user/__init__.py b/mealie/schema/user/__init__.py index 76db2ec95..65e7e00a6 100644 --- a/mealie/schema/user/__init__.py +++ b/mealie/schema/user/__init__.py @@ -38,12 +38,6 @@ from .user_passwords import ( ) __all__ = [ - "ForgotPassword", - "PasswordResetToken", - "PrivatePasswordResetToken", - "ResetPassword", - "SavePasswordResetToken", - "ValidateResetToken", "CredentialsRequest", "CredentialsRequestForm", "Token", @@ -75,4 +69,10 @@ __all__ = [ "UserRatings", "UserSummary", "UserSummaryPagination", + "ForgotPassword", + "PasswordResetToken", + "PrivatePasswordResetToken", + "ResetPassword", + "SavePasswordResetToken", + "ValidateResetToken", ] diff --git a/tests/utils/api_routes/__init__.py b/tests/utils/api_routes/__init__.py index 02aee25c9..cd4c51f4a 100644 --- a/tests/utils/api_routes/__init__.py +++ b/tests/utils/api_routes/__init__.py @@ -173,8 +173,6 @@ units = "/api/units" """`/api/units`""" units_merge = "/api/units/merge" """`/api/units/merge`""" -users = "/api/users" -"""`/api/users`""" users_api_tokens = "/api/users/api-tokens" """`/api/users/api-tokens`""" users_forgot_password = "/api/users/forgot-password"