Verwalten Sie To-Do-Listen innerhalb von Projekten - Erstellen, Bearbeiten, Löschen und Abfragen von Listen


Übersicht

Listen in Blue sind Container zur Organisation von To-Dos innerhalb eines Projekts. Jede Liste kann mehrere To-Dos enthalten und hilft, die Arbeit in logische Gruppen zu strukturieren. Listen unterstützen Positionierung, Sperrung und rollenbasierte Zugriffskontrolle.

Schlüsselkonzepte

  • Jedes Projekt kann bis zu 50 Listen haben
  • Listen sind nach Position (aufsteigend) geordnet
  • Listen können gesperrt werden, um Änderungen zu verhindern
  • Listen respektieren projektbezogene und rollenbasierte Berechtigungen
  • Gelöschte Listen werden in den Papierkorb verschoben (weiches Löschen)

Abfragen

Eine einzelne Liste abrufen

Rufen Sie eine bestimmte To-Do-Liste nach ID ab.

query GetTodoList($id: String!) {
  todoList(id: $id) {
    id
    uid
    title
    position
    isDisabled
    isLocked
    createdAt
    updatedAt
    project {
      id
      name
    }
    createdBy {
      id
      username
    }
  }
}

Alle Listen in einem Projekt abrufen

Rufen Sie alle To-Do-Listen für ein bestimmtes Projekt ab.

query GetProjectLists($projectId: String!) {
  todoLists(projectId: $projectId) {
    id
    uid
    title
    position
    isDisabled
    isLocked
    createdAt
    updatedAt
  }
}

Erweiterte Listenabfrage

Abfragen von Listen mit Filterung, Sortierung und Seitenumbruch.

query SearchTodoLists($filter: TodoListsFilterInput!, $sort: [TodoListsSort!], $skip: Int, $take: Int) {
  todoListQueries {
    todoLists(filter: $filter, sort: $sort, skip: $skip, take: $take) {
      items {
        id
        uid
        title
        position
        isDisabled
        isLocked
        createdAt
        updatedAt
        project {
          id
          name
        }
      }
      pageInfo {
        hasNextPage
        hasPreviousPage
        total
      }
    }
  }
}

Mutationen

Eine Liste erstellen

Erstellen Sie eine neue To-Do-Liste in einem Projekt.

mutation CreateTodoList($input: CreateTodoListInput!) {
  createTodoList(input: $input) {
    id
    uid
    title
    position
    isDisabled
    isLocked
    createdAt
    project {
      id
      name
    }
  }
}

Beispiel:

mutation {
  createTodoList(input: {
    projectId: "project-123"
    title: "Sprint 1 Tasks"
    position: 1.0
  }) {
    id
    title
  }
}

Eine Liste bearbeiten

Aktualisieren Sie die Eigenschaften einer vorhandenen To-Do-Liste.

mutation EditTodoList($input: EditTodoListInput!) {
  editTodoList(input: $input) {
    id
    title
    position
    isLocked
    updatedAt
  }
}

Beispiel:

mutation {
  editTodoList(input: {
    todoListId: "list-123"
    title: "Sprint 1 - In Progress"
    position: 2.0
    isLocked: true
  }) {
    id
    title
    isLocked
  }
}

Eine Liste löschen

Löschen Sie eine To-Do-Liste (wird in den Papierkorb verschoben).

mutation DeleteTodoList($input: DeleteTodoListInput!) {
  deleteTodoList(input: $input) {
    success
  }
}

Beispiel:

mutation {
  deleteTodoList(input: {
    projectId: "project-123"
    todoListId: "list-123"
  }) {
    success
  }
}

Liste als erledigt/nicht erledigt markieren

Markieren Sie alle To-Dos in einer Liste als erledigt oder nicht erledigt.

# Mark as done
mutation MarkListDone($todoListId: String!, $filter: TodosFilter) {
  markTodoListAsDone(todoListId: $todoListId, filter: $filter)
}

# Mark as undone
mutation MarkListUndone($todoListId: String!, $filter: TodosFilter) {
  markTodoListAsUndone(todoListId: $todoListId, filter: $filter)
}

Eingabetypen

CreateTodoListInput

Parameter Typ Erforderlich Beschreibung
projectId String! ✅ Ja Die Projekt-ID, in der die Liste erstellt wird
title String! ✅ Ja Der Name der Liste
position Float! ✅ Ja Die Position der Liste (zur Sortierung)

EditTodoListInput

Parameter Typ Erforderlich Beschreibung
todoListId String! ✅ Ja Die ID der zu bearbeitenden Liste
title String Nein Neuer Titel für die Liste
position Float Nein Neue Position für die Liste
isLocked Boolean Nein Ob die Liste gesperrt werden soll

DeleteTodoListInput

Parameter Typ Erforderlich Beschreibung
projectId String! ✅ Ja Die Projekt-ID (zur Überprüfung)
todoListId String! ✅ Ja Die ID der zu löschenden Liste

TodoListsFilterInput

Parameter Typ Erforderlich Beschreibung
companyIds [String!]! ✅ Ja Nach Unternehmens-IDs filtern
projectIds [String!] Nein Nach bestimmten Projekt-IDs filtern
ids [String!] Nein Nach bestimmten Listen-IDs filtern
titles [String!] Nein Nach Listentiteln filtern
search String Nein Listen nach Titel durchsuchen

TodoListsSort-Werte

Wert Beschreibung
title_ASC Nach Titel aufsteigend sortieren
title_DESC Nach Titel absteigend sortieren
createdAt_ASC Nach Erstellungsdatum aufsteigend sortieren
createdAt_DESC Nach Erstellungsdatum absteigend sortieren
updatedAt_ASC Nach Aktualisierungsdatum aufsteigend sortieren
updatedAt_DESC Nach Aktualisierungsdatum absteigend sortieren
position_ASC Nach Position aufsteigend sortieren (Standard)
position_DESC Nach Position absteigend sortieren

Antworttypen

TodoList-Typ

Feld Typ Beschreibung
id ID! Eindeutiger Identifikator
uid String! Benutzerfreundlicher Identifikator
position Float! Listenposition zur Sortierung
title String! Listenname
isDisabled Boolean! Ob die Liste deaktiviert ist
isLocked Boolean Ob die Liste gesperrt ist
createdAt DateTime! Erstellungszeitstempel
updatedAt DateTime! Letzter Aktualisierungszeitstempel
activity Activity Zugehöriges Aktivitätsprotokoll
createdBy User Benutzer, der die Liste erstellt hat
project Project! Übergeordnetes Projekt
todos [Todo!]! To-Dos in dieser Liste
todosCount Int! Anzahl der To-Dos

TodoListsPagination-Typ

Feld Typ Beschreibung
items [TodoList!]! Array von To-Do-Listen
pageInfo PageInfo! Seiteninformationen

Erforderliche Berechtigungen

Abfrageberechtigungen

Operation Erforderliche Berechtigung
todoList Must be authenticated
todoLists Must be authenticated and in company
todoListQueries.todoLists Must be authenticated and in company

Mutationsberechtigungen

Operation Projektbezogene Rollen erlaubt
createTodoList OWNER, ADMIN, MEMBER
editTodoList OWNER, ADMIN, MEMBER, CLIENT
deleteTodoList OWNER, ADMIN, MEMBER
markTodoListAsDone OWNER, ADMIN, MEMBER
markTodoListAsUndone OWNER, ADMIN, MEMBER

Hinweis: Benutzer mit der CLIENT-Rolle können Listen bearbeiten, aber nicht erstellen oder löschen. Benutzer mit VIEW_ONLY- oder COMMENT_ONLY-Rollen können keine Listen erstellen, bearbeiten oder löschen.

Fehlerantworten

TodoListNotFoundError

{
  "errors": [{
    "message": "Todo list was not found.",
    "extensions": {
      "code": "TODO_LIST_NOT_FOUND"
    }
  }]
}

ProjectNotFoundError

{
  "errors": [{
    "message": "Project was not found.",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Maximum Lists Error

{
  "errors": [{
    "message": "You have reached the maximum number of todo lists for this project.",
    "extensions": {
      "code": "INTERNAL_SERVER_ERROR"
    }
  }]
}

UnauthorizedError

{
  "errors": [{
    "message": "Unauthorized",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

Wichtige Hinweise

  • Listenlimit: Jedes Projekt kann maximal 50 Listen haben
  • Weiches Löschen: Gelöschte Listen werden in den Papierkorb verschoben und können möglicherweise wiederhergestellt werden
  • Positionsverwaltung: Stellen Sie beim Erstellen von Listen sicher, dass die Positionen nicht in Konflikt stehen. Verwenden Sie inkrementelle Werte (1.0, 2.0, 3.0), um das Einfügen zwischen Listen zu ermöglichen
  • Rollenbasierter Zugriff: Listen können für bestimmte Rollen mithilfe von ProjectUserRoleTodoList-Berechtigungen verborgen werden
  • Webhooks: Die Erstellung, Aktualisierung und Löschung von Listen löst Webhooks aus, wenn sie konfiguriert sind
  • Aktivitätsverfolgung: Alle Listenoperationen werden im Aktivitätsprotokoll protokolliert
  • Echtzeit-Updates: Änderungen an Listen werden über Abonnements für Echtzeit-Updates veröffentlicht

Verwandte Operationen

  • Verwenden Sie todos Abfrage, um To-Dos innerhalb einer Liste abzurufen
  • Verwenden Sie createTodo Mutation, um To-Dos zu einer Liste hinzuzufügen
  • Verwenden Sie moveTodo Mutation, um To-Dos zwischen Listen zu verschieben
  • Abonnieren Sie Listenänderungen mit subscribeToTodoList Abonnement

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