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:
true
oderundefined
: 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, wenninProject
nichtfalse
ist
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
archived
Filter ist ausdrücklich gesetzt - Vorlageprojekte werden ausgeschlossen, es sei denn, der
isTemplate
Filter 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: false
verwendet 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
,last
sind veraltet- Verwenden Sie stattdessen
sort
,skip
undtake
.