From 418e89a9c978485a223f6daec4ce080245be56c6 Mon Sep 17 00:00:00 2001 From: Julian Keck <julian.keck9@kit.edu> Date: Tue, 2 Jul 2024 15:34:42 +0200 Subject: [PATCH] UPD refactor group service to use union Closes #708 --- frontend/src/api-services/groups.service.js | 11 +++-------- frontend/src/views/cntl/Groups.vue | 8 ++++---- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/frontend/src/api-services/groups.service.js b/frontend/src/api-services/groups.service.js index 9eb88aca3..26e3b1a54 100644 --- a/frontend/src/api-services/groups.service.js +++ b/frontend/src/api-services/groups.service.js @@ -46,19 +46,14 @@ export default { }, get_by_name (config, name) { const ta = [ - { name: 'cntl.group.list', old: { name: name } }, + { name: 'cntl.group.list', idx: 'main_groups', old: { name: name } }, + { name: 'cntl.group.list', idx: 'subgroups', old: { is_sub: true }, inner_join_ref: {main_groups: 'api_fkey_cntl_group_sub'} }, + { name: 'cntl.group.list', idx: 'group_list', union_join_ref: {main_groups: 'self', subgroups: 'self'} }, { name: 'cntl.mgr2group.list', inner_join_ref: { group_list: 'default'}, old: { sorting_params_list: ['group_name asc', 'mgr_login_name asc'] }}, { name: 'nd.bcd2group.list', inner_join_ref: { group_list: 'default'}, old: { sorting_params_list: ['group_name asc', 'bcd_name asc'] }}, { name: 'dns.fqdn2group.list', inner_join_ref: { group_list: 'default'}, old: { sorting_params_list: ['group_name', 'fqdn_value'] } }, { name: 'cntl.mgr.list', inner_join_ref: { mgr2group_list: 'default'} }, { name: 'nd.bcd.list', inner_join_ref: { bcd2group_list: 'default'} }, - // subgroups, as union is currently not possible - { name: 'cntl.group.list', idx: 'subgroups', old: { is_sub: true }, inner_join_ref: {group_list: 'api_fkey_cntl_group_sub'} }, - { idx: 'sub_mgr2group_list', name: 'cntl.mgr2group.list', inner_join_ref: { subgroups: 'default'}, old: { sorting_params_list: ['group_name asc', 'mgr_login_name asc'] }}, - { idx: 'sub_bcd2group_list', name: 'nd.bcd2group.list', inner_join_ref: { subgroups: 'default'}, old: { sorting_params_list: ['group_name asc', 'bcd_name asc'] }}, - { idx: 'sub_fqdn2group_list', name: 'dns.fqdn2group.list', inner_join_ref: { subgroups: 'default'}, old: { sorting_params_list: ['group_name', 'fqdn_value'] } }, - { idx: 'sub_mgr_list', name: 'cntl.mgr.list', inner_join_ref: { sub_mgr2group_list: 'default'} }, - { idx: 'sub_bcd_list', name: 'nd.bcd.list', inner_join_ref: { sub_bcd2group_list: 'default'} } ] return TransactionService.execute(config, ta) } diff --git a/frontend/src/views/cntl/Groups.vue b/frontend/src/views/cntl/Groups.vue index 3fe9aab52..28a59bc78 100644 --- a/frontend/src/views/cntl/Groups.vue +++ b/frontend/src/views/cntl/Groups.vue @@ -190,10 +190,10 @@ export default { if (!this.entry && this.groups.length > 0) { this.$store.commit('setNavigationRefreshHandle', { gpk: this.groups[0].gpk, objType: 'cntl.group' }) } - this.bcds = this.merged_dict_of_lists_by_value_of_array([res.bcd_list, res.sub_bcd_list], 'name') - this.bcds2grp = this.merged_dict_of_lists_by_value_of_array([res.bcd2group_list, res.sub_bcd2group_list], 'group_name') - this.mgrs2grp = this.merged_dict_of_lists_by_value_of_array([res.mgr2group_list, res.sub_mgr2group_list], 'group_name') - this.fqdn2grp = this.merged_dict_of_lists_by_value_of_array([res.fqdn2group_list, res.sub_fqdn2group_list], 'group_name') + this.bcds = apiutil.dict_of_lists_by_value_of_array(res.bcd_list, 'name') + this.bcds2grp = apiutil.dict_of_lists_by_value_of_array(res.bcd2group_list, 'group_name') + this.mgrs2grp = apiutil.dict_of_lists_by_value_of_array(res.mgr2group_list, 'group_name') + this.fqdn2grp = apiutil.dict_of_lists_by_value_of_array(res.fqdn2group_list, 'group_name') this.mgrs = Object.assign({}, apiutil.dict_by_value_of_array(res.mgr_list, 'login_name'), apiutil.dict_by_value_of_array(res.sub_mgr_list || [], 'login_name')) const subgroups = res.group_list.filter(group => group.is_sub) if (!this.entry) { -- GitLab