diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2019-07-11 14:46:44 +0200 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2019-07-11 15:33:38 +0200 |
commit | 80e87885c14075183065ab26030c84e9ec71aa13 (patch) | |
tree | 40abff7496210bda5c73162987cf10e59b0b19e8 | |
parent | 0be898eb5906d7076c0d70a405c8b016de2639a3 (diff) | |
download | gitlab-ce-winh-multiple-boards-service.tar.gz |
Move functions for multiple boards to boardsStorewinh-multiple-boards-service
(cherry picked from commit 945ce9a1329821b4c7e8dc5b7663592244554b17)
-rw-r--r-- | app/assets/javascripts/boards/stores/boards_store.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/assets/javascripts/boards/stores/boards_store.js b/app/assets/javascripts/boards/stores/boards_store.js index b9cd4a143ef..74f0ab1f934 100644 --- a/app/assets/javascripts/boards/stores/boards_store.js +++ b/app/assets/javascripts/boards/stores/boards_store.js @@ -340,6 +340,40 @@ const boardsStore = { toggleIssueSubscription(endpoint) { return axios.post(endpoint); }, + + allBoards() { + return axios.get(this.generateBoardsPath()); + }, + + recentBoards() { + return axios.get(this.state.endpoints.recentBoardsEndpoint); + }, + + createBoard(board) { + const boardPayload = { ...board }; + boardPayload.label_ids = (board.labels || []).map(b => b.id); + + if (boardPayload.label_ids.length === 0) { + boardPayload.label_ids = ['']; + } + + if (boardPayload.assignee) { + boardPayload.assignee_id = boardPayload.assignee.id; + } + + if (boardPayload.milestone) { + boardPayload.milestone_id = boardPayload.milestone.id; + } + + if (boardPayload.id) { + return axios.put(this.generateBoardsPath(boardPayload.id), { board: boardPayload }); + } + return axios.post(this.generateBoardsPath(), { board: boardPayload }); + }, + + deleteBoard({ id }) { + return axios.delete(this.generateBoardsPath(id)); + }, }; BoardsStoreEE.initEESpecific(boardsStore); |