30 lines
757 B
Elixir
30 lines
757 B
Elixir
defmodule Odinsea.Database.Schema.CheatLog do
|
|
@moduledoc """
|
|
Ecto schema for the cheatlog table.
|
|
Represents cheat/anti-cheat log entries.
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:id, :id, autogenerate: true}
|
|
@timestamps_opts [inserted_at: :lastoffensetime, updated_at: false]
|
|
|
|
schema "cheatlog" do
|
|
field :characterid, :integer, default: 0
|
|
field :offense, :string
|
|
field :count, :integer, default: 0
|
|
field :lastoffensetime, :naive_datetime
|
|
field :param, :string
|
|
end
|
|
|
|
@doc """
|
|
Changeset for creating a cheat log entry.
|
|
"""
|
|
def changeset(cheat_log, attrs) do
|
|
cheat_log
|
|
|> cast(attrs, [:characterid, :offense, :count, :param])
|
|
|> validate_required([:characterid, :offense])
|
|
end
|
|
end
|