Fix specs, add some user info.
This commit is contained in:
parent
e987be2de7
commit
1e88f102c4
4 changed files with 40 additions and 10 deletions
|
|
@ -1,7 +1,8 @@
|
|||
defmodule Pleroma.User do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Pleroma.{Repo, User}
|
||||
import Ecto.Query
|
||||
alias Pleroma.{Repo, User, Activity, Object}
|
||||
|
||||
schema "users" do
|
||||
field :bio, :string
|
||||
|
|
@ -32,6 +33,22 @@ defmodule Pleroma.User do
|
|||
|> validate_required([:following])
|
||||
end
|
||||
|
||||
def user_info(%User{} = user) do
|
||||
note_count_query = from a in Object,
|
||||
where: fragment("? @> ?", a.data, ^%{actor: user.ap_id, type: "Note"}),
|
||||
select: count(a.id)
|
||||
|
||||
follower_count_query = from u in User,
|
||||
where: fragment("? @> ?", u.following, ^User.ap_followers(user)),
|
||||
select: count(u.id)
|
||||
|
||||
%{
|
||||
following_count: length(user.following),
|
||||
note_count: Repo.one(note_count_query),
|
||||
follower_count: Repo.one(follower_count_query)
|
||||
}
|
||||
end
|
||||
|
||||
def register_changeset(struct, params \\ %{}) do
|
||||
changeset = struct
|
||||
|> cast(params, [:bio, :email, :name, :nickname, :password, :password_confirmation])
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenter do
|
|||
false
|
||||
end
|
||||
|
||||
user_info = User.user_info(user)
|
||||
|
||||
map = %{
|
||||
"id" => user.id,
|
||||
"name" => user.name,
|
||||
|
|
@ -23,9 +25,9 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenter do
|
|||
"following" => following,
|
||||
# Fake fields
|
||||
"favourites_count" => 0,
|
||||
"statuses_count" => 0,
|
||||
"friends_count" => 0,
|
||||
"followers_count" => 0,
|
||||
"statuses_count" => user_info[:note_count],
|
||||
"friends_count" => user_info[:following_count],
|
||||
"followers_count" => user_info[:follower_count],
|
||||
"profile_image_url" => image,
|
||||
"profile_image_url_https" => image,
|
||||
"profile_image_url_profile_size" => image,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue