Files

44 lines
975 B
Elixir
Raw Permalink Normal View History

2024-07-11 12:41:05 +02:00
defmodule Lti13.Users.User do
use Ecto.Schema
import Ecto.Changeset
@type t :: %__MODULE__{
id: integer(),
sub: String.t(),
name: String.t() | nil,
email: String.t(),
roles: [String.t()],
user_id: integer(),
registration_id: integer(),
inserted_at: NaiveDateTime.t(),
updated_at: NaiveDateTime.t()
}
schema "lti_13_users" do
field :sub, :string
field :name, :string
field :email, :string
field :roles, {:array, :string}
belongs_to :user, Claper.Accounts.User
belongs_to :registration, Lti13.Registrations.Registration
timestamps()
end
@doc false
def changeset(user, attrs) do
user
|> cast(attrs, [
:sub,
:name,
:roles,
:email,
:user_id,
:registration_id
])
|> validate_required([:sub, :name, :email, :roles, :user_id, :registration_id])
|> unique_constraint(:sub)
end
end