25 lines
643 B
Elixir
25 lines
643 B
Elixir
defmodule Nulla.Models.ModerationLog do
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
alias Nulla.Models.User
|
|
|
|
@primary_key {:id, :integer, autogenerate: false}
|
|
schema "moderation_logs" do
|
|
field :target_type, :string
|
|
field :target_id, :string
|
|
field :action, :string
|
|
field :reason, :string
|
|
field :metadata, :map
|
|
|
|
belongs_to :moderator, User
|
|
|
|
timestamps()
|
|
end
|
|
|
|
@doc false
|
|
def changeset(moderation_log, attrs) do
|
|
moderation_log
|
|
|> cast(attrs, [:moderator_id, :target_type, :target_id, :action, :reason, :metadata])
|
|
|> validate_required([:moderator_id, :target_type, :target_id, :action])
|
|
end
|
|
end
|