Skip to content

Commit

Permalink
Merge pull request #25 from Code-Society-Lab/delete-page
Browse files Browse the repository at this point in the history
Add option to delete a page
  • Loading branch information
PenguinBoi12 authored Mar 18, 2024
2 parents ec6e15a + 0a1a63f commit 6cc7c43
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
10 changes: 10 additions & 0 deletions lib/cursif_web/resolvers/pages.ex
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ defmodule CursifWeb.Resolvers.Pages do
end
end

@spec delete_page(map(), map()) :: {:ok, Page.t()} | {:error, atom()}
def delete_page(%{id: id}, %{context: %{current_user: current_user}}) do
page = Pages.get_page!(id)

case Pages.delete_page(page) do
{:ok, page} -> {:ok, page}
{:error, changeset} -> {:error, changeset}
end
end

# Perhaps it should be defined in the context rather than here
@spec get_parent(map(), map()) :: {:ok, Page.t()} | {:error, atom()}
def get_parent(%{parent_id: parent_id, parent_type: "page"}, _context) do
Expand Down
10 changes: 10 additions & 0 deletions lib/cursif_web/schemas/page.ex
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ defmodule CursifWeb.Schemas.Page do

@desc "Collection of mutations"
object :page_mutations do

@desc "Create a page"
field :create_page, :page do
arg(:title, non_null(:string))
arg(:content, :string)
Expand All @@ -25,6 +27,7 @@ defmodule CursifWeb.Schemas.Page do
resolve(&Pages.create_page/2)
end

@desc "Update a page"
field :update_page, :page do
arg(:id, non_null(:id))
arg(:title, :string)
Expand All @@ -34,5 +37,12 @@ defmodule CursifWeb.Schemas.Page do

resolve(&Pages.update_page/2)
end

@desc "Delete a page"
field :delete_page, :page do
arg(:id, non_null(:id))

resolve(&Pages.delete_page/2)
end
end
end

0 comments on commit 6cc7c43

Please sign in to comment.