Added database data structures for processing and validating database table updates

This commit is contained in:
Alex Tavarez
2025-07-25 11:34:30 -04:00
parent 8eeeee3090
commit e1a9f32c21
4 changed files with 111 additions and 0 deletions

24
lib/sukaato/folio.ex Normal file
View File

@@ -0,0 +1,24 @@
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, @resume_vschema)
|> validate_map_format(:showcase, @showcase_vschema)
end
end