Projekty w Blue stanowią fundamentalną strukturę do organizowania użytkowników i danych.
Lista wszystkich projektów
Zapytanie projectList
pozwala na pobranie projektów z potężnymi opcjami filtrowania, sortowania i paginacji.
Podstawowy przykład
query ProjectListQuery {
projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
items {
id
uid
slug
name
description
archived
color
icon
createdAt
updatedAt
allowNotification
position
unseenActivityCount
todoListsMaxPosition
lastAccessedAt
isTemplate
automationsCount
totalFileCount
totalFileSize
todoAlias
}
pageInfo {
totalPages
totalItems
page
perPage
hasNextPage
hasPreviousPage
}
}
}
Zaawansowany przykład z filtrowaniem i sortowaniem
query FilteredProjectList {
projectList(
filter: {
companyIds: ["company-123", "company-456"]
archived: false
isTemplate: false
search: "marketing"
inProject: true
folderId: null # Get root-level projects only
}
sort: [position_ASC, name_ASC]
skip: 0
take: 50
) {
items {
id
name
slug
position
archived
}
totalCount
pageInfo {
totalItems
hasNextPage
}
}
}
Pola projektu
Poniższa tabela opisuje wszystkie dostępne pola dla każdego projektu w ProjectListQuery
:
Pole | Typ | Opis |
---|---|---|
id | ID! | Unikalny identyfikator projektu |
uid | String! | Przyjazny dla użytkownika unikalny identyfikator projektu |
slug | String! | Przyjazna dla URL nazwa projektu |
name | String! | Nazwa wyświetlana projektu |
description | String | Krótki opis projektu |
archived | Boolean | Wartość logiczna wskazująca, czy projekt jest zarchiwizowany |
color | String | Kolor związany z projektem do identyfikacji wizualnej |
icon | String | Ikona związana z projektem do identyfikacji wizualnej |
image | Image | Obiekt zdjęcia okładki projektu |
createdAt | DateTime! | Znacznik czasu, kiedy projekt został utworzony |
updatedAt | DateTime! | Znacznik czasu, kiedy projekt został ostatnio zaktualizowany |
allowNotification | Boolean! | Wartość logiczna wskazująca, czy powiadomienia są włączone dla projektu |
position | Float! | Wartość numeryczna reprezentująca pozycję projektu na liście |
unseenActivityCount | Int! | Liczba niewidzianych aktywności w projekcie |
todoListsMaxPosition | Float! | Maksymalna wartość pozycji dla list zadań w projekcie |
lastAccessedAt | DateTime | Znacznik czasu, kiedy projekt został ostatnio otwarty |
isTemplate | Boolean! | Wartość logiczna wskazująca, czy projekt jest szablonem |
isOfficialTemplate | Boolean! | Wartość logiczna wskazująca, czy jest to oficjalny szablon Blue |
automationsCount(isActive: Boolean) | Int! | Liczba automatyzacji związanych z projektem |
totalFileCount | Int | Całkowita liczba plików w projekcie |
totalFileSize | Float | Całkowity rozmiar wszystkich plików w projekcie (w bajtach) |
todoAlias | String | Niestandardowy alias dla "todo" używany w projekcie |
category | ProjectCategory! | Kategoria projektu (CRM, MARKETING itp.) |
hideEmailFromRoles | [UserAccessLevel!] | Tablica ról, które powinny ukrywać adresy e-mail |
hideStatusUpdate | Boolean | Wartość logiczna do ukrywania aktualizacji statusu |
company | Company! | Szczegóły pełnego obiektu firmy |
accessLevel(userId: String) | UserAccessLevel | Uzyskaj poziom dostępu użytkownika do konkretnego projektu |
folder | Folder | Folder zawierający ten projekt |
features | [ProjectFeature!] | Tablica aktywowanych funkcji projektu |
sequenceCustomField | CustomField | Niestandardowe pole używane do numeracji sekwencyjnej |
coverConfig | TodoCoverConfig | Konfiguracja dla zdjęć okładek zadań |
hideRecordCount | Boolean | Czy ukryć liczby rekordów |
showTimeSpentInTodoList | Boolean | Czy pokazać czas spędzony na listach zadań |
showTimeSpentInProject | Boolean | Czy pokazać czas spędzony w projekcie |
todoFields | [TodoField] | Niestandardowe definicje pól zadań |
Uwaga: Możesz zażądać dowolnej kombinacji tych pól w swoim zapytaniu GraphQL.
Pola paginacji
Obiekt pageInfo
dostarcza szczegóły paginacji dla wyników zapytania:
Pole | Typ | Opis |
---|---|---|
totalPages | Int | Całkowita liczba stron wyników |
totalItems | Int | Całkowita liczba projektów odpowiadających zapytaniu |
page | Int | Numer bieżącej strony |
perPage | Int | Liczba elementów na stronę |
hasNextPage | Boolean! | Wartość logiczna wskazująca, czy jest następna strona wyników |
hasPreviousPage | Boolean! | Wartość logiczna wskazująca, czy jest poprzednia strona wyników |
Parametry zapytania
Opcje filtrowania (ProjectListFilter)
Parametr | Typ | Wymagany | Opis |
---|---|---|---|
companyIds |
[String!]! | ✅ Tak | Tablica identyfikatorów firm lub slugów do przeszukiwania |
ids |
[String!] | Nie | Filtrowanie według konkretnych identyfikatorów projektów |
archived |
Boolean | Nie | Filtrowanie według statusu archiwizacji (prawda/fałsz) |
isTemplate |
Boolean | Nie | Filtrowanie projektów szablonów (prawda/fałsz) |
search |
String | Nie | Wyszukiwanie projektów według nazwy (niezależnie od wielkości liter) |
folderId |
String | Nie | Filtrowanie według identyfikatora folderu. Użyj null dla projektów na poziomie głównym |
inProject |
Boolean | Nie | Filtrowanie według członkostwa użytkownika. Zobacz uwagi poniżej |
Uwaga dotycząca filtra inProject
:
true
lubundefined
: Zwraca projekty, w których użytkownik jest członkiemfalse
: Zwraca projekty, w których użytkownik NIE jest (wymaga uprawnień właściciela firmy)- Filtrowanie folderów (
folderId
) działa tylko wtedy, gdyinProject
nie jestfalse
Opcje sortowania (ProjectSort)
Wartość | Opis |
---|---|
id_ASC |
Sortuj według ID rosnąco |
id_DESC |
Sortuj według ID malejąco |
name_ASC |
Sortuj według nazwy rosnąco (A-Z) |
name_DESC |
Sortuj według nazwy malejąco (Z-A) |
createdAt_ASC |
Sortuj według daty utworzenia (najstarsze najpierw) |
createdAt_DESC |
Sortuj według daty utworzenia (najświeższe najpierw) |
updatedAt_ASC |
Sortuj według ostatniej aktualizacji (najstarsze najpierw) |
updatedAt_DESC |
Sortuj według ostatniej aktualizacji (najświeższe najpierw) |
position_ASC |
Sortuj według pozycji rosnąco* |
position_DESC |
Sortuj według pozycji malejąco* |
*Sortowanie pozycji jest dostępne tylko podczas przeglądania projektów, w których użytkownik jest członkiem (inProject !== false
)
Parametry paginacji
Parametr | Typ | Domyślny | Opis |
---|---|---|---|
skip |
Int | 0 | Liczba rekordów do pominięcia |
take |
Int | 20 | Liczba rekordów do zwrócenia |
Ważne uwagi
-
Domyślne zachowanie dla projektów, w których użytkownik nie jest członkiem (
inProject: false
):- Wyklucza zarchiwizowane projekty, chyba że filtr
archived
jest wyraźnie ustawiony - Wyklucza projekty szablonów, chyba że filtr
isTemplate
jest wyraźnie ustawiony
- Wyklucza zarchiwizowane projekty, chyba że filtr
-
Ograniczenia filtrowania folderów:
- Działa tylko podczas wyświetlania projektów użytkownika
- Nie można używać z
inProject: false
- Użyj
folderId: null
, aby uzyskać projekty, które nie znajdują się w żadnym folderze
-
Zapasowe sortowanie:
- Sortowanie pozycji jest ignorowane podczas przeglądania projektów, w których użytkownik nie jest członkiem
- W takich przypadkach przechodzi do sortowania według nazwy
-
Przestarzałe parametry:
orderBy
,after
,before
,first
,last
są przestarzałe- Użyj
sort
,skip
itake
zamiast tego