Beheer todo-lijsten binnen projecten - maak, bewerk, verwijder en raadpleeg lijsten


Overzicht

Lijsten in Blue zijn containers voor het organiseren van todo's binnen een project. Elke lijst kan meerdere todo's bevatten en helpt om werk in logische groepen te structureren. Lijsten ondersteunen positionering, vergrendeling en rolgebaseerde toegangscontrole.

Belangrijke Concepten

  • Elk project kan tot 50 lijsten hebben
  • Lijsten zijn geordend op positie (oplopend)
  • Lijsten kunnen worden vergrendeld om wijzigingen te voorkomen
  • Lijsten respecteren projectniveau en rolgebaseerde machtigingen
  • Verwijderde lijsten worden naar de prullenbak verplaatst (zachte verwijdering)

Vragen

Verkrijg een Enkele Lijst

Haal een specifieke todo-lijst op via ID.

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

Verkrijg Alle Lijsten in een Project

Haal alle todo-lijsten op voor een specifiek project.

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

Geavanceerde Lijst Vraag

Vraag lijsten op met filtering, sorteren en paginering.

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
      }
    }
  }
}

Mutaties

Maak een Lijst

Maak een nieuwe todo-lijst in een project.

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

Voorbeeld:

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

Bewerk een Lijst

Werk de eigenschappen van een bestaande todo-lijst bij.

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

Voorbeeld:

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

Verwijder een Lijst

Verwijder een todo-lijst (verplaatst naar de prullenbak).

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

Voorbeeld:

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

Markeer Lijst als Voltooid/Niet Voltooid

Markeer alle todo's in een lijst als voltooid of niet voltooid.

# 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)
}

Invoertypes

CreateTodoListInput

Parameter Type Vereist Beschrijving
projectId String! ✅ Ja De project-ID waar de lijst zal worden gemaakt
title String! ✅ Ja De naam van de lijst
position Float! ✅ Ja De positie van de lijst (voor ordening)

EditTodoListInput

Parameter Type Vereist Beschrijving
todoListId String! ✅ Ja De ID van de lijst om te bewerken
title String Nee Nieuwe titel voor de lijst
position Float Nee Nieuwe positie voor de lijst
isLocked Boolean Nee Of de lijst vergrendeld moet zijn

DeleteTodoListInput

Parameter Type Vereist Beschrijving
projectId String! ✅ Ja De project-ID (voor verificatie)
todoListId String! ✅ Ja De ID van de lijst om te verwijderen

TodoListsFilterInput

Parameter Type Vereist Beschrijving
companyIds [String!]! ✅ Ja Filter op bedrijfs-ID's
projectIds [String!] Nee Filter op specifieke project-ID's
ids [String!] Nee Filter op specifieke lijst-ID's
titles [String!] Nee Filter op lijsttitels
search String Nee Zoek lijsten op titel

TodoListsSort Waarden

Waarde Beschrijving
title_ASC Sorteer op titel oplopend
title_DESC Sorteer op titel aflopend
createdAt_ASC Sorteer op aanmaakdatum oplopend
createdAt_DESC Sorteer op aanmaakdatum aflopend
updatedAt_ASC Sorteer op update datum oplopend
updatedAt_DESC Sorteer op update datum aflopend
position_ASC Sorteer op positie oplopend (standaard)
position_DESC Sorteer op positie aflopend

Antwoordtypes

TodoList Type

Veld Type Beschrijving
id ID! Unieke identificatie
uid String! Gebruiksvriendelijke identificatie
position Float! Lijstpositie voor ordening
title String! Lijstnaam
isDisabled Boolean! Of de lijst is uitgeschakeld
isLocked Boolean Of de lijst is vergrendeld
createdAt DateTime! Aanmaak tijdstempel
updatedAt DateTime! Laatste update tijdstempel
activity Activity Geassocieerde activiteitslog
createdBy User Gebruiker die de lijst heeft gemaakt
project Project! Bovenliggend project
todos [Todo!]! Todo's in deze lijst
todosCount Int! Aantal todo's

TodoListsPagination Type

Veld Type Beschrijving
items [TodoList!]! Array van todo-lijsten
pageInfo PageInfo! Paginainformatie

Vereiste Machtigingen

Vraag Machtigingen

Operatie Vereiste Machtiging
todoList Must be authenticated
todoLists Must be authenticated and in company
todoListQueries.todoLists Must be authenticated and in company

Mutatie Machtigingen

Operatie Toegestane Projectniveau Rollen
createTodoList OWNER, ADMIN, MEMBER
editTodoList OWNER, ADMIN, MEMBER, CLIENT
deleteTodoList OWNER, ADMIN, MEMBER
markTodoListAsDone OWNER, ADMIN, MEMBER
markTodoListAsUndone OWNER, ADMIN, MEMBER

Opmerking: Gebruikers met de CLIENT-rol kunnen lijsten bewerken, maar kunnen ze niet maken of verwijderen. Gebruikers met de VIEW_ONLY of COMMENT_ONLY-rollen kunnen geen lijsten maken, bewerken of verwijderen.

Fout Antwoorden

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 Lijsten Fout

{
  "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"
    }
  }]
}

Belangrijke Notities

  • Lijst Limiet: Elk project kan maximaal 50 lijsten hebben
  • Zachte Verwijdering: Verwijderde lijsten worden naar de prullenbak verplaatst en kunnen mogelijk worden hersteld
  • Positiebeheer: Zorg ervoor dat posities niet conflicteren bij het maken van lijsten. Gebruik incrementele waarden (1.0, 2.0, 3.0) om invoeging tussen lijsten mogelijk te maken
  • Rolgebaseerde Toegang: Lijsten kunnen verborgen worden voor bepaalde rollen met behulp van ProjectUserRoleTodoList machtigingen
  • Webhooks: Het maken, bijwerken en verwijderen van lijsten activeert webhooks als deze zijn geconfigureerd
  • Activiteit Tracking: Alle lijstoperaties worden gelogd in de activiteitenfeed
  • Real-time Updates: Wijzigingen in lijsten worden gepubliceerd via abonnementen voor real-time updates

Gerelateerde Operaties

  • Gebruik todos query om todo's binnen een lijst op te halen
  • Gebruik createTodo mutatie om todo's aan een lijst toe te voegen
  • Gebruik moveTodo mutatie om todo's tussen lijsten te verplaatsen
  • Abonneer je op lijstwijzigingen met behulp van subscribeToTodoList abonnement

AI Assistent

Antwoorden worden gegenereerd met behulp van AI en kunnen fouten bevatten.

Hoe kan ik u helpen?

Vraag me alles over Blue of deze documentatie.

Voer in om te verzenden • Shift+Enter voor nieuwe regel • ⌘I om te openen