bayesline.api.UserPermissionsSummary#

pydantic model bayesline.api.UserPermissionsSummary#

Complete summary of a user’s permissions across all resources.

Show JSON schema
{
   "title": "UserPermissionsSummary",
   "description": "Complete summary of a user's permissions across all resources.",
   "type": "object",
   "properties": {
      "user_id": {
         "title": "User Id",
         "type": "string"
      },
      "roles": {
         "items": {
            "$ref": "#/$defs/RoleType"
         },
         "title": "Roles",
         "type": "array"
      },
      "groups": {
         "items": {
            "type": "string"
         },
         "title": "Groups",
         "type": "array"
      },
      "resources": {
         "items": {
            "$ref": "#/$defs/ResourcePermissionSummary"
         },
         "title": "Resources",
         "type": "array"
      }
   },
   "$defs": {
      "PermissionLevel": {
         "description": "Permission levels for resource access.",
         "enum": [
            "read",
            "write",
            "delete",
            "admin"
         ],
         "title": "PermissionLevel",
         "type": "string"
      },
      "ResourcePermissionSummary": {
         "description": "Summary of a user's permissions for a specific resource.",
         "properties": {
            "resource_type": {
               "$ref": "#/$defs/ResourceType"
            },
            "resource_id": {
               "title": "Resource Id",
               "type": "integer"
            },
            "resource_name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Resource Name"
            },
            "resource_owner": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Resource Owner"
            },
            "effective_permission": {
               "$ref": "#/$defs/PermissionLevel"
            },
            "permission_sources": {
               "items": {
                  "type": "string"
               },
               "title": "Permission Sources",
               "type": "array"
            }
         },
         "required": [
            "resource_type",
            "resource_id",
            "effective_permission",
            "permission_sources"
         ],
         "title": "ResourcePermissionSummary",
         "type": "object"
      },
      "ResourceType": {
         "description": "Types of resources that can be protected by ACL.",
         "enum": [
            "setting"
         ],
         "title": "ResourceType",
         "type": "string"
      },
      "RoleType": {
         "description": "Built-in system roles with predefined permissions.",
         "enum": [
            "admin",
            "tech_admin",
            "tech_moderator",
            "business_admin",
            "business_moderator",
            "user"
         ],
         "title": "RoleType",
         "type": "string"
      }
   },
   "required": [
      "user_id",
      "roles",
      "groups",
      "resources"
   ]
}

Config:
  • frozen: bool = True

Fields:
  • groups (collections.abc.Sequence[str])

  • resources (collections.abc.Sequence[bayesline.api._src.acl_models.ResourcePermissionSummary])

  • roles (collections.abc.Sequence[bayesline.api._src.acl_models.RoleType])

  • user_id (str)

field user_id: str [Required]#
field roles: Sequence[RoleType] [Required]#
field groups: Sequence[str] [Required]#
field resources: Sequence[ResourcePermissionSummary] [Required]#