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:

  1. Vergleicht Listen: Analysiert aktuelle Zuweisungen vs neue Zuweisungsliste
  2. Berechnet Änderungen: Bestimmt, wer entfernt, behalten und hinzugefügt werden soll
  3. Entfernt Benutzer: Weist Benutzer, die nicht in der neuen Liste sind, ab
  4. Fügt Benutzer hinzu: Weist Benutzer in der neuen Liste zu, die zuvor nicht zugewiesen waren
  5. Verfolgt Aktivitäten: Erstellt Protokolleinträge für jede Änderung
  6. Sendet Benachrichtigungen: Benachrichtigt neu zugewiesene Benutzer
  7. Löst Webhooks aus: Aktiviert Webhooks für hinzugefügte/entfernte Zuweisungen
  8. Aktualisiert Diagramme: Markiert Analysediagramme zur Aktualisierung
  9. 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 an setTodoAssignees 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

KI-Assistent

Antworten werden mit KI generiert und können Fehler enthalten.

Wie kann ich Ihnen helfen?

Fragen Sie mich alles über Blue oder diese Dokumentation.

Eingabe zum Senden • Shift+Eingabe für neue Zeile • ⌘I zum Öffnen