Как архивировать и разархивировать проекты в 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 | Нет | Идентификатор проекта для архивирования. Если не предоставлен, используется проект из заголовков контекста. |
unarchiveProject
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
id |
String | Нет | Идентификатор проекта для разархивирования. Если не предоставлен, используется проект из заголовков контекста. |
Ответ
Обе мутации возвращают логическое значение, указывающее на успех:
Поле | Тип | Описание |
---|---|---|
Boolean |
Boolean! | Возвращает true , когда операция успешна |
Необходимые разрешения
Роль проекта | Может архивировать/разархивировать |
---|---|
OWNER |
✅ Да |
ADMIN |
✅ Да |
MEMBER |
❌ Нет |
CLIENT |
❌ Нет |
COMMENT_ONLY |
❌ Нет |
VIEW_ONLY |
❌ Нет |
Разрешение идентификатора проекта
Идентификатор проекта можно указать двумя способами:
-
Как параметр (рекомендуется):
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
для восстановления проекта - Доступ к просмотру: Архивированные проекты остаются доступными для просмотра существующими участниками
- Нет потери данных: Архивирование сохраняет все данные проекта, в отличие от удаления
- Альтернатива удалению: Рассмотрите возможность архивирования вместо удаления для временного удаления