Output tags list in TwAPI.
[akkoma] / lib / pleroma / web / twitter_api / representers / user_representer.ex
1 defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenter do
2 use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter
3
4 alias Pleroma.User
5
6 def to_map(user, opts) do
7 image = User.avatar_url(user)
8 following = if opts[:for] do
9 User.following?(opts[:for], user)
10 else
11 false
12 end
13
14 user_info = User.get_cached_user_info(user)
15 created_at = user.inserted_at |> DateTime.from_naive!("Etc/UTC") |> format_asctime
16
17 map = %{
18 "id" => user.id,
19 "name" => user.name,
20 "screen_name" => user.nickname,
21 "description" => HtmlSanitizeEx.strip_tags(user.bio),
22 "following" => following,
23 "created_at" => created_at,
24 # Fake fields
25 "favourites_count" => 0,
26 "statuses_count" => user_info[:note_count],
27 "friends_count" => user_info[:following_count],
28 "followers_count" => user_info[:follower_count],
29 "profile_image_url" => image,
30 "profile_image_url_https" => image,
31 "profile_image_url_profile_size" => image,
32 "profile_image_url_original" => image,
33 "rights" => %{},
34 "statusnet_profile_url" => user.ap_id
35 }
36
37 map
38 end
39 end