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-definedDone
list 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
-