From 67918ce9700c3ddf7f5bb6a8d380dd2977be8379 Mon Sep 17 00:00:00 2001 From: Pierre de Lacroix Date: Wed, 3 Mar 2021 19:04:28 +0100 Subject: refacto and format --- lib/matrix_app_service/adapter/transaction.ex | 2 +- lib/matrix_app_service/client.ex | 10 ++++-- lib/matrix_app_service/client_behaviour.ex | 10 ++++-- lib/matrix_app_service/event.ex | 46 +++++++++++++++++++-------- 4 files changed, 50 insertions(+), 18 deletions(-) diff --git a/lib/matrix_app_service/adapter/transaction.ex b/lib/matrix_app_service/adapter/transaction.ex index 22a2fe4..9d6abcc 100644 --- a/lib/matrix_app_service/adapter/transaction.ex +++ b/lib/matrix_app_service/adapter/transaction.ex @@ -7,5 +7,5 @@ defmodule MatrixAppService.Adapter.Transaction do @doc """ Called when the application service receives an event. """ - @callback new_event(MatrixAppService.Event.t()) :: any() + @callback new_event(%MatrixAppService.Event{}) :: any() end diff --git a/lib/matrix_app_service/client.ex b/lib/matrix_app_service/client.ex index f7f9f63..2652383 100644 --- a/lib/matrix_app_service/client.ex +++ b/lib/matrix_app_service/client.ex @@ -7,7 +7,13 @@ defmodule MatrixAppService.Client do """ @behaviour MatrixAppService.ClientBehaviour - @type client_options :: {:base_url, String.t()} | MatrixAppService.Client.LowLevel.create_opts() + @type create_opts :: [ + access_token: String.t() | nil, + user_id: String.t() | nil, + device_id: String.t() | nil, + storage: Polyjuice.Client.Storage.t() | nil + ] + @type client_options :: {:base_url, String.t()} | create_opts() @doc """ Returns a client for the application service. @@ -117,5 +123,5 @@ defmodule MatrixAppService.Client do defdelegate get_data(client, id, key), to: Polyjuice.Client.Account defdelegate get_profile(client, id), to: Polyjuice.Client.Profile - defdelegate modify_displayname(client, id, name), to: Polyjuice.Client.Profile + defdelegate put_displayname(client, id, name), to: Polyjuice.Client.Profile end diff --git a/lib/matrix_app_service/client_behaviour.ex b/lib/matrix_app_service/client_behaviour.ex index e373b73..156bed7 100644 --- a/lib/matrix_app_service/client_behaviour.ex +++ b/lib/matrix_app_service/client_behaviour.ex @@ -5,7 +5,13 @@ defmodule MatrixAppService.ClientBehaviour do TODO: example """ - @type client_options :: {:base_url, String.t()} | MatrixAppService.Client.LowLevel.create_opts() + @type create_opts :: [ + access_token: String.t() | nil, + user_id: String.t() | nil, + device_id: String.t() | nil, + storage: Polyjuice.Client.Storage.t() | nil + ] + @type client_options :: {:base_url, String.t()} | create_opts() @callback client() :: Polyjuice.Client.LowLevel.t() @@ -23,5 +29,5 @@ defmodule MatrixAppService.ClientBehaviour do {:ok, String.t()} | Any @callback get_profile(Polyjuice.Client.LowLevel.t(), String.t()) :: {:ok, map()} | any @callback get_data(Polyjuice.Client.LowLevel.t(), String.t(), String.t()) :: {:ok, map()} | any - @callback modify_displayname(Polyjuice.Client.LowLevel.t(), String.t(), String.t()) :: :ok | any + @callback put_displayname(Polyjuice.Client.LowLevel.t(), String.t(), String.t()) :: :ok | any end diff --git a/lib/matrix_app_service/event.ex b/lib/matrix_app_service/event.ex index bf37aba..c034a9b 100644 --- a/lib/matrix_app_service/event.ex +++ b/lib/matrix_app_service/event.ex @@ -30,29 +30,49 @@ defmodule MatrixAppService.Event do # user_id: nil embedded_schema do - field :age, :integer - field :content, :map - field :event_id, :string - field :origin_server_ts, :integer - field :room_id, :string - field :sender, :string - field :state_key, :string - field :type, :string - field :unsigned, :map - field :user_id, :string + field(:age, :integer) + field(:content, :map) + field(:event_id, :string) + field(:origin_server_ts, :integer) + field(:room_id, :string) + field(:sender, :string) + field(:state_key, :string) + field(:type, :string) + field(:unsigned, :map) + field(:user_id, :string) end def new(params) do command = changeset(params) + case command.valid? do - true -> {:ok, apply_changes(command)} + true -> {:ok, apply_changes(command)} false -> {:error, command.errors} end end defp changeset(params) do %__MODULE__{} - |> cast(params, [:age, :content, :event_id, :origin_server_ts, :room_id, :sender, :state_key, :type, :unsigned, :user_id]) - |> validate_required([:content, :event_id, :origin_server_ts, :room_id, :sender, :type, :unsigned]) + |> cast(params, [ + :age, + :content, + :event_id, + :origin_server_ts, + :room_id, + :sender, + :state_key, + :type, + :unsigned, + :user_id + ]) + |> validate_required([ + :content, + :event_id, + :origin_server_ts, + :room_id, + :sender, + :type, + :unsigned + ]) end end -- cgit v1.2.3