From bfae64d39720e25706c45f4e227a2080b51ad2c8 Mon Sep 17 00:00:00 2001 From: inhji Date: Fri, 7 Jul 2023 11:56:42 +0200 Subject: [PATCH] =?UTF-8?q?=E2=80=9Elib/chiya/notes.ex=E2=80=9C=20=C3=A4nd?= =?UTF-8?q?ern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/chiya/notes.ex | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/chiya/notes.ex b/lib/chiya/notes.ex index b0ceb1f..116a77a 100644 --- a/lib/chiya/notes.ex +++ b/lib/chiya/notes.ex @@ -40,14 +40,28 @@ defmodule Chiya.Notes do end def list_notes_by_channel(%Chiya.Channels.Channel{} = channel) do - Note - |> join(:inner, [n], c in assoc(n, :channels)) - |> where([n, c], c.id == ^channel.id) + list_notes_by_channel_query(channel) |> order_by([n], desc: n.updated_at, desc: n.published_at) |> Repo.all() |> Repo.preload(@preloads) end + def list_notes_by_channel_published(%Chiya.Channels.Channel{} = channel) do + list_notes_by_channel_query(channel) + |> order_by([n], desc: n.published_at) + end + + def list_notes_by_channel_updated(%Chiya.Channels.Channel{} = channel) do + list_notes_by_channel_query(channel) + |> order_by([n], desc: n.published_at) + end + + defp list_notes_by_channel_query(%Chiya.Channels.Channel{} = channel) do + Note + |> join(:inner, [n], c in assoc(n, :channels)) + |> where([n, c], c.id == ^channel.id) + end + @doc """ Preloads a note