永久删除仪表板及其所有关联的图表和数据
删除仪表板
永久删除您创建的仪表板。此操作无法撤销,将删除所有图表、图表段和仪表板共享配置。
基本示例
mutation DeleteDashboard {
deleteDashboard(id: "dashboard_123") {
success
message
}
}
输入参数
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
String! | ✅ 是 | 要删除的仪表板的唯一标识符 |
响应字段
MutationResult
字段 | 类型 | 描述 |
---|---|---|
success |
Boolean! | 删除是否成功 |
message |
String | 关于操作的状态消息 |
所需权限
仅限创建者
- 仅仪表板创建者可以删除仪表板
- 具有编辑者访问权限的用户无法删除仪表板
- 公司管理员无法删除其他人创建的仪表板
身份验证
- 必须经过身份验证并具有访问仪表板所属公司的权限
删除的内容
当您删除仪表板时,以下数据将被永久删除:
仪表板数据
- 仪表板标题和元数据
- 创建和修改时间戳
- 仪表板用户共享配置
图表数据
- 仪表板中的所有图表
- 图表段及其配置
- 图表段值和计算
- 图表显示设置和格式
相关数据
- 仪表板用户角色分配
- 任何仪表板订阅或实时连接
错误响应
找不到仪表板
{
"errors": [{
"message": "Dashboard not found",
"extensions": {
"code": "DASHBOARD_NOT_FOUND"
}
}]
}
权限被拒绝
{
"errors": [{
"message": "Only the creator of a dashboard can delete it",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
需要身份验证
{
"errors": [{
"message": "You must be authenticated to perform this action",
"extensions": {
"code": "UNAUTHENTICATED"
}
}]
}
重要注意事项
永久操作
- 无法撤销:一旦删除,仪表板及其所有数据无法恢复
- 无软删除:仪表板将从数据库中永久删除
- 立即生效:删除操作立即生效
对其他用户的影响
- 共享用户失去访问权限:具有查看者或编辑者访问权限的用户将无法再访问仪表板
- 活动会话:当前查看仪表板的用户将失去连接
- 订阅:对仪表板的任何实时订阅将被终止
数据依赖关系
- 无外部依赖:删除仪表板不会影响项目、待办事项或其他公司数据
- 自包含:仅删除仪表板特定的数据
最佳实践
删除前
- 导出重要数据:保存任何关键的图表配置或见解
- 通知共享用户:告知有权访问仪表板的团队成员
- 考虑复制:如有需要,使用复制仪表板功能创建备份
- 记录见解:保存任何重要的商业见解或发现
替代操作
- 移除共享:考虑移除仪表板用户而不是删除
- 归档方法:没有内置的归档功能,但您可以重命名仪表板以指示它已归档
常见用例
清理未使用的仪表板
# First, list dashboards to identify unused ones
query FindUnusedDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
updatedAt
dashboardUsers {
id
}
}
}
}
# Then delete specific dashboard
mutation CleanupDashboard {
deleteDashboard(id: "old_dashboard_id") {
success
message
}
}
删除测试仪表板
mutation RemoveTestDashboard {
deleteDashboard(id: "test_dashboard_123") {
success
message
}
}
安全注意事项
创建者验证
- 系统验证请求用户是否为原始创建者
- 用户ID与仪表板的
createdById
字段进行检查 - 不允许基于角色的覆盖(即使是公司所有者也无法删除其他人的仪表板)
审计跟踪
- 仪表板删除事件会被记录以供审计
- 记录删除时间戳和请求用户
- 公司管理员可以查看删除日志