Benutzer zu Datensätzen mit der Blue API zuweisen, hinzufügen oder entfernen
Verwalten von Datensatz-Zuweisungen
Die Blue API bietet drei Operationen zum Verwalten von Datensatz-Zuweisungen: Zuweisungen festlegen (intelligente Zuordnung), Zuweisungen hinzufügen und Zuweisungen entfernen. Diese Operationen verwalten automatisch die Aktivitätsverfolgung, Benachrichtigungen, Webhooks und Echtzeit-Updates.
Zuweisungen für Datensätze festlegen (Intelligente Zuordnung)
Ersetzt alle aktuellen Zuweisungen durch eine neue Liste. Das System berechnet intelligent, welche Änderungen erforderlich sind, entfernt Benutzer, die nicht in der neuen Liste sind, und fügt neue hinzu.
mutation SetRecordAssignees {
setTodoAssignees(input: {
todoId: "record_abc123"
assigneeIds: ["user_123", "user_456", "user_789"]
}) {
success
operationId
}
}
Zuweisungen für Datensätze hinzufügen
Fügt neue Zuweisungen hinzu, ohne vorhandene zu entfernen. Nur Benutzer, die noch nicht zugewiesen sind, werden hinzugefügt.
mutation AddRecordAssignees {
addTodoAssignees(input: {
todoId: "record_abc123"
assigneeIds: ["user_999", "user_111"]
}) {
success
operationId
}
}
Zuweisungen für Datensätze entfernen
Entfernt spezifische Zuweisungen von einem Datensatz.
mutation RemoveRecordAssignees {
removeTodoAssignees(input: {
todoId: "record_abc123"
assigneeIds: ["user_456"]
}) {
success
operationId
}
}
Eingabeparameter
SetTodoAssigneesInput
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
todoId |
String! | ✅ Ja | Die ID des Datensatzes, dem Benutzer zugewiesen werden sollen |
assigneeIds |
[String!]! | ✅ Ja | Array von Benutzer-IDs, die zugewiesen werden sollen (ersetzt alle aktuellen Zuweisungen) |
AddTodoAssigneesInput
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
todoId |
String! | ✅ Ja | Die ID des Datensatzes, dem Benutzer zugewiesen werden sollen |
assigneeIds |
[String!]! | ✅ Ja | Array von Benutzer-IDs, die als Zuweisungen hinzugefügt werden sollen |
RemoveTodoAssigneesInput
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
todoId |
String! | ✅ Ja | Die ID des Datensatzes, von dem Zuweisungen entfernt werden sollen |
assigneeIds |
[String!]! | ✅ Ja | Array von Benutzer-IDs, die von den Zuweisungen entfernt werden sollen |
Antwortfelder
Feld | Typ | Beschreibung |
---|---|---|
success |
Boolean! | Ob die Operation erfolgreich abgeschlossen wurde |
operationId |
String | Eindeutiger Identifikator zur Verfolgung dieser Operation |
Erforderliche Berechtigungen
Zuweisungen festlegen/entfernen
Rolle | Kann Zuweisen/Entfernen |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
✅ Ja |
CLIENT |
✅ Ja |
VIEW_ONLY |
❌ Nein |
COMMENT_ONLY |
❌ Nein |
Zuweisungen hinzufügen
Rolle | Kann Zuweisungen hinzufügen |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
✅ Ja |
CLIENT |
✅ Ja |
VIEW_ONLY |
✅ Ja |
COMMENT_ONLY |
✅ Ja |
Fehlerantworten
Datensatz nicht gefunden
{
"errors": [{
"message": "Todo was not found.",
"extensions": {
"code": "TODO_NOT_FOUND"
}
}]
}
Unzureichende Berechtigungen
{
"errors": [{
"message": "You don't have permission to modify this record",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Ungültige Eingabe
{
"errors": [{
"message": "Variable '$input' got invalid value; Expected non-nullable type 'String!' not to be null.",
"extensions": {
"code": "GRAPHQL_VALIDATION_FAILED"
}
}]
}
Betriebsvergleich
Funktion | Zuweisungen festlegen | Zuweisungen hinzufügen | Zuweisungen entfernen |
---|---|---|---|
Logic | Smart replacement | Incremental addition | Selective removal |
Activity Tracking | ✅ Ja | ❌ Nein | ❌ Nein |
Benachrichtigungen | ✅ Ja | ❌ Nein | ❌ Nein |
Webhooks | ✅ Ja | ❌ Nein | ❌ Nein |
Automations | ✅ Ja | ❌ Nein | ❌ Nein |
Permission Level | Stricter | More permissive | Stricter |
Geschäftslogik
Intelligente Zuordnung (setTodoAssignees)
Wenn Sie setTodoAssignees
verwenden, führt das System:
- Vergleicht Listen: Analysiert aktuelle Zuweisungen vs neue Zuweisungsliste
- Berechnet Änderungen: Bestimmt, wer entfernt, behalten und hinzugefügt werden soll
- Entfernt Benutzer: Weist Benutzer, die nicht in der neuen Liste sind, ab
- Fügt Benutzer hinzu: Weist Benutzer in der neuen Liste zu, die zuvor nicht zugewiesen waren
- Verfolgt Aktivitäten: Erstellt Protokolleinträge für jede Änderung
- Sendet Benachrichtigungen: Benachrichtigt neu zugewiesene Benutzer
- Löst Webhooks aus: Aktiviert Webhooks für hinzugefügte/entfernte Zuweisungen
- Aktualisiert Diagramme: Markiert Analysediagramme zur Aktualisierung
- Echtzeit-Updates: Veröffentlicht Updates an verbundene Clients
Einfache Operationen (hinzufügen/entfernen)
Die addTodoAssignees
und removeTodoAssignees
Operationen bieten grundlegende Funktionalität ohne die umfassenden Verfolgungs- und Benachrichtigungsfunktionen von setTodoAssignees
.
Wichtige Hinweise
- Projektmitgliedschaft: Zuweisungen sollten Mitglieder des Projekts sein, das den Datensatz enthält
- Keine Zuweisungsgrenzen: Es gibt keine maximale Anzahl von Zuweisungen pro Datensatz
- Selbstzuweisung: Benutzer können sich selbst zuweisen, wenn sie über die entsprechenden Berechtigungen verfügen
- Leere Arrays: Das Bereitstellen eines leeren
assigneeIds
Arrays ansetTodoAssignees
entfernt alle Zuweisungen - Verhinderung von Duplikaten: Das System verhindert automatisch doppelte Zuweisungen
- Datenbankeffizienz: Verwendet eine Verknüpfungstabelle (
TodoUser
) für skalierbare viele-zu-viele Beziehungen - Echtzeit-Updates: Alle verbundenen Clients erhalten sofortige Updates, wenn sich Zuweisungen ändern
Verfügbare Zuweisungen abrufen
Um eine Liste von Benutzern zu erhalten, die Datensätzen in einem Projekt zugewiesen werden können:
query GetAssignees {
assignees(projectId: "project_abc123") {
id
name
email
avatar
}
}
Diese Abfrage gibt alle Projektmitglieder zurück, die potenziell Datensätzen zugewiesen werden können.
Verwandte Operationen
- Datensätze auflisten - Holen Sie sich Datensätze mit ihren aktuellen Zuweisungen
- Datensatz aktualisieren - Ändern Sie andere Eigenschaften des Datensatzes
- Kommentar hinzufügen - Fügen Sie Kommentare zu zugewiesenen Datensätzen hinzu