Create table and repo for match
This commit is contained in:
parent
f32418d294
commit
f9271a5287
25
apps/lol_analytics/lib/lol_analytics/match/MatchRepo.ex
Normal file
25
apps/lol_analytics/lib/lol_analytics/match/MatchRepo.ex
Normal file
@ -0,0 +1,25 @@
|
||||
defmodule LolAnalytics.Match.MatchRepo do
|
||||
alias LolAnalytics.Match.MatchSchema
|
||||
|
||||
import Ecto.Query
|
||||
|
||||
@spec get_match(String.t()) :: %LolAnalytics.Match.MatchSchema{}
|
||||
def get_match(match_id) do
|
||||
query = from m in MatchSchema, where: m.match_id == ^match_id
|
||||
|
||||
LoLAnalytics.Repo.one(query)
|
||||
end
|
||||
|
||||
@spec insert_match(String.t()) :: %LolAnalytics.Match.MatchSchema{}
|
||||
def insert_match(match_id) do
|
||||
MatchSchema.changeset(%MatchSchema{}, %{:match_id => match_id, :processed => false})
|
||||
|> LoLAnalytics.Repo.insert()
|
||||
end
|
||||
|
||||
@spec update_match(%LolAnalytics.Match.MatchSchema{}, term()) ::
|
||||
%LolAnalytics.Match.MatchSchema{}
|
||||
def update_match(match, attrs) do
|
||||
match = MatchSchema.changeset(match, attrs)
|
||||
LoLAnalytics.Repo.update(match)
|
||||
end
|
||||
end
|
18
apps/lol_analytics/lib/lol_analytics/match/MatchSchema.ex
Normal file
18
apps/lol_analytics/lib/lol_analytics/match/MatchSchema.ex
Normal file
@ -0,0 +1,18 @@
|
||||
defmodule LolAnalytics.Match.MatchSchema do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
|
||||
schema "match" do
|
||||
field :match_id, :string
|
||||
field :processed, :boolean, default: false
|
||||
|
||||
timestamps()
|
||||
end
|
||||
|
||||
def changeset(%__MODULE__{} = match, params \\ %{}) do
|
||||
match
|
||||
|> cast(params, [:match_id, :processed])
|
||||
|> validate_required([:match_id, :processed])
|
||||
end
|
||||
|
||||
end
|
@ -0,0 +1,13 @@
|
||||
defmodule LoLAnalytics.Repo.Migrations.Match do
|
||||
use Ecto.Migration
|
||||
|
||||
def change do
|
||||
create table("match", id: false) do
|
||||
add :match_id, :string, primary_key: true
|
||||
add :processed, :boolean
|
||||
timestamps()
|
||||
end
|
||||
|
||||
create index("match", [:processed])
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user