summaryrefslogtreecommitdiffstats
path: root/webapp/src/store/permissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/src/store/permissions.js')
-rw-r--r--webapp/src/store/permissions.js81
1 files changed, 81 insertions, 0 deletions
diff --git a/webapp/src/store/permissions.js b/webapp/src/store/permissions.js
new file mode 100644
index 0000000..a8d09ec
--- /dev/null
+++ b/webapp/src/store/permissions.js
@@ -0,0 +1,81 @@
+import axios from 'axios'
+
+export default {
+ namespaced: true,
+ state: {
+ roles: [],
+ users: [],
+ permissions: [],
+ selectedRoles: [],
+ selectedUsers: [],
+ roleId: '',
+ dialog: false,
+ grantRevoke: false,
+ grant: false,
+ edit: false
+ },
+ mutations: {
+ setDialog (state, value) {
+ state.dialog = value
+ },
+ setRoles (state, value) {
+ state.roles = value
+ },
+ setUsers (state, value) {
+ state.users = value
+ },
+ setPermissions (state, value) {
+ state.permissions = value
+ },
+ setSelectedRoles (state, value) {
+ state.selectedRoles = value
+ },
+ setSelectedUsers (state, value) {
+ state.selectedUsers = value
+ },
+ editRole (state, value) {
+ state.roleId = value
+ state.edit = true
+ },
+ setEdit (state, value) {
+ state.edit = value
+ },
+ grantRevoke (state, value) {
+ state.grantRevoke = value.show
+ state.grant = value.grant
+ },
+ setGrantRevoke (state, value) {
+ state.grantRevoke = value
+ }
+ },
+ actions: {
+ deleteSelectedRoles (context) {
+ // Filter selected array to get a list of ids.
+ const filteredArray = context.state.selectedRoles.map(x => x.id)
+ axios.post('/api/permissions/deleteRoles', { id: filteredArray }).then(response => {
+ context.dispatch('loadData')
+ context.commit('setSelectedRoles', [])
+ })
+ },
+ loadRoleData (context) {
+ axios.get('/api/permissions/getRoleList').then(response => {
+ context.commit('setRoles', response.data)
+ })
+ },
+ loadUserData (context) {
+ axios.get('/api/user/getUserList').then(response => {
+ context.commit('setUsers', response.data)
+ })
+ },
+ loadPermissionData (context) {
+ axios.get('/api/permissions/getPermissionList').then(response => {
+ context.commit('setPermissions', response.data)
+ })
+ },
+ loadData (context) {
+ context.dispatch('loadPermissionData')
+ context.dispatch('loadRoleData')
+ context.dispatch('loadUserData')
+ }
+ }
+}