66 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
| # Pleroma: A lightweight social networking server
 | |
| # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
 | |
| # SPDX-License-Identifier: AGPL-3.0-only
 | |
| 
 | |
| defmodule Pleroma.Web.StreamerView do
 | |
|   use Pleroma.Web, :view
 | |
| 
 | |
|   alias Pleroma.Activity
 | |
|   alias Pleroma.Conversation.Participation
 | |
|   alias Pleroma.Notification
 | |
|   alias Pleroma.User
 | |
|   alias Pleroma.Web.MastodonAPI.NotificationView
 | |
| 
 | |
|   def render("update.json", %Activity{} = activity, %User{} = user) do
 | |
|     %{
 | |
|       event: "update",
 | |
|       payload:
 | |
|         Pleroma.Web.MastodonAPI.StatusView.render(
 | |
|           "show.json",
 | |
|           activity: activity,
 | |
|           for: user
 | |
|         )
 | |
|         |> Jason.encode!()
 | |
|     }
 | |
|     |> Jason.encode!()
 | |
|   end
 | |
| 
 | |
|   def render("notification.json", %User{} = user, %Notification{} = notify) do
 | |
|     %{
 | |
|       event: "notification",
 | |
|       payload:
 | |
|         NotificationView.render(
 | |
|           "show.json",
 | |
|           %{notification: notify, for: user}
 | |
|         )
 | |
|         |> Jason.encode!()
 | |
|     }
 | |
|     |> Jason.encode!()
 | |
|   end
 | |
| 
 | |
|   def render("update.json", %Activity{} = activity) do
 | |
|     %{
 | |
|       event: "update",
 | |
|       payload:
 | |
|         Pleroma.Web.MastodonAPI.StatusView.render(
 | |
|           "show.json",
 | |
|           activity: activity
 | |
|         )
 | |
|         |> Jason.encode!()
 | |
|     }
 | |
|     |> Jason.encode!()
 | |
|   end
 | |
| 
 | |
|   def render("conversation.json", %Participation{} = participation) do
 | |
|     %{
 | |
|       event: "conversation",
 | |
|       payload:
 | |
|         Pleroma.Web.MastodonAPI.ConversationView.render("participation.json", %{
 | |
|           participation: participation,
 | |
|           for: participation.user
 | |
|         })
 | |
|         |> Jason.encode!()
 | |
|     }
 | |
|     |> Jason.encode!()
 | |
|   end
 | |
| end
 | 
