Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Rename outdated data functions for clarity
  • Loading branch information
vdegove committed Dec 17, 2024
commit 37423e2bca9767b55e45718e0a786ffc7b37a9e3
14 changes: 7 additions & 7 deletions apps/transport/lib/transport/data_checker.ex
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ defmodule Transport.DataChecker do
{delay, gtfs_datasets_expiring_on(date)}
end
|> Enum.reject(fn {_, records} -> Enum.empty?(records) end)
|> send_outdated_data_mail()
|> Enum.map(&send_outdated_data_notifications(&1, job_id))
|> send_outdated_data_admin_mail()
|> Enum.map(&send_outdated_data_producer_notifications(&1, job_id))
end

@spec gtfs_datasets_expiring_on(Date.t()) :: [{DB.Dataset.t(), [DB.Resource.t()]}]
Expand Down Expand Up @@ -160,8 +160,8 @@ defmodule Transport.DataChecker do
end)
end

@spec send_outdated_data_notifications(delay_and_records(), integer()) :: delay_and_records()
def send_outdated_data_notifications({delay, records} = payload, job_id) do
@spec send_outdated_data_producer_notifications(delay_and_records(), integer()) :: delay_and_records()
def send_outdated_data_producer_notifications({delay, records} = payload, job_id) do
Enum.each(records, fn {%DB.Dataset{} = dataset, resources} ->
@expiration_reason
|> DB.NotificationSubscription.subscriptions_for_reason_dataset_and_role(dataset, :producer)
Expand Down Expand Up @@ -189,10 +189,10 @@ defmodule Transport.DataChecker do
|> Enum.map_join(", ", fn %DB.Resource{title: title} -> title end)
end

@spec send_outdated_data_mail([delay_and_records()]) :: [delay_and_records()]
defp send_outdated_data_mail([] = _records), do: []
@spec send_outdated_data_admin_mail([delay_and_records()]) :: [delay_and_records()]
defp send_outdated_data_admin_mail([] = _records), do: []

defp send_outdated_data_mail(records) do
defp send_outdated_data_admin_mail(records) do
Transport.AdminNotifier.expiration(records)
|> Transport.Mailer.deliver()

Expand Down
2 changes: 1 addition & 1 deletion apps/transport/test/transport/data_checker_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ defmodule Transport.DataCheckerTest do
})

job_id = 42
Transport.DataChecker.send_outdated_data_notifications({7, [{dataset, []}]}, job_id)
Transport.DataChecker.send_outdated_data_producer_notifications({7, [{dataset, []}]}, job_id)

assert_email_sent(
from: {"transport.data.gouv.fr", "[email protected]"},
Expand Down