From a5fb3a2cd1c237ffd716dbc4192970aefa80a6ac Mon Sep 17 00:00:00 2001 From: Azri Kahar <42867097+azrikahar@users.noreply.github.com> Date: Tue, 23 Nov 2021 02:47:19 +0800 Subject: [PATCH] use aggregate count for users in roles view (#9834) --- app/src/modules/settings/routes/roles/collection.vue | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/modules/settings/routes/roles/collection.vue b/app/src/modules/settings/routes/roles/collection.vue index 973b806c88..3553874e7a 100644 --- a/app/src/modules/settings/routes/roles/collection.vue +++ b/app/src/modules/settings/routes/roles/collection.vue @@ -130,7 +130,12 @@ export default defineComponent({ try { const response = await api.get(`/roles`, { - params: { limit: -1, fields: 'id,name,description,icon,users.id', sort: 'name' }, + params: { + limit: -1, + fields: 'id,name,description,icon,users.id', + deep: { users: { _aggregate: { count: 'id' } } }, + sort: 'name', + }, }); roles.value = [ @@ -144,7 +149,7 @@ export default defineComponent({ ...response.data.data.map((role: any) => { return { ...role, - count: (role.users || []).length, + count: role.users[0]?.count.id || 0, }; }), ];