summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre de Lacroix <pierre@pdelacroix.com>2021-03-03 19:04:28 +0100
committerPierre de Lacroix <pierre@pdelacroix.com>2021-03-03 19:04:28 +0100
commit67918ce9700c3ddf7f5bb6a8d380dd2977be8379 (patch)
tree8d29f13fc05c9bdcdc1ea580c67c3c82dd757864
parentuse polyjuice_client from kazarma branch (diff)
refacto and format
-rw-r--r--lib/matrix_app_service/adapter/transaction.ex2
-rw-r--r--lib/matrix_app_service/client.ex10
-rw-r--r--lib/matrix_app_service/client_behaviour.ex10
-rw-r--r--lib/matrix_app_service/event.ex46
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