enh(settings): Load from disabled users endpoint

Signed-off-by: Christopher Ng <chrng8@gmail.com>
pull/40169/head
Christopher Ng 9 months ago
parent f49550db97
commit f9bd957b03

@ -223,6 +223,14 @@ export default {
return this.$store.getters.getUsersLimit
},
disabledUsersOffset() {
return this.$store.getters.getDisabledUsersOffset
},
disabledUsersLimit() {
return this.$store.getters.getDisabledUsersLimit
},
usersCount() {
return this.users.length
},
@ -297,12 +305,19 @@ export default {
async loadUsers() {
this.loading.users = true
try {
await this.$store.dispatch('getUsers', {
offset: this.usersOffset,
limit: this.usersLimit,
group: this.selectedGroup !== 'disabled' ? this.selectedGroup : '',
search: this.searchQuery,
})
if (this.selectedGroup === 'disabled') {
await this.$store.dispatch('getDisabledUsers', {
offset: this.disabledUsersOffset,
limit: this.disabledUsersLimit,
})
} else {
await this.$store.dispatch('getUsers', {
offset: this.usersOffset,
limit: this.usersLimit,
group: this.selectedGroup,
search: this.searchQuery,
})
}
logger.debug(`${this.users.length} total user(s) loaded`)
} catch (error) {
logger.error('Failed to load users', { error })

@ -63,6 +63,8 @@ const state = {
minPasswordLength: 0,
usersOffset: 0,
usersLimit: 25,
disabledUsersOffset: 0,
disabledUsersLimit: 25,
userCount: 0,
showConfig: {
showStoragePath: false,
@ -83,6 +85,9 @@ const mutations = {
state.usersOffset += state.usersLimit
state.users = users
},
updateDisabledUsers(state, _usersObj) {
state.disabledUsersOffset += state.disabledUsersLimit
},
setPasswordPolicyMinLength(state, length) {
state.minPasswordLength = length !== '' ? length : 0
},
@ -237,6 +242,7 @@ const mutations = {
resetUsers(state) {
state.users = []
state.usersOffset = 0
state.disabledUsersOffset = 0
},
setShowConfig(state, { key, value }) {
@ -264,6 +270,12 @@ const getters = {
getUsersLimit(state) {
return state.usersLimit
},
getDisabledUsersOffset(state) {
return state.disabledUsersOffset
},
getDisabledUsersLimit(state) {
return state.disabledUsersLimit
},
getUserCount(state) {
return state.userCount
},
@ -373,6 +385,30 @@ const actions = {
})
},
/**
* Get disabled users with full details
*
* @param {object} context store context
* @param {object} options destructuring object
* @param {number} options.offset List offset to request
* @param {number} options.limit List number to return from offset
* @return {Promise<number>}
*/
async getDisabledUsers(context, { offset, limit }) {
const url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}', { offset, limit })
try {
const response = await api.get(url)
const usersCount = Object.keys(response.data.ocs.data.users).length
if (usersCount > 0) {
context.commit('appendUsers', response.data.ocs.data.users)
context.commit('updateDisabledUsers', response.data.ocs.data.users)
}
return usersCount
} catch (error) {
context.commit('API_FAILURE', error)
}
},
getGroups(context, { offset, limit, search }) {
search = typeof search === 'string' ? search : ''
const limitParam = limit === -1 ? '' : `&limit=${limit}`

Loading…
Cancel
Save