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:
truelubundefined: 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, gdyinProjectnie 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
archivedjest wyraźnie ustawiony - Wyklucza projekty szablonów, chyba że filtr
isTemplatejest 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,lastsą przestarzałe- Użyj
sort,skipitakezamiast tego