From 10784b6e242b941b76ce21186c4279bcd4037789 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sun, 3 Apr 2022 16:32:58 -0800 Subject: [PATCH] feat: support require_all property for cookbooks (#1130) * add direction prop for icon position * add support for require_all properties on cookbook * update type annotations * add and - or filter support * update cookbook API * generate types * implement editor for additional options * update version number --- ...62_add_require_all_for_cookbook_filters.py | 45 +++++++++++++++++++ frontend/components/global/HelpIcon.vue | 6 ++- frontend/pages/group/cookbooks.vue | 23 +++++++++- frontend/types/api-types/cookbook.ts | 15 +++++++ frontend/types/api-types/recipe.ts | 2 +- mealie/db/db_setup.py | 4 +- mealie/db/models/group/cookbook.py | 5 +++ mealie/db/models/recipe/recipe.py | 4 +- mealie/repos/repository_recipes.py | 26 +++++++++-- mealie/routes/groups/controller_cookbooks.py | 7 ++- mealie/schema/cookbook/cookbook.py | 3 ++ .../backup_v2_tests/test_alchemy_exporter.py | 2 +- 12 files changed, 129 insertions(+), 13 deletions(-) create mode 100644 alembic/versions/2022-04-03-10.48.51_09dfc897ad62_add_require_all_for_cookbook_filters.py diff --git a/alembic/versions/2022-04-03-10.48.51_09dfc897ad62_add_require_all_for_cookbook_filters.py b/alembic/versions/2022-04-03-10.48.51_09dfc897ad62_add_require_all_for_cookbook_filters.py new file mode 100644 index 000000000000..f58414d29b5e --- /dev/null +++ b/alembic/versions/2022-04-03-10.48.51_09dfc897ad62_add_require_all_for_cookbook_filters.py @@ -0,0 +1,45 @@ +"""add require_all for cookbook filters + +Revision ID: 09dfc897ad62 +Revises: 59eb59135381 +Create Date: 2022-04-03 10:48:51.379968 + +""" +import sqlalchemy as sa + +import mealie.db.migration_types # noqa: F401 +from alembic import op + +# revision identifiers, used by Alembic. +revision = "09dfc897ad62" +down_revision = "59eb59135381" +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column("cookbooks", sa.Column("require_all_categories", sa.Boolean(), nullable=True)) + op.add_column("cookbooks", sa.Column("require_all_tags", sa.Boolean(), nullable=True)) + op.add_column("cookbooks", sa.Column("require_all_tools", sa.Boolean(), nullable=True)) + + # Set Defaults for Existing Cookbooks + op.execute( + """ + UPDATE cookbooks + SET require_all_categories = TRUE, + require_all_tags = TRUE, + require_all_tools = TRUE + """ + ) + + # ### end Alembic commands ### + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("cookbooks", "require_all_tools") + op.drop_column("cookbooks", "require_all_tags") + op.drop_column("cookbooks", "require_all_categories") + # ### end Alembic commands ### diff --git a/frontend/components/global/HelpIcon.vue b/frontend/components/global/HelpIcon.vue index 4c19ee81f17a..95649cb6647a 100644 --- a/frontend/components/global/HelpIcon.vue +++ b/frontend/components/global/HelpIcon.vue @@ -1,6 +1,6 @@