diff --git a/.gitignore b/.gitignore index 1a6c790..ca87b86 100644 --- a/.gitignore +++ b/.gitignore @@ -34,9 +34,6 @@ chiya-*.tar !/priv/static/site.webmanifest !/priv/static/browserconfig.xml -/log/* -!/log/.gitkeep - # Ignore digested assets cache. /priv/static/cache_manifest.json diff --git a/config/dev.exs b/config/dev.exs index 7017e96..3b316d7 100644 --- a/config/dev.exs +++ b/config/dev.exs @@ -77,18 +77,3 @@ config :phoenix, :plug_init_mode, :runtime # Disable swoosh api client as it is only required for production adapters. config :swoosh, :api_client, false - -log_directory = Path.join(File.cwd!(), "log") - -config :logger, - backends: [{LoggerFileBackend, :info_log}, {LoggerFileBackend, :error_log}] - -config :logger, :info_log, - path: Path.join(log_directory, "chiya-info.log"), - level: :info, - format: "[$date] [$time] [$level] $message\n" - -config :logger, :error_log, - path: Path.join(log_directory, "chiya-error.log"), - level: :error, - format: "[$date] [$time] [$level] $message\n" \ No newline at end of file diff --git a/config/runtime.exs b/config/runtime.exs index 0840b83..f9d04a5 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -72,27 +72,7 @@ if config_env() == :prod do config :waffle, storage_dir_prefix: upload_dir - - log_directory = - System.get_env("LOG_DIR") || - raise """ - environment variable LOG_DIR is missing. - It should look like: /path/to/chiya/logs - """ - - config :logger, - backends: [{LoggerFileBackend, :info_log}, {LoggerFileBackend, :error_log}] - - config :logger, :info_log, - path: Path.join(log_directory, "chiya-info.log"), - level: :info, - format: "[$date] [$time] [$level] $message\n" - - config :logger, :error_log, - path: Path.join(log_directory, "chiya-error.log"), - level: :error, - format: "[$date] [$time] [$level] $message\n" - + # ## SSL Support # # To get SSL working, you will need to add the `https` key diff --git a/lib/chiya_web/indie/micropub_handler.ex b/lib/chiya_web/indie/micropub_handler.ex index 80807ce..4d3430f 100644 --- a/lib/chiya_web/indie/micropub_handler.ex +++ b/lib/chiya_web/indie/micropub_handler.ex @@ -1,5 +1,5 @@ defmodule ChiyaWeb.Indie.MicropubHandler do - @behaviour PlugMicropub.HandlerBehaviour + @behaviour ChiyaWeb.Indie.PlugMicropub.HandlerBehaviour require Logger alias ChiyaWeb.Indie.Properties, as: Props diff --git a/lib/chiya_web/indie/plug_micropub/handler_behaviour.ex b/lib/chiya_web/indie/plug_micropub/handler_behaviour.ex new file mode 100644 index 0000000..c5d0b5e --- /dev/null +++ b/lib/chiya_web/indie/plug_micropub/handler_behaviour.ex @@ -0,0 +1,57 @@ +defmodule ChiyaWeb.Indie.PlugMicropub.HandlerBehaviour do + @moduledoc """ + Behaviour defining the interface for a PlugMicropub Handler + """ + + @type access_token :: String.t() + @type handler_error_atom :: :invalid_request | :forbidden | :insufficient_scope + @type handler_error :: + {:error, handler_error_atom} | {:error, handler_error_atom, description :: String.t()} + + @callback handle_create(type :: String.t(), properties :: map, access_token) :: + {:ok, :created | :accepted, url :: String.t()} + | handler_error + + @callback handle_update( + url :: String.t(), + replace :: map, + add :: map, + delete :: map, + access_token + ) :: + :ok + | {:ok, url :: String.t()} + | handler_error + + @callback handle_delete(url :: String.t(), access_token) :: + :ok + | handler_error + + @callback handle_undelete(url :: String.t(), access_token) :: + :ok + | {:ok, url :: String.t()} + | handler_error + + @callback handle_config_query(access_token) :: + {:ok, map} + | handler_error + + @callback handle_config_query(access_token) :: + {:ok, map} + | handler_error + + @callback handle_syndicate_to_query(access_token) :: + {:ok, map} + | handler_error + + @callback handle_source_query( + url :: String.t(), + properties :: [String.t()], + access_token + ) :: + {:ok, map} + | handler_error + + @callback handle_media(file :: Plug.Upload.t(), access_token) :: + {:ok, url :: String.t()} | handler_error +end diff --git a/log/.gitkeep b/log/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/mix.exs b/mix.exs index b96bff1..64f7c59 100644 --- a/mix.exs +++ b/mix.exs @@ -19,7 +19,7 @@ defmodule Chiya.MixProject do def application do [ mod: {Chiya.Application, []}, - extra_applications: [:logger, :logger_file_backend, :runtime_tools] + extra_applications: [:logger, :runtime_tools] ] end @@ -41,7 +41,6 @@ defmodule Chiya.MixProject do {:floki, ">= 0.30.0", only: :test}, {:gettext, "~> 0.22"}, {:jason, "~> 1.2"}, - {:logger_file_backend, "~> 0.0.13"}, {:oban, "~> 2.14"}, {:phoenix, "~> 1.7.1"}, {:phoenix_ecto, "~> 4.4"},