def list_config_groups(self, region_name, app_id, page, page_size, query=None): cgroup_info = [] config_groups = app_config_group_repo.list(region_name, app_id) if query: config_groups = config_groups.filter( config_group_name__contains=query) p = Paginator(config_groups, page_size) total = p.count for cgroup in p.page(page): config_group_info = build_response(cgroup) cgroup_info.append(config_group_info) return cgroup_info, total
def list(self, region_name, app_id): cgroup_info = {} config_groups = app_config_group_repo.list(region_name, app_id) for cgroup in config_groups: items = app_config_group_item_repo.list(cgroup.config_group_id) config_items = {item.item_key: item.item_value for item in items} cgroup_services = app_config_group_service_repo.list( cgroup.config_group_id) cgroup_service_ids = [ cgroup_service.service_id for cgroup_service in cgroup_services ] cgroup_info.update({ cgroup.config_group_name: { "config_items": config_items, "component_ids": cgroup_service_ids } }) return cgroup_info
def _config_groups(self): """ only add """ config_groups = list( app_config_group_repo.list(self.region_name, self.app_id)) config_group_names = [cg.config_group_name for cg in config_groups] tmpl = self.app_template.get( "app_config_groups") if self.app_template.get( "app_config_groups") else [] for cg in tmpl: if cg["name"] in config_group_names: continue config_group = ApplicationConfigGroup( app_id=self.app_id, config_group_name=cg["name"], deploy_type=cg["injection_type"], enable=True, # always true region_name=self.region_name, config_group_id=make_uuid(), ) config_groups.append(config_group) return config_groups
def _config_groups(self): return list(app_config_group_repo.list(self.region_name, self.app_id))