角色 Roles

Directus 中角色集合的 REST 和 GraphQL API 文档。角色定义了一组特定的访问权限,并且是平台内用户的主要组织结构。

角色对象

id uuid
角色的主键。

name string
角色的名称。

icon string
角色的图标。 显示在管理应用程序中。

description string
角色描述。 显示在管理应用程序中。

ip_access csv
有权访问此角色的 IP 地址的 CSV。 允许您配置 IP 地址的允许列表。

enforce_tfa boolean
此角色的用户是否需要双重身份验证。

admin_access boolean
如果此角色被视为管理员角色。 这意味着该角色的用户对所有内容都具有完全权限。

app_access boolean
此角色的用户是否有权使用管理应用程序。

users one-to-many
此角色中的用户。 一对多到 users

json
{
  "id": "653925a9-970e-487a-bfc0-ab6c96affcdc",
  "name": "Admin",
  "icon": "supervised_user_circle",
  "description": null,
  "ip_access": null,
  "enforce_tfa": false,
  "admin_access": true,
  "app_access": true,
  "users": ["0bc7b36a-9ba9-4ce0-83f0-0a526f354e07"]
}

列出角色

列出 Directus 中存在的所有角色。

查询参数

支持所有全局查询参数

返回

最多包含 limit 角色对象 的数组。 如果没有可用的项目,数据将是一个空数组。

REST API

GET /roles
SEARCH /roles

Learn more about SEARCH ->

GraphQL

POST /graphql/system
graphql
type Query {
 roles: [directus_roles]
}
示例
graphql
query {
 roles {
  id
  name
  users {
   email
  }
 }
}

检索角色

按主键列出现有角色。

查询参数

支持所有全局查询参数

返回

返回请求的 角色对象

REST API

GET /roles/:id
示例
GET /roles/b4cb3b64-8580-4ad9-a099-eade6da24302

GraphQL

POST /graphql/system
graphql
type Query {
 roles_by_id(id: ID!): directus_roles
}
示例
graphql
query {
 roles_by_id(id: 2) {
  id
  name
  users {
   email
  }
 }
}

创建角色

创建一个新角色。

查询参数

支持所有全局查询参数

请求正文

部分角色对象

返回

返回已创建角色的 角色对象

REST API

POST /roles
示例
json
// POST /roles

{
  "name": "Interns",
  "icon": "verified_user",
  "description": null,
  "admin_access": false,
  "app_access": true
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_roles_item(data: create_directus_roles_input!): directus_roles
}
示例
graphql
mutation {
 create_roles_item(
  data: { name: "Interns", icon: "verified_user", description: null, admin_access: false, app_access: true }
 ) {
  id
  name
  users {
   email
  }
 }
}

创建多个角色

创建多个新角色。

查询参数

支持所有全局查询参数

请求正文

部分 角色对象 的数组。

返回

返回已创建角色的 角色对象

REST API

POST /roles
示例
json
// POST /roles

[
  {
    "name": "Interns",
    "icon": "verified_user",
    "description": null,
    "admin_access": false,
    "app_access": true
  },
  {
    "name": "Customers",
    "icon": "person",
    "description": null,
    "admin_access": false,
    "app_access": false
  }
]

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_roles_items(data: [create_directus_roles_input!]!): [directus_roles]
}
示例
graphql
mutation {
 create_roles_items(
  data: [
   { name: "Interns", icon: "verified_user", description: null, admin_access: false, app_access: true }
   { name: "Customers", icon: "person", description: null, admin_access: false, app_access: false }
  ]
 ) {
  id
  name
  users {
   email
  }
 }
}

更新角色

更新现有角色。

查询参数

支持所有全局查询参数

请求正文

部分角色对象

返回

返回更新后的角色的 角色对象

REST API

PATCH /roles/:id
示例
json
// PATCH /roles/c86c2761-65d3-43c3-897f-6f74ad6a5bd7

{
  "icon": "attractions"
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_roles_item(id: ID!, data: update_directus_roles_input): directus_roles
}
示例
graphql
mutation {
 update_roles_item(id: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7", data: { icon: "attractions" }) {
  id
  name
  users {
   email
  }
 }
}

更新多个角色

更新多个现有角色。

查询参数

支持所有全局查询参数

请求正文

keys Required
您要更新的角色的主键数组。

data Required
角色对象 的任何属性。

返回

返回已更新角色的 角色对象

REST API

PATCH /roles
示例
json
// PATCH /roles

{
  "keys": ["c86c2761-65d3-43c3-897f-6f74ad6a5bd7", "6fc3d5d3-a37b-4da8-a2f4-ed62ad5abe03"],
  "data": {
    "icon": "attractions"
  }
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_roles_items(ids: [ID!]!, data: update_directus_roles_input): [directus_roles]
}
示例
graphql
mutation {
 update_roles_items(
  ids: ["c86c2761-65d3-43c3-897f-6f74ad6a5bd7", "6fc3d5d3-a37b-4da8-a2f4-ed62ad5abe03"]
  data: { icon: "attractions" }
 ) {
  id
  name
  users {
   email
  }
 }
}

删除角色

删除现有角色。

Returns

Empty body.

REST API

DELETE /roles/:id
示例
DELETE /roles/c86c2761-65d3-43c3-897f-6f74ad6a5bd7

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_roles_item(id: ID!): delete_one
}
示例
graphql
mutation {
 delete_roles_item(id: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7") {
  id
 }
}

删除多个角色

删除多个现有角色。

请求正文

角色主键数组

Returns

Empty body.

REST API

DELETE /roles
示例
json
// DELETE /roles
["653925a9-970e-487a-bfc0-ab6c96affcdc", "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"]

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_roles_items(ids: [ID!]!): delete_many
}
示例
graphql
mutation {
 delete_roles_items(ids: ["653925a9-970e-487a-bfc0-ab6c96affcdc", "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"]) {
  ids
 }
}