summaryrefslogblamecommitdiffstats
path: root/webapp/src/store/permissions.js
blob: 1366d6ad6c124d6e4c1ee7341ba03089c820a73d (plain) (tree)
1
2
3
4
5
6
7






                         

















                              



































                                                                                          
                                                            


                                                 
                        




                                      
import axios from 'axios'

export default {
  namespaced: true,
  state: {
    roles: [],
    users: [],
    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
    },
    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/users/getUserList').then(response => {
        context.commit('setUsers', response.data)
      })
    },
    loadData (context) {
      context.dispatch('loadRoleData')
      context.dispatch('loadUserData')
    }
  }
}