Introduce authorizations with Rajska
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -6,6 +6,7 @@ defmodule Mobilizon.GraphQL.Schema.Users.ActivitySetting do
|
||||
alias Mobilizon.GraphQL.Resolvers.Users.ActivitySettings
|
||||
|
||||
object :activity_setting do
|
||||
meta(:authorize, :user)
|
||||
field(:key, :string)
|
||||
field(:method, :string)
|
||||
field(:enabled, :boolean)
|
||||
@@ -17,6 +18,13 @@ defmodule Mobilizon.GraphQL.Schema.Users.ActivitySetting do
|
||||
arg(:key, non_null(:string))
|
||||
arg(:method, non_null(:string))
|
||||
arg(:enabled, non_null(:boolean))
|
||||
|
||||
middleware(Rajska.QueryAuthorization,
|
||||
permit: :user,
|
||||
scope: false,
|
||||
rule: :"write:user:setting:activity"
|
||||
)
|
||||
|
||||
resolve(&ActivitySettings.upsert_user_activity_setting/3)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -26,11 +26,25 @@ defmodule Mobilizon.GraphQL.Schema.Users.PushSubscription do
|
||||
arg(:endpoint, non_null(:string))
|
||||
arg(:auth, non_null(:string))
|
||||
arg(:p256dh, non_null(:string))
|
||||
|
||||
middleware(Rajska.QueryAuthorization,
|
||||
permit: :user,
|
||||
scope: false,
|
||||
rule: :"write:user:setting:push"
|
||||
)
|
||||
|
||||
resolve(&PushSubscription.register_push_subscription/3)
|
||||
end
|
||||
|
||||
field :unregister_push, :string do
|
||||
arg(:endpoint, non_null(:string))
|
||||
|
||||
middleware(Rajska.QueryAuthorization,
|
||||
permit: :user,
|
||||
scope: false,
|
||||
rule: :"write:user:setting:push"
|
||||
)
|
||||
|
||||
resolve(&PushSubscription.unregister_push_subscription/3)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user