Hämta, skapa, uppdatera och ta bort anpassade användarroller med detaljerade behörigheter.
Anpassade Roller
Anpassade roller i Blue gör att du kan definiera precisa uppsättningar av behörigheter skräddarsydda för ditt teams behov. Utöver de standardåtkomstnivåer (ÄGARE, ADMIN, MEDLEM, etc.) ger anpassade roller detaljerad kontroll över vad användare kan se och göra inom projekt.
Grundläggande Exempel - Lista Anpassade Roller
Hämta alla anpassade roller för ett projekt:
query GetProjectRoles {
projectUserRoles(filter: { projectId: "web-redesign" }) {
id
name
description
allowInviteOthers
canDeleteRecords
}
}
Avancerat Exempel - Skapa Anpassad Roll
Skapa en entreprenörsroll med specifika behörigheter:
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
}
}
Tillgängliga Operationer
Fråga: projectUserRoles
Hämta alla anpassade roller för ett projekt.
Inmatningsparametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
filter.projectId |
String | Nej | Projekt-ID eller slug (om inte angivet, returnerar roller för alla åtkomliga projekt) |
Mutation: createProjectUserRole
Skapa en ny anpassad roll med specifika behörigheter.
Inmatningsparametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
projectId |
String! | ✅ Ja | Projekt-ID eller slug |
name |
String! | ✅ Ja | Rollnamn |
description |
String | Nej | Rollbeskrivning |
Permission Flags | |||
allowInviteOthers |
Boolean | Nej | Kan bjuda in nya användare (standard: falskt) |
allowMarkRecordsAsDone |
Boolean | Nej | Kan slutföra uppgifter (standard: falskt) |
canDeleteRecords |
Boolean | Nej | Kan ta bort poster (standard: sant) |
Feature Access | |||
isActivityEnabled |
Boolean | Nej | Åtkomst till aktivitetsavsnittet (standard: sant) |
isChatEnabled |
Boolean | Nej | Åtkomst till chatt (standard: sant) |
isDocsEnabled |
Boolean | Nej | Åtkomst till dokument (standard: sant) |
isFilesEnabled |
Boolean | Nej | Åtkomst till filer (standard: sant) |
isFormsEnabled |
Boolean | Nej | Åtkomst till formulär (standard: sant) |
isWikiEnabled |
Boolean | Nej | Åtkomst till wiki (standard: sant) |
isRecordsEnabled |
Boolean | Nej | Åtkomst till register (standard: sant) |
isPeopleEnabled |
Boolean | Nej | Åtkomst till avsnittet personer (standard: sant) |
Visibility Settings | |||
showOnlyAssignedTodos |
Boolean | Nej | Ser endast tilldelade uppgifter (standard: falskt) |
showOnlyMentionedComments |
Boolean | Nej | Ser endast nämnda kommentarer (standard: falskt) |
Mutation: updateProjectUserRole
Uppdatera en befintlig anpassad roll.
Inmatningsparametrar
Samma som createProjectUserRole
, plus:
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
roleId |
String! | ✅ Ja | ID för rollen som ska uppdateras |
Mutation: deleteProjectUserRole
Ta bort en anpassad roll.
Inmatningsparametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
roleId |
String! | ✅ Ja | ID för rollen som ska tas bort |
projectId |
String! | ✅ Ja | Projekt-ID eller slug |
Svarsfält
ProjectUserRole Objekt
Fält | Typ | Beskrivning |
---|---|---|
id |
String! | Unik rollidentifierare |
name |
String! | Rollnamn |
description |
String | Rollbeskrivning |
createdAt |
DateTime! | Skapad tidsstämpel |
updatedAt |
DateTime! | Senaste uppdatering tidsstämpel |
Permissions | ||
allowInviteOthers |
Boolean! | Kan bjuda in användare |
allowMarkRecordsAsDone |
Boolean! | Kan slutföra uppgifter |
canDeleteRecords |
Boolean! | Kan ta bort poster |
Feature Flags | ||
isActivityEnabled |
Boolean! | Åtkomst till aktivitetsavsnittet |
isChatEnabled |
Boolean! | Åtkomst till chatt |
isDocsEnabled |
Boolean! | Åtkomst till dokument |
isFilesEnabled |
Boolean! | Åtkomst till filer |
isFormsEnabled |
Boolean! | Åtkomst till formulär |
isWikiEnabled |
Boolean! | Åtkomst till wiki |
isRecordsEnabled |
Boolean! | Åtkomst till register |
isPeopleEnabled |
Boolean! | Åtkomst till avsnittet personer |
Visibility | ||
showOnlyAssignedTodos |
Boolean! | Uppgifts synlighetsfilter |
showOnlyMentionedComments |
Boolean! | Kommentar synlighetsfilter |
Obligatoriska Behörigheter
Operation | Obligatorisk Behörighet |
---|---|
projectUserRoles |
Any project member |
createProjectUserRole |
Project OWNER or ADMIN |
updateProjectUserRole |
Project OWNER or ADMIN |
deleteProjectUserRole |
Project OWNER or ADMIN |
Fel Svar
Otillräckliga Behörigheter
{
"errors": [{
"message": "You don't have permission to manage custom roles",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Roll Inte Hittad
{
"errors": [{
"message": "Custom role not found",
"extensions": {
"code": "PROJECT_USER_ROLE_NOT_FOUND"
}
}]
}
Rollgräns Nådd
{
"errors": [{
"message": "Project user role limit reached.",
"extensions": {
"code": "PROJECT_USER_ROLE_LIMIT"
}
}]
}
Viktiga Anteckningar
- Standardbehörigheter: När roller skapas, standardinställningar för booleska behörigheter är falska förutom för
canDeleteRecords
som är sant - Rolltilldelning: Tilldela anpassade roller genom att ställa in
accessLevel: MEMBER
och tillhandahållaroleId
iinviteUser
mutation - Hierarki: Anpassade roller behandlas som MEDLEMS-nivå för hierarkiska syften
- Rollgränser: Varje projekt kan ha maximalt 20 anpassade roller
- Funktionsåtkomst: Funktionsflaggor kontrollerar åtkomst till hela avsnitt av applikationen
Användningsfall
Entreprenörsroll
{
name: "Contractor",
allowInviteOthers: false,
canDeleteRecords: false,
showOnlyAssignedTodos: true,
isActivityEnabled: true,
isChatEnabled: false,
isPeopleEnabled: false
}
Avdelningsledare
{
name: "Department Lead",
allowInviteOthers: true,
allowMarkRecordsAsDone: true,
canDeleteRecords: true,
isActivityEnabled: true,
isWikiEnabled: true,
isPeopleEnabled: true
}
Endast Läst Observer
{
name: "Observer",
allowMarkRecordsAsDone: false,
canDeleteRecords: false,
allowInviteOthers: false,
showOnlyMentionedComments: true,
isFormsEnabled: false
}
Relaterade Operationer
- Bjud in Användare - Tilldela anpassade roller till användare
- Lista Användare - Visa användare och deras roller
- Ta Bort Användare - Ta bort användare från projekt