Tilldela, lägg till eller ta bort användare från poster med hjälp av Blue API
Hantera Post Tilldelningar
Blue API tillhandahåller tre operationer för att hantera post tilldelningar: ställa in tilldelningar (smart ersättning), lägga till tilldelningar och ta bort tilldelningar. Dessa operationer hanterar automatiskt aktivitetsövervakning, meddelanden, webhooks och realtidsuppdateringar.
Ställ in Post Tilldelningar (Smart Tilldelning)
Ersätter alla nuvarande tilldelningar med en ny lista. Systemet beräknar intelligent vilka ändringar som behövs, tar bort användare som inte finns i den nya listan och lägger till nya.
mutation SetRecordAssignees {
setTodoAssignees(input: {
todoId: "record_abc123"
assigneeIds: ["user_123", "user_456", "user_789"]
}) {
success
operationId
}
}
Lägg till Post Tilldelningar
Lägger till nya tilldelningar utan att ta bort befintliga. Endast användare som inte redan är tilldelade kommer att läggas till.
mutation AddRecordAssignees {
addTodoAssignees(input: {
todoId: "record_abc123"
assigneeIds: ["user_999", "user_111"]
}) {
success
operationId
}
}
Ta bort Post Tilldelningar
Tar bort specifika tilldelningar från en post.
mutation RemoveRecordAssignees {
removeTodoAssignees(input: {
todoId: "record_abc123"
assigneeIds: ["user_456"]
}) {
success
operationId
}
}
Indata Parametrar
SetTodoAssigneesInput
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
todoId |
String! | ✅ Ja | ID för posten att tilldela användare till |
assigneeIds |
[String!]! | ✅ Ja | Array av användar-ID:n att tilldela (ersätter alla nuvarande tilldelningar) |
AddTodoAssigneesInput
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
todoId |
String! | ✅ Ja | ID för posten att tilldela användare till |
assigneeIds |
[String!]! | ✅ Ja | Array av användar-ID:n att lägga till som tilldelningar |
RemoveTodoAssigneesInput
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
todoId |
String! | ✅ Ja | ID för posten att ta bort tilldelningar från |
assigneeIds |
[String!]! | ✅ Ja | Array av användar-ID:n att ta bort från tilldelningar |
Svarsfält
Fält | Typ | Beskrivning |
---|---|---|
success |
Boolean! | Om operationen slutfördes framgångsrikt |
operationId |
String | Unik identifierare för att spåra denna operation |
Obligatoriska Behörigheter
Ställ in/Ta bort Tilldelningar
Roll | Kan Tilldela/Ta bort |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
✅ Ja |
CLIENT |
✅ Ja |
VIEW_ONLY |
❌ Nej |
COMMENT_ONLY |
❌ Nej |
Lägg till Tilldelningar
Roll | Kan Lägga till Tilldelningar |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
✅ Ja |
CLIENT |
✅ Ja |
VIEW_ONLY |
✅ Ja |
COMMENT_ONLY |
✅ Ja |
Fel Svar
Posten Hittades Inte
{
"errors": [{
"message": "Todo was not found.",
"extensions": {
"code": "TODO_NOT_FOUND"
}
}]
}
Otillräckliga Behörigheter
{
"errors": [{
"message": "You don't have permission to modify this record",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Ogiltig Indata
{
"errors": [{
"message": "Variable '$input' got invalid value; Expected non-nullable type 'String!' not to be null.",
"extensions": {
"code": "GRAPHQL_VALIDATION_FAILED"
}
}]
}
Jämförelse av Operationer
Funktion | Ställ in Tilldelningar | Lägg till Tilldelningar | Ta bort Tilldelningar |
---|---|---|---|
Logic | Smart replacement | Incremental addition | Selective removal |
Activity Tracking | ✅ Ja | ❌ Nej | ❌ Nej |
Meddelanden | ✅ Ja | ❌ Nej | ❌ Nej |
Webhooks | ✅ Ja | ❌ Nej | ❌ Nej |
Automations | ✅ Ja | ❌ Nej | ❌ Nej |
Permission Level | Stricter | More permissive | Stricter |
Affärslogik
Smart Tilldelning (setTodoAssignees)
När du använder setTodoAssignees
, gör systemet:
- Jämför Listor: Analyserar nuvarande tilldelningar vs ny tilldelningslista
- Beräknar Ändringar: Bestämmer vem som ska tas bort, behållas och läggas till
- Tar Bort Användare: Avregistrerar användare som inte finns i den nya listan
- Lägger Till Användare: Tilldelar användare i den nya listan som inte tidigare var tilldelade
- Spårar Aktivitet: Skapar aktivitetsloggposter för varje ändring
- Skickar Meddelanden: Meddelar nyss tilldelade användare
- Utlöser Webhooks: Aktiverar webhooks för tilldelad/avlägsnad
- Uppdaterar Diagram: Markerar analysdiagram för uppdatering
- Realtidsuppdateringar: Publicerar uppdateringar till anslutna klienter
Enkla Operationer (lägg till/ta bort)
Operationerna addTodoAssignees
och removeTodoAssignees
tillhandahåller grundläggande funktionalitet utan den omfattande spårningen och meddelandefunktionerna av setTodoAssignees
.
Viktiga Anteckningar
- Projektmedlemskap: Tilldelningar bör vara medlemmar av projektet som innehåller posten
- Inga Tilldelningsgränser: Det finns inget maximalt antal tilldelningar per post
- Själv-Tilldelning: Användare kan tilldela sig själva om de har rätt behörigheter
- Tomma Arrayer: Att tillhandahålla en tom
assigneeIds
array tillsetTodoAssignees
tar bort alla tilldelningar - Dupliceringsförebyggande: Systemet förhindrar automatiskt duplicerade tilldelningar
- Databas Effektivitet: Använder en kopplingstabell (
TodoUser
) för skalbara många-till-många-relationer - Realtidsuppdateringar: Alla anslutna klienter får omedelbara uppdateringar när tilldelningar ändras
Hämta Tillgängliga Tilldelningar
För att få en lista över användare som kan tilldelas till poster i ett projekt:
query GetAssignees {
assignees(projectId: "project_abc123") {
id
name
email
avatar
}
}
Denna fråga returnerar alla projektmedlemmar som potentiellt kan tilldelas till poster.
Relaterade Operationer
- Lista Poster - Hämta poster med sina nuvarande tilldelningar
- Uppdatera Post - Ändra andra postegenskaper
- Lägg till Kommentar - Lägg till kommentarer till tilldelade poster