A 配置中心API新增noPrefix查询参数支持无前缀key

pull/172/head
vapao 2020-08-06 16:30:22 +08:00
parent 7e92fba746
commit c82f41709c
1 changed files with 6 additions and 5 deletions

View File

@ -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')