Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / lib / pleroma / web / streamer / streamer_socket.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.Streamer.StreamerSocket do
6 defstruct transport_pid: nil, user: nil
7
8 alias Pleroma.User
9 alias Pleroma.Web.Streamer.StreamerSocket
10
11 def from_socket(%{
12 transport_pid: transport_pid,
13 assigns: %{user: nil}
14 }) do
15 %StreamerSocket{
16 transport_pid: transport_pid
17 }
18 end
19
20 def from_socket(%{
21 transport_pid: transport_pid,
22 assigns: %{user: %User{} = user}
23 }) do
24 %StreamerSocket{
25 transport_pid: transport_pid,
26 user: user
27 }
28 end
29
30 def from_socket(%{transport_pid: transport_pid}) do
31 %StreamerSocket{
32 transport_pid: transport_pid
33 }
34 end
35 end