Ambil, buat, perbarui, dan hapus peran pengguna kustom dengan izin yang terperinci.
Peran Kustom
Peran kustom di Blue memungkinkan Anda untuk mendefinisikan set izin yang tepat yang disesuaikan dengan kebutuhan tim Anda. Selain tingkat akses standar (PEMILIK, ADMIN, ANGGOTA, dll.), peran kustom memberikan kontrol terperinci atas apa yang dapat dilihat dan dilakukan pengguna dalam proyek.
Contoh Dasar - Daftar Peran Kustom
Ambil semua peran kustom untuk sebuah proyek:
query GetProjectRoles {
projectUserRoles(filter: { projectId: "web-redesign" }) {
id
name
description
allowInviteOthers
canDeleteRecords
}
}
Contoh Lanjutan - Buat Peran Kustom
Buat peran kontraktor dengan izin tertentu:
mutation CreateContractorRole {
createProjectUserRole(
input: {
projectId: "web-redesign"
name: "External Contractor"
description: "Limited access for external contractors"
allowInviteOthers: false
allowMarkRecordsAsDone: true
canDeleteRecords: false
showOnlyAssignedTodos: true
isActivityEnabled: true
isFormsEnabled: false
isWikiEnabled: true
isChatEnabled: false
isDocsEnabled: true
isFilesEnabled: true
isRecordsEnabled: true
isPeopleEnabled: false
}
) {
id
name
}
}
Operasi yang Tersedia
Query: projectUserRoles
Ambil semua peran kustom untuk sebuah proyek.
Parameter Input
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
filter.projectId |
String | Tidak | ID proyek atau slug (jika tidak diberikan, mengembalikan peran untuk semua proyek yang dapat diakses) |
Mutasi: createProjectUserRole
Buat peran kustom baru dengan izin tertentu.
Parameter Input
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
projectId |
String! | ✅ Ya | ID proyek atau slug |
name |
String! | ✅ Ya | Nama peran |
description |
String | Tidak | Deskripsi peran |
Permission Flags | |||
allowInviteOthers |
Boolean | Tidak | Dapat mengundang pengguna baru (default: false) |
allowMarkRecordsAsDone |
Boolean | Tidak | Dapat menyelesaikan tugas (default: false) |
canDeleteRecords |
Boolean | Tidak | Dapat menghapus catatan (default: true) |
Feature Access | |||
isActivityEnabled |
Boolean | Tidak | Akses ke bagian Aktivitas (default: true) |
isChatEnabled |
Boolean | Tidak | Akses ke Obrolan (default: true) |
isDocsEnabled |
Boolean | Tidak | Akses ke Dokumen (default: true) |
isFilesEnabled |
Boolean | Tidak | Akses ke Berkas (default: true) |
isFormsEnabled |
Boolean | Tidak | Akses ke Formulir (default: true) |
isWikiEnabled |
Boolean | Tidak | Akses ke Wiki (default: true) |
isRecordsEnabled |
Boolean | Tidak | Akses ke Catatan (default: true) |
isPeopleEnabled |
Boolean | Tidak | Akses ke bagian Orang (default: true) |
Visibility Settings | |||
showOnlyAssignedTodos |
Boolean | Tidak | Hanya melihat tugas yang ditugaskan (default: false) |
showOnlyMentionedComments |
Boolean | Tidak | Hanya melihat komentar yang disebutkan (default: false) |
Mutasi: updateProjectUserRole
Perbarui peran kustom yang ada.
Parameter Input
Sama seperti createProjectUserRole
, ditambah:
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
roleId |
String! | ✅ Ya | ID peran yang akan diperbarui |
Mutasi: deleteProjectUserRole
Hapus peran kustom.
Parameter Input
Parameter | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
roleId |
String! | ✅ Ya | ID peran yang akan dihapus |
projectId |
String! | ✅ Ya | ID proyek atau slug |
Bidang Respons
Objek ProjectUserRole
Field | Tipe | Deskripsi |
---|---|---|
id |
String! | Pengidentifikasi peran yang unik |
name |
String! | Nama peran |
description |
String | Deskripsi peran |
createdAt |
DateTime! | Stempel waktu pembuatan |
updatedAt |
DateTime! | Stempel waktu pembaruan terakhir |
Permissions | ||
allowInviteOthers |
Boolean! | Dapat mengundang pengguna |
allowMarkRecordsAsDone |
Boolean! | Dapat menyelesaikan tugas |
canDeleteRecords |
Boolean! | Dapat menghapus catatan |
Feature Flags | ||
isActivityEnabled |
Boolean! | Akses ke bagian Aktivitas |
isChatEnabled |
Boolean! | Akses ke Obrolan |
isDocsEnabled |
Boolean! | Akses ke Dokumen |
isFilesEnabled |
Boolean! | Akses ke Berkas |
isFormsEnabled |
Boolean! | Akses ke Formulir |
isWikiEnabled |
Boolean! | Akses ke Wiki |
isRecordsEnabled |
Boolean! | Akses ke Catatan |
isPeopleEnabled |
Boolean! | Akses ke bagian Orang |
Visibility | ||
showOnlyAssignedTodos |
Boolean! | Filter visibilitas tugas |
showOnlyMentionedComments |
Boolean! | Filter visibilitas komentar |
Izin yang Diperlukan
Operasi | Izin yang Diperlukan |
---|---|
projectUserRoles |
Any project member |
createProjectUserRole |
Project OWNER or ADMIN |
updateProjectUserRole |
Project OWNER or ADMIN |
deleteProjectUserRole |
Project OWNER or ADMIN |
Respons Kesalahan
Izin Tidak Cukup
{
"errors": [{
"message": "You don't have permission to manage custom roles",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Peran Tidak Ditemukan
{
"errors": [{
"message": "Custom role not found",
"extensions": {
"code": "PROJECT_USER_ROLE_NOT_FOUND"
}
}]
}
Batas Peran Tercapai
{
"errors": [{
"message": "Project user role limit reached.",
"extensions": {
"code": "PROJECT_USER_ROLE_LIMIT"
}
}]
}
Catatan Penting
- Izin Default: Saat membuat peran, izin boolean yang tidak ditentukan default ke false kecuali untuk
canDeleteRecords
yang default ke true - Penugasan Peran: Tugaskan peran kustom dengan mengatur
accessLevel: MEMBER
dan memberikanroleId
dalam mutasiinviteUser
- Hierarki: Peran kustom diperlakukan sebagai tingkat ANGGOTA untuk tujuan hierarki
- Batas Peran: Setiap proyek dapat memiliki maksimum 20 peran kustom
- Akses Fitur: Bendera fitur mengontrol akses ke seluruh bagian aplikasi
Kasus Penggunaan
Peran Kontraktor
{
name: "Contractor",
allowInviteOthers: false,
canDeleteRecords: false,
showOnlyAssignedTodos: true,
isActivityEnabled: true,
isChatEnabled: false,
isPeopleEnabled: false
}
Pemimpin Departemen
{
name: "Department Lead",
allowInviteOthers: true,
allowMarkRecordsAsDone: true,
canDeleteRecords: true,
isActivityEnabled: true,
isWikiEnabled: true,
isPeopleEnabled: true
}
Pengamat Hanya-Baca
{
name: "Observer",
allowMarkRecordsAsDone: false,
canDeleteRecords: false,
allowInviteOthers: false,
showOnlyMentionedComments: true,
isFormsEnabled: false
}
Operasi Terkait
- Undang Pengguna - Tugaskan peran kustom kepada pengguna
- Daftar Pengguna - Lihat pengguna dan peran mereka
- Hapus Pengguna - Hapus pengguna dari proyek