Переключите запись между статусами завершенной и незавершенной с помощью одной мутации.
Переключение статуса записи
Мутация updateTodoDoneStatus
предоставляет простой способ переключения статуса завершенности записи. Если запись незавершенная, она помечается как завершенная. Если она завершенная, она помечается как незавершенная.
Пример
mutation ToggleRecordStatus {
updateTodoDoneStatus(todoId: "todo_123") {
id
title
done
updatedAt
}
}
Входные параметры
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
todoId |
String! | ✅ Да | Идентификатор записи для переключения |
Ответ
Возвращает обновленный Todo
объект со всеми доступными полями. Обычно используемые поля включают:
id
- Идентификатор записиtitle
- Заголовок записиdone
- Новый статус завершенности (true/false)updatedAt
- Временная метка обновления- Все другие поля Todo доступны
Необходимые разрешения
Уровень доступа | Может переключать статус |
---|---|
OWNER |
✅ Да |
ADMIN |
✅ Да |
MEMBER |
✅ Да |
CLIENT |
✅ Да |
COMMENT_ONLY |
❌ Нет |
VIEW_ONLY |
❌ Нет |
Примечание: Пользовательские роли с allowMarkRecordsAsDone: false
будут заблокированы от использования этой мутации.
Ошибки ответа
TodoNotFoundError
{
"errors": [{
"message": "Todo was not found.",
"extensions": {
"code": "TODO_NOT_FOUND"
}
}]
}
UnauthorizedError
{
"errors": [{
"message": "You are not authorized.",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Важные заметки
Побочные эффекты
Переключение статуса записи вызывает несколько автоматических действий:
- Журнал активности: Создает записи для MARK_AS_COMPLETE или MARK_AS_INCOMPLETE
- Webhook: Отправляет уведомления на настроенные конечные точки webhook с состояниями до/после
- Автоматизация: Запускает правила автоматизации TODO_MARKED_AS_COMPLETE или TODO_MARKED_AS_INCOMPLETE
- Уведомления в реальном времени: Отправляет обновления соответствующим пользователям (если настроено)
- Публикация в реальном времени: Публикует обновления todo для подключенных клиентов
- Отслеживание времени: Автоматически обновляет пользовательские поля продолжительности времени
- Индекс поиска: Обновляет индекс поиска для улучшения обнаруживаемости
- Аналитика: Обновляет графики и отчеты
- Лента активности: Завершенные записи появляются в ленте активности компании
Советы по использованию
- Мутация идемпотентна - вызов ее дважды возвращает запись в исходное состояние
- Операция атомарна - либо полностью успешна, либо завершается с ошибкой без изменений
- Пользовательские роли могут ограничивать это действие через разрешение
allowMarkRecordsAsDone
Связанные конечные точки
- Список записей: Используйте
todoQueries.todos
для запроса и фильтрации записей - Массовое обновление: Используйте
updateTodos
для изменения нескольких записей одновременно