1
0
Fork 0
mirror of https://framagit.org/framasoft/mobilizon.git synced 2024-12-27 18:31:07 +00:00
mobilizon/lib/graphql/schema/users/push_subscription.ex
Thomas Citharel fdf87ea991
fix(push): fix push subscriptions registration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-24 11:49:19 +02:00

54 lines
1.5 KiB
Elixir

defmodule Mobilizon.GraphQL.Schema.Users.PushSubscription do
@moduledoc """
Schema representation for PushSubscription
"""
use Absinthe.Schema.Notation
alias Mobilizon.GraphQL.Resolvers.PushSubscription
alias Mobilizon.Users.User
# object :push_subscription do
# field(:id, :id)
# end
# @desc "A paginated list of subscriptions"
# object :paginated_push_subscription_list do
# field(:elements, list_of(:push_subscription), description: "A list of push subscriptions")
# field(:total, :integer, description: "The total number of push subscriptions in the list")
# end
# object :push_queries do
# field :list_push_subscriptions, :paginated_push_subscription_list do
# resolve(&PushSubscription.list_user_push_subscriptions/3)
# end
# end
object :push_mutations do
field :register_push, :string do
arg(:endpoint, non_null(:string))
arg(:auth, non_null(:string))
arg(:p256dh, non_null(:string))
middleware(Rajska.QueryAuthorization,
permit: :user,
scope: User,
rule: :"write:user:setting:push",
args: %{}
)
resolve(&PushSubscription.register_push_subscription/3)
end
field :unregister_push, :string do
arg(:endpoint, non_null(:string))
middleware(Rajska.QueryAuthorization,
permit: :user,
scope: User,
rule: :"write:user:setting:push",
args: %{}
)
resolve(&PushSubscription.unregister_push_subscription/3)
end
end
end