2021-09-01 12:43:55 +00:00
|
|
|
defmodule ArchitexWeb.Client.InfoController do
|
|
|
|
use ArchitexWeb, :controller
|
2021-06-22 23:49:47 +00:00
|
|
|
|
2021-09-01 12:43:55 +00:00
|
|
|
import ArchitexWeb.Error
|
2021-06-26 20:02:18 +00:00
|
|
|
|
2021-06-22 23:49:47 +00:00
|
|
|
@supported_versions ["r0.6.1"]
|
|
|
|
|
2021-08-24 23:27:03 +00:00
|
|
|
@doc """
|
|
|
|
Gets the versions of the specification supported by the server.
|
|
|
|
|
|
|
|
Action for GET /_matrix/client/versions.
|
|
|
|
"""
|
2021-06-22 23:49:47 +00:00
|
|
|
def versions(conn, _params) do
|
|
|
|
data = %{versions: @supported_versions}
|
|
|
|
|
|
|
|
conn
|
|
|
|
|> put_status(200)
|
|
|
|
|> json(data)
|
|
|
|
end
|
2021-06-26 20:02:18 +00:00
|
|
|
|
|
|
|
def unrecognized(conn, _params) do
|
|
|
|
put_error(conn, :unrecognized)
|
|
|
|
end
|
2021-09-06 18:33:23 +00:00
|
|
|
|
|
|
|
@doc """
|
|
|
|
Gets information about the server's supported feature set and other relevant capabilities.
|
|
|
|
|
|
|
|
Action for GET /_matrix/client/r0/capabilities.
|
|
|
|
"""
|
|
|
|
def capabilities(conn, _params) do
|
|
|
|
data = %{
|
|
|
|
capabilities: %{
|
|
|
|
"m.change_password": %{enabled: false},
|
|
|
|
"m.room_versions": %{
|
|
|
|
default: "5",
|
|
|
|
available: %{"5": "stable"}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
conn
|
|
|
|
|> put_status(200)
|
|
|
|
|> json(data)
|
|
|
|
end
|
2021-06-22 23:49:47 +00:00
|
|
|
end
|