Verplaats een record naar een andere lijst binnen hetzelfde project of tussen projecten met uitgebreide kopieer- en validatiefuncties.
Verplaats Record naar Lijst
De moveTodo
mutatie stelt je in staat om een record naar een andere lijst te verplaatsen. Deze operatie maakt een volledige kopie van het record in de bestemmingslijst en verwijdert het uit de bronnlijst. Records kunnen binnen hetzelfde project of tussen verschillende projecten worden verplaatst (met de juiste machtigingen).
Basisvoorbeeld
mutation MoveTodo {
moveTodo(
input: {
todoId: "todo_123abc"
todoListId: "list_456def"
}
)
}
Voorbeeld van Verplaatsen Tussen Projecten
mutation MoveTodoAcrossProjects {
moveTodo(
input: {
todoId: "todo_123abc"
todoListId: "different-project-list_789xyz"
}
)
}
Invoergegevens
MoveTodoInput
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
todoId |
String! | ✅ Ja | De ID van het te verplaatsen record |
todoListId |
String! | ✅ Ja | De ID van de bestemmingslijst |
Antwoord
De mutatie retourneert een Boolean!
waarde:
true
- Het record is succesvol verplaatst- Fouten worden gegooid bij falen in plaats van
false
te retourneren
Wat Wordt Verplaatst
Wanneer een record wordt verplaatst, worden de volgende elementen naar de nieuwe locatie gekopieerd:
- ✅ Toegewezen Personen - Alle toegewezen gebruikers
- ✅ Checklist - Alle checklistitems en hun voltooiingsstatus
- ✅ Opmerkingen - Alle opmerkingen en antwoorden
- ✅ Aangepaste Velden - Alle waarden van aangepaste velden
- ✅ Beschrijving - Volledige recordbeschrijving en opmaak
- ✅ Vervaldatum - Oorspronkelijke vervaldatum en tijd
- ✅ Tags - Alle bijbehorende tags
- ✅ Todo Acties - Alle subtaken en actie-items
- ✅ Bestanden - Alle bijlagen (met speciale behandeling voor verplaatsingen tussen projecten)
Positie Behandeling
- Records worden automatisch aan het einde van de bestemmingslijst geplaatst
- Je kunt geen aangepaste positie opgeven - deze wordt automatisch berekend
- De positie wordt ingesteld op de huidige maximale positie + 65.535
Vereiste Machtigingen
Verschillende machtigingsniveaus hebben verschillende mogelijkheden:
Gebruikersrol | Zelfde Project | Tussen Projecten | Bestands Toegang |
---|---|---|---|
OWNER |
✅ Ja | ✅ Ja | All files |
ADMIN |
✅ Ja | ✅ Ja | All files |
MEMBER |
✅ Ja | ❌ Nee | Own files only |
Machtigingsvereisten
- Je moet
OWNER
,ADMIN
, ofMEMBER
toegang hebben tot het bronproject - Je moet toegang hebben tot het bestemmingsproject
MEMBER
gebruikers kunnen geen records verplaatsen tussen verschillende projecten- Beide projecten moeten actief zijn (niet gearchiveerd)
Fout Antwoorden
Record Niet Gevonden
{
"errors": [{
"message": "Todo was not found.",
"extensions": {
"code": "TODO_NOT_FOUND"
}
}]
}
Lijst Niet Gevonden
{
"errors": [{
"message": "Todo list was not found.",
"extensions": {
"code": "TODO_LIST_NOT_FOUND"
}
}]
}
Toegang Tussen Projecten Geweigerd
{
"errors": [{
"message": "You are not authorized.",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Bestandsbehandeling
Verplaatsingen Binnen Hetzelfde Project
- Bestanden worden rechtstreeks verplaatst zonder kopieën te maken
- Alle bestandsmachtigingen worden behouden
Verplaatsingen Tussen Projecten
- Nieuwe kopieën van bestanden worden gemaakt in de opslag van het bestemmingsproject
- Oorspronkelijke bestanden worden asynchroon verwijderd na succesvolle kopie
- Bestandsmachtigingen kunnen worden bijgewerkt op basis van de instellingen van het bestemmingsproject
MEMBER
gebruikers kunnen alleen bestanden verplaatsen die zij bezitten
Bijwerkingen
Het verplaatsen van een record activeert verschillende automatische acties:
- Activiteitenregistratie - Creëert een activiteitsrecord dat de verplaatsing toont
- Meldingen - Stelt relevante projectleden op de hoogte
- Webhooks - Activeert
handleTodoMoved
webhook evenement - Automatiseringen - Voert automatiseringen uit die zijn geconfigureerd voor recordverplaatsingen
- Realtime Updates - Publiceert live-updates naar alle verbonden clients
- Grafiekupdates - Update projectgrafieken en statistieken
Belangrijke Notities
- Volledige Kopie: Alle recordgegevens worden gekopieerd - je kunt niet selectief alleen bepaalde elementen verplaatsen
- Automatische Positie: Records worden altijd aan het einde van de bestemmingslijst geplaatst
- Beperkingen Tussen Projecten:
MEMBER
gebruikers kunnen geen records verplaatsen tussen projecten - Asynchrone Opruiming: Bestandsopruiming gebeurt op de achtergrond voor verplaatsingen tussen projecten
- Behouden Geschiedenis: Opmerkingen, activiteiten en auditsporen worden behouden
- Webhook Evenementen: Verplaatsingsoperaties activeren zowel verwijderings- als creatie-evenementen voor realtime synchronisatie
Gebruikscases
Werk Herstructureren
Verplaats records tussen lijsten om de projectstructuur of workflowfasen te herstructureren.
Overdracht Tussen Projecten
Verplaats records tussen projecten wanneer werk naar een ander team of fase moet worden verplaatst.
Lijst Consolidatie
Verplaats records bij het combineren of herstructureren van projectlijsten.