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ålla roleId i inviteUser 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

AI-assistent

Svar genereras med hjälp av AI och kan innehålla misstag.

Hur kan jag hjälpa dig?

Fråga mig vad som helst om Blue eller denna dokumentation.

Tryck Enter för att skicka • Shift+Enter för ny rad • ⌘I för att öppna