Skip to content

Commit 96d8f72

Browse files
Feat: update list_unarchived_links_by_index
1 parent c1a317b commit 96d8f72

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

lib/cesium_link/links.ex

+5-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ defmodule CesiumLink.Links do
6464
6565
"""
6666
def list_unarchived_links_by_index do
67-
Repo.all(from l in Link, where: l.archived == false, order_by: [asc: l.index])
67+
Link
68+
|> where([l], fragment("? > now()", l.publish_at))
69+
|> where([l], l.archived == false )
70+
|> order_by([l], asc: l.index)
71+
|> Repo.all()
6872
end
6973

7074
@doc """

lib/cesium_link/links/link.ex

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ defmodule CesiumLink.Links.Link do
55
use CesiumLink.Schema
66

77
@required_fields ~w(name emoji url attention edited_at)a
8-
@optional_fields ~w(index archived visits)a
8+
@optional_fields ~w(index archived visits publish_at)a
99

1010
schema "links" do
1111
field :archived, :boolean, default: false
@@ -16,6 +16,7 @@ defmodule CesiumLink.Links.Link do
1616
field :url, :string
1717
field :visits, :integer, default: 0
1818
field :edited_at, :utc_datetime
19+
field :publish_at, :utc_datetime
1920

2021
timestamps(type: :utc_datetime)
2122
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
defmodule CesiumLink.Repo.Migrations.AddLinkScheduling do
2+
use Ecto.Migration
3+
4+
def change do
5+
alter table(:links) do
6+
add :publish_at, :utc_datetime
7+
end
8+
end
9+
end

0 commit comments

Comments
 (0)