I progetti in Blue formano il framework fondamentale per organizzare utenti e dati.
Elenca tutti i Progetti
La query projectList
consente di recuperare progetti con potenti opzioni di filtraggio, ordinamento e paginazione.
Esempio di Base
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
}
}
}
Esempio Avanzato con Filtraggio e Ordinamento
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
}
}
}
Campi del Progetto
La seguente tabella descrive tutti i campi disponibili per ciascun progetto in ProjectListQuery
:
Campo | Tipo | Descrizione |
---|---|---|
id | ID! | Identificatore unico per il progetto |
uid | String! | Identificatore unico a misura d'utente per il progetto |
slug | String! | Nome del progetto adatto per URL |
name | String! | Nome visualizzato del progetto |
description | String | Breve descrizione del progetto |
archived | Boolean | Booleano che indica se il progetto è archiviato |
color | String | Colore associato al progetto per identificazione visiva |
icon | String | Icona associata al progetto per identificazione visiva |
image | Image | Oggetto immagine di copertura del progetto |
createdAt | DateTime! | Timestamp quando il progetto è stato creato |
updatedAt | DateTime! | Timestamp quando il progetto è stato aggiornato l'ultima volta |
allowNotification | Boolean! | Booleano che indica se le notifiche sono abilitate per il progetto |
position | Float! | Valore numerico che rappresenta la posizione del progetto in un elenco |
unseenActivityCount | Int! | Numero di attività non viste nel progetto |
todoListsMaxPosition | Float! | Valore massimo di posizione per le liste di cose da fare nel progetto |
lastAccessedAt | DateTime | Timestamp quando il progetto è stato accesso l'ultima volta |
isTemplate | Boolean! | Booleano che indica se il progetto è un modello |
isOfficialTemplate | Boolean! | Booleano che indica se questo è un modello ufficiale di Blue |
automationsCount(isActive: Boolean) | Int! | Numero di automazioni associate al progetto |
totalFileCount | Int | Numero totale di file nel progetto |
totalFileSize | Float | Dimensione totale di tutti i file nel progetto (in byte) |
todoAlias | String | Alias personalizzato per "todo" utilizzato nel progetto |
category | ProjectCategory! | Categoria del progetto (CRM, MARKETING, ecc.) |
hideEmailFromRoles | [UserAccessLevel!] | Array di ruoli che dovrebbero nascondere gli indirizzi email |
hideStatusUpdate | Boolean | Booleano per nascondere gli aggiornamenti di stato |
company | Company! | Dettagli completi dell'oggetto aziendale |
accessLevel(userId: String) | UserAccessLevel | Ottieni il livello di accesso dell'utente per il progetto specifico |
folder | Folder | Cartella contenente questo progetto |
features | [ProjectFeature!] | Array delle funzionalità del progetto abilitate |
sequenceCustomField | CustomField | Campo personalizzato utilizzato per la numerazione sequenziale |
coverConfig | TodoCoverConfig | Configurazione per le immagini di copertura delle cose da fare |
hideRecordCount | Boolean | Se nascondere i conteggi dei record |
showTimeSpentInTodoList | Boolean | Se mostrare il tempo trascorso nelle liste di cose da fare |
showTimeSpentInProject | Boolean | Se mostrare il tempo trascorso nel progetto |
todoFields | [TodoField] | Definizioni dei campi todo personalizzati |
Nota: Puoi richiedere qualsiasi combinazione di questi campi nella tua query GraphQL.
Campi di Paginazione
L'oggetto pageInfo
fornisce dettagli di paginazione per i risultati della query:
Campo | Tipo | Descrizione |
---|---|---|
totalPages | Int | Numero totale di pagine di risultati |
totalItems | Int | Numero totale di progetti che corrispondono alla query |
page | Int | Numero della pagina corrente |
perPage | Int | Numero di elementi per pagina |
hasNextPage | Boolean! | Booleano che indica se c'è una pagina successiva di risultati |
hasPreviousPage | Boolean! | Booleano che indica se c'è una pagina precedente di risultati |
Parametri della Query
Opzioni di Filtraggio (ProjectListFilter)
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
companyIds |
[String!]! | ✅ Sì | Array di ID aziendali o slug da cercare |
ids |
[String!] | No | Filtra per ID progetto specifici |
archived |
Boolean | No | Filtra per stato archiviato (vero/falso) |
isTemplate |
Boolean | No | Filtra progetti modello (vero/falso) |
search |
String | No | Cerca progetti per nome (senza distinzione tra maiuscole e minuscole) |
folderId |
String | No | Filtra per ID cartella. Usa null per progetti a livello radice |
inProject |
Boolean | No | Filtra per appartenenza utente. Vedi nota qui sotto |
Nota sul filtro inProject
:
true
oundefined
: Restituisce progetti di cui l'utente è membrofalse
: Restituisce progetti di cui l'utente NON è membro (richiede permesso di proprietario aziendale)- Il filtraggio per cartella (
folderId
) funziona solo quandoinProject
non èfalse
Opzioni di Ordinamento (ProjectSort)
Valore | Descrizione |
---|---|
id_ASC |
Ordina per ID crescente |
id_DESC |
Ordina per ID decrescente |
name_ASC |
Ordina per nome crescente (A-Z) |
name_DESC |
Ordina per nome decrescente (Z-A) |
createdAt_ASC |
Ordina per data di creazione (più vecchio per primo) |
createdAt_DESC |
Ordina per data di creazione (più recente per primo) |
updatedAt_ASC |
Ordina per ultima modifica (più vecchio per primo) |
updatedAt_DESC |
Ordina per ultima modifica (più recente per primo) |
position_ASC |
Ordina per posizione crescente* |
position_DESC |
Ordina per posizione decrescente* |
*L'ordinamento per posizione è disponibile solo quando si visualizzano progetti di cui l'utente è membro (inProject !== false
)
Parametri di Paginazione
Parametro | Tipo | Predefinito | Descrizione |
---|---|---|---|
skip |
Int | 0 | Numero di record da saltare |
take |
Int | 20 | Numero di record da restituire |
Note Importanti
-
Comportamento predefinito per progetti non membri (
inProject: false
):- Esclude progetti archiviati a meno che il filtro
archived
non sia esplicitamente impostato - Esclude progetti modello a meno che il filtro
isTemplate
non sia esplicitamente impostato
- Esclude progetti archiviati a meno che il filtro
-
Limitazioni del filtraggio per cartella:
- Funziona solo quando si mostrano i progetti dell'utente
- Non può essere utilizzato con
inProject: false
- Usa
folderId: null
per ottenere progetti non in alcuna cartella
-
Fallback per ordinamento:
- L'ordinamento per posizione viene ignorato quando si visualizzano progetti non membri
- Torna all'ordinamento per nome in tali casi
-
Parametri deprecati:
orderBy
,after
,before
,first
,last
sono deprecati- Usa
sort
,skip
, etake
invece