diff --git a/.gitignore b/.gitignore index ad243a8..43182ba 100644 --- a/.gitignore +++ b/.gitignore @@ -28,8 +28,8 @@ nulla-*.tar # Ignore assets that are produced by build tools. /priv/static/assets/ -# Ignore upload dir -/priv/static/system/ +# Ignore static files +/priv/static/files/ # Ignore digested assets cache. /priv/static/cache_manifest.json diff --git a/lib/nulla/models/media_attachment.ex b/lib/nulla/models/media_attachment.ex index 61dbb1f..97efee3 100644 --- a/lib/nulla/models/media_attachment.ex +++ b/lib/nulla/models/media_attachment.ex @@ -1,36 +1,22 @@ defmodule Nulla.Models.MediaAttachment do use Ecto.Schema import Ecto.Changeset - alias Nulla.Repo - alias Nulla.Snowflake alias Nulla.Models.Note @primary_key {:id, :integer, autogenerate: false} schema "media_attachments" do - field :type, :string - field :mediaType, :string - field :url, :string - field :name, :string - field :width, :integer - field :height, :integer + field :file, :string + field :mime_type, :string + field :description, :string belongs_to :note, Note timestamps(type: :utc_datetime) end - def changeset(media_attachment, attrs) do - media_attachment - |> cast(attrs, [:type, :mediaType, :url, :name, :width, :height, :note_id]) - |> 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() + def changeset(media, attrs) do + media + |> cast(attrs, [:note_id, :file, :mime_type, :description]) + |> validate_required([:note_id, :file]) end end diff --git a/lib/nulla_web.ex b/lib/nulla_web.ex index 0c0b0cb..9feaa88 100644 --- a/lib/nulla_web.ex +++ b/lib/nulla_web.ex @@ -17,7 +17,7 @@ defmodule NullaWeb do those modules here. """ - def static_paths, do: ~w(assets system fonts images favicon.ico robots.txt) + def static_paths, do: ~w(assets files fonts images favicon.ico robots.txt) def router do quote do diff --git a/priv/repo/migrations/20250615131644_create_media_attachments.exs b/priv/repo/migrations/20250615131644_create_media_attachments.exs index efacd89..1d9fe64 100644 --- a/priv/repo/migrations/20250615131644_create_media_attachments.exs +++ b/priv/repo/migrations/20250615131644_create_media_attachments.exs @@ -4,13 +4,10 @@ defmodule Nulla.Repo.Migrations.CreateMediaAttachments do def change do create table(:media_attachments, primary_key: false) do 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 :file, :string, null: false + add :mime_type, :string + add :description, :string timestamps(type: :utc_datetime) end