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