គ្រប់គ្រងបញ្ជី todo ក្នុងគម្រោង - បង្កើត, កែប្រែ, លុប និងស្វែងរកបញ្ជី


ទិដ្ឋភាពទូទៅ

បញ្ជីក្នុង Blue គឺជាកុងតឺន័រដើម្បីរៀបចំ todos ក្នុងគម្រោងមួយ។ បញ្ជីមួយអាចកាន់ todos ច្រើន និងជួយរៀបចំការងារនៅក្នុងក្រុមដែលមានល្បឿន។ បញ្ជីគាំទ្រការកំណត់ទីតាំង, ការបិទ និងការគ្រប់គ្រងការចូលដំណើរការដែលមានមូលដ្ឋានលើតួនាទី។

គំនិតសំខាន់ៗ

  • គម្រោងមួយអាចមានបញ្ជីបានរហូតដល់ 50 បញ្ជី
  • បញ្ជីត្រូវបានរៀបចំតាមទីតាំង (កើនឡើង)
  • បញ្ជីអាចត្រូវបានបិទដើម្បីការពារការកែប្រែ
  • បញ្ជីគោរពសិទ្ធិមូលដ្ឋានគម្រោង និងសិទ្ធិមូលដ្ឋានលើតួនាទី
  • បញ្ជីដែលត្រូវបានលុបត្រូវបានផ្លាស់ទីទៅកាន់កុងតឺន័រលុប (លុបទន់)

សំណួរ

ទទួលបានបញ្ជីតែមួយ

ទាញយកបញ្ជី todo ជាក់លាក់តាម ID ។

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

ទទួលបានបញ្ជីទាំងអស់ក្នុងគម្រោងមួយ

ទាញយកបញ្ជី todo ទាំងអស់សម្រាប់គម្រោងជាក់លាក់មួយ។

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

សំណួរបញ្ជីកម្រិតខ្ពស់

សំណួរបញ្ជីជាមួយការកំណត់ត្រា, ការរៀបចំ និងការបែងចែកទំព័រ។

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

ការប្រែប្រួល

បង្កើតបញ្ជី

បង្កើតបញ្ជី todo ថ្មីក្នុងគម្រោងមួយ។

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

ឧទាហរណ៍:

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

កែប្រែបញ្ជី

ធ្វើអាប់ដេតលក្ខណៈរបស់បញ្ជី todo ដែលមានស្រាប់។

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

ឧទាហរណ៍:

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

លុបបញ្ជី

លុបបញ្ជី todo (ផ្លាស់ទីទៅកាន់កុងតឺន័រលុប)។

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

ឧទាហរណ៍:

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

គណនាបញ្ជីថា បានធ្វើ/មិនបានធ្វើ

គណនាទាំងអស់ todos ក្នុងបញ្ជីថា បានធ្វើ ឬ មិនបានធ្វើ។

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

ប្រភេទចូល

CreateTodoListInput

ប៉ារ៉ាម៉ែត្រ ប្រភេទ ត្រូវការទេ ការពិពណ៌នា
projectId String! ✅ បាទ ID គម្រោងដែលបញ្ជីនឹងត្រូវបានបង្កើត
title String! ✅ បាទ ឈ្មោះរបស់បញ្ជី
position Float! ✅ បាទ ទីតាំងរបស់បញ្ជី (សម្រាប់ការរៀបចំ)

EditTodoListInput

ប៉ារ៉ាម៉ែត្រ ប្រភេទ ត្រូវការទេ ការពិពណ៌នា
todoListId String! ✅ បាទ ID របស់បញ្ជីដែលត្រូវកែប្រែ
title String មិនត្រូវការទេ ចំណងជើងថ្មីសម្រាប់បញ្ជី
position Float មិនត្រូវការទេ ទីតាំងថ្មីសម្រាប់បញ្ជី
isLocked Boolean មិនត្រូវការទេ តើបញ្ជីត្រូវបានបិទឬអត់

DeleteTodoListInput

ប៉ារ៉ាម៉ែត្រ ប្រភេទ ត្រូវការទេ ការពិពណ៌នា
projectId String! ✅ បាទ ID គម្រោង (សម្រាប់ការបញ្ជាក់)
todoListId String! ✅ បាទ ID របស់បញ្ជីដែលត្រូវលុប

TodoListsFilterInput

ប៉ារ៉ាម៉ែត្រ ប្រភេទ ត្រូវការទេ ការពិពណ៌នា
companyIds [String!]! ✅ បាទ ការកំណត់តាម ID ក្រុមហ៊ុន
projectIds [String!] មិនត្រូវការទេ ការកំណត់តាម ID គម្រោងជាក់លាក់
ids [String!] មិនត្រូវការទេ ការកំណត់តាម ID បញ្ជីជាក់លាក់
titles [String!] មិនត្រូវការទេ ការកំណត់តាមចំណងជើងបញ្ជី
search String មិនត្រូវការទេ ស្វែងរកបញ្ជីតាមចំណងជើង

TodoListsSort Values

តម្លៃ ការពិពណ៌នា
title_ASC រៀបចំតាមចំណងជើងកើនឡើង
title_DESC រៀបចំតាមចំណងជើងកើនឡើង
createdAt_ASC រៀបចំតាមថ្ងៃបង្កើតកើនឡើង
createdAt_DESC រៀបចំតាមថ្ងៃបង្កើតកើនឡើង
updatedAt_ASC រៀបចំតាមថ្ងៃអាប់ដេតកើនឡើង
updatedAt_DESC រៀបចំតាមថ្ងៃអាប់ដេតកើនឡើង
position_ASC រៀបចំតាមទីតាំងកើនឡើង (លំនាំដើម)
position_DESC រៀបចំតាមទីតាំងកើនឡើង

ប្រភេទចម្លើយ

TodoList Type

វាល ប្រភេទ ការពិពណ៌នា
id ID! អត្តសញ្ញាណឯកតា
uid String! អត្តសញ្ញាណដែលងាយស្រួលប្រើ
position Float! ទីតាំងបញ្ជីសម្រាប់ការរៀបចំ
title String! ឈ្មោះបញ្ជី
isDisabled Boolean! តើបញ្ជីត្រូវបានបិទឬអត់
isLocked Boolean តើបញ្ជីត្រូវបានបិទឬអត់
createdAt DateTime! ម៉ោងបង្កើត
updatedAt DateTime! ម៉ោងអាប់ដេតចុងក្រោយ
activity Activity កំណត់ហេតុសកម្មភាពដែលភ្ជាប់
createdBy User អ្នកដែលបានបង្កើតបញ្ជី
project Project! គម្រោងមាត្រ
todos [Todo!]! Todos ក្នុងបញ្ជីនេះ
todosCount Int! ចំនួន todos

TodoListsPagination Type

វាល ប្រភេទ ការពិពណ៌នា
items [TodoList!]! អារ៉ាយនៃបញ្ជី todo
pageInfo PageInfo! ព័ត៌មានបែងចែក

សិទ្ធិដែលត្រូវការ

សិទ្ធិសំណួរ

ប្រតិបត្តិការ សិទ្ធិដែលត្រូវការ
todoList Must be authenticated
todoLists Must be authenticated and in company
todoListQueries.todoLists Must be authenticated and in company

សិទ្ធិការប្រែប្រួល

ប្រតិបត្តិការ តួនាទីមូលដ្ឋានគម្រោងដែលអនុញ្ញាត
createTodoList OWNER, ADMIN, MEMBER
editTodoList OWNER, ADMIN, MEMBER, CLIENT
deleteTodoList OWNER, ADMIN, MEMBER
markTodoListAsDone OWNER, ADMIN, MEMBER
markTodoListAsUndone OWNER, ADMIN, MEMBER

កំណត់ចំណាំ: អ្នកប្រើដែលមានតួនាទី CLIENT អាចកែប្រាបញ្ជីបាន ប៉ុន្តែមិនអាចបង្កើត ឬ លុបបានទេ។ អ្នកប្រើដែលមានតួនាទី VIEW_ONLY ឬ COMMENT_ONLY មិនអាចបង្កើត, កែប្រែ, ឬ លុបបញ្ជីបានទេ។

ចម្លើយកំហុស

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

កំណត់ចំណាំសំខាន់

  • កំណត់បញ្ជី: គម្រោងមួយអាចមានបញ្ជីបានរហូតដល់ 50 បញ្ជី
  • លុបទន់: បញ្ជីដែលត្រូវបានលុបត្រូវបានផ្លាស់ទីទៅកាន់កុងតឺន័រលុប និងអាចត្រូវបានស្ដារឡើងវិញ
  • ការគ្រប់គ្រងទីតាំង: នៅពេលបង្កើតបញ្ជី សូមប្រាកដថាទីតាំងមិនមានការប្រកួតប្រជែង។ ប្រើតម្លៃបន្ថែម (1.0, 2.0, 3.0) ដើម្បីអនុញ្ញាតឱ្យបញ្ចូលចន្លោះរវាងបញ្ជី
  • ការចូលដំណើរការដែលមានមូលដ្ឋានលើតួនាទី: បញ្ជីអាចត្រូវបានលាក់ពីតួនាទីជាក់លាក់ដោយប្រើសិទ្ធិ ProjectUserRoleTodoList
  • Webhooks: ការបង្កើត, ការអាប់ដេត, និងការលុបបញ្ជីបង្កើត webhooks ប្រសិនបើបានកំណត់
  • ការតាមដានសកម្មភាព: ការប្រតិបត្តិការទាំងអស់លើបញ្ជីត្រូវបានកំណត់ក្នុង feed សកម្មភាព
  • ការអាប់ដេតពេលវេលាពិត: ការផ្លាស់ប្តូរបញ្ជីត្រូវបានផ្សព្វផ្សាយតាមរយៈការជាវសម្រាប់ការអាប់ដេតពេលវេលាពិត

ប្រតិបត្តិការដែលពាក់ព័ន្ធ

  • ប្រើ todos សំណួរដើម្បីទាញយក todos ក្នុងបញ្ជី
  • ប្រើ createTodo ការប្រែប្រួលដើម្បីបន្ថែម todos ទៅក្នុងបញ្ជី
  • ប្រើ moveTodo ការប្រែប្រួលដើម្បីផ្លាស់ប្តូរទៅកាន់ todos រវាងបញ្ជី
  • ចុះឈ្មោះដើម្បីផ្លាស់ប្តូរបញ្ជីដោយប្រើ subscribeToTodoList ការជាវ

ជំនួយក្រុមហ៊ុន AI

ការឆ្លើយតបត្រូវបានបង្កើតឡើងដោយប្រើ AI ហើយអាចមានកំហុស។

ខ្ញុំអាចជួយអ្នកបានយ៉ាងដូចម្តេច?

សូមសួរអ្វីក៏បានអំពី Blue ឬឯកសារនេះ។

ចូលដើម្បីផ្ញើ • Shift+Enter សម្រាប់បន្ទាត់ថ្មី • ⌘I ដើម្បីបើក