-
+
{{ scope.option.label }}
@@ -21,20 +22,35 @@
{{ acl.participant.displayname }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/services/BoardApi.js b/src/services/BoardApi.js
index 8f8efb23f..66857269f 100644
--- a/src/services/BoardApi.js
+++ b/src/services/BoardApi.js
@@ -181,4 +181,51 @@ export class BoardApi {
})
}
+ // Acl API Calls
+
+ addAcl(acl) {
+ return axios.post(this.url(`/boards/${acl.boardId}/acl`), acl)
+ .then(
+ (response) => {
+ return Promise.resolve(response.data)
+ },
+ (err) => {
+ return Promise.reject(err)
+ }
+ )
+ .catch((err) => {
+ return Promise.reject(err)
+ })
+ }
+
+ updateAcl(acl) {
+ return axios.put(this.url(`/boards/${acl.boardId}/acl/${acl.id}`), acl)
+ .then(
+ (response) => {
+ return Promise.resolve(response.data)
+ },
+ (err) => {
+ return Promise.reject(err)
+ }
+ )
+ .catch((err) => {
+ return Promise.reject(err)
+ })
+ }
+
+ deleteAcl(acl) {
+ return axios.delete(this.url(`/boards/${acl.boardId}/acl/${acl.id}`))
+ .then(
+ (response) => {
+ return Promise.resolve(response.data)
+ },
+ (err) => {
+ return Promise.reject(err)
+ }
+ )
+ .catch((err) => {
+ return Promise.reject(err)
+ })
+ }
+
}
diff --git a/src/store/main.js b/src/store/main.js
index 1cb946e12..a7540edea 100644
--- a/src/store/main.js
+++ b/src/store/main.js
@@ -163,6 +163,27 @@ export default new Vuex.Store({
addLabelToCurrentBoard(state, newLabel) {
state.currentBoard.labels.push(newLabel)
+ },
+
+ // acl mutators
+ addAclToCurrentBoard(state, acl) {
+ console.log(state.currentBoard)
+ },
+ updateAclFromCurrentBoard(state, acl) {
+ for (var acl_ in state.currentBoard.acl) {
+ if (state.currentBoard.acl[acl_].participant.uid === acl.participant.uid) {
+ state.currentBoard.acl[acl_] = acl
+ break
+ }
+ }
+ },
+ deleteAclFromCurrentBoard(state, acl) {
+ for (var acl_ in state.currentBoard.acl) {
+ if (state.currentBoard.acl[acl_].participant.uid === acl.participant.uid) {
+ delete state.currentBoard.acl[acl_]
+ break
+ }
+ }
}
},
actions: {
@@ -261,6 +282,29 @@ export default new Vuex.Store({
.then((newLabel) => {
commit('addLabelToCurrentBoard', newLabel)
})
+ },
+
+ // acl actions
+ addAclToCurrentBoard({ commit }, acl) {
+ acl.boardId = this.state.currentBoard.id
+ apiClient.addAcl(acl)
+ .then((acl) => {
+ commit('addAclToCurrentBoard', acl)
+ })
+ },
+ updateAclFromCurrentBoard({ commit }, acl) {
+ acl.boardId = this.state.currentBoard.id
+ apiClient.updateAcl(acl)
+ .then((acl) => {
+ commit('updateAclFromCurrentBoard', acl)
+ })
+ },
+ deleteAclFromCurrentBoard({ commit }, acl) {
+ acl.boardId = this.state.currentBoard.id
+ apiClient.deleteAcl(acl)
+ .then((acl) => {
+ commit('deleteAclFromCurrentBoard', acl)
+ })
}
}
})