Projekte in Blue bilden das grundlegende Framework zur Organisation von Benutzern und Daten.
Alle Projekte auflisten
Die projectList Abfrage ermöglicht es Ihnen, Projekte mit leistungsstarken Filter-, Sortier- und Paginierungsoptionen abzurufen.
Einfaches Beispiel
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
}
}
}
Fortgeschrittenes Beispiel mit Filtern und Sortieren
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
}
}
}
Projektfelder
Die folgende Tabelle beschreibt alle verfügbaren Felder für jedes Projekt in der ProjectListQuery:
| Feld | Typ | Beschreibung |
|---|---|---|
| id | ID! | Eindeutiger Identifikator für das Projekt |
| uid | String! | Benutzerfreundlicher eindeutiger Identifikator für das Projekt |
| slug | String! | URL-freundlicher Name des Projekts |
| name | String! | Anzeigename des Projekts |
| description | String | Kurze Beschreibung des Projekts |
| archived | Boolean | Boolean, der angibt, ob das Projekt archiviert ist |
| color | String | Farbe, die mit dem Projekt zur visuellen Identifikation verbunden ist |
| icon | String | Symbol, das mit dem Projekt zur visuellen Identifikation verbunden ist |
| image | Image | Projektcoverbild-Objekt |
| createdAt | DateTime! | Zeitstempel, wann das Projekt erstellt wurde |
| updatedAt | DateTime! | Zeitstempel, wann das Projekt zuletzt aktualisiert wurde |
| allowNotification | Boolean! | Boolean, der angibt, ob Benachrichtigungen für das Projekt aktiviert sind |
| position | Float! | Numerischer Wert, der die Position des Projekts in einer Liste darstellt |
| unseenActivityCount | Int! | Anzahl der ungesehenen Aktivitäten im Projekt |
| todoListsMaxPosition | Float! | Maximaler Positionswert für To-Do-Listen im Projekt |
| lastAccessedAt | DateTime | Zeitstempel, wann das Projekt zuletzt aufgerufen wurde |
| isTemplate | Boolean! | Boolean, der angibt, ob das Projekt eine Vorlage ist |
| isOfficialTemplate | Boolean! | Boolean, der angibt, ob dies eine offizielle Blue-Vorlage ist |
| automationsCount(isActive: Boolean) | Int! | Anzahl der Automatisierungen, die mit dem Projekt verbunden sind |
| totalFileCount | Int | Gesamtanzahl der Dateien im Projekt |
| totalFileSize | Float | Gesamte Größe aller Dateien im Projekt (in Bytes) |
| todoAlias | String | Benutzerdefinierter Alias für "todo", der im Projekt verwendet wird |
| category | ProjectCategory! | Projektkategorie (CRM, MARKETING usw.) |
| hideEmailFromRoles | [UserAccessLevel!] | Array von Rollen, die E-Mail-Adressen ausblenden sollten |
| hideStatusUpdate | Boolean | Boolean zum Ausblenden von Statusaktualisierungen |
| company | Company! | Vollständige Unternehmensobjektdetails |
| accessLevel(userId: String) | UserAccessLevel | Zugriffsebene des Benutzers für das spezifische Projekt abrufen |
| folder | Folder | Ordner, der dieses Projekt enthält |
| features | [ProjectFeature!] | Array von aktivierten Projektfunktionen |
| sequenceCustomField | CustomField | Benutzerdefiniertes Feld, das für die Sequenznummerierung verwendet wird |
| coverConfig | TodoCoverConfig | Konfiguration für To-Do-Coverbilder |
| hideRecordCount | Boolean | Ob die Aufzeichnungsanzahlen ausgeblendet werden sollen |
| showTimeSpentInTodoList | Boolean | Ob die aufgewendete Zeit in To-Do-Listen angezeigt werden soll |
| showTimeSpentInProject | Boolean | Ob die aufgewendete Zeit im Projekt angezeigt werden soll |
| todoFields | [TodoField] | Benutzerdefinierte To-Do-Felddefinitionen |
Hinweis: Sie können jede Kombination dieser Felder in Ihrer GraphQL-Abfrage anfordern.
Paginierungsfelder
Das pageInfo Objekt bietet Paginierungsdetails für die Abfrageergebnisse:
| Feld | Typ | Beschreibung |
|---|---|---|
| totalPages | Int | Gesamtanzahl der Seiten von Ergebnissen |
| totalItems | Int | Gesamtanzahl der Projekte, die der Abfrage entsprechen |
| page | Int | Aktuelle Seitennummer |
| perPage | Int | Anzahl der Elemente pro Seite |
| hasNextPage | Boolean! | Boolean, der angibt, ob es eine nächste Seite von Ergebnissen gibt |
| hasPreviousPage | Boolean! | Boolean, der angibt, ob es eine vorherige Seite von Ergebnissen gibt |
Abfrageparameter
Filteroptionen (ProjectListFilter)
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
companyIds |
[String!]! | ✅ Ja | Array von Unternehmens-IDs oder Slugs, in denen gesucht werden soll |
ids |
[String!] | Nein | Nach spezifischen Projekt-IDs filtern |
archived |
Boolean | Nein | Nach archiviertem Status filtern (true/false) |
isTemplate |
Boolean | Nein | Vorlageprojekte filtern (true/false) |
search |
String | Nein | Projekte nach Namen suchen (groß-/kleinschreibung ignorieren) |
folderId |
String | Nein | Nach Ordner-ID filtern. Verwenden Sie null für Projekte auf der Root-Ebene |
inProject |
Boolean | Nein | Nach Benutzermitgliedschaft filtern. Siehe Hinweis unten |
Hinweis zum inProject Filter:
trueoderundefined: Gibt Projekte zurück, in denen der Benutzer Mitglied istfalse: Gibt Projekte zurück, in denen der Benutzer NICHT ist (erfordert Berechtigung des Unternehmensinhabers)- Ordnerfilterung (
folderId) funktioniert nur, wenninProjectnichtfalseist
Sortieroptionen (ProjectSort)
| Wert | Beschreibung |
|---|---|
id_ASC |
Nach ID aufsteigend sortieren |
id_DESC |
Nach ID absteigend sortieren |
name_ASC |
Nach Namen aufsteigend sortieren (A-Z) |
name_DESC |
Nach Namen absteigend sortieren (Z-A) |
createdAt_ASC |
Nach Erstellungsdatum sortieren (älteste zuerst) |
createdAt_DESC |
Nach Erstellungsdatum sortieren (neueste zuerst) |
updatedAt_ASC |
Nach letzter Aktualisierung sortieren (älteste zuerst) |
updatedAt_DESC |
Nach letzter Aktualisierung sortieren (neueste zuerst) |
position_ASC |
Nach Position aufsteigend sortieren* |
position_DESC |
Nach Position absteigend sortieren* |
*Positionssortierung ist nur verfügbar, wenn Projekte angezeigt werden, in denen der Benutzer Mitglied ist (inProject !== false)
Paginierungsparameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
skip |
Int | 0 | Anzahl der Datensätze, die übersprungen werden sollen |
take |
Int | 20 | Anzahl der Datensätze, die zurückgegeben werden sollen |
Wichtige Hinweise
-
Standardverhalten für Projekte, in denen der Benutzer kein Mitglied ist (
inProject: false):- Archivierte Projekte werden ausgeschlossen, es sei denn, der
archivedFilter ist ausdrücklich gesetzt - Vorlageprojekte werden ausgeschlossen, es sei denn, der
isTemplateFilter ist ausdrücklich gesetzt
- Archivierte Projekte werden ausgeschlossen, es sei denn, der
-
Einschränkungen bei der Ordnerfilterung:
- Funktioniert nur, wenn die Projekte des Benutzers angezeigt werden
- Kann nicht mit
inProject: falseverwendet werden - Verwenden Sie
folderId: null, um Projekte zu erhalten, die sich in keinem Ordner befinden
-
Sortierungsfallback:
- Positionssortierung wird ignoriert, wenn nicht Mitgliedsprojekte angezeigt werden
- Fällt in solchen Fällen auf die Namenssortierung zurück
-
Veraltete Parameter:
orderBy,after,before,first,lastsind veraltet- Verwenden Sie stattdessen
sort,skipundtake.