Introduce application tokens
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
32
lib/mobilizon/applications/application.ex
Normal file
32
lib/mobilizon/applications/application.ex
Normal file
@@ -0,0 +1,32 @@
|
||||
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]
|
||||
@optional_attrs [:scopes, :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, :string)
|
||||
field(:scopes, :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
|
||||
Reference in New Issue
Block a user