使用 Blue API 从项目或公司中移除用户。
移除用户
本页面介绍如何从项目和公司中移除用户。用户移除是一个永久性操作,它会将用户从所有记录中解除分配并移除其访问权限,尽管其历史数据会保留以供审计使用。
从项目中移除用户
从特定项目中移除用户,同时保持其公司访问权限。
基本示例
mutation {
removeProjectUser(
input: {
projectId: "project-id"
userId: "user-id"
}
) {
success
operationId
}
}
响应示例
{
"data": {
"removeProjectUser": {
"success": true,
"operationId": null
}
}
}
注意: operationId
字段目前未被此变更填充,将返回 null
。
从公司中移除用户
从整个公司中移除用户,这将级联到所有项目。
基本示例
mutation {
removeCompanyUser(
input: {
companyId: "company-id"
userId: "user-id"
}
)
}
响应示例
{
"data": {
"removeCompanyUser": true
}
}
输入参数
RemoveProjectUserInput
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
projectId |
String! | ✅ 是 | 项目的 ID(不是 slug) |
userId |
String! | ✅ 是 | 要移除的用户 ID |
RemoveCompanyUserInput
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
companyId |
String! | ✅ 是 | 公司的 ID 或 slug |
userId |
String! | ✅ 是 | 要移除的用户 ID |
响应字段
RemoveProjectUser 响应
字段 | 类型 | 描述 |
---|---|---|
success |
Boolean! | 操作是否成功 |
operationId |
String | 操作的唯一标识符(当前返回 null ) |
RemoveCompanyUser 响应
removeCompanyUser
变更返回一个简单的 Boolean
值:
true
- 用户已成功移除
所需权限
项目用户移除
角色 | 可以移除用户 |
---|---|
OWNER |
✅ 是 |
ADMIN |
✅ 是 |
MEMBER |
❌ 否 |
READ_ONLY |
❌ 否 |
重要说明:
- 您不能从项目中移除具有
OWNER
角色的用户 - 系统防止移除项目所有者以维护项目所有权的完整性
公司用户移除
角色 | 可以移除用户 |
---|---|
OWNER |
✅ 是 |
ADMIN |
❌ 否 |
MEMBER |
❌ 否 |
READ_ONLY |
❌ 否 |
注意: 只有公司所有者可以从公司中移除用户。解析器强制执行严格的仅所有者访问权限以进行公司用户移除操作。
副作用
项目移除
- 移除该项目中用户的所有待办分配
- 删除用户的项目文件夹
- 移除项目用户关系
- 发送实时更新以通知其他用户
- 创建审计日志条目
公司移除
- 级联删除所有项目:
- 移除所有公司项目中的待办分配
- 移除所有项目用户文件夹
- 从所有公司项目中移除用户
- 移除公司用户文件夹
- 从公司中移除用户
- 向被移除用户发送移除通知电子邮件
- 更新账单(如果按用户计费):
- 重新计算活跃用户数量
- 更新 Stripe 订阅数量
- 创建审计日志条目
错误响应
项目未找到
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
用户未找到
{
"errors": [{
"message": "User was not found.",
"extensions": {
"code": "USER_NOT_FOUND"
}
}]
}
未授权错误
{
"errors": [{
"message": "You are not authorized.",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
公司未找到(仅限 removeCompanyUser)
{
"errors": [{
"message": "Company was not found.",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
当发生以下情况时会出现此错误:
- 您缺乏所需角色(项目的 OWNER/ADMIN,公司为 OWNER)
- 您尝试移除项目 OWNER
- 用户不属于该项目/公司
重要考虑事项
- 数据保留:用户移除是不可逆的。虽然用户失去访问权限,但其历史数据(评论、活动日志等)会保留以供审计使用。
- 所有者保护:项目所有者不能从项目中移除。如有需要,请先转移所有权。
- 账单影响:公司用户移除会自动更新您的订阅,如果您是按用户计费。
- 电子邮件通知:公司移除会向被移除用户发送通知电子邮件。
- 级联效应:公司移除影响所有项目,而项目移除仅限于特定项目。