Lista pulpitów
Pobierz pulpity, do których masz dostęp do przeglądania. Obejmuje to pulpity, które stworzyłeś oraz pulpity, które zostały z Tobą udostępnione.
Podstawowy przykład
query ListDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy {
id
name
email
}
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
Zaawansowany przykład
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
}
}
}
Parametry wejściowe
| Parametr |
Typ |
Wymagany |
Opis |
companyId |
String! |
✅ Tak |
ID firmy do filtrowania pulpitów |
projectId |
String |
Nie |
Opcjonalne ID projektu do filtrowania pulpitów |
Opcje sortowania
| Wartość sortowania |
Opis |
title_ASC |
Sortuj według tytułu rosnąco |
title_DESC |
Sortuj według tytułu malejąco |
createdBy_ASC |
Sortuj według twórcy rosnąco |
createdBy_DESC |
Sortuj według twórcy malejąco |
updatedAt_ASC |
Sortuj według czasu aktualizacji rosnąco |
updatedAt_DESC |
Sortuj według czasu aktualizacji malejąco (domyślnie) |
Parametry stronicowania
| Parametr |
Typ |
Domyślny |
Opis |
skip |
Int |
0 |
Liczba elementów do pominięcia |
take |
Int |
20 |
Liczba elementów do zwrócenia (maks. 100) |
Pola odpowiedzi
| Pole |
Typ |
Opis |
items |
[Dashboard!]! |
Tablica obiektów pulpitów |
pageInfo |
PageInfo! |
Informacje o stronicowaniu |
Dashboard
| Pole |
Typ |
Opis |
id |
ID! |
Unikalny identyfikator pulpitu |
title |
String! |
Nazwa wyświetlana pulpitu |
createdBy |
User! |
Użytkownik, który stworzył pulpit |
dashboardUsers |
[DashboardUser!] |
Użytkownicy z dostępem do tego pulpitu |
createdAt |
DateTime! |
Kiedy pulpit został stworzony |
updatedAt |
DateTime! |
Kiedy pulpit został ostatnio zmodyfikowany |
DashboardUser
| Pole |
Typ |
Opis |
id |
ID! |
Unikalny identyfikator użytkownika pulpitu |
role |
DashboardRole! |
Rola użytkownika (WIDZ lub EDYTOR) |
user |
User! |
Informacje o użytkowniku |
Kontrola dostępu
Widoczność pulpitu
Możesz zobaczyć tylko pulpity, w których jesteś:
- Twórcą pulpitu
- Wyraźnie przyznanym dostępem poprzez udostępnianie pulpitu
Wymagane uprawnienia
- Wymagana autoryzacja: Musisz być zalogowany
- Dostęp do firmy: Musisz mieć dostęp do określonej firmy
- Dostęp do projektu: Jeśli filtrujesz według projektu, musisz mieć dostęp do tego projektu
Odpowiedzi błędów
Firma nie znaleziona
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Projekt nie znaleziony
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Typowe przypadki użycia
Lista wszystkich pulpitów firmy
query CompanyDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy { name }
}
}
}
Lista pulpitów specyficznych dla projektu
query ProjectDashboards {
dashboards(filter: {
companyId: "company_123"
projectId: "proj_456"
}) {
items {
id
title
}
}
}
Stronicowana lista pulpitów
query PaginatedDashboards {
dashboards(
filter: { companyId: "company_123" }
skip: 20
take: 10
) {
items {
id
title
}
pageInfo {
hasNextPage
hasPreviousPage
}
}
}
Najlepsze praktyki
Wydajność
- Używaj stronicowania dla lepszej wydajności przy dużych listach pulpitów
- Żądaj tylko pól, których potrzebujesz w swojej aplikacji
- Rozważ buforowanie list pulpitów dla często używanych danych
Filtrowanie
- Zawsze filtruj według firmy, aby zapewnić odpowiednią izolację danych
- Używaj filtrowania projektów, gdy pracujesz z pulpitami specyficznymi dla projektu
- Łącz filtry, aby efektywnie zawęzić wyniki
Sortowanie
- Domyślne sortowanie to
updatedAt_DESC (najpierw najnowsze aktualizacje)
- Używaj sortowania według tytułu dla organizacji alfabetycznej
- Łącz wiele kryteriów sortowania dla złożonych potrzeb porządkowych
Powiązane operacje