Mengambil daftar pengguna di perusahaan atau proyek dengan penyaringan dan paginasi.
Daftar Pengguna
Blue menyediakan beberapa kueri untuk mendaftar pengguna di berbagai lingkup - seluruh perusahaan, spesifik proyek, atau pencarian pengguna individu. Kueri ini mendukung paginasi, penyaringan, dan pengurutan untuk mengelola basis pengguna yang besar secara efisien.
Contoh Dasar - Pengguna Perusahaan
Daftar semua pengguna di sebuah perusahaan:
query ListCompanyUsers {
companyUserList(companyId: "acme-corp") {
users {
id
email
fullName
jobTitle
lastActiveAt
}
pageInfo {
totalItems
hasNextPage
}
}
}
Contoh Lanjutan - Pengguna Proyek yang Disaring
Daftar pengguna proyek dengan pencarian dan paginasi:
query ListProjectUsers {
projectUserList(
projectId: "web-redesign"
search: "engineer"
first: 20
orderBy: lastActiveAt_DESC
) {
edges {
node {
id
email
fullName
accessLevel
customRole {
id
name
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
Kueri yang Tersedia
companyUserList
Mendaftar semua pengguna di sebuah perusahaan dengan penyaringan opsional.
Parameter Masukan
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
companyId |
String! | ✅ Ya | ID perusahaan atau slug |
notInProjectId |
String | Tidak | Mengecualikan pengguna yang sudah ada di proyek ini |
search |
String | Tidak | Mencari berdasarkan nama atau email |
first |
Int | Tidak | Jumlah hasil yang akan dikembalikan (paginasi maju) |
after |
String | Tidak | Kursor untuk paginasi maju |
last |
Int | Tidak | Jumlah hasil yang akan dikembalikan (paginasi mundur) |
before |
String | Tidak | Kursor untuk paginasi mundur |
skip |
Int | Tidak | Jumlah hasil yang akan dilewati |
orderBy |
UserOrderByInput | Tidak | Urutan pengurutan (lihat di bawah) |
projectUserList
Mendaftar semua pengguna di proyek tertentu.
Parameter Masukan
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
projectId |
String! | ✅ Ya | ID proyek atau slug |
search |
String | Tidak | Mencari berdasarkan nama atau email |
first |
Int | Tidak | Jumlah hasil (maks: 200) |
after |
String | Tidak | Kursor untuk paginasi |
orderBy |
UserOrderByInput | Tidak | Urutan pengurutan |
user
Mengambil satu pengguna berdasarkan ID.
Parameter Masukan
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
id |
String! | ✅ Ya | ID Pengguna |
Opsi Pengurutan
UserOrderByInput Values
Nilai | Deskripsi |
---|---|
createdAt_ASC |
Urut berdasarkan tanggal pendaftaran (terlama terlebih dahulu) |
createdAt_DESC |
Urut berdasarkan tanggal pendaftaran (terbaru terlebih dahulu) |
lastActiveAt_ASC |
Urut berdasarkan aktivitas terakhir (terlama terlebih dahulu) |
lastActiveAt_DESC |
Urut berdasarkan aktivitas terakhir (terbaru terlebih dahulu) |
firstName_ASC |
Urut berdasarkan nama depan (A-Z) |
firstName_DESC |
Urut berdasarkan nama depan (Z-A) |
lastName_ASC |
Urut berdasarkan nama belakang (A-Z) |
lastName_DESC |
Urut berdasarkan nama belakang (Z-A) |
email_ASC |
Urut berdasarkan alamat email (A-Z) |
email_DESC |
Urut berdasarkan alamat email (Z-A) |
username_ASC |
Urut berdasarkan nama pengguna (A-Z) |
username_DESC |
Urut berdasarkan nama pengguna (Z-A) |
jobTitle_ASC |
Urut berdasarkan jabatan (A-Z) |
jobTitle_DESC |
Urut berdasarkan jabatan (Z-A) |
Bidang Respons
Objek Pengguna
Bidang | Tipe | Deskripsi |
---|---|---|
id |
String! | Pengidentifikasi pengguna yang unik |
uid |
String! | UID autentikasi Firebase |
username |
String! | Nama pengguna yang dipilih oleh pengguna |
email |
String! | Alamat email (hanya terlihat oleh PEMILIK/ADMIN) |
firstName |
String | Nama depan |
lastName |
String | Nama belakang |
fullName |
String | Gabungan nama depan dan nama belakang |
jobTitle |
String | Jabatan profesional |
phoneNumber |
String | Nomor kontak |
dateOfBirth |
DateTime | Tanggal lahir |
isEmailVerified |
Boolean! | Status verifikasi email |
lastActiveAt |
DateTime | Timestamp aktivitas terakhir |
createdAt |
DateTime! | Tanggal pembuatan akun |
updatedAt |
DateTime! | Pembaruan profil terakhir |
isOnline |
Boolean! | Status online saat ini |
timezone |
String | Zona waktu pengguna |
locale |
String | Preferensi bahasa |
theme |
JSON | Preferensi tema UI |
image |
Image | Objek gambar profil |
Bidang Tambahan Pengguna Proyek
Saat mendaftar pengguna proyek, bidang tambahan tersedia:
Bidang | Tipe | Deskripsi |
---|---|---|
accessLevel |
UserAccessLevel! | Peran pengguna dalam proyek |
customRole |
ProjectUserRole | Detail peran kustom jika berlaku |
joinedAt |
DateTime! | Saat pengguna bergabung dengan proyek |
Info Paginasi
Bidang | Tipe | Deskripsi |
---|---|---|
totalItems |
Int! | Jumlah total pengguna |
totalPages |
Int | Total halaman (untuk paginasi offset) |
page |
Int | Nomor halaman saat ini |
perPage |
Int | Item per halaman |
hasNextPage |
Boolean! | Hasil lebih banyak tersedia |
hasPreviousPage |
Boolean! | Hasil sebelumnya tersedia |
startCursor |
String | Kursor item pertama |
endCursor |
String | Kursor item terakhir |
Izin yang Diperlukan
Kueri | Izin yang Diperlukan |
---|---|
companyUserList |
Any authenticated user in the company |
projectUserList |
Any project member (including VIEW_ONLY) |
user |
Any authenticated user |
Respons Kesalahan
Perusahaan Tidak Ditemukan
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Proyek Tidak Ditemukan
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Akses Tidak Sah
{
"errors": [{
"message": "You don't have access to this resource",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Catatan Penting
- Kinerja: Gunakan paginasi untuk daftar pengguna besar (maks 200 pengguna per permintaan)
- Pencarian: Mencari di seluruh nama depan, nama belakang, dan kolom email
- Privasi Email: Alamat email hanya terlihat oleh pengguna dengan level akses PEMILIK atau ADMIN
- Status Online:
isOnline
diperbarui secara real-time melalui koneksi WebSocket - Gambar Profil: Gunakan bidang
image.variants
untuk ukuran yang berbeda - Penyaringan: Parameter
notInProjectId
berguna saat membangun antarmuka pemilihan pengguna - Level Akses: Daftar pengguna proyek mencakup informasi peran yang tidak tersedia di daftar perusahaan
Operasi Terkait
- Ikhtisar Manajemen Pengguna - Operasi manajemen pengguna
- Hapus Pengguna - Hapus pengguna dari proyek
- Peran Kustom - Kelola izin pengguna