Expose personal tokened feeds

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-03-26 19:01:55 +01:00
parent 380d7c56a8
commit cde9f8873e
15 changed files with 363 additions and 26 deletions

View File

@@ -4,7 +4,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do
"""
use Absinthe.Schema.Notation
import Absinthe.Resolution.Helpers, only: [dataloader: 1]
import Absinthe.Resolution.Helpers, only: [dataloader: 2]
alias Mobilizon.Events
alias Mobilizon.GraphQL.Resolvers.{Media, Person}
@@ -53,7 +53,13 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do
)
field(:feed_tokens, list_of(:feed_token),
resolve: dataloader(Events),
resolve:
dataloader(
Events,
callback: fn feed_tokens, _parent, _args ->
{:ok, Enum.map(feed_tokens, &Map.put(&1, :token, ShortUUID.encode!(&1.token)))}
end
),
description: "A list of the feed tokens for this person"
)

View File

@@ -31,7 +31,7 @@ defmodule Mobilizon.GraphQL.Schema.Events.FeedTokenType do
description: "The actor that participates to the event"
)
field(:token, :string, description: "The role of this actor at this event")
field(:token, :string, description: "A ShortUUID private token")
end
@desc "Represents a deleted feed_token"

View File

@@ -4,7 +4,7 @@ defmodule Mobilizon.GraphQL.Schema.UserType do
"""
use Absinthe.Schema.Notation
import Absinthe.Resolution.Helpers, only: [dataloader: 1]
import Absinthe.Resolution.Helpers, only: [dataloader: 2]
alias Mobilizon.Events
alias Mobilizon.GraphQL.Resolvers.{Media, User}
@@ -43,7 +43,13 @@ defmodule Mobilizon.GraphQL.Schema.UserType do
)
field(:feed_tokens, list_of(:feed_token),
resolve: dataloader(Events),
resolve:
dataloader(
Events,
callback: fn feed_tokens, _parent, _args ->
{:ok, Enum.map(feed_tokens, &Map.put(&1, :token, ShortUUID.encode!(&1.token)))}
end
),
description: "A list of the feed tokens for this user"
)