diff --git a/mealie/db/database.py b/mealie/db/database.py index 5cf374022fa3..360100f5e382 100644 --- a/mealie/db/database.py +++ b/mealie/db/database.py @@ -14,18 +14,17 @@ from mealie.db.models.shopping_list import ShoppingList from mealie.db.models.sign_up import SignUp from mealie.db.models.theme import SiteThemeModel from mealie.db.models.users import LongLiveToken, User -from mealie.schema.category import RecipeCategoryResponse, RecipeTagResponse -from mealie.schema.comments import CommentOut -from mealie.schema.event_notifications import EventNotificationIn +from mealie.schema.admin import CustomPageOut +from mealie.schema.admin import SiteSettings as SiteSettingsSchema +from mealie.schema.admin import SiteTheme from mealie.schema.events import Event as EventSchema -from mealie.schema.meal import MealPlanOut -from mealie.schema.recipe import Recipe, RecipeIngredientFood, RecipeIngredientUnit -from mealie.schema.settings import CustomPageOut -from mealie.schema.settings import SiteSettings as SiteSettingsSchema -from mealie.schema.shopping_list import ShoppingListOut -from mealie.schema.sign_up import SignUpOut -from mealie.schema.theme import SiteTheme -from mealie.schema.user import GroupInDB, LongLiveTokenInDB, UserInDB +from mealie.schema.events import EventNotificationIn +from mealie.schema.meal_plan import MealPlanOut, ShoppingListOut +from mealie.schema.recipe import (CommentOut, Recipe, RecipeCategoryResponse, + RecipeIngredientFood, RecipeIngredientUnit, + RecipeTagResponse) +from mealie.schema.user import (GroupInDB, LongLiveTokenInDB, SignUpOut, + UserInDB) from sqlalchemy.orm.session import Session logger = getLogger() diff --git a/mealie/db/init_db.py b/mealie/db/init_db.py index dac4722dbb18..433fa7101d7e 100644 --- a/mealie/db/init_db.py +++ b/mealie/db/init_db.py @@ -3,8 +3,7 @@ from mealie.core.config import settings from mealie.core.security import get_password_hash from mealie.db.database import db from mealie.db.db_setup import create_session -from mealie.schema.settings import SiteSettings -from mealie.schema.theme import SiteTheme +from mealie.schema.admin import SiteSettings, SiteTheme from mealie.services.events import create_general_event from sqlalchemy.orm import Session diff --git a/mealie/routes/about/events.py b/mealie/routes/about/events.py index 8adbaff87d29..094ab5536e05 100644 --- a/mealie/routes/about/events.py +++ b/mealie/routes/about/events.py @@ -5,8 +5,7 @@ from mealie.core.root_logger import get_logger from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.routers import AdminAPIRouter -from mealie.schema.event_notifications import EventNotificationIn, EventNotificationOut -from mealie.schema.events import EventsOut, TestEvent +from mealie.schema.events import EventNotificationIn, EventNotificationOut, EventsOut, TestEvent from mealie.services.events import test_notification from sqlalchemy.orm.session import Session diff --git a/mealie/routes/backup_routes.py b/mealie/routes/backup_routes.py index f1dc00494e69..a2d58edb8518 100644 --- a/mealie/routes/backup_routes.py +++ b/mealie/routes/backup_routes.py @@ -8,7 +8,7 @@ from mealie.core.root_logger import get_logger from mealie.core.security import create_file_token from mealie.db.db_setup import generate_session from mealie.routes.routers import AdminAPIRouter -from mealie.schema.backup import BackupJob, ImportJob, Imports, LocalBackup +from mealie.schema.admin import BackupJob, ImportJob, Imports, LocalBackup from mealie.services.backups import imports from mealie.services.backups.exports import backup_all from mealie.services.events import create_backup_event diff --git a/mealie/routes/debug_routes.py b/mealie/routes/debug_routes.py index 88c83b637240..bd7afaa8241d 100644 --- a/mealie/routes/debug_routes.py +++ b/mealie/routes/debug_routes.py @@ -6,10 +6,9 @@ from mealie.core.security import create_file_token from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.routers import AdminAPIRouter -from mealie.schema.about import AppInfo, AppStatistics, DebugInfo +from mealie.schema.admin import AppInfo, AppStatistics, DebugInfo from sqlalchemy.orm.session import Session - admin_router = AdminAPIRouter(prefix="/api/debug", tags=["Debug"]) public_router = APIRouter(prefix="/api/debug", tags=["Debug"]) diff --git a/mealie/routes/deps.py b/mealie/routes/deps.py index 1e9d9f07b065..1c0f6b63d235 100644 --- a/mealie/routes/deps.py +++ b/mealie/routes/deps.py @@ -7,8 +7,7 @@ from jose import JWTError, jwt from mealie.core.config import app_dirs, settings from mealie.db.database import db from mealie.db.db_setup import generate_session -from mealie.schema.auth import TokenData -from mealie.schema.user import LongLiveTokenInDB, UserInDB +from mealie.schema.user import LongLiveTokenInDB, TokenData, UserInDB from sqlalchemy.orm.session import Session oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/auth/token") diff --git a/mealie/routes/mealplans/crud.py b/mealie/routes/mealplans/crud.py index 1ce77c3c12b8..7e47e4733421 100644 --- a/mealie/routes/mealplans/crud.py +++ b/mealie/routes/mealplans/crud.py @@ -3,7 +3,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user from mealie.routes.routers import UserAPIRouter -from mealie.schema.meal import MealPlanIn, MealPlanOut +from mealie.schema.meal_plan import MealPlanIn, MealPlanOut from mealie.schema.user import GroupInDB, UserInDB from mealie.services.events import create_group_event from mealie.services.image import image diff --git a/mealie/routes/mealplans/helpers.py b/mealie/routes/mealplans/helpers.py index 389117ae6b7a..afe5d2343e36 100644 --- a/mealie/routes/mealplans/helpers.py +++ b/mealie/routes/mealplans/helpers.py @@ -4,9 +4,8 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user from mealie.routes.routers import UserAPIRouter -from mealie.schema.meal import MealPlanOut +from mealie.schema.meal_plan import ListItem, MealPlanOut, ShoppingListIn, ShoppingListOut from mealie.schema.recipe import Recipe -from mealie.schema.shopping_list import ListItem, ShoppingListIn, ShoppingListOut from mealie.schema.user import UserInDB from sqlalchemy.orm.session import Session diff --git a/mealie/routes/migration_routes.py b/mealie/routes/migration_routes.py index 8fc9673c4379..e95ca32dc947 100644 --- a/mealie/routes/migration_routes.py +++ b/mealie/routes/migration_routes.py @@ -6,7 +6,7 @@ from fastapi import Depends, File, HTTPException, UploadFile, status from mealie.core.config import app_dirs from mealie.db.db_setup import generate_session from mealie.routes.routers import AdminAPIRouter -from mealie.schema.migration import MigrationFile, Migrations +from mealie.schema.admin import MigrationFile, Migrations from mealie.services.migrations import migration from sqlalchemy.orm.session import Session diff --git a/mealie/routes/recipe/category_routes.py b/mealie/routes/recipe/category_routes.py index a0e93cf0d847..c48fe0eaab04 100644 --- a/mealie/routes/recipe/category_routes.py +++ b/mealie/routes/recipe/category_routes.py @@ -3,7 +3,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import is_logged_in from mealie.routes.routers import AdminAPIRouter, UserAPIRouter -from mealie.schema.category import CategoryIn, RecipeCategoryResponse +from mealie.schema.recipe import CategoryIn, RecipeCategoryResponse from sqlalchemy.orm.session import Session public_router = APIRouter(prefix="/api/categories", tags=["Recipe Categories"]) diff --git a/mealie/routes/recipe/comments.py b/mealie/routes/recipe/comments.py index ce031fb3a7b4..b016deb9a61b 100644 --- a/mealie/routes/recipe/comments.py +++ b/mealie/routes/recipe/comments.py @@ -5,7 +5,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user from mealie.routes.routers import UserAPIRouter -from mealie.schema.comments import CommentIn, CommentOut, CommentSaveToDB +from mealie.schema.recipe import CommentIn, CommentOut, CommentSaveToDB from mealie.schema.user import UserInDB from sqlalchemy.orm.session import Session diff --git a/mealie/routes/recipe/recipe_crud_routes.py b/mealie/routes/recipe/recipe_crud_routes.py index 8e764096456a..190012bf896c 100644 --- a/mealie/routes/recipe/recipe_crud_routes.py +++ b/mealie/routes/recipe/recipe_crud_routes.py @@ -12,6 +12,7 @@ from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user, is_logged_in, temporary_zip_path from mealie.routes.routers import UserAPIRouter from mealie.schema.recipe import Recipe, RecipeAsset, RecipeImageTypes, RecipeURLIn +from mealie.schema.recipe.recipe import CreateRecipe from mealie.schema.user import UserInDB from mealie.services.events import create_recipe_event from mealie.services.image.image import scrape_image, write_image @@ -27,6 +28,30 @@ public_router = APIRouter(prefix="/api/recipes", tags=["Recipe CRUD"]) logger = get_logger() +@user_router.post("", status_code=201, response_model=str) +def create_from_name( + background_tasks: BackgroundTasks, + data: CreateRecipe, + session: Session = Depends(generate_session), + current_user=Depends(get_current_user), +) -> str: + """ Takes in a JSON string and loads data into the database as a new entry""" + + data = Recipe(name=data.name) + + recipe: Recipe = db.recipes.create(session, data.dict()) + + background_tasks.add_task( + create_recipe_event, + "Recipe Created (URL)", + f"'{recipe.name}' by {current_user.full_name} \n {settings.BASE_URL}/recipe/{recipe.slug}", + session=session, + attachment=recipe.image_dir.joinpath("min-original.webp"), + ) + + return recipe.slug + + @user_router.post("/create", status_code=201, response_model=str) def create_from_json( background_tasks: BackgroundTasks, diff --git a/mealie/routes/recipe/tag_routes.py b/mealie/routes/recipe/tag_routes.py index 58962ac13f8a..e21970d25320 100644 --- a/mealie/routes/recipe/tag_routes.py +++ b/mealie/routes/recipe/tag_routes.py @@ -3,7 +3,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import is_logged_in from mealie.routes.routers import AdminAPIRouter, UserAPIRouter -from mealie.schema.category import RecipeTagResponse, TagIn +from mealie.schema.recipe import RecipeTagResponse, TagIn from sqlalchemy.orm.session import Session public_router = APIRouter(prefix="/api/tags", tags=["Recipe Tags"]) diff --git a/mealie/routes/shopping_list.py b/mealie/routes/shopping_list.py index 5b0ed8594e1c..a8ed6d4b060b 100644 --- a/mealie/routes/shopping_list.py +++ b/mealie/routes/shopping_list.py @@ -3,7 +3,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user from mealie.routes.routers import UserAPIRouter -from mealie.schema.shopping_list import ShoppingListIn, ShoppingListOut +from mealie.schema.meal_plan import ShoppingListIn, ShoppingListOut from mealie.schema.user import UserInDB from sqlalchemy.orm.session import Session diff --git a/mealie/routes/site_settings/custom_pages.py b/mealie/routes/site_settings/custom_pages.py index 94e494a1f68f..a283c2b74cd0 100644 --- a/mealie/routes/site_settings/custom_pages.py +++ b/mealie/routes/site_settings/custom_pages.py @@ -1,10 +1,10 @@ -from mealie.routes.routers import AdminAPIRouter from typing import Union from fastapi import APIRouter, Depends from mealie.db.database import db from mealie.db.db_setup import generate_session -from mealie.schema.settings import CustomPageBase, CustomPageOut +from mealie.routes.routers import AdminAPIRouter +from mealie.schema.admin import CustomPageBase, CustomPageOut from sqlalchemy.orm.session import Session public_router = APIRouter(prefix="/api/site-settings/custom-pages", tags=["Settings"]) diff --git a/mealie/routes/site_settings/site_settings.py b/mealie/routes/site_settings/site_settings.py index 53707d9328e7..cb139f2c2905 100644 --- a/mealie/routes/site_settings/site_settings.py +++ b/mealie/routes/site_settings/site_settings.py @@ -3,7 +3,7 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_current_user from mealie.routes.routers import AdminAPIRouter -from mealie.schema.settings import SiteSettings +from mealie.schema.admin import SiteSettings from mealie.schema.user import GroupInDB, UserInDB from mealie.utils.post_webhooks import post_webhooks from sqlalchemy.orm.session import Session diff --git a/mealie/routes/theme_routes.py b/mealie/routes/theme_routes.py index 2a0ff64b5467..b067b9d39de0 100644 --- a/mealie/routes/theme_routes.py +++ b/mealie/routes/theme_routes.py @@ -1,9 +1,9 @@ -from fastapi.routing import APIRouter from fastapi import Depends, HTTPException, status +from fastapi.routing import APIRouter from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.routers import UserAPIRouter -from mealie.schema.theme import SiteTheme +from mealie.schema.admin import SiteTheme from sqlalchemy.orm.session import Session user_router = UserAPIRouter(prefix="/api", tags=["Themes"]) diff --git a/mealie/routes/users/sign_up.py b/mealie/routes/users/sign_up.py index 77f9f141ed29..4c3add9e1188 100644 --- a/mealie/routes/users/sign_up.py +++ b/mealie/routes/users/sign_up.py @@ -6,8 +6,8 @@ from mealie.db.database import db from mealie.db.db_setup import generate_session from mealie.routes.deps import get_admin_user from mealie.routes.routers import AdminAPIRouter -from mealie.schema.sign_up import SignUpIn, SignUpOut, SignUpToken -from mealie.schema.user import UserIn, UserInDB +from mealie.schema.user import (SignUpIn, SignUpOut, SignUpToken, UserIn, + UserInDB) from mealie.services.events import create_user_event from sqlalchemy.orm.session import Session diff --git a/mealie/schema/admin/__init__.py b/mealie/schema/admin/__init__.py new file mode 100644 index 000000000000..80033a469af8 --- /dev/null +++ b/mealie/schema/admin/__init__.py @@ -0,0 +1,6 @@ +from .about import * +from .backup import * +from .migration import * +from .restore import * +from .settings import * +from .theme import * diff --git a/mealie/schema/about.py b/mealie/schema/admin/about.py similarity index 100% rename from mealie/schema/about.py rename to mealie/schema/admin/about.py diff --git a/mealie/schema/backup.py b/mealie/schema/admin/backup.py similarity index 100% rename from mealie/schema/backup.py rename to mealie/schema/admin/backup.py diff --git a/mealie/schema/migration.py b/mealie/schema/admin/migration.py similarity index 91% rename from mealie/schema/migration.py rename to mealie/schema/admin/migration.py index 8d9ef5685bdd..97391c48de2e 100644 --- a/mealie/schema/migration.py +++ b/mealie/schema/admin/migration.py @@ -1,9 +1,10 @@ from datetime import datetime from typing import List -from mealie.schema.restore import RecipeImport from pydantic.main import BaseModel +from .restore import RecipeImport + class ChowdownURL(BaseModel): url: str diff --git a/mealie/schema/restore.py b/mealie/schema/admin/restore.py similarity index 100% rename from mealie/schema/restore.py rename to mealie/schema/admin/restore.py diff --git a/mealie/schema/settings.py b/mealie/schema/admin/settings.py similarity index 94% rename from mealie/schema/settings.py rename to mealie/schema/admin/settings.py index 456e2d8813dc..bbade5b31c28 100644 --- a/mealie/schema/settings.py +++ b/mealie/schema/admin/settings.py @@ -1,10 +1,11 @@ from typing import Optional from fastapi_camelcase import CamelModel -from mealie.schema.category import CategoryBase, RecipeCategoryResponse from pydantic import validator from slugify import slugify +from ..recipe.category import CategoryBase, RecipeCategoryResponse + class SiteSettings(CamelModel): language: str = "en-US" diff --git a/mealie/schema/theme.py b/mealie/schema/admin/theme.py similarity index 100% rename from mealie/schema/theme.py rename to mealie/schema/admin/theme.py diff --git a/mealie/schema/events/__init__.py b/mealie/schema/events/__init__.py new file mode 100644 index 000000000000..3eb956653108 --- /dev/null +++ b/mealie/schema/events/__init__.py @@ -0,0 +1,2 @@ +from .event_notifications import * +from .events import * diff --git a/mealie/schema/event_notifications.py b/mealie/schema/events/event_notifications.py similarity index 100% rename from mealie/schema/event_notifications.py rename to mealie/schema/events/event_notifications.py diff --git a/mealie/schema/events.py b/mealie/schema/events/events.py similarity index 100% rename from mealie/schema/events.py rename to mealie/schema/events/events.py diff --git a/mealie/schema/meal_plan/__init__.py b/mealie/schema/meal_plan/__init__.py new file mode 100644 index 000000000000..d555d78de783 --- /dev/null +++ b/mealie/schema/meal_plan/__init__.py @@ -0,0 +1,2 @@ +from .meal import * +from .shopping_list import * diff --git a/mealie/schema/meal.py b/mealie/schema/meal_plan/meal.py similarity index 100% rename from mealie/schema/meal.py rename to mealie/schema/meal_plan/meal.py diff --git a/mealie/schema/shopping_list.py b/mealie/schema/meal_plan/shopping_list.py similarity index 100% rename from mealie/schema/shopping_list.py rename to mealie/schema/meal_plan/shopping_list.py diff --git a/mealie/schema/recipe/__init__.py b/mealie/schema/recipe/__init__.py new file mode 100644 index 000000000000..35d69062b42f --- /dev/null +++ b/mealie/schema/recipe/__init__.py @@ -0,0 +1,4 @@ +from .category import * +from .comments import * +from .helpers import * +from .recipe import * diff --git a/mealie/schema/category.py b/mealie/schema/recipe/category.py similarity index 82% rename from mealie/schema/category.py rename to mealie/schema/recipe/category.py index 074e90cc6a0a..ac2287ed2a86 100644 --- a/mealie/schema/category.py +++ b/mealie/schema/recipe/category.py @@ -1,7 +1,6 @@ from typing import List, Optional from fastapi_camelcase import CamelModel -from mealie.schema.recipe import Recipe from pydantic.utils import GetterDict @@ -25,7 +24,7 @@ class CategoryBase(CategoryIn): class RecipeCategoryResponse(CategoryBase): - recipes: Optional[List[Recipe]] + recipes: Optional[List["Recipe"]] class Config: schema_extra = {"example": {"id": 1, "name": "dinner", "recipes": [{}]}} @@ -41,3 +40,9 @@ class TagBase(CategoryBase): class RecipeTagResponse(RecipeCategoryResponse): pass + + +from .recipe import Recipe + +RecipeCategoryResponse.update_forward_refs() +RecipeTagResponse.update_forward_refs() diff --git a/mealie/schema/comments.py b/mealie/schema/recipe/comments.py similarity index 100% rename from mealie/schema/comments.py rename to mealie/schema/recipe/comments.py diff --git a/mealie/schema/helpers.py b/mealie/schema/recipe/helpers.py similarity index 100% rename from mealie/schema/helpers.py rename to mealie/schema/recipe/helpers.py diff --git a/mealie/schema/recipe.py b/mealie/schema/recipe/recipe.py similarity index 97% rename from mealie/schema/recipe.py rename to mealie/schema/recipe/recipe.py index f8e4b34b5890..6baa3222f498 100644 --- a/mealie/schema/recipe.py +++ b/mealie/schema/recipe/recipe.py @@ -6,11 +6,16 @@ from typing import Any, Optional from fastapi_camelcase import CamelModel from mealie.core.config import app_dirs, settings from mealie.db.models.recipe.recipe import RecipeModel -from mealie.schema.comments import CommentOut from pydantic import BaseModel, Field, validator from pydantic.utils import GetterDict from slugify import slugify +from .comments import CommentOut + + +class CreateRecipe(CamelModel): + name: str + class RecipeImageTypes(str, Enum): original = "original.webp" @@ -120,8 +125,8 @@ class RecipeSummary(CamelModel): class Recipe(RecipeSummary): recipe_yield: Optional[str] - recipe_ingredient: Optional[list[RecipeIngredient]] - recipe_instructions: Optional[list[RecipeStep]] + recipe_ingredient: Optional[list[RecipeIngredient]] = [] + recipe_instructions: Optional[list[RecipeStep]] = [] nutrition: Optional[Nutrition] tools: Optional[list[str]] = [] diff --git a/mealie/schema/user/__init__.py b/mealie/schema/user/__init__.py new file mode 100644 index 000000000000..a6a1622480c2 --- /dev/null +++ b/mealie/schema/user/__init__.py @@ -0,0 +1,3 @@ +from .auth import * +from .sign_up import * +from .user import * diff --git a/mealie/schema/auth.py b/mealie/schema/user/auth.py similarity index 100% rename from mealie/schema/auth.py rename to mealie/schema/user/auth.py diff --git a/mealie/schema/sign_up.py b/mealie/schema/user/sign_up.py similarity index 100% rename from mealie/schema/sign_up.py rename to mealie/schema/user/sign_up.py diff --git a/mealie/schema/user.py b/mealie/schema/user/user.py similarity index 95% rename from mealie/schema/user.py rename to mealie/schema/user/user.py index c18ce7aa9f37..ac0f35dc06ac 100644 --- a/mealie/schema/user.py +++ b/mealie/schema/user/user.py @@ -4,13 +4,13 @@ from fastapi_camelcase import CamelModel from mealie.core.config import settings from mealie.db.models.group import Group from mealie.db.models.users import User -from mealie.schema.category import CategoryBase -from mealie.schema.meal import MealPlanOut from mealie.schema.recipe import RecipeSummary -from mealie.schema.shopping_list import ShoppingListOut from pydantic.types import constr from pydantic.utils import GetterDict +from ..meal_plan import MealPlanOut, ShoppingListOut +from ..recipe import CategoryBase + class LoingLiveTokenIn(CamelModel): name: str diff --git a/mealie/services/backups/imports.py b/mealie/services/backups/imports.py index 49b3b6a6290b..7a45708c7a80 100644 --- a/mealie/services/backups/imports.py +++ b/mealie/services/backups/imports.py @@ -6,20 +6,20 @@ from typing import Callable from mealie.core.config import app_dirs from mealie.db.database import db -from mealie.schema.comments import CommentOut -from mealie.schema.event_notifications import EventNotificationIn -from mealie.schema.recipe import Recipe -from mealie.schema.restore import ( +from mealie.schema.admin import ( CustomPageImport, + CustomPageOut, GroupImport, NotificationImport, RecipeImport, SettingsImport, + SiteSettings, + SiteTheme, ThemeImport, UserImport, ) -from mealie.schema.settings import CustomPageOut, SiteSettings -from mealie.schema.theme import SiteTheme +from mealie.schema.events import EventNotificationIn +from mealie.schema.recipe import CommentOut, Recipe from mealie.schema.user import UpdateGroup, UserInDB from mealie.services.image import minify from pydantic.main import BaseModel diff --git a/mealie/services/meal_services.py b/mealie/services/meal_services.py index b5a6fafa72e8..73b7a7a8da8d 100644 --- a/mealie/services/meal_services.py +++ b/mealie/services/meal_services.py @@ -3,7 +3,7 @@ from typing import Union from mealie.db.database import db from mealie.db.db_setup import create_session -from mealie.schema.meal import MealDayIn, MealPlanIn +from mealie.schema.meal_plan import MealDayIn, MealPlanIn from mealie.schema.recipe import Recipe from mealie.schema.user import GroupInDB from sqlalchemy.orm.session import Session diff --git a/mealie/services/migrations/_migration_base.py b/mealie/services/migrations/_migration_base.py index 9c1ab5bd971c..b8d90d648512 100644 --- a/mealie/services/migrations/_migration_base.py +++ b/mealie/services/migrations/_migration_base.py @@ -6,7 +6,7 @@ from typing import Any, Callable, Optional import yaml from mealie.core import root_logger from mealie.db.database import db -from mealie.schema.migration import MigrationImport +from mealie.schema.admin import MigrationImport from mealie.schema.recipe import Recipe from mealie.services.image import image from mealie.services.scraper import cleaner diff --git a/mealie/services/migrations/chowdown.py b/mealie/services/migrations/chowdown.py index 7fd571eb7993..b16847dd689e 100644 --- a/mealie/services/migrations/chowdown.py +++ b/mealie/services/migrations/chowdown.py @@ -2,9 +2,10 @@ from pathlib import Path from typing import Optional from mealie.core.config import app_dirs -from mealie.schema.migration import MigrationImport +from mealie.schema.admin import MigrationImport from mealie.services.migrations import helpers -from mealie.services.migrations._migration_base import MigrationAlias, MigrationBase +from mealie.services.migrations._migration_base import (MigrationAlias, + MigrationBase) from sqlalchemy.orm.session import Session diff --git a/mealie/services/migrations/migration.py b/mealie/services/migrations/migration.py index 0bc96f15c41b..b00013cd4b2b 100644 --- a/mealie/services/migrations/migration.py +++ b/mealie/services/migrations/migration.py @@ -2,7 +2,7 @@ from enum import Enum from pathlib import Path from mealie.core import root_logger -from mealie.schema.migration import MigrationImport +from mealie.schema.admin import MigrationImport from mealie.services.migrations import chowdown, nextcloud from sqlalchemy.orm.session import Session diff --git a/mealie/services/migrations/nextcloud.py b/mealie/services/migrations/nextcloud.py index c8b589c93cd9..7204a8c6eb11 100644 --- a/mealie/services/migrations/nextcloud.py +++ b/mealie/services/migrations/nextcloud.py @@ -2,7 +2,7 @@ from dataclasses import dataclass from pathlib import Path from typing import Optional -from mealie.schema.migration import MigrationImport +from mealie.schema.admin import MigrationImport from mealie.services.migrations import helpers from mealie.services.migrations._migration_base import MigrationAlias, MigrationBase from slugify import slugify diff --git a/tests/integration_tests/test_settings_routes.py b/tests/integration_tests/test_settings_routes.py index 03a2cb08a620..173db8110ad4 100644 --- a/tests/integration_tests/test_settings_routes.py +++ b/tests/integration_tests/test_settings_routes.py @@ -2,7 +2,7 @@ import json import pytest from fastapi.testclient import TestClient -from mealie.schema.settings import SiteSettings +from mealie.schema.admin import SiteSettings from tests.app_routes import AppRoutes diff --git a/tests/integration_tests/test_signup_routes.py b/tests/integration_tests/test_signup_routes.py index 333066a4de6f..9563ff6cafff 100644 --- a/tests/integration_tests/test_signup_routes.py +++ b/tests/integration_tests/test_signup_routes.py @@ -2,7 +2,7 @@ import json import pytest from fastapi.testclient import TestClient -from mealie.schema.sign_up import SignUpToken +from mealie.schema.user import SignUpToken from tests.app_routes import AppRoutes diff --git a/tests/integration_tests/test_theme_routes.py b/tests/integration_tests/test_theme_routes.py index e0dcabcd08db..1172a427bfa5 100644 --- a/tests/integration_tests/test_theme_routes.py +++ b/tests/integration_tests/test_theme_routes.py @@ -2,7 +2,7 @@ import json import pytest from fastapi.testclient import TestClient -from mealie.schema.theme import SiteTheme +from mealie.schema.admin import SiteTheme from tests.app_routes import AppRoutes