diff --git a/dashboard/src/components/AccessControl.vue b/dashboard/src/components/AccessControl.vue index eb919d465..8dfa3b730 100644 --- a/dashboard/src/components/AccessControl.vue +++ b/dashboard/src/components/AccessControl.vue @@ -47,8 +47,13 @@ watch(accessRestriction, (value) => { }); onMounted(async () => { - users.value = await usersModel.list(); - groups.value = await groupsModel.list(); + let [error, result] = await usersModel.list(); + if (error) return console.error(error); + users.value = result; + + [error, result] = await groupsModel.list(); + if (error) return console.error(error); + groups.value = result; }); diff --git a/dashboard/src/components/ApplinkDialog.vue b/dashboard/src/components/ApplinkDialog.vue index eb441bbaa..c4bcd39c9 100644 --- a/dashboard/src/components/ApplinkDialog.vue +++ b/dashboard/src/components/ApplinkDialog.vue @@ -89,8 +89,13 @@ export default { this.accessRestriction = applink && applink.accessRestriction ? applink.accessRestriction : { users: [], groups: [] }; // fetch users and groups - this.users = await usersModel.list(); - this.groups = await groupsModel.list(); + let [error, result] = await usersModel.list(); + if (error) return console.error(error); + this.users = result; + + [error, result] = await groupsModel.list(); + if (error) return console.error(error); + this.groups = result; this.$refs.applinkDialog.open(); }, diff --git a/dashboard/src/models/GroupsModel.js b/dashboard/src/models/GroupsModel.js index a235ae15f..c59c8e452 100644 --- a/dashboard/src/models/GroupsModel.js +++ b/dashboard/src/models/GroupsModel.js @@ -6,7 +6,6 @@ function create() { const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin; return { - name: 'GroupsModel', async list() { let error, result; try { @@ -15,12 +14,8 @@ function create() { error = e; } - if (error || result.status !== 200) { - console.error('Failed to list groups.', error || result.status); - return []; - } - - return result.body.groups; + if (error || result.status !== 200) return [error || result]; + return [null, result.body.groups]; }, }; } diff --git a/dashboard/src/models/UsersModel.js b/dashboard/src/models/UsersModel.js index f7f0f435c..d5b4a164a 100644 --- a/dashboard/src/models/UsersModel.js +++ b/dashboard/src/models/UsersModel.js @@ -6,7 +6,6 @@ function create() { const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin; return { - name: 'UsersModel', async list() { const perPage = 5000; @@ -21,11 +20,7 @@ function create() { error = e; } - if (error || result.status !== 200) { - console.error('Failed to list users.', error || result.status); - users = []; - break; - } + if (error || result.status !== 200) return [error || result]; users = users.concat(result.body.users); @@ -34,7 +29,7 @@ function create() { page++; } - return users; + return [null, users]; }, }; }