Skip to content

Commit de8ccb6

Browse files
committed
properly set ids
1 parent dcc7921 commit de8ccb6

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

lib/algora/bounties/bounties.ex

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,18 +125,15 @@ defmodule Algora.Bounties do
125125
{:ok, Claim.t()} | {:error, atom()}
126126
defp do_claim_bounty(%{user: user, ticket: ticket, pull_request: pull_request}) do
127127
# TODO: ensure user is pull request author
128-
id = Nanoid.generate()
129-
130128
changeset =
131129
Claim.changeset(%Claim{}, %{
132130
ticket_id: ticket.id,
133131
user_id: user.id,
134132
provider: "github",
135-
provider_id: pull_request["id"],
136-
provider_meta: pull_request,
133+
provider_id: to_string(pull_request["id"]),
134+
provider_meta: Util.normalize_struct(pull_request),
137135
title: pull_request["title"],
138136
url: pull_request["html_url"],
139-
group_id: id,
140137
merged_at: Util.to_date(pull_request["merged_at"])
141138
})
142139

lib/algora/bounties/jobs/notify_claim.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ defmodule Algora.Bounties.Jobs.NotifyClaim do
1414
@impl Oban.Worker
1515
def perform(%Oban.Job{args: %{"ticket_ref" => ticket_ref, "installation_id" => installation_id}}) do
1616
with {:ok, token} <- Github.get_installation_token(installation_id) do
17+
# TODO: update message
1718
body = "Claimed!"
1819

1920
Github.create_issue_comment(

lib/algora/bounties/schemas/claim.ex

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,22 @@ defmodule Algora.Bounties.Claim do
5353
:provider_id,
5454
:provider_meta,
5555
:title,
56-
:url,
57-
:group_id
56+
:url
5857
])
58+
|> generate_id()
59+
|> put_group_id()
5960
|> foreign_key_constraint(:ticket_id)
6061
|> foreign_key_constraint(:user_id)
6162
|> unique_constraint([:ticket_id, :user_id])
6263
end
6364

65+
def put_group_id(changeset) do
66+
case get_field(changeset, :group_id) do
67+
nil -> put_change(changeset, :group_id, get_field(changeset, :id))
68+
_existing -> changeset
69+
end
70+
end
71+
6472
def rewarded(query \\ Claim) do
6573
from c in query,
6674
where: c.state == :approved and not is_nil(c.charged_at)

0 commit comments

Comments
 (0)