8984bd7636
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
33 lines
783 B
Elixir
33 lines
783 B
Elixir
defmodule Mobilizon.Applications.Application do
|
|
@moduledoc """
|
|
Module representing an application
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@required_attrs [:name, :client_id, :client_secret, :redirect_uris, :scope]
|
|
@optional_attrs [:website, :owner_type, :owner_id]
|
|
@attrs @required_attrs ++ @optional_attrs
|
|
|
|
schema "applications" do
|
|
field(:name, :string)
|
|
field(:client_id, :string)
|
|
field(:client_secret, :string)
|
|
field(:redirect_uris, {:array, :string})
|
|
field(:scope, :string)
|
|
field(:website, :string)
|
|
field(:owner_type, :string)
|
|
field(:owner_id, :integer)
|
|
|
|
timestamps()
|
|
end
|
|
|
|
@doc false
|
|
def changeset(application, attrs) do
|
|
application
|
|
|> cast(attrs, @attrs)
|
|
|> validate_required(@required_attrs)
|
|
end
|
|
end
|