chiya/lib/chiya_web/global_assigns.ex

38 lines
949 B
Elixir
Raw Normal View History

2023-03-09 21:43:56 +01:00
defmodule ChiyaWeb.GlobalAssigns do
import Plug.Conn
2023-05-28 22:35:36 +02:00
@token_endpoint Application.compile_env!(:chiya, [:indie, :token_endpoint])
@auth_endpoint Application.compile_env!(:chiya, [:indie, :auth_endpoint])
2023-03-09 21:43:56 +01:00
def fetch_settings(conn, _opts) do
settings = Chiya.Site.get_settings()
2023-05-28 22:35:36 +02:00
conn
|> assign(:token_endpoint, @token_endpoint)
|> assign(:auth_endpoint, @auth_endpoint)
|> assign(:settings, settings)
2023-03-09 21:43:56 +01:00
end
def fetch_identities(conn, _opts) do
identities = Chiya.Identities.list_identities()
conn
|> assign(
:identities,
Enum.filter(identities, fn i -> i.active end)
)
|> assign(
:public_identities,
Enum.filter(identities, fn i -> i.public && i.active end)
)
2023-03-09 21:43:56 +01:00
end
def fetch_public_channels(conn, _opts) do
channels =
Chiya.Channels.list_channels()
|> Enum.filter(fn c -> c.visibility == :public end)
assign(conn, :channels, channels)
end
end