25 lines
594 B
Elixir
25 lines
594 B
Elixir
defmodule Sukaato.Folio do
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
# import Sukaato.Vschemas
|
|
import Sukaato.CustomValidators
|
|
|
|
schema "folios" do
|
|
field :resume, :map
|
|
field :showcase, :map
|
|
field :theme_uri, :string
|
|
field :user_id, :id
|
|
|
|
timestamps(type: :utc_datetime)
|
|
end
|
|
|
|
@doc false
|
|
def changeset(folio, attrs) do
|
|
folio
|
|
|> cast(attrs, [:resume, :showcase, :theme_uri])
|
|
|> validate_required([:user_id, :showcase])
|
|
|> validate_map_format(:resume, Sukaato.Vschemas.resume)
|
|
|> validate_map_format(:showcase, Sukaato.Vschemas.showcase)
|
|
end
|
|
end
|