diff --git a/server/lib/orcasite/radio/feed.ex b/server/lib/orcasite/radio/feed.ex index 4db1115af..a331f08e5 100644 --- a/server/lib/orcasite/radio/feed.ex +++ b/server/lib/orcasite/radio/feed.ex @@ -261,7 +261,14 @@ defmodule Orcasite.Radio.Feed do description "A comma-separated string of longitude and latitude" end + argument :maintainer_emails, {:array, :string}, default: [] + change &change_lat_lng/2 + + change fn changeset, _context -> + maintainer_emails = Ash.Changeset.get_argument(changeset, :maintainer_emails) || [] + Ash.Changeset.change_attribute(changeset, :maintainer_emails, maintainer_emails) + end end update :update do diff --git a/server/lib/orcasite/radio/seed.ex b/server/lib/orcasite/radio/seed.ex index 88a7d8a1c..bf853353f 100644 --- a/server/lib/orcasite/radio/seed.ex +++ b/server/lib/orcasite/radio/seed.ex @@ -61,7 +61,7 @@ defmodule Orcasite.Radio.Seed do default: fn -> DateTime.utc_now() |> DateTime.add(-2, :minute) end run fn %{arguments: %{start_time: start_time, end_time: end_time}}, _ -> - __MODULE__.feeds() + __MODULE__.feeds!() feeds = Orcasite.Radio.Feed |> Ash.read!() @@ -90,7 +90,7 @@ defmodule Orcasite.Radio.Seed do argument :limit, :integer, allow_nil?: false, default: 100 run fn %{arguments: %{limit: limit}}, _ -> - __MODULE__.feeds() + __MODULE__.feeds!() feeds = Orcasite.Radio.Feed |> Ash.read!() diff --git a/server/lib/orcasite/radio/seed/changes/seed_feeds.ex b/server/lib/orcasite/radio/seed/changes/seed_feeds.ex index fa846beae..700fee7f7 100644 --- a/server/lib/orcasite/radio/seed/changes/seed_feeds.ex +++ b/server/lib/orcasite/radio/seed/changes/seed_feeds.ex @@ -3,6 +3,8 @@ defmodule Orcasite.Radio.Seed.Changes.SeedFeeds do alias Orcasite.Radio.Seed.Utils + require Logger + @impl true def change(changeset, _opts, _context) do changeset @@ -17,10 +19,14 @@ defmodule Orcasite.Radio.Seed.Changes.SeedFeeds do |> Ash.bulk_create(Orcasite.Radio.Feed, :create, return_errors?: true, authorize?: false) |> case do %{status: :success} -> + Logger.info("Successfully seeded #{count} feeds") + change |> Ash.Changeset.force_change_attribute(:seeded_count, count) %{errors: errors} -> + Logger.error("Error while seeding feeds: #{inspect(errors)}") + change |> Ash.Changeset.add_error(errors) end diff --git a/ui/src/pages/seed.tsx b/ui/src/pages/seed.tsx index b7452c91b..8a705c760 100644 --- a/ui/src/pages/seed.tsx +++ b/ui/src/pages/seed.tsx @@ -311,8 +311,10 @@ function toLocalISOString(date: Date) { SeedPage.getLayout = getSimpleLayout; export async function getStaticProps() { - const enableSeedFromProd = process.env.ENABLE_SEED_FROM_PROD === "true"; - // Hide the seed page when `ENABLE_SEED_FROM_PROD` isn't enabled + const enableSeedFromProd = process.env.ENABLE_SEED_FROM_PROD + ? process.env.ENABLE_SEED_FROM_PROD === "true" + : process.env.NODE_ENV === "development"; // default to enabled in dev + return !enableSeedFromProd ? { notFound: true } : { props: {} }; }