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