devel #131
2 changed files with 11 additions and 4 deletions
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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.")
|
||||||
|
|
Loading…
Reference in a new issue