Issue Boards - Backend
Summary
This is a meta issue to index Backend tasks related to the #17907 (closed). Issues in bold, means that someone is currently working on it.
Backend
-
Create Models -
Board
- Project (references)
-
List
- Board (references)
- Label (references)
- Type (integer)
- Position (integer)
-
-
Create Services -
Boards::CreateService
-
Boards::Lists::CreateService
-
Boards::Lists::GenerateService
- Create the default lists (
Development
,Testing
,Production
,Ready
)
- Create the default lists (
-
Boards::Lists::MoveService
- Move position of the list inside the board
-
Boards::Lists::DestroyService
-
Boards::Issues::ListService
- List issues for a specific list
-
Boards::Issues::MoveService
- When moving from the backlog, just add the new label.
- Moving an issue between lists removes the label from the list it came from (exception: backlog) and adds the label of the list it goes to.
- When moving to Done, remove the label of the list it came from and close the issue.
-
-
Create Endpoints -
GET /:namespace_id/:project_id/board
- Renders the issue board
- Creates a new board if project does not have one
-
GET /:namespace_id/:project_id/board/lists
- Returns board lists
-
POST /:namespace_id/:project_id/board/lists
- Create a new list for the selected label
-
POST /:namespace_id/:project_id/board/lists/generate
- Generate the default board lists for a project
-
PATCH /:namespace_id/:project_id/board/lists/:id
- Move list (position)
-
DESTROY /:namespace_id/:project_id/boards/lists/:id
- Remove list from board
-
GET /:namespace_id/:project_id/board/lists/:id/issues
- Retrieve issues for a label/list that matches filter params
- Reuse
IssuesFinder
- Reuse
- Retrieve issues for a label/list that matches filter params
-
PATCH /:namespace_id/:project_id/board/issues/:id
- Move issues between lists (
:form_list_id
,:to_list_id
)
- Move issues between lists (
-
-
Add authorization to issues board related controllers