檢索您有權查看或修改的儀表板的分頁列表


列出儀表板

檢索您有權查看的儀表板。這包括您創建的儀表板和與您共享的儀表板。

基本範例

query ListDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

進階範例

query ListDashboardsAdvanced {
  dashboards(
    filter: { 
      companyId: "company_123"
      projectId: "proj_456"  # Optional: filter by project
    }
    sort: [updatedAt_DESC, title_ASC]
    skip: 0
    take: 10
  ) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      dashboardUsers {
        id
        role
        user {
          id
          name
          email
        }
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

輸入參數

DashboardFilterInput

參數 類型 必需 描述
companyId String! ✅ 是 用於過濾儀表板的公司 ID
projectId String 用於過濾儀表板的可選項目 ID

排序選項

排序值 描述
title_ASC 按標題升序排序
title_DESC 按標題降序排序
createdBy_ASC 按創建者升序排序
createdBy_DESC 按創建者降序排序
updatedAt_ASC 按更新時間升序排序
updatedAt_DESC 按更新時間降序排序(默認)

分頁參數

參數 類型 默認值 描述
skip Int 0 要跳過的項目數量
take Int 20 要返回的項目數量(最多 100)

回應欄位

DashboardPagination

欄位 類型 描述
items [Dashboard!]! 儀表板對象的數組
pageInfo PageInfo! 分頁信息

Dashboard

欄位 類型 描述
id ID! 儀表板的唯一標識符
title String! 儀表板的顯示名稱
createdBy User! 創建儀表板的用戶
dashboardUsers [DashboardUser!] 有權訪問此儀表板的用戶
createdAt DateTime! 儀表板創建的時間
updatedAt DateTime! 儀表板最後修改的時間

DashboardUser

欄位 類型 描述
id ID! 儀表板用戶的唯一標識符
role DashboardRole! 用戶角色(查看者或編輯者)
user User! 用戶信息

訪問控制

儀表板可見性

您只能看到您是以下角色的儀表板:

  • 儀表板的創建者
  • 通過儀表板共享明確授予訪問權限

所需權限

  • 需要身份驗證:您必須登錄
  • 公司訪問:您必須有權訪問指定的公司
  • 項目訪問:如果按項目過濾,您必須有權訪問該項目

錯誤回應

找不到公司

{
  "errors": [{
    "message": "Company not found",
    "extensions": {
      "code": "COMPANY_NOT_FOUND"
    }
  }]
}

找不到項目

{
  "errors": [{
    "message": "Project not found", 
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

常見用例

列出所有公司儀表板

query CompanyDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy { name }
    }
  }
}

列出特定項目的儀表板

query ProjectDashboards {
  dashboards(filter: { 
    companyId: "company_123"
    projectId: "proj_456"
  }) {
    items {
      id
      title
    }
  }
}

分頁儀表板列表

query PaginatedDashboards {
  dashboards(
    filter: { companyId: "company_123" }
    skip: 20
    take: 10
  ) {
    items {
      id
      title
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

最佳實踐

性能

  • 使用分頁以提高大型儀表板列表的性能
  • 只請求您在應用程序中需要的欄位
  • 考慮對經常訪問的數據進行儀表板列表的緩存

過濾

  • 始終按公司過濾以確保適當的數據隔離
  • 在處理特定項目的儀表板時使用項目過濾
  • 組合過濾器以有效縮小結果範圍

排序

  • 默認排序為 updatedAt_DESC(最近更新的優先)
  • 使用標題排序以進行字母順序組織
  • 組合多個排序標準以滿足複雜的排序需求

相關操作

AI 助手

回應是使用人工智慧生成的,可能包含錯誤。

我能幫助您什麼?

隨時詢問我有關 Blue 或此文件的任何問題。

輸入發送 • Shift+Enter 進行換行 • ⌘I 打開