Add global search

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2022-08-26 16:08:58 +02:00
parent bfc936f57c
commit 48935e2168
216 changed files with 3646 additions and 2806 deletions

View File

@@ -31,8 +31,8 @@ defmodule Mobilizon.GraphQL.Schema.Actors.ApplicationType do
field(:banner, :media, description: "The actor's banner media")
# These one should have a privacy setting
field(:followersCount, :integer, description: "Number of followers for this actor")
field(:followingCount, :integer, description: "Number of actors following this actor")
field(:followers_count, :integer, description: "Number of followers for this actor")
field(:following_count, :integer, description: "Number of actors following this actor")
field(:media_size, :integer,
resolve: &Media.actor_size/3,

View File

@@ -29,7 +29,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do
Represents a group of actors
"""
object :group do
interfaces([:actor, :interactable, :activity_object, :action_log_object])
interfaces([:actor, :interactable, :activity_object, :action_log_object, :group_search_result])
field(:id, :id, description: "Internal ID for this group")
field(:url, :string, description: "The ActivityPub actor's URL")
@@ -59,8 +59,17 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do
)
# These one should have a privacy setting
field(:followersCount, :integer, description: "Number of followers for this actor")
field(:followingCount, :integer, description: "Number of actors following this actor")
field(:followers_count, :integer,
description: "Number of followers for this actor",
resolve: &Followers.count_followers_for_group/3
)
field(:following_count, :integer, description: "Number of follows for this actor")
field(:members_count, :integer,
description: "Number of members for this actor",
resolve: &Member.count_members_for_group/3
)
field(:media_size, :integer,
resolve: &Media.actor_size/3,

View File

@@ -43,9 +43,16 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do
field(:avatar, :media, description: "The actor's avatar media")
field(:banner, :media, description: "The actor's banner media")
# These one should have a privacy setting
field(:followersCount, :integer, description: "Number of followers for this actor")
field(:followingCount, :integer, description: "Number of actors following this actor")
# Persons have zero followers/followings
field(:followers_count, :integer,
description: "Number of followers for this actor",
resolve: fn _, _, _ -> {:ok, 0} end
)
field(:following_count, :integer,
description: "Number of actors following this actor",
resolve: fn _, _, _ -> {:ok, 0} end
)
field(:media_size, :integer,
resolve: &Media.actor_size/3,