summaryrefslogtreecommitdiffstats
path: root/webapp/src/store/permissions.js
blob: a8d09ec0ee99f0d7b972f33e9f678f3281751488 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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')
    }
  }
}