2024-05-27 15:23:07 +03:00
|
|
|
alias Algora.{Accounts, Library}
|
|
|
|
|
|
|
|
defmodule Algora.Admin do
|
|
|
|
def set_thumbnail!(id, path) do
|
|
|
|
video = Library.get_video!(id)
|
|
|
|
{:ok, _} = Library.store_thumbnail_from_file(video, path || "/tmp/#{id}.png")
|
|
|
|
{:ok, _} = Library.store_og_image_from_file(video, path || "/tmp/#{id}.png")
|
|
|
|
end
|
|
|
|
|
|
|
|
def set_title!(id, title) do
|
|
|
|
video = Library.get_video!(id)
|
|
|
|
user = Accounts.get_user!(video.user_id)
|
|
|
|
{:ok, _} = Library.update_video(video, %{title: title})
|
|
|
|
{:ok, _} = Accounts.update_settings(user, %{channel_tagline: title})
|
|
|
|
end
|
|
|
|
|
|
|
|
def pipelines() do
|
|
|
|
Node.list() |> Enum.flat_map(&Membrane.Pipeline.list_pipelines/1)
|
|
|
|
end
|
|
|
|
|
|
|
|
def broadcasts() do
|
|
|
|
pipelines() |> Enum.map(fn pid -> GenServer.call(pid, :get_video_id) end)
|
|
|
|
end
|
2024-06-02 17:15:03 +03:00
|
|
|
|
|
|
|
def download(video_id) do
|
|
|
|
Library.get_video!(video_id) |> Library.transmux_to_mp4(fn x -> dbg(x) end)
|
|
|
|
end
|
2024-05-27 15:23:07 +03:00
|
|
|
end
|