Exemplo n.º 1
0
def parse_resource_search_info(request):
    op_info = request_util.parse_request(request)
    resource_name = request_util.item_check(request.args, "q")

    op_info.resource_name = resource_name

    return op_info
Exemplo n.º 2
0
def parse_user_search_op_info(request):
    op_info = request_util.parse_request(request)
    search_name = request_util.item_check(request.args, 'q')

    op_info.search_name = search_name

    return op_info
Exemplo n.º 3
0
def get_items_under_project(project_id):
    project = ensure_project(project_id)
    op_info = request_util.parse_request(request)
    user_hash = op_info.user_hash

    project_info = project.to_dict()
    if can_user_modify_project(project_id, user_hash):
        items_dict = get_items_list(project_id)
        privileges_dict = get_privileges_for_resource(project_id,
                                                      Resource.Type.PROJECT)

        project_info["privileges"] = privileges_dict
        project_info["items"] = items_dict
        project_info["access_mode"] = "modifier"
        return {"msg": "OK", "data": project_info}
    else:
        if can_user_view_project(project_id, user_hash):
            project_info["items"] = get_items_for_project(project_id)
            project_info["access_mode"] = "viewer"
            return {"msg": "OK", "data": project_info}

        items_list = get_items_that_user_can_see(user_hash, project_id)
        if items_list:
            project_info["items"] = items_list
            project_info["access_mode"] = "other"
            return {"msg": "OK", "data": project_info}

        return can_not_view_response(project_id)
Exemplo n.º 4
0
def get_org_by_id(org_id):
    org = ensure_org(org_id)
    op_info = request_util.parse_request(request)
    user_hash = op_info.user_hash

    org_info = org.to_dict()
    if can_user_modify_org(org_id, user_hash):
        projects_list = get_all_projects_list(org_id)
        privs = get_privileges_for_resource(org_id, Resource.Type.ORG)

        org_info["privileges"] = privs
        org_info["projects"] = projects_list
        org_info["access_mode"] = "modifier"
        return {"msg": "OK", "data": org_info}
    else:
        if can_user_view_org(org_id, user_hash):
            org_info["projects"] = get_all_projects_list(org_id)
            org_info["access_mode"] = "viewer"
            return {"msg": "OK", "data": org_info}

        projects_list = get_projects_that_user_can_see(user_hash, org_id)
        if projects_list:
            org_info["projects"] = projects_list
            org_info["access_mode"] = "other"
            return {"msg": "OK", "data": org_info}

        return can_not_view_response(org_id)
Exemplo n.º 5
0
def parse_item_stats_search_request(request):
    op_info = request_util.parse_request(request)

    op_info.ip = request.args.get("ip", None)
    op_info.grey = request.args.get("grey", None)
    op_info.cid = request.args.get("cid", None)
    op_info.cversion = request.args.get("cversioin", None)

    return op_info
Exemplo n.º 6
0
def parse_org_create_input_info(request):
    org_op_info = request_util.parse_request(request)
    http_body = org_op_info.http_body

    org_name = request_util.item_check(http_body, "name")
    is_private = request_util.item_check(http_body, "private")

    org_op_info.set_resource_name(org_name)
    org_op_info.set_visibility(is_private)

    return org_op_info
Exemplo n.º 7
0
def parse_project_authorize_input_info(request):
    op_info = request_util.parse_request(request)
    http_body = op_info.http_body

    privilege_type = request_util.item_check(http_body, "type")
    target_user_id = request_util.item_check(http_body, "user_id")

    op_info.set_privilege_type(privilege_type)
    op_info.set_int_attr("target_user_id", target_user_id)

    return op_info
Exemplo n.º 8
0
def parse_audit_search_info(request):
    op_info = request_util.parse_request(request)

    limit = request_util.url_param_check(op_info, "limit")
    offset = request_util.url_param_check(op_info, "offset")
    op_info.resource_name = request_util.url_param_check(op_info, "q")

    op_info.set_limit(limit)
    op_info.set_offset(offset)

    return op_info
Exemplo n.º 9
0
def parse_project_create_input_info(request):
    project_op_info = request_util.parse_request(request)

    http_body = project_op_info.http_body
    parent_id = request_util.item_check(http_body, "parent_id")
    project_name = request_util.item_check(http_body, "name")
    is_private = request_util.item_check(http_body, "private")

    project_op_info.set_parent_id(parent_id)
    project_op_info.set_resource_name(project_name)
    project_op_info.set_visibility(is_private)

    return project_op_info
Exemplo n.º 10
0
def parse_item_options_base(request):
    op_info = parse_request(request)

    grey_option = request.args.get("grey", "false")
    lower_grey_option = str(grey_option).lower()
    if lower_grey_option == "false":
        op_info.grey = False
    elif lower_grey_option == "true":
        op_info.grey = True
    else:
        raise GulDanException().with_code(404).with_message(u"grey选项应该是一个bool")

    return op_info
Exemplo n.º 11
0
def parse_item_version_rollback_arguments(request):
    op_info = parse_request(request)

    version_id = request.args.get("version_id", None)
    if not version_id:
        raise GulDanException().with_code(400).with_message(u"请指定version_id")

    try:
        op_info.version_id = int(version_id)
        if op_info.version_id < 1:
            raise Exception()
    except:
        raise GulDanException().with_code(400).with_message(
            u"version_id参数应该是一个正整数")

    return op_info
Exemplo n.º 12
0
def parse_project_modification_info(request):
    op_info = request_util.parse_request(request)
    http_body = op_info.http_body

    private = request_util.item_check(http_body, "private")
    lower_private = str(private).lower()
    if lower_private == "true":
        op_info.visibility = Resource.Visibility.PRIVATE
    elif lower_private == "false":
        op_info.visibility = Resource.Visibility.PUBLIC
    else:
        raise GulDanException().with_code(400).with_message(
                u"非法的可见性类型:{}".format(http_body)
        )

    return op_info
Exemplo n.º 13
0
def parse_request_args(request):
    op_info = request_util.parse_request(request)

    offset = request_util.url_param_check(op_info, "offset")
    limit = request_util.url_param_check(op_info, "limit")
    order = request_util.url_param_check(op_info, "order")

    op_info.set_offset(offset)
    op_info.set_limit(limit)

    if order == "desc":
        op_info.desc = True
    else:
        op_info.desc = False

    return op_info
Exemplo n.º 14
0
def parse_grey_item_full_deploy_arguments(request):
    op_info = parse_request(request)
    return op_info
Exemplo n.º 15
0
def parse_project_delete_input_info(request):
    return request_util.parse_request(request)
Exemplo n.º 16
0
def get_orgs_under_user():
    op_info = request_util.parse_request(request)

    orgs_list = get_user_orgs(op_info.user_hash)
    return {"msg": "OK", "data": orgs_list}
Exemplo n.º 17
0
def parse_puller_stats_arguments(request):
    return request_util.parse_request(request)
Exemplo n.º 18
0
def parse_org_delete_input_info(request):
    return request_util.parse_request(request)