Refactor Core things, including Ecto handling, ActivityPub & Transmogrifier modules
* Data doesn't need anymore to be converted to ActivityStream format to be saved (this was taken from Pleroma and not at all a good idea here) * Everything saved when creating an event is inserted into PostgreSQL in a single transaction
This commit is contained in:
44
lib/mobilizon/events/event_participant_stats.ex
Normal file
44
lib/mobilizon/events/event_participant_stats.ex
Normal file
@@ -0,0 +1,44 @@
|
||||
defmodule Mobilizon.Events.EventParticipantStats do
|
||||
@moduledoc """
|
||||
Participation stats on event
|
||||
"""
|
||||
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
not_approved: integer(),
|
||||
rejected: integer(),
|
||||
participant: integer(),
|
||||
moderator: integer(),
|
||||
administrator: integer(),
|
||||
creator: integer()
|
||||
}
|
||||
|
||||
@attrs [
|
||||
:not_approved,
|
||||
:rejected,
|
||||
:participant,
|
||||
:moderator,
|
||||
:administrator,
|
||||
:moderator,
|
||||
:creator
|
||||
]
|
||||
|
||||
@primary_key false
|
||||
@derive Jason.Encoder
|
||||
embedded_schema do
|
||||
field(:not_approved, :integer, default: 0)
|
||||
field(:rejected, :integer, default: 0)
|
||||
field(:participant, :integer, default: 0)
|
||||
field(:moderator, :integer, default: 0)
|
||||
field(:administrator, :integer, default: 0)
|
||||
field(:creator, :integer, default: 0)
|
||||
end
|
||||
|
||||
@doc false
|
||||
@spec changeset(t, map) :: Ecto.Changeset.t()
|
||||
def changeset(%__MODULE__{} = event_options, attrs) do
|
||||
cast(event_options, attrs, @attrs)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user