Basculer un enregistrement entre un statut complet et incomplet avec une seule mutation.
Basculer le statut d'enregistrement
La mutation updateTodoDoneStatus
fournit un moyen simple de basculer le statut de complétion d'un enregistrement. Si l'enregistrement est incomplet, il le marque comme complet. S'il est complet, il le marque comme incomplet.
Exemple
mutation ToggleRecordStatus {
updateTodoDoneStatus(todoId: "todo_123") {
id
title
done
updatedAt
}
}
Paramètres d'entrée
Paramètre | Type | Requis | Description |
---|---|---|---|
todoId |
String! | ✅ Oui | L'ID de l'enregistrement à basculer |
Réponse
Renvoie l'objet Todo
mis à jour avec tous les champs disponibles. Les champs couramment utilisés incluent :
id
- Identifiant de l'enregistrementtitle
- Titre de l'enregistrementdone
- Nouveau statut de complétion (vrai/faux)updatedAt
- Horodatage de la mise à jour- Tous les autres champs Todo sont disponibles
Permissions requises
Niveau d'accès | Peut basculer le statut |
---|---|
OWNER |
✅ Oui |
ADMIN |
✅ Oui |
MEMBER |
✅ Oui |
CLIENT |
✅ Oui |
COMMENT_ONLY |
❌ Non |
VIEW_ONLY |
❌ Non |
Remarque : Les rôles personnalisés avec allowMarkRecordsAsDone: false
seront bloqués pour utiliser cette mutation.
Réponses d'erreur
TodoNotFoundError
{
"errors": [{
"message": "Todo was not found.",
"extensions": {
"code": "TODO_NOT_FOUND"
}
}]
}
UnauthorizedError
{
"errors": [{
"message": "You are not authorized.",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Remarques importantes
Effets secondaires
Basculer le statut d'un enregistrement déclenche plusieurs actions automatisées :
- Journal d'activité : Crée des entrées pour MARK_AS_COMPLETE ou MARK_AS_INCOMPLETE
- Webhooks : Envoie des notifications aux points de terminaison de webhook configurés avec des états avant/après
- Automatisations : Déclenche des règles d'automatisation TODO_MARKED_AS_COMPLETE ou TODO_MARKED_AS_INCOMPLETE
- Notifications en temps réel : Envoie des mises à jour aux utilisateurs concernés (si configuré)
- Publication en temps réel : Publie des mises à jour todo aux clients connectés
- Suivi du temps : Met à jour automatiquement les champs personnalisés de durée
- Index de recherche : Met à jour l'index de recherche pour une meilleure découvrabilité
- Analytique : Met à jour les graphiques et les rapports
- Fil d'activité : Les enregistrements complétés apparaissent dans le fil d'activité de l'entreprise
Conseils d'utilisation
- La mutation est idempotente - l'appeler deux fois renvoie l'enregistrement à son état d'origine
- L'opération est atomique - soit elle réussit complètement, soit elle échoue sans changements
- Les rôles personnalisés peuvent restreindre cette action via la permission
allowMarkRecordsAsDone
Points de terminaison associés
- Lister les enregistrements : Utilisez
todoQueries.todos
pour interroger et filtrer les enregistrements - Mise à jour en masse : Utilisez
updateTodos
pour modifier plusieurs enregistrements à la fois