streamer_socket.ex (812B)
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