Projetos no Blue formam a estrutura fundamental para organizar usuários e dados.
Listar todos os Projetos
A consulta projectList
permite que você recupere projetos com opções poderosas de filtragem, ordenação e paginação.
Exemplo Básico
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
}
}
}
Exemplo Avançado com Filtragem e Ordenação
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
}
}
}
Campos do Projeto
A tabela a seguir descreve todos os campos disponíveis para cada projeto no ProjectListQuery
:
Campo | Tipo | Descrição |
---|---|---|
id | ID! | Identificador único para o projeto |
uid | String! | Identificador único amigável para o projeto |
slug | String! | Nome do projeto amigável para URL |
name | String! | Nome de exibição do projeto |
description | String | Breve descrição do projeto |
archived | Boolean | Booleano indicando se o projeto está arquivado |
color | String | Cor associada ao projeto para identificação visual |
icon | String | Ícone associado ao projeto para identificação visual |
image | Image | Objeto da imagem de capa do projeto |
createdAt | DateTime! | Timestamp quando o projeto foi criado |
updatedAt | DateTime! | Timestamp quando o projeto foi atualizado pela última vez |
allowNotification | Boolean! | Booleano indicando se as notificações estão habilitadas para o projeto |
position | Float! | Valor numérico representando a posição do projeto em uma lista |
unseenActivityCount | Int! | Número de atividades não vistas no projeto |
todoListsMaxPosition | Float! | Valor máximo de posição para listas de tarefas no projeto |
lastAccessedAt | DateTime | Timestamp quando o projeto foi acessado pela última vez |
isTemplate | Boolean! | Booleano indicando se o projeto é um modelo |
isOfficialTemplate | Boolean! | Booleano indicando se este é um modelo oficial do Blue |
automationsCount(isActive: Boolean) | Int! | Número de automações associadas ao projeto |
totalFileCount | Int | Número total de arquivos no projeto |
totalFileSize | Float | Tamanho total de todos os arquivos no projeto (em bytes) |
todoAlias | String | Alias personalizado para "tarefa" usado no projeto |
category | ProjectCategory! | Categoria do projeto (CRM, MARKETING, etc.) |
hideEmailFromRoles | [UserAccessLevel!] | Array de funções que devem ocultar endereços de e-mail |
hideStatusUpdate | Boolean | Booleano para ocultar atualizações de status |
company | Company! | Detalhes completos do objeto da empresa |
accessLevel(userId: String) | UserAccessLevel | Obter o nível de acesso do usuário para o projeto específico |
folder | Folder | Pasta contendo este projeto |
features | [ProjectFeature!] | Array de recursos de projeto habilitados |
sequenceCustomField | CustomField | Campo personalizado usado para numeração de sequência |
coverConfig | TodoCoverConfig | Configuração para imagens de capa de tarefas |
hideRecordCount | Boolean | Se deve ocultar contagens de registros |
showTimeSpentInTodoList | Boolean | Se deve mostrar o tempo gasto em listas de tarefas |
showTimeSpentInProject | Boolean | Se deve mostrar o tempo gasto no projeto |
todoFields | [TodoField] | Definições de campo de tarefa personalizadas |
Nota: Você pode solicitar qualquer combinação desses campos em sua consulta GraphQL.
Campos de Paginação
O objeto pageInfo
fornece detalhes de paginação para os resultados da consulta:
Campo | Tipo | Descrição |
---|---|---|
totalPages | Int | Número total de páginas de resultados |
totalItems | Int | Número total de projetos que correspondem à consulta |
page | Int | Número da página atual |
perPage | Int | Número de itens por página |
hasNextPage | Boolean! | Booleano indicando se há uma próxima página de resultados |
hasPreviousPage | Boolean! | Booleano indicando se há uma página anterior de resultados |
Parâmetros da Consulta
Opções de Filtro (ProjectListFilter)
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
companyIds |
[String!]! | ✅ Sim | Array de IDs ou slugs de empresas para pesquisar |
ids |
[String!] | Não | Filtrar por IDs de projetos específicos |
archived |
Boolean | Não | Filtrar por status arquivado (verdadeiro/falso) |
isTemplate |
Boolean | Não | Filtrar projetos modelo (verdadeiro/falso) |
search |
String | Não | Pesquisar projetos por nome (não diferencia maiúsculas de minúsculas) |
folderId |
String | Não | Filtrar por ID de pasta. Use null para projetos de nível raiz |
inProject |
Boolean | Não | Filtrar por associação de usuário. Veja a nota abaixo |
Nota sobre o filtro inProject
:
true
ouundefined
: Retorna projetos dos quais o usuário é membrofalse
: Retorna projetos dos quais o usuário NÃO está (requer permissão de proprietário da empresa)- A filtragem de pasta (
folderId
) só funciona quandoinProject
não estáfalse
Opções de Ordenação (ProjectSort)
Valor | Descrição |
---|---|
id_ASC |
Ordenar por ID ascendente |
id_DESC |
Ordenar por ID descendente |
name_ASC |
Ordenar por nome ascendente (A-Z) |
name_DESC |
Ordenar por nome descendente (Z-A) |
createdAt_ASC |
Ordenar por data de criação (mais antigo primeiro) |
createdAt_DESC |
Ordenar por data de criação (mais recente primeiro) |
updatedAt_ASC |
Ordenar pela última atualização (mais antiga primeiro) |
updatedAt_DESC |
Ordenar pela última atualização (mais recente primeiro) |
position_ASC |
Ordenar por posição ascendente* |
position_DESC |
Ordenar por posição descendente* |
*Ordenação por posição está disponível apenas ao visualizar projetos dos quais o usuário é membro (inProject !== false
)
Parâmetros de Paginação
Parâmetro | Tipo | Padrão | Descrição |
---|---|---|---|
skip |
Int | 0 | Número de registros a serem ignorados |
take |
Int | 20 | Número de registros a serem retornados |
Notas Importantes
-
Comportamento padrão para projetos não membros (
inProject: false
):- Exclui projetos arquivados, a menos que o filtro
archived
esteja explicitamente definido - Exclui projetos modelo, a menos que o filtro
isTemplate
esteja explicitamente definido
- Exclui projetos arquivados, a menos que o filtro
-
Limitações da filtragem de pasta:
- Funciona apenas ao mostrar projetos do usuário
- Não pode ser usado com
inProject: false
- Use
folderId: null
para obter projetos que não estão em nenhuma pasta
-
Fallback de ordenação:
- A ordenação por posição é ignorada ao visualizar projetos não membros
- Retorna à ordenação por nome nesses casos
-
Parâmetros obsoletos:
orderBy
,after
,before
,first
,last
estão obsoletos- Use
sort
,skip
, etake
em vez disso