summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinnie Hellmann <winnie@gitlab.com>2019-07-11 14:46:44 +0200
committerWinnie Hellmann <winnie@gitlab.com>2019-07-11 15:33:38 +0200
commit80e87885c14075183065ab26030c84e9ec71aa13 (patch)
tree40abff7496210bda5c73162987cf10e59b0b19e8
parent0be898eb5906d7076c0d70a405c8b016de2639a3 (diff)
downloadgitlab-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.js34
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);