blob: e7af00d9e5ac89d53618d85d551ea724e63ce4ae (
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.RoomController do
@moduledoc """
Controller for rooms.
"""
use MatrixAppServiceWeb, :controller
@doc """
https://matrix.org/docs/spec/application_service/r0.1.2#get-matrix-app-v1-rooms-roomalias
"""
def query(conn, %{"room_alias" => room_alias}) do
adapter =
conn.private[:room_adapter] ||
MatrixAppServiceWeb.Endpoint.config(:room_adapter) ||
raise "MatrixAppService: config key room_adapter missing"
with :ok <- adapter.query_alias(room_alias) do
conn
|> put_status(200)
|> json("{}")
else
_ ->
conn
|> put_status(404)
|> json("")
end
end
end
|