Skip to main content

RolePermission

A per-(role, permission) grant override that takes precedence over the code-defined defaults in @inaccord/protocol. A row's absence means "use the code default"; its presence means the workspace has customized this permission for this role.

type RolePermission implements Node {
nodeId: ID!
id: String!
roleId: String!
permission: String!
userGrant: Boolean!
agentGrant: Boolean!
version: Int!
workspaceId: String
deletedAt: Datetime
updatedAt: Datetime!
createdAt: Datetime!
}

Fields

RolePermission.nodeId ● ID! non-null scalar

A globally unique identifier. Can be used in various places throughout the system to identify this single value.

RolePermission.id ● String! non-null scalar

RolePermission.roleId ● String! non-null scalar

RolePermission.permission ● String! non-null scalar

The dotted permission-node string (from the Permission enum, e.g. accord.accord.update). Not foreign-key enforced — rows for unknown nodes are inert.

RolePermission.userGrant ● Boolean! non-null scalar

Whether a human member with this role is granted the permission.

RolePermission.agentGrant ● Boolean! non-null scalar

Whether an agent (API key) acting under this role is granted the permission. Constrained to be no broader than user_grant.

RolePermission.version ● Int! non-null scalar

RolePermission.workspaceId ● String scalar

RolePermission.deletedAt ● Datetime scalar

RolePermission.updatedAt ● Datetime! non-null scalar

RolePermission.createdAt ● Datetime! non-null scalar

Interfaces

Node interface

An object with a globally unique ID.

Returned By

rolePermission query ● rolePermissionByNodeId query ● rolePermissions query

Member Of

CreateRolePermissionPayload object ● DeleteRolePermissionPayload object ● RolePermissionsConnection object ● RolePermissionsEdge object ● SetRolePermissionsPayload object ● UpdateRolePermissionPayload object