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 ShardWeb.RoomController do
use ShardWeb, :controller
require Logger
import PhoenixGon.Controller
def show(conn, %{"room" => room}) do
pk = get_session(conn, :pk)
{pk, conn} = cond do
pk == nil || not Shard.Keys.have_sk? pk ->
pk = Shard.Keys.get_any_identity
conn = put_session(conn, :pk, pk)
{pk, conn}
true ->
{pk, conn}
end
name = SApp.Identity.get_nick pk
conn = put_gon(conn, chat_room: room)
conn = put_gon(conn, pk: (pk|>Base.encode16))
render conn, "show.html",
room: room,
pk: pk,
name: name
end
end
|