From bc0bf7dc1b4ac959cafedc4bc59be7672e1673d1 Mon Sep 17 00:00:00 2001 From: michaeljguarino Date: Tue, 27 Sep 2022 19:02:08 -0400 Subject: [PATCH] hide quick stacks from stacks query --- apps/core/lib/core/schema/stack.ex | 4 +++- apps/core/test/services/recipes_test.exs | 1 + apps/graphql/lib/graphql/resolvers/recipe.ex | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/core/lib/core/schema/stack.ex b/apps/core/lib/core/schema/stack.ex index 45b96b38a..174fc1169 100644 --- a/apps/core/lib/core/schema/stack.ex +++ b/apps/core/lib/core/schema/stack.ex @@ -5,7 +5,7 @@ defmodule Core.Schema.Stack do schema "stacks" do field :name, :string field :description, :string - field :featured, :boolean, default: :false + field :featured, :boolean, default: false field :display_name, :string field :bundles, :map, virtual: true field :expires_at, :utc_datetime_usec @@ -19,6 +19,8 @@ defmodule Core.Schema.Stack do timestamps() end + def permanent(query \\ __MODULE__), do: from(s in query, where: is_nil(s.expires_at)) + def featured(query \\ __MODULE__), do: from(s in query, where: s.featured) def expired(query \\ __MODULE__) do diff --git a/apps/core/test/services/recipes_test.exs b/apps/core/test/services/recipes_test.exs index 03e4b6897..bd3bd0d85 100644 --- a/apps/core/test/services/recipes_test.exs +++ b/apps/core/test/services/recipes_test.exs @@ -309,6 +309,7 @@ defmodule Core.Services.RecipesTest do assert is_binary(stack.name) assert stack.creator_id == user.id assert stack.expires_at + refute stack.featured %{collections: [collection]} = Core.Repo.preload(stack, [collections: :bundles]) diff --git a/apps/graphql/lib/graphql/resolvers/recipe.ex b/apps/graphql/lib/graphql/resolvers/recipe.ex index 9a3b5cd61..530ef1f79 100644 --- a/apps/graphql/lib/graphql/resolvers/recipe.ex +++ b/apps/graphql/lib/graphql/resolvers/recipe.ex @@ -20,6 +20,7 @@ defmodule GraphQl.Resolvers.Recipe do def list_stacks(args, %{context: %{current_user: user}}) do Stack.ordered() + |> Stack.permanent() |> stack_filters(args, user) |> paginate(args) end