단일 변이를 통해 레코드를 완료 및 미완료 상태로 전환합니다.
레코드 상태 전환
updateTodoDoneStatus
변이는 레코드의 완료 상태를 전환하는 간단한 방법을 제공합니다. 레코드가 미완료 상태인 경우 완료로 표시합니다. 완료 상태인 경우 미완료로 표시합니다.
예제
mutation ToggleRecordStatus {
updateTodoDoneStatus(todoId: "todo_123") {
id
title
done
updatedAt
}
}
입력 매개변수
매개변수 | 유형 | 필수 | 설명 |
---|---|---|---|
todoId |
String! | ✅ 예 | 전환할 레코드의 ID |
응답
업데이트된 Todo
객체를 모든 사용 가능한 필드와 함께 반환합니다. 일반적으로 사용되는 필드는 다음과 같습니다:
id
- 레코드 식별자title
- 레코드 제목done
- 새로운 완료 상태 (true/false)updatedAt
- 업데이트의 타임스탬프- 모든 다른 할 일 필드 사용 가능
필수 권한
접근 수준 | 상태 전환 가능 |
---|---|
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에 대한 항목을 생성합니다.
- 웹후크: 구성된 웹후크 엔드포인트에 이전/이후 상태에 대한 알림을 보냅니다.
- 자동화: TODO_MARKED_AS_COMPLETE 또는 TODO_MARKED_AS_INCOMPLETE 자동화 규칙을 트리거합니다.
- 실시간 알림: 관련 사용자에게 업데이트를 보냅니다 (구성된 경우).
- 실시간 게시: 연결된 클라이언트에 할 일 업데이트를 게시합니다.
- 시간 추적: 시간 지속 사용자 정의 필드를 자동으로 업데이트합니다.
- 검색 인덱스: 검색 인덱스를 업데이트하여 검색 가능성을 향상시킵니다.
- 분석: 차트 및 보고서를 업데이트합니다.
- 활동 피드: 완료된 레코드는 회사 활동 피드에 나타납니다.
사용 팁
- 이 변이는 멱등성입니다 - 두 번 호출하면 레코드가 원래 상태로 돌아갑니다.
- 이 작업은 원자적입니다 - 완전히 성공하거나 변경 없이 실패합니다.
- 사용자 정의 역할은
allowMarkRecordsAsDone
권한을 통해 이 작업을 제한할 수 있습니다.
관련 엔드포인트
- 레코드 목록:
todoQueries.todos
를 사용하여 레코드를 쿼리하고 필터링합니다. - 대량 업데이트:
updateTodos
를 사용하여 여러 레코드를 한 번에 수정합니다.