diff --git a/spug_api/apps/apis/config.py b/spug_api/apps/apis/config.py index 5cd5f2e..306b661 100644 --- a/spug_api/apps/apis/config.py +++ b/spug_api/apps/apis/config.py @@ -11,12 +11,13 @@ import json def get_configs(request): data = {} - app, env_id = _parse_params(request) + app, env_id, no_prefix = _parse_params(request) if not app or not env_id: return HttpResponse('Invalid params', status=400) # app own configs for item in Config.objects.filter(type='app', o_id=app.id, env_id=env_id).only('key', 'value'): - data[f'{app.key}_{item.key}'] = item.value + key = item.key if no_prefix else f'{app.key}_{item.key}' + data[key] = item.value # relation app public configs if app.rel_apps: @@ -25,7 +26,7 @@ def get_configs(request): id_key_map = {x.id: x.key for x in App.objects.filter(id__in=app_ids)} for item in Config.objects.filter(type='app', o_id__in=app_ids, env_id=env_id, is_public=True) \ .only('key', 'value'): - key = f'{id_key_map[item.o_id]}_{item.key}' + key = item.key if no_prefix else f'{id_key_map[item.o_id]}_{item.key}' data[key] = item.value # relation service configs @@ -34,7 +35,7 @@ def get_configs(request): if src_ids: id_key_map = {x.id: x.key for x in Service.objects.filter(id__in=src_ids)} for item in Config.objects.filter(type='src', o_id__in=src_ids, env_id=env_id).only('key', 'value'): - key = f'{id_key_map[item.o_id]}_{item.key}' + key = item.key if no_prefix else f'{id_key_map[item.o_id]}_{item.key}' data[key] = item.value # format @@ -78,4 +79,4 @@ def _parse_params(request): env = Environment.objects.filter(key=env_key).first() if env: env_id = env.id - return app, env_id + return app, env_id, request.GET.get('noPrefix')