Blue의 프로젝트는 사용자와 데이터를 조직하기 위한 기본 프레임워크를 형성합니다.
모든 프로젝트 목록
projectList
쿼리를 사용하면 강력한 필터링, 정렬 및 페이지 매김 옵션으로 프로젝트를 검색할 수 있습니다.
기본 예제
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
}
}
}
필터링 및 정렬이 포함된 고급 예제
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
}
}
}
프로젝트 필드
다음 표는 ProjectListQuery
의 각 프로젝트에 대해 사용 가능한 모든 필드를 설명합니다:
필드 | 유형 | 설명 |
---|---|---|
id | ID! | 프로젝트의 고유 식별자 |
uid | String! | 사용자 친화적인 프로젝트의 고유 식별자 |
slug | String! | URL 친화적인 프로젝트 이름 |
name | String! | 프로젝트의 표시 이름 |
description | String | 프로젝트의 간단한 설명 |
archived | Boolean | 프로젝트가 보관되었는지 여부를 나타내는 불리언 |
color | String | 시각적 식별을 위한 프로젝트와 관련된 색상 |
icon | String | 시각적 식별을 위한 프로젝트와 관련된 아이콘 |
image | Image | 프로젝트 커버 이미지 객체 |
createdAt | DateTime! | 프로젝트가 생성된 타임스탬프 |
updatedAt | DateTime! | 프로젝트가 마지막으로 업데이트된 타임스탬프 |
allowNotification | Boolean! | 프로젝트에 대한 알림이 활성화되어 있는지 여부를 나타내는 불리언 |
position | Float! | 목록에서 프로젝트의 위치를 나타내는 숫자 값 |
unseenActivityCount | Int! | 프로젝트의 보지 않은 활동 수 |
todoListsMaxPosition | Float! | 프로젝트의 할 일 목록에 대한 최대 위치 값 |
lastAccessedAt | DateTime | 프로젝트가 마지막으로 접근된 타임스탬프 |
isTemplate | Boolean! | 프로젝트가 템플릿인지 여부를 나타내는 불리언 |
isOfficialTemplate | Boolean! | 이것이 공식 Blue 템플릿인지 여부를 나타내는 불리언 |
automationsCount(isActive: Boolean) | Int! | 프로젝트와 관련된 자동화 수 |
totalFileCount | Int | 프로젝트의 총 파일 수 |
totalFileSize | Float | 프로젝트의 모든 파일의 총 크기(바이트 단위) |
todoAlias | String | 프로젝트에서 사용되는 "todo"에 대한 사용자 정의 별칭 |
category | ProjectCategory! | 프로젝트 카테고리(CRM, 마케팅 등) |
hideEmailFromRoles | [UserAccessLevel!] | 이메일 주소를 숨겨야 하는 역할의 배열 |
hideStatusUpdate | Boolean | 상태 업데이트 숨기기를 위한 불리언 |
company | Company! | 전체 회사 객체 세부 정보 |
accessLevel(userId: String) | UserAccessLevel | 특정 프로젝트에 대한 사용자의 접근 수준 가져오기 |
folder | Folder | 이 프로젝트를 포함하는 폴더 |
features | [ProjectFeature!] | 활성화된 프로젝트 기능의 배열 |
sequenceCustomField | CustomField | 순서 번호 매기기에 사용되는 사용자 정의 필드 |
coverConfig | TodoCoverConfig | 할 일 커버 이미지에 대한 구성 |
hideRecordCount | Boolean | 레코드 수 숨기기 여부 |
showTimeSpentInTodoList | Boolean | 할 일 목록에서 소요 시간을 표시할지 여부 |
showTimeSpentInProject | Boolean | 프로젝트에서 소요 시간을 표시할지 여부 |
todoFields | [TodoField] | 사용자 정의 할 일 필드 정의 |
참고: GraphQL 쿼리에서 이러한 필드의 조합을 요청할 수 있습니다.
페이지 매김 필드
pageInfo
객체는 쿼리 결과에 대한 페이지 매김 세부 정보를 제공합니다:
필드 | 유형 | 설명 |
---|---|---|
totalPages | Int | 결과의 총 페이지 수 |
totalItems | Int | 쿼리와 일치하는 프로젝트의 총 수 |
page | Int | 현재 페이지 번호 |
perPage | Int | 페이지당 항목 수 |
hasNextPage | Boolean! | 결과의 다음 페이지가 있는지 여부를 나타내는 불리언 |
hasPreviousPage | Boolean! | 결과의 이전 페이지가 있는지 여부를 나타내는 불리언 |
쿼리 매개변수
필터 옵션 (ProjectListFilter)
매개변수 | 유형 | 필수 | 설명 |
---|---|---|---|
companyIds |
[String!]! | ✅ 예 | 검색할 회사 ID 또는 슬러그의 배열 |
ids |
[String!] | 아니요 | 특정 프로젝트 ID로 필터링 |
archived |
Boolean | 아니요 | 보관 상태로 필터링 (true/false) |
isTemplate |
Boolean | 아니요 | 템플릿 프로젝트로 필터링 (true/false) |
search |
String | 아니요 | 이름으로 프로젝트 검색 (대소문자 구분 없음) |
folderId |
String | 아니요 | 폴더 ID로 필터링. 루트 수준 프로젝트의 경우 null 사용 |
inProject |
Boolean | 아니요 | 사용자 멤버십으로 필터링. 아래 참고 |
inProject
필터에 대한 참고 사항:
true
또는undefined
: 사용자가 멤버인 프로젝트 반환false
: 사용자가 포함되지 않은 프로젝트 반환 (회사 소유자 권한 필요)- 폴더 필터링 (
folderId
)은inProject
가false
가 아닐 때만 작동합니다.
정렬 옵션 (ProjectSort)
값 | 설명 |
---|---|
id_ASC |
ID 오름차순으로 정렬 |
id_DESC |
ID 내림차순으로 정렬 |
name_ASC |
이름 오름차순으로 정렬 (A-Z) |
name_DESC |
이름 내림차순으로 정렬 (Z-A) |
createdAt_ASC |
생성 날짜로 정렬 (오래된 것 먼저) |
createdAt_DESC |
생성 날짜로 정렬 (최신 것 먼저) |
updatedAt_ASC |
마지막 업데이트로 정렬 (오래된 것 먼저) |
updatedAt_DESC |
마지막 업데이트로 정렬 (최신 것 먼저) |
position_ASC |
위치 오름차순으로 정렬* |
position_DESC |
위치 내림차순으로 정렬* |
*위치 정렬은 사용자가 멤버인 프로젝트를 볼 때만 사용할 수 있습니다 (inProject !== false
).
페이지 매김 매개변수
매개변수 | 유형 | 기본값 | 설명 |
---|---|---|---|
skip |
Int | 0 | 건너뛸 레코드 수 |
take |
Int | 20 | 반환할 레코드 수 |
중요 참고 사항
-
비회원 프로젝트에 대한 기본 동작 (
inProject: false
):archived
필터가 명시적으로 설정되지 않은 경우 보관된 프로젝트 제외isTemplate
필터가 명시적으로 설정되지 않은 경우 템플릿 프로젝트 제외
-
폴더 필터링 제한 사항:
- 사용자의 프로젝트를 표시할 때만 작동
inProject: false
와 함께 사용할 수 없음- 폴더에 없는 프로젝트를 가져오려면
folderId: null
사용
-
정렬 대체:
- 비회원 프로젝트를 볼 때 위치 정렬이 무시됨
- 이러한 경우 이름 정렬로 대체됨
-
사용 중단된 매개변수:
orderBy
,after
,before
,first
,last
는 사용 중단됨- 대신
sort
,skip
및take
사용