Cara mengarsipkan dan membatalkan pengarsipan proyek di Blue.
Arsipkan Proyek
Mengarsipkan proyek berguna ketika Anda ingin menyembunyikan proyek sementara tanpa menghapusnya secara permanen. Proyek yang diarsipkan:
- Tersembunyi dari daftar proyek aktif
- Tidak dapat diedit atau dimodifikasi
- Masih dapat dilihat oleh anggota proyek
- Dapat dibatalkan pengarsipannya kapan saja
Contoh Dasar
mutation {
archiveProject(id: "project-123")
}
Menggunakan Header Konteks Proyek
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
Dengan Variabel
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
Variabel:
{
"projectId": "abc123-project-id"
}
Batalkan Pengarsipan Proyek
Untuk mengembalikan proyek yang diarsipkan ke status aktif:
mutation {
unarchiveProject(id: "project-123")
}
Parameter Mutasi
archiveProject
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
id |
String | Tidak | ID proyek yang akan diarsipkan. Jika tidak diberikan, menggunakan proyek dari header konteks. |
unarchiveProject
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
id |
String | Tidak | ID proyek yang akan dibatalkan pengarsipannya. Jika tidak diberikan, menggunakan proyek dari header konteks. |
Respons
Kedua mutasi mengembalikan Boolean yang menunjukkan keberhasilan:
Field | Tipe | Deskripsi |
---|---|---|
Boolean |
Boolean! | Mengembalikan true ketika operasi berhasil |
Izin yang Diperlukan
Peran Proyek | Dapat Mengarsipkan/Membatalkan Pengarsipan |
---|---|
OWNER |
✅ Ya |
ADMIN |
✅ Ya |
MEMBER |
❌ Tidak |
CLIENT |
❌ Tidak |
COMMENT_ONLY |
❌ Tidak |
VIEW_ONLY |
❌ Tidak |
Resolusi ID Proyek
ID proyek dapat ditentukan dengan dua cara:
-
Sebagai parameter (disarankan):
archiveProject(id: "project-123")
-
Melalui header HTTP:
x-bloo-project-id: project-123
(lebih disukai)x-project-id: project-123
(tidak disarankan)
Jika keduanya diberikan, parameter memiliki prioritas.
Respons Kesalahan
Proyek Tidak Ditemukan
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Izin Tidak Cukup
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Apa yang Terjadi Saat Mengarsipkan
Ketika Anda mengarsipkan sebuah proyek:
- Status Proyek: Proyek ditandai sebagai diarsipkan
- Visibilitas: Tersembunyi dari daftar proyek aktif
- Template: Jika proyek adalah template, status template hilang
- Posisi: Dipindahkan ke akhir daftar proyek pengguna
- Folder: Dihapus dari folder proyek mana pun
- Log Aktivitas: Tindakan arsip dicatat
- Pembaruan Waktu Nyata: Semua pengguna yang terhubung diberi tahu
Catatan Penting
- Operasi Idempotent: Mengarsipkan proyek yang sudah diarsipkan mengembalikan
true
tanpa perubahan - Dapat Dibalik: Gunakan
unarchiveProject
untuk mengembalikan proyek - Akses Tampilan: Proyek yang diarsipkan tetap dapat dilihat oleh anggota yang ada
- Tidak Ada Kehilangan Data: Mengarsipkan mempertahankan semua data proyek, tidak seperti penghapusan
- Alternatif untuk Penghapusan: Pertimbangkan untuk mengarsipkan sebagai pengganti penghapusan untuk penghapusan sementara