{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#AccessRole",
    "description": "An access control role mapped to a Principal (e.g. user, group, or service).",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "superAdmin": {
                    "description": "Is the role an administrator role?",
                    "type": "boolean"
                },
                "systemRole": {
                    "description": "Is this a system role?",
                    "type": "boolean"
                },
                "privilegeServiceIds": {
                    "description": "The role's privilege service IDs",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "privilegeNames": {
                    "description": "The role's privilege names",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": []
        }
    ]
}
