Proyek di Blue membentuk kerangka dasar untuk mengorganisir pengguna dan data.


Daftar Semua Proyek

Kueri projectList memungkinkan Anda untuk mengambil proyek dengan opsi penyaringan, pengurutan, dan paginasi yang kuat.

Contoh Dasar

query ProjectListQuery {
  projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
    items {
      id
      uid
      slug
      name
      description
      archived
      color
      icon
      createdAt
      updatedAt
      allowNotification
      position
      unseenActivityCount
      todoListsMaxPosition
      lastAccessedAt
      isTemplate
      automationsCount
      totalFileCount
      totalFileSize
      todoAlias
    }
    pageInfo {
      totalPages
      totalItems
      page
      perPage
      hasNextPage
      hasPreviousPage
    }
  }
}

Contoh Lanjutan dengan Penyaringan dan Pengurutan

query FilteredProjectList {
  projectList(
    filter: {
      companyIds: ["company-123", "company-456"]
      archived: false
      isTemplate: false
      search: "marketing"
      inProject: true
      folderId: null  # Get root-level projects only
    }
    sort: [position_ASC, name_ASC]
    skip: 0
    take: 50
  ) {
    items {
      id
      name
      slug
      position
      archived
    }
    totalCount
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Bidang Proyek

Tabel berikut menjelaskan semua bidang yang tersedia untuk setiap proyek dalam ProjectListQuery:

Field Type Description
id ID! Pengidentifikasi unik untuk proyek
uid String! Pengidentifikasi unik yang ramah pengguna untuk proyek
slug String! Nama proyek yang ramah URL
name String! Nama tampilan proyek
description String Deskripsi singkat tentang proyek
archived Boolean Boolean yang menunjukkan apakah proyek diarsipkan
color String Warna yang terkait dengan proyek untuk identifikasi visual
icon String Ikon yang terkait dengan proyek untuk identifikasi visual
image Image Objek gambar sampul proyek
createdAt DateTime! Stempel waktu saat proyek dibuat
updatedAt DateTime! Stempel waktu saat proyek terakhir diperbarui
allowNotification Boolean! Boolean yang menunjukkan apakah notifikasi diaktifkan untuk proyek
position Float! Nilai numerik yang mewakili posisi proyek dalam daftar
unseenActivityCount Int! Jumlah aktivitas yang belum terlihat dalam proyek
todoListsMaxPosition Float! Nilai posisi maksimum untuk daftar tugas dalam proyek
lastAccessedAt DateTime Stempel waktu saat proyek terakhir diakses
isTemplate Boolean! Boolean yang menunjukkan apakah proyek adalah template
isOfficialTemplate Boolean! Boolean yang menunjukkan apakah ini adalah template resmi Blue
automationsCount(isActive: Boolean) Int! Jumlah otomatisasi yang terkait dengan proyek
totalFileCount Int Total jumlah file dalam proyek
totalFileSize Float Total ukuran semua file dalam proyek (dalam byte)
todoAlias String Alias kustom untuk "todo" yang digunakan dalam proyek
category ProjectCategory! Kategori proyek (CRM, PEMASARAN, dll.)
hideEmailFromRoles [UserAccessLevel!] Array peran yang harus menyembunyikan alamat email
hideStatusUpdate Boolean Boolean untuk menyembunyikan pembaruan status
company Company! Detail lengkap objek perusahaan
accessLevel(userId: String) UserAccessLevel Dapatkan tingkat akses pengguna untuk proyek tertentu
folder Folder Folder yang berisi proyek ini
features [ProjectFeature!] Array fitur proyek yang diaktifkan
sequenceCustomField CustomField Bidang kustom yang digunakan untuk penomoran urut
coverConfig TodoCoverConfig Konfigurasi untuk gambar sampul tugas
hideRecordCount Boolean Apakah menyembunyikan jumlah catatan
showTimeSpentInTodoList Boolean Apakah menunjukkan waktu yang dihabiskan dalam daftar tugas
showTimeSpentInProject Boolean Apakah menunjukkan waktu yang dihabiskan dalam proyek
todoFields [TodoField] Definisi bidang tugas kustom

Catatan: Anda dapat meminta kombinasi bidang ini dalam kueri GraphQL Anda.

Bidang Paginasi

Objek pageInfo menyediakan detail paginasi untuk hasil kueri:

Field Type Description
totalPages Int Total jumlah halaman hasil
totalItems Int Total jumlah proyek yang cocok dengan kueri
page Int Nomor halaman saat ini
perPage Int Jumlah item per halaman
hasNextPage Boolean! Boolean yang menunjukkan apakah ada halaman hasil berikutnya
hasPreviousPage Boolean! Boolean yang menunjukkan apakah ada halaman hasil sebelumnya

Parameter Kueri

Opsi Penyaringan (ProjectListFilter)

Parameter Type Required Description
companyIds [String!]! ✅ Ya Array ID perusahaan atau slug untuk dicari
ids [String!] Tidak Filter berdasarkan ID proyek tertentu
archived Boolean Tidak Filter berdasarkan status diarsipkan (true/false)
isTemplate Boolean Tidak Filter proyek template (true/false)
search String Tidak Cari proyek berdasarkan nama (tidak sensitif huruf besar/kecil)
folderId String Tidak Filter berdasarkan ID folder. Gunakan null untuk proyek tingkat akar
inProject Boolean Tidak Filter berdasarkan keanggotaan pengguna. Lihat catatan di bawah

Catatan tentang filter inProject:

  • true atau undefined: Mengembalikan proyek yang menjadi anggota pengguna
  • false: Mengembalikan proyek yang TIDAK ada dalam keanggotaan pengguna (memerlukan izin pemilik perusahaan)
  • Penyaringan folder (folderId) hanya berfungsi ketika inProject tidak false

Opsi Pengurutan (ProjectSort)

Value Description
id_ASC Urutkan berdasarkan ID naik
id_DESC Urutkan berdasarkan ID turun
name_ASC Urutkan berdasarkan nama naik (A-Z)
name_DESC Urutkan berdasarkan nama turun (Z-A)
createdAt_ASC Urutkan berdasarkan tanggal pembuatan (terlama terlebih dahulu)
createdAt_DESC Urutkan berdasarkan tanggal pembuatan (terbaru terlebih dahulu)
updatedAt_ASC Urutkan berdasarkan pembaruan terakhir (terlama terlebih dahulu)
updatedAt_DESC Urutkan berdasarkan pembaruan terakhir (terbaru terlebih dahulu)
position_ASC Urutkan berdasarkan posisi naik*
position_DESC Urutkan berdasarkan posisi turun*

*Pengurutan posisi hanya tersedia saat melihat proyek yang menjadi anggota pengguna (inProject !== false)

Parameter Paginasi

Parameter Type Default Description
skip Int 0 Jumlah catatan yang akan dilewati
take Int 20 Jumlah catatan yang akan dikembalikan

Catatan Penting

  1. Perilaku default untuk proyek non-anggota (inProject: false):

    • Mengecualikan proyek yang diarsipkan kecuali filter archived secara eksplisit diatur
    • Mengecualikan proyek template kecuali filter isTemplate secara eksplisit diatur
  2. Batasan penyaringan folder:

    • Hanya berfungsi saat menunjukkan proyek pengguna
    • Tidak dapat digunakan dengan inProject: false
    • Gunakan folderId: null untuk mendapatkan proyek yang tidak ada dalam folder mana pun
  3. Fallback pengurutan:

    • Pengurutan posisi diabaikan saat melihat proyek non-anggota
    • Kembali ke pengurutan nama dalam kasus tersebut
  4. Parameter yang sudah tidak digunakan:

    • orderBy, after, before, first, last sudah tidak digunakan
    • Gunakan sort, skip, dan take sebagai gantinya

Asisten AI

Respon dihasilkan menggunakan AI dan mungkin mengandung kesalahan.

Bagaimana saya bisa membantu Anda?

Tanyakan apa saja tentang Blue atau dokumentasi ini.

Masukkan untuk mengirim • Shift+Masukkan untuk baris baru • ⌘I untuk membuka