Skip to main content

Role

A workspace-defined RBAC role. Every role — seeded preset or custom — lives here; a member's effective permissions are the union of the roles assigned to them through workspace_account_role.

type Role implements Node {
nodeId: ID!
id: String!
name: String!
isSystem: Boolean!
templatePreset: String
version: Int!
createdByWorkspaceAccountId: String
workspaceId: String
deletedAt: Datetime
updatedAt: Datetime!
createdAt: Datetime!
}

Fields

Role.nodeId ● ID! non-null scalar

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

Role.id ● String! non-null scalar

Role.name ● String! non-null scalar

Role.isSystem ● Boolean! non-null scalar

When true, this is a seeded preset role (e.g. Workspace Admin, Member) that cannot be renamed or deleted; custom roles are false.

Role.templatePreset ● String scalar

For a custom role spawned from a preset, the preset slug it was created from (e.g. workspace_admin), so the editor can offer a "Reset to template". Null for system roles, and for custom roles created before the column was added.

Role.version ● Int! non-null scalar

Role.createdByWorkspaceAccountId ● String scalar

Role.workspaceId ● String scalar

Role.deletedAt ● Datetime scalar

Role.updatedAt ● Datetime! non-null scalar

Role.createdAt ● Datetime! non-null scalar

Interfaces

Node interface

An object with a globally unique ID.

Returned By

role query ● roleByNodeId query ● roles query

Member Of

CreateRolePayload object ● CreateRoleWithPresetPayload object ● DeleteRolePayload object ● ResetRoleToTemplatePayload object ● RolesConnection object ● RolesEdge object ● UpdateRolePayload object