faori's picture
Upload folder using huggingface_hub
550665c verified
raw
history blame
981 Bytes
from gcsa.acl import AccessControlRule
from gcsa.serializers.base_serializer import BaseSerializer
class ACLRuleSerializer(BaseSerializer):
type_ = AccessControlRule
def __init__(self, access_control_rule):
super().__init__(access_control_rule)
@staticmethod
def _to_json(acl_rule: AccessControlRule):
data = {
"id": acl_rule.id,
"scope": {
"type": acl_rule.scope_type,
"value": acl_rule.scope_value
},
"role": acl_rule.role
}
data = ACLRuleSerializer._remove_empty_values(data)
return data
@staticmethod
def _to_object(json_acl_rule):
scope = json_acl_rule.get('scope', {})
return AccessControlRule(
acl_id=json_acl_rule.get('id'),
scope_type=scope.get('type'),
scope_value=scope.get('value'),
role=json_acl_rule.get('role')
)