Update media_attachment

This commit is contained in:
Mirai Kumiko 2025-06-20 16:46:58 +02:00
parent 4929ce21fd
commit 867f94572d
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
2 changed files with 25 additions and 10 deletions

View file

@ -5,18 +5,30 @@ defmodule Nulla.Models.MediaAttachment do
@primary_key {:id, :integer, autogenerate: false} @primary_key {:id, :integer, autogenerate: false}
schema "media_attachments" do schema "media_attachments" do
field :file, :string field :type, :string
field :mime_type, :string field :mediaType, :string
field :description, :string field :url, :string
field :name, :string
field :width, :integer
field :height, :integer
belongs_to :note, Note belongs_to :note, Note
timestamps(type: :utc_datetime) timestamps(type: :utc_datetime)
end end
def changeset(media, attrs) do def changeset(media_attachment, attrs) do
media media_attachment
|> cast(attrs, [:note_id, :file, :mime_type, :description]) |> cast(attrs, [:type, :mediaType, :url, :name, :width, :height, :note_id])
|> validate_required([:note_id, :file]) |> validate_required([:type, :mediaType, :url, :note_id])
end
def create_media_attachment(attrs) when is_map(attrs) do
id = Map.get(attrs, :id, Snowflake.next_id())
%__MODULE__{}
|> changeset(attrs)
|> put_change(:id, id)
|> Repo.insert()
end end
end end

View file

@ -4,10 +4,13 @@ defmodule Nulla.Repo.Migrations.CreateMediaAttachments do
def change do def change do
create table(:media_attachments, primary_key: false) do create table(:media_attachments, primary_key: false) do
add :id, :bigint, primary_key: true add :id, :bigint, primary_key: true
add :type, :string, null: false
add :mediaType, :string, null: false
add :url, :string, null: false
add :name, :string
add :width, :integer
add :height, :integer
add :note_id, references(:notes, on_delete: :delete_all), null: false add :note_id, references(:notes, on_delete: :delete_all), null: false
add :file, :string, null: false
add :mime_type, :string
add :description, :string
timestamps(type: :utc_datetime) timestamps(type: :utc_datetime)
end end