Exemplo n.º 1
0
async def update_config_detail(request):
    config_name = request.args['config_name']
    env = request.args['env']
    config_manager = request.config_manager
    if request.method == 'GET':
        config_project = config_manager.get_config_project(config_name)
        env_data = config_project.source_data.get(env) or {}
        history_data = config_project.source_data.get('history') or {}
        env_history_data = history_data.get(env) or {}
        data = list(env_data.values())
        for i in data:
            i['history'] = env_history_data.get(i['key']) or []
        return page_result(request, list(env_data.values()))
    key = request.json.get('key')
    if not (key and config_manager.validate_name(key)):
        raise GlobalApiException('配置项名称为空或有误')
    if request.method in ["POST", "PUT"]:
        value = request.json.get('value')
        desc = request.json.get('desc')
        if not value:
            raise GlobalApiException('配置值不能为空')
        if request.method == "POST" and config_manager.env_key_exist(
                config_name, env, key):
            raise GlobalApiException(f'配置项[{key}]已存在')
        await config_manager.add_env_config(
            request, config_name, env, {
                key: dict(
                    key=key,
                    desc=desc,
                    value=value
                )}
            )
    elif request.method == "DELETE":
        await config_manager.remove_env_config(config_name, env, [key])
    return {'code': 0, "data": {}}
Exemplo n.º 2
0
async def config_list(request):
    return page_result(request, request.config_manager.get_config_project_list())
Exemplo n.º 3
0
async def api_config_client(request):
    config_name = request.args.get('config_name')
    return page_result(request, request.config_manager.get_connection_clients(config_name))
Exemplo n.º 4
0
async def user_list(request):
    auth_manager = request.app.config['AUTH_MANAGER']
    return page_result(
        request, [format_data(i) for i in auth_manager.get_all().values()])