Added shorts attribute to media items

This commit is contained in:
Kieran Eglin 2024-03-08 21:32:19 -08:00
parent 5e8689836d
commit f50bcb24bf
No known key found for this signature in database
GPG key ID: 193984967FCF432D
4 changed files with 16 additions and 11 deletions

View file

@ -189,16 +189,9 @@ defmodule Pinchflat.Media do
Returns {:ok, %MediaItem{}} | {:error, %Ecto.Changeset{}} Returns {:ok, %MediaItem{}} | {:error, %Ecto.Changeset{}}
""" """
def create_media_item_from_backend_attrs(source, media_attrs_struct) do def create_media_item_from_backend_attrs(source, media_attrs_struct) do
attrs = %{ %{source_id: source.id}
source_id: source.id, |> Map.merge(Map.from_struct(media_attrs_struct))
title: media_attrs_struct.title, |> create_media_item()
media_id: media_attrs_struct.media_id,
original_url: media_attrs_struct.original_url,
livestream: media_attrs_struct.livestream,
description: media_attrs_struct.description
}
create_media_item(attrs)
end end
@doc """ @doc """

View file

@ -19,6 +19,7 @@ defmodule Pinchflat.Media.MediaItem do
:original_url, :original_url,
:livestream, :livestream,
:source_id, :source_id,
:short_form_content,
# these fields are captured only on download # these fields are captured only on download
:media_downloaded_at, :media_downloaded_at,
:media_filepath, :media_filepath,
@ -27,7 +28,7 @@ defmodule Pinchflat.Media.MediaItem do
:thumbnail_filepath, :thumbnail_filepath,
:metadata_filepath :metadata_filepath
] ]
@required_fields ~w(title original_url livestream media_id source_id)a @required_fields ~w(title original_url livestream media_id source_id short_form_content)a
schema "media_items" do schema "media_items" do
field :title, :string field :title, :string
@ -35,6 +36,7 @@ defmodule Pinchflat.Media.MediaItem do
field :description, :string field :description, :string
field :original_url, :string field :original_url, :string
field :livestream, :boolean, default: false field :livestream, :boolean, default: false
field :short_form_content, :boolean, default: false
field :media_downloaded_at, :utc_datetime field :media_downloaded_at, :utc_datetime
field :media_filepath, :string field :media_filepath, :string

View file

@ -0,0 +1,9 @@
defmodule Pinchflat.Repo.Migrations.AddShortFormToMediaItems do
use Ecto.Migration
def change do
alter table(:media_items) do
add :short_form_content, :boolean, null: false, default: false
end
end
end

View file

@ -19,6 +19,7 @@ defmodule Pinchflat.MediaFixtures do
title: Faker.Commerce.product_name(), title: Faker.Commerce.product_name(),
original_url: "https://www.youtube.com/watch?v=#{media_id}", original_url: "https://www.youtube.com/watch?v=#{media_id}",
livestream: false, livestream: false,
short_form_content: false,
media_filepath: "/video/#{Faker.File.file_name(:video)}", media_filepath: "/video/#{Faker.File.file_name(:video)}",
source_id: SourcesFixtures.source_fixture().id source_id: SourcesFixtures.source_fixture().id
}) })