mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-04-28 13:03:50 +03:00
Set permissions as optional
This commit is contained in:
parent
76cbad1fb2
commit
8912175cc5
|
@ -157,7 +157,7 @@ class DjangoConnectionField(ConnectionField):
|
||||||
class PermissionField(Field):
|
class PermissionField(Field):
|
||||||
"""Class to manage permission for fields"""
|
"""Class to manage permission for fields"""
|
||||||
|
|
||||||
def __init__(self, type, permissions, permissions_resolver=auth_resolver, *args, **kwargs):
|
def __init__(self, type, permissions=(), permissions_resolver=auth_resolver, *args, **kwargs):
|
||||||
"""Get permissions to access a field"""
|
"""Get permissions to access a field"""
|
||||||
super(PermissionField, self).__init__(type, *args, **kwargs)
|
super(PermissionField, self).__init__(type, *args, **kwargs)
|
||||||
self.permissions = permissions
|
self.permissions = permissions
|
||||||
|
@ -165,5 +165,7 @@ class PermissionField(Field):
|
||||||
|
|
||||||
def get_resolver(self, parent_resolver):
|
def get_resolver(self, parent_resolver):
|
||||||
"""Intercept resolver to analyse permissions"""
|
"""Intercept resolver to analyse permissions"""
|
||||||
return partial(get_unbound_function(self.permissions_resolver), self.resolver or parent_resolver,
|
parent_resolver = super(PermissionField, self).get_resolver(parent_resolver)
|
||||||
self.permissions, True)
|
if self.permissions:
|
||||||
|
return partial(get_unbound_function(self.permissions_resolver), parent_resolver, self.permissions, True)
|
||||||
|
return parent_resolver
|
||||||
|
|
Loading…
Reference in New Issue
Block a user