Skip to content

Commit 6292184

Browse files
committed
init attempts
1 parent d6695b3 commit 6292184

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

lib/algora/bounties/schemas/attempt.ex

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ defmodule Algora.Bounties.Attempt do
55
alias Algora.Activities.Activity
66

77
typed_schema "attempts" do
8-
belongs_to :bounty, Algora.Bounties.Bounty
9-
belongs_to :user, Algora.Accounts.User
8+
field :status, Ecto.Enum, values: [:active, :inactive], default: :active, null: false
9+
field :warnings_count, :integer, default: 0, null: false
10+
11+
belongs_to :ticket, Algora.Tickets.Ticket, null: false
12+
belongs_to :user, Algora.Accounts.User, null: false
1013

1114
has_many :activities, {"attempt_activities", Activity}, foreign_key: :assoc_id
1215

@@ -15,7 +18,7 @@ defmodule Algora.Bounties.Attempt do
1518

1619
def changeset(attempt, attrs) do
1720
attempt
18-
|> cast(attrs, [:bounty_id, :user_id])
19-
|> validate_required([:bounty_id, :user_id])
21+
|> cast(attrs, [:ticket_id, :user_id])
22+
|> validate_required([:ticket_id, :user_id])
2023
end
2124
end
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
defmodule Algora.Repo.Migrations.CreateAttempts do
2+
use Ecto.Migration
3+
4+
def change do
5+
create table(:attempts) do
6+
add :status, :string, null: false, default: "active"
7+
add :warnings_count, :integer, null: false, default: 0
8+
9+
add :ticket_id, references(:tickets, on_delete: :delete_all), null: false
10+
add :user_id, references(:users, on_delete: :delete_all), null: false
11+
12+
timestamps()
13+
end
14+
15+
create index(:attempts, [:ticket_id])
16+
create index(:attempts, [:user_id])
17+
18+
create unique_index(:attempts, [:ticket_id, :user_id])
19+
end
20+
end

0 commit comments

Comments
 (0)