Skip to content

kpak292/java-kanban

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-kanban

Repository for homework project.

Endpoints

/tasks

GET

  • /tasks/all - retrieve all tasks as json
Example
  [
  {
  "ID": 3,
  "Type": "Task",
  "Name": "Description3",
  "Description": "Description3",
  "Status": "NEW",
  "StartTime": "01.01.2024 09:00",
  "Duration": 90
  },
  {
  "ID": 2,
  "Type": "Epic",
  "Name": "Description2",
  "Description": "Description2",
  "Status": "NEW",
  "StartTime": "01.01.2024 15:00",
  "Duration": 210,
  "SubtaskIDs": [
  6,
  7
  ]
  },
  {
  "ID": 7,
  "Type": "Subtask",
  "Name": "Description7",
  "Description": "Description7",
  "Status": "NEW",
  "StartTime": "01.01.2024 17:00",
  "Duration": 90,
  "EpicID": 2
  }
  ]
  • /tasks/tasks - retrieve only Task type in Json
Example
[
  {
    "id": 3,
    "name": "Task1",
    "description": "Description3",
    "status": "NEW",
    "startTime": "01.01.2024 09:00",
    "duration": 90
  },
  {
    "id": 4,
    "name": "Task2",
    "description": "Description4",
    "status": "NEW",
    "startTime": "01.01.2024 11:00",
    "duration": 90
  }
]
  • /tasks/epics - retrieve only Epic type in Json
Example
[
  {
    "ID": 1,
    "Type": "Epic",
    "Name": "Description1",
    "Description": "Description1",
    "Status": "NEW",
    "StartTime": "01.01.2024 13:00",
    "Duration": 90,
    "SubtaskIDs": [
      5
    ]
  },
  {
    "ID": 2,
    "Type": "Epic",
    "Name": "Description2",
    "Description": "Description2",
    "Status": "NEW",
    "StartTime": "01.01.2024 15:00",
    "Duration": 210,
    "SubtaskIDs": [
      6,
      7
    ]
  }
]
  • /tasks/subtasks - retrieve only Subtask type in Json
Example
[
  {
    "ID": 5,
    "Type": "Subtask",
    "Name": "Description5",
    "Description": "Description5",
    "Status": "NEW",
    "StartTime": "01.01.2024 13:00",
    "Duration": 90,
    "EpicID": 1
  },
  {
    "ID": 6,
    "Type": "Subtask",
    "Name": "Description6",
    "Description": "Description6",
    "Status": "NEW",
    "StartTime": "01.01.2024 15:00",
    "Duration": 90,
    "EpicID": 2
  },
  {
    "ID": 7,
    "Type": "Subtask",
    "Name": "Description7",
    "Description": "Description7",
    "Status": "NEW",
    "StartTime": "01.01.2024 17:00",
    "Duration": 90,
    "EpicID": 2
  }
]
  • /tasks/[Task ID] - retrieve Task by ID, ID should be positive int
Example 200 SUCCESS
{
  "ID": 1,
  "Type": "Epic",
  "Name": "Description1",
  "Description": "Description1",
  "Status": "NEW",
  "StartTime": "01.01.2024 13:00",
  "Duration": 90,
  "SubtaskIDs": [
    5
  ]
}
Example 404
Error: Can't find Task 12

DELETE

  • /tasks/all - delete all tasks
Example 201 SUCCESS
SUCCESS
  • /tasks/tasks - delete only Task type
Example 201 SUCCESS
SUCCESS
  • /tasks/subtasks - delete only Subtasks type
Example 201 SUCCESS
SUCCESS
  • /tasks/epics - delete only Epics
Example 201 SUCCESS
SUCCESS
  • /tasks/subtasks - delete only Subtasks type
Example 201 SUCCESS
SUCCESS
  • /tasks/[Task ID] - delete Task by ID, ID should be positive int
Example 201 SUCCESS
SUCCESS
Example 404
Error: Can't find Task 12

POST

  • /tasks - Receives Json input and add task (id == 0) or update (depends on ID)
Input Example
[
  {
    "ID": 2,
    "Type": "Epic",
    "Name": "Description2",
    "Description": "Description2",
    "Status": "NEW",
    "StartTime": "01.01.2024 15:00",
    "Duration": 210,
    "SubtaskIDs": [
      6,
      7
    ]
  },
  {
    "ID": 6,
    "Type": "Subtask",
    "Name": "Description6",
    "Description": "Description6",
    "Status": "NEW",
    "StartTime": "01.01.2024 15:00",
    "Duration": 90,
    "EpicID": 2
  },
  {
    "id": 3,
    "name": "Task1",
    "description": "Description3",
    "status": "NEW",
    "startTime": "01.01.2024 09:00",
    "duration": 90
  }
]
Example 200 SUCCESS
{
  "ID": 2,
  "Type": "EPIC",
  "Name": "Epic2",
  "Description": "Description2",
  "Status": "NEW",
  "Duration": 0,
  "SubtaskIDs": []
}
Example 406
Error: Task can't be updated

/history

GET

  • /history - retrieves history of task view as json
Example 200 SUCCESS
[
  "ID:1 Type:Epic Name:Epic2 - 13.09.2024 09:28",
  "ID:3 Type:Epic Name:Epic2 - 13.09.2024 09:28"
]

/prioritized

GET

  • /prioritized - retrieves tasks with due date prioritization
Example 200 SUCCESS
[
  {
    "ID": 3,
    "Type": "TASK",
    "Name": "Task1",
    "Description": "Description3",
    "Status": "NEW",
    "StartTime": "01.01.2024 09:00",
    "Duration": 90
  },
  {
    "ID": 4,
    "Type": "TASK",
    "Name": "Task2",
    "Description": "Description4",
    "Status": "NEW",
    "StartTime": "01.01.2024 11:00",
    "Duration": 90
  },
  {
    "ID": 5,
    "Type": "SUBTASK",
    "Name": "Subtask1",
    "Description": "Description5",
    "Status": "NEW",
    "StartTime": "01.01.2024 13:00",
    "Duration": 90,
    "EpicID": 1
  },
  {
    "ID": 6,
    "Type": "SUBTASK",
    "Name": "Subtask2",
    "Description": "Description6",
    "Status": "NEW",
    "StartTime": "01.01.2024 15:00",
    "Duration": 90,
    "EpicID": 2
  },
  {
    "ID": 7,
    "Type": "SUBTASK",
    "Name": "Subtask3",
    "Description": "Description7",
    "Status": "NEW",
    "StartTime": "01.01.2024 17:00",
    "Duration": 90,
    "EpicID": 2
  }
]

About

Repository for homework project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages