단일 변이를 통해 레코드를 완료 및 미완료 상태로 전환합니다.
Copy page in markdown for LLMs
레코드 상태 전환
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를 사용하여 여러 레코드를 한 번에 수정합니다.