summaryrefslogtreecommitdiff
path: root/lib/matrix_app_service_web/controllers/v1/user_controller.ex
blob: a6e84c0523e65c7d4893225929590db532d05c60 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
defmodule MatrixAppServiceWeb.V1.UserController do
  @moduledoc """
  Controller for users.
  """
  use MatrixAppServiceWeb, :controller

  @doc """
  https://matrix.org/docs/spec/application_service/r0.1.2#get-matrix-app-v1-users-userid
  """
  def query(conn, %{"user_id" => user_id}) do
    adapter =
      conn.private[:user_adapter] ||
        MatrixAppServiceWeb.Endpoint.config(:user_adapter) ||
        raise "MatrixAppService: config key user_adapter missing"

    with :ok <- adapter.query_user(user_id) do
      conn
      |> put_status(200)
      |> json("{}")
    else
      _ ->
        conn
        |> put_status(404)
        |> json("")
    end
  end
end