Pindahkan rekaman ke daftar yang berbeda dalam proyek yang sama atau antar proyek dengan penyalinan dan validasi yang komprehensif.
Pindahkan Rekaman ke Daftar
Mutasi moveTodo
memungkinkan Anda untuk memindahkan rekaman ke daftar yang berbeda. Operasi ini membuat salinan lengkap dari rekaman di daftar tujuan dan menghapusnya dari daftar sumber. Rekaman dapat dipindahkan dalam proyek yang sama atau antar proyek yang berbeda (dengan izin yang sesuai).
Contoh Dasar
mutation MoveTodo {
moveTodo(
input: {
todoId: "todo_123abc"
todoListId: "list_456def"
}
)
}
Contoh Pindah Antar-Proyek
mutation MoveTodoAcrossProjects {
moveTodo(
input: {
todoId: "todo_123abc"
todoListId: "different-project-list_789xyz"
}
)
}
Parameter Input
MoveTodoInput
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
todoId |
String! | ✅ Ya | ID dari rekaman yang akan dipindahkan |
todoListId |
String! | ✅ Ya | ID dari daftar tujuan |
Respons
Mutasi mengembalikan nilai Boolean!
:
true
- Rekaman berhasil dipindahkan- Kesalahan akan dilemparkan jika gagal daripada mengembalikan
false
Apa yang Dipindahkan
Ketika rekaman dipindahkan, elemen berikut disalin ke lokasi baru:
- ✅ Penugasan - Semua pengguna yang ditugaskan
- ✅ Daftar Periksa - Semua item daftar periksa dan status penyelesaiannya
- ✅ Komentar - Semua komentar dan balasan
- ✅ Bidang Kustom - Semua nilai bidang kustom
- ✅ Deskripsi - Deskripsi lengkap rekaman dan formatnya
- ✅ Tanggal Jatuh Tempo - Tanggal dan waktu jatuh tempo asli
- ✅ Tag - Semua tag yang terkait
- ✅ Tindakan Todo - Semua sub-tugas dan item tindakan
- ✅ Berkas - Semua lampiran berkas (dengan penanganan khusus untuk pindahan antar-proyek)
Penanganan Posisi
- Rekaman secara otomatis diposisikan di akhir daftar tujuan
- Anda tidak dapat menentukan posisi kustom - itu dihitung secara otomatis
- Posisi diatur ke posisi maksimum saat ini + 65.535
Izin yang Diperlukan
Tingkat izin yang berbeda memiliki kemampuan yang berbeda:
Peran Pengguna | Proyek yang Sama | Antar-Proyek | Akses Berkas |
---|---|---|---|
OWNER |
✅ Ya | ✅ Ya | All files |
ADMIN |
✅ Ya | ✅ Ya | All files |
MEMBER |
✅ Ya | ❌ Tidak | Own files only |
Persyaratan Izin
- Anda harus memiliki akses
OWNER
,ADMIN
, atauMEMBER
ke proyek sumber - Anda harus memiliki akses ke proyek tujuan
- Pengguna
MEMBER
tidak dapat memindahkan rekaman antar proyek yang berbeda - Kedua proyek harus aktif (tidak diarsipkan)
Respons Kesalahan
Rekaman Tidak Ditemukan
{
"errors": [{
"message": "Todo was not found.",
"extensions": {
"code": "TODO_NOT_FOUND"
}
}]
}
Daftar Tidak Ditemukan
{
"errors": [{
"message": "Todo list was not found.",
"extensions": {
"code": "TODO_LIST_NOT_FOUND"
}
}]
}
Izin Antar-Proyek Ditolak
{
"errors": [{
"message": "You are not authorized.",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Penanganan Berkas
Pindahan Proyek yang Sama
- Berkas dipindahkan secara langsung tanpa membuat salinan
- Semua izin berkas dipertahankan
Pindahan Antar-Proyek
- Salinan baru berkas dibuat di penyimpanan proyek tujuan
- Berkas asli dihapus secara asinkron setelah salinan berhasil
- Izin berkas dapat diperbarui berdasarkan pengaturan proyek tujuan
- Pengguna
MEMBER
hanya dapat memindahkan berkas yang mereka miliki
Efek Samping
Memindahkan rekaman memicu beberapa tindakan otomatis:
- Pencatatan Aktivitas - Membuat catatan aktivitas yang menunjukkan pemindahan
- Notifikasi - Memberi tahu anggota proyek yang relevan
- Webhook - Memicu acara webhook
handleTodoMoved
- Automasi - Menjalankan automasi yang dikonfigurasi untuk pemindahan rekaman
- Pembaruan Waktu Nyata - Menerbitkan pembaruan langsung ke semua klien yang terhubung
- Pembaruan Grafik - Memperbarui grafik dan statistik proyek
Catatan Penting
- Salinan Lengkap: Semua data rekaman disalin - Anda tidak dapat memilih untuk memindahkan hanya elemen tertentu
- Posisi Otomatis: Rekaman selalu ditempatkan di akhir daftar tujuan
- Pembatasan Antar-Proyek: Pengguna
MEMBER
tidak dapat memindahkan rekaman antar proyek - Pembersihan Asinkron: Pembersihan berkas terjadi di latar belakang untuk pindahan antar-proyek
- Mempertahankan Riwayat: Komentar, aktivitas, dan jejak audit dipertahankan
- Acara Webhook: Operasi pemindahan memicu acara penghapusan dan pembuatan untuk sinkronisasi waktu nyata
Kasus Penggunaan
Mengatur Ulang Pekerjaan
Pindahkan rekaman antar daftar untuk mengatur ulang struktur proyek atau tahap alur kerja.
Transfer Antar-Proyek
Transfer rekaman antar proyek ketika pekerjaan perlu dipindahkan ke tim atau fase yang berbeda.
Konsolidasi Daftar
Pindahkan rekaman saat menggabungkan atau merestrukturisasi daftar proyek.