[Enhancement] Custom media lifecycle scripts (#219)

* Namespaced notification modules under lifecycle

* Added a JSON encoder for all the main model types

* Added startup task to create user script file

* Hook up user script event to media download

* Hooked up media deletion user script

* Added jq to docker deps

* Updated README
This commit is contained in:
Kieran
2024-05-02 08:43:37 -07:00
committed by GitHub
parent 8051107d32
commit 112c6a4f14
47 changed files with 498 additions and 70 deletions
+12
View File
@@ -32,6 +32,12 @@ defmodule Pinchflat.SourcesTest do
Repo.reload!(metadata)
end
end
test "can be JSON encoded without error" do
source = source_fixture()
assert {:ok, _} = Phoenix.json_library().encode(source)
end
end
describe "output_path_template/1" do
@@ -612,6 +618,12 @@ defmodule Pinchflat.SourcesTest do
end
describe "delete_source/2 when deleting files" do
setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end)
:ok
end
test "deletes source and media_items" do
source = source_fixture()
media_item = media_item_with_attachments(%{source_id: source.id})