41 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.1 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.OStatus.UserRepresenter do
 | 
						|
  alias Pleroma.User
 | 
						|
 | 
						|
  def to_simple_form(user) do
 | 
						|
    ap_id = to_charlist(user.ap_id)
 | 
						|
    nickname = to_charlist(user.nickname)
 | 
						|
    name = to_charlist(user.name)
 | 
						|
    bio = to_charlist(user.bio)
 | 
						|
    avatar_url = to_charlist(User.avatar_url(user))
 | 
						|
 | 
						|
    banner =
 | 
						|
      if banner_url = User.banner_url(user) do
 | 
						|
        [{:link, [rel: 'header', href: banner_url], []}]
 | 
						|
      else
 | 
						|
        []
 | 
						|
      end
 | 
						|
 | 
						|
    ap_enabled =
 | 
						|
      if user.local do
 | 
						|
        [{:ap_enabled, ['true']}]
 | 
						|
      else
 | 
						|
        []
 | 
						|
      end
 | 
						|
 | 
						|
    [
 | 
						|
      {:id, [ap_id]},
 | 
						|
      {:"activity:object", ['http://activitystrea.ms/schema/1.0/person']},
 | 
						|
      {:uri, [ap_id]},
 | 
						|
      {:"poco:preferredUsername", [nickname]},
 | 
						|
      {:"poco:displayName", [name]},
 | 
						|
      {:"poco:note", [bio]},
 | 
						|
      {:summary, [bio]},
 | 
						|
      {:name, [nickname]},
 | 
						|
      {:link, [rel: 'avatar', href: avatar_url], []}
 | 
						|
    ] ++ banner ++ ap_enabled
 | 
						|
  end
 | 
						|
end
 |