Skip to content

Commit 00b302c

Browse files
committed
refactor: enhance email delivery process by integrating workspace checks for repository and user validation
1 parent 9420f66 commit 00b302c

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

lib/algora/activities/jobs/send_campaign_email.ex

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ defmodule Algora.Activities.Jobs.SendCampaignEmail do
55
unique: [period: :infinity, keys: [:id, :recipient_email]],
66
max_attempts: 1
77

8+
alias Algora.Workspace
89
alias AlgoraWeb.Admin.CampaignLive
910

1011
@impl Oban.Worker
@@ -20,6 +21,13 @@ defmodule Algora.Activities.Jobs.SendCampaignEmail do
2021
recipient = Algora.Util.base64_to_term!(encoded_recipient)
2122
template_params = Algora.Util.base64_to_term!(encoded_template_params)
2223

23-
CampaignLive.deliver_email(recipient, subject, template_params)
24+
token = Algora.Admin.token!()
25+
26+
with {:ok, repo} <- Workspace.ensure_repository(token, recipient["repo_owner"], recipient["repo_name"]),
27+
{:ok, _owner} <- Workspace.ensure_user(token, recipient["repo_owner"]),
28+
{:ok, _contributors} <- Workspace.ensure_contributors(token, repo),
29+
{:ok, _languages} <- Workspace.ensure_repo_tech_stack(token, repo) do
30+
CampaignLive.deliver_email(recipient, subject, template_params)
31+
end
2432
end
2533
end

0 commit comments

Comments
 (0)