Blue에서 프로젝트를 보관하고 보관 해제하는 방법.
프로젝트 보관
프로젝트를 보관하는 것은 영구적으로 삭제하지 않고 프로젝트를 일시적으로 숨기고 싶을 때 유용합니다. 보관된 프로젝트는:
- 활성 프로젝트 목록에서 숨겨집니다.
- 편집하거나 수정할 수 없습니다.
- 프로젝트 구성원이 여전히 볼 수 있습니다.
- 언제든지 보관 해제할 수 있습니다.
기본 예제
mutation {
archiveProject(id: "project-123")
}
프로젝트 컨텍스트 헤더 사용
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
변수와 함께
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
변수:
{
"projectId": "abc123-project-id"
}
프로젝트 보관 해제
보관된 프로젝트를 활성 상태로 복원하려면:
mutation {
unarchiveProject(id: "project-123")
}
변형 매개변수
archiveProject
매개변수 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
String | 아니오 | 보관할 프로젝트 ID. 제공되지 않으면 컨텍스트 헤더의 프로젝트를 사용합니다. |
unarchiveProject
매개변수 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
String | 아니오 | 보관 해제할 프로젝트 ID. 제공되지 않으면 컨텍스트 헤더의 프로젝트를 사용합니다. |
응답
두 변형 모두 성공을 나타내는 불리언을 반환합니다:
필드 | 유형 | 설명 |
---|---|---|
Boolean |
Boolean! | 작업이 성공하면 true 를 반환합니다 |
필수 권한
프로젝트 역할 | 보관/보관 해제 가능 여부 |
---|---|
OWNER |
✅ 예 |
ADMIN |
✅ 예 |
MEMBER |
❌ 아니오 |
CLIENT |
❌ 아니오 |
COMMENT_ONLY |
❌ 아니오 |
VIEW_ONLY |
❌ 아니오 |
프로젝트 ID 해상도
프로젝트 ID는 두 가지 방법으로 지정할 수 있습니다:
-
매개변수로 (권장):
archiveProject(id: "project-123")
-
HTTP 헤더를 통해:
x-bloo-project-id: project-123
(선호됨)x-project-id: project-123
(사용 중단됨)
두 가지가 모두 제공되면 매개변수가 우선합니다.
오류 응답
프로젝트를 찾을 수 없음
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
권한 부족
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
보관 시 발생하는 일
프로젝트를 보관할 때:
- 프로젝트 상태: 프로젝트가 보관됨으로 표시됩니다.
- 가시성: 활성 프로젝트 목록에서 숨겨집니다.
- 템플릿: 프로젝트가 템플릿인 경우 템플릿 상태를 잃습니다.
- 위치: 사용자의 프로젝트 목록 끝으로 이동합니다.
- 폴더: 모든 프로젝트 폴더에서 제거됩니다.
- 활동 로그: 보관 작업이 기록됩니다.
- 실시간 업데이트: 모든 연결된 사용자에게 알림이 전송됩니다.
중요 사항
- 멱등성 작업: 이미 보관된 프로젝트를 보관하면 변경 없이
true
를 반환합니다. - 되돌릴 수 있음:
unarchiveProject
를 사용하여 프로젝트를 복원합니다. - 보기 접근: 보관된 프로젝트는 기존 구성원이 계속 볼 수 있습니다.
- 데이터 손실 없음: 보관은 삭제와 달리 모든 프로젝트 데이터를 보존합니다.
- 삭제 대안: 임시 제거를 위해 삭제 대신 보관을 고려하십시오.