fix publishing losing channels

This commit is contained in:
Inhji 2023-06-19 22:07:37 +02:00
parent cd603ed773
commit c6bf356b84
2 changed files with 11 additions and 4 deletions

View file

@ -218,6 +218,15 @@ defmodule Chiya.Notes do
Repo.delete(note) Repo.delete(note)
end end
def publish_note(%Note{} = note, published_at) do
{1, nil} =
Note
|> where([n], n.id == ^note.id)
|> Repo.update_all(set: [published_at: published_at])
{:ok, note}
end
@doc """ @doc """
Returns an `%Ecto.Changeset{}` for tracking note changes. Returns an `%Ecto.Changeset{}` for tracking note changes.

View file

@ -105,10 +105,9 @@ defmodule ChiyaWeb.NoteController do
end end
def publish(conn, %{"id" => id}) do def publish(conn, %{"id" => id}) do
note_params = %{published_at: NaiveDateTime.local_now()}
note = Notes.get_note_preloaded!(id) note = Notes.get_note_preloaded!(id)
case Notes.update_note(note, note_params) do case Notes.publish_note(note, NaiveDateTime.local_now()) do
{:ok, note} -> {:ok, note} ->
conn conn
|> put_flash(:info, "Note published successfully.") |> put_flash(:info, "Note published successfully.")
@ -125,10 +124,9 @@ defmodule ChiyaWeb.NoteController do
end end
def unpublish(conn, %{"id" => id}) do def unpublish(conn, %{"id" => id}) do
note_params = %{published_at: nil}
note = Notes.get_note_preloaded!(id) note = Notes.get_note_preloaded!(id)
case Notes.update_note(note, note_params) do case Notes.publish_note(note, nil) do
{:ok, note} -> {:ok, note} ->
conn conn
|> put_flash(:info, "Note un-published successfully.") |> put_flash(:info, "Note un-published successfully.")