Multiple Issue Boards - Backend
Summary
This is a meta issue to index Backend tasks related to the #929 (closed).
Backend
-
Models -
Board-
name (String) -
backlog_list_enabled (Boolean - default: true) -
done_list_enabled (Boolean - default: true)
-
-
Project-
boards (has_many) -
restrict numbers of boards to 1 on CE
-
-
-
Services -
Boards-
Update CreateService- Create a new board
-
Create ListService -
Create UpdateService -
Create DestroyService-
can't delete board if project have only 1 board
-
-
-
Boards::Lists-
Create ListService- List lists for a specific board
-
Update CreateService -
Update DestroyService -
Update GenerateService -
Update MoveService
-
-
Boards::Issues-
Update ListService -
Update 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 all list-labels from project boards -
When moving to Done, remove all list-labels for boards that use the pre-definedDonelist and close the issue.
-
-
-
-
Endpoints -
Create GET /:namespace_id/:project_id/boards-
Create if doesn't have one -
Returns issues boards -
Filter boards by name
-
-
Create POST /:namespace_id/:project_id/boards- Create a new board
-
Create PATCH /:namespace_id/:project_id/board/:id- Update board (name)
-
Create DESTROY /:namespace_id/:project_id/boards/:id- Remove board from project
-
Update GET /:namespace_id/:project_id/boards/:id- Should receive the board
id - Renders the issue board
- Should receive the board
-
Update GET /:namespace_id/:project_id/board/:board_id/lists- Returns board lists
-
Update POST /:namespace_id/:project_id/board/:board_id/lists- Create a new list for the selected label
-
Update POST /:namespace_id/:project_id/board/:board_id/lists/generate- Generate the default board lists for a specific board
-
Update PATCH /:namespace_id/:project_id/board/:board_id/lists/:id- Move list (position)
-
Update DESTROY /:namespace_id/:project_id/boards/:board_id/lists/:id- Remove list from board
-
Update GET /:namespace_id/:project_id/board/:board_id/lists/:id/issues- Retrieve issues for a label/list that matches filter params
-
Update PATCH /:namespace_id/:project_id/board/:board_id/issues/:id- Move issues between lists (
:form_list_id,:to_list_id)
- Move issues between lists (
-
-
Check authorization to issues board related controllers -
Minimize conflicts between CE/EE -
Remove unused code -
Projects::BoardListsController- CE -
Projects::BoardListsController- EE
-