コード例 #1
0
 def post(self, request):
     """
     修改项目
     :param request:
     :return:
     """
     data = JSONParser().parse(request)
     result = self.parameter_check(data)
     if result:
         return result
     # 查找项目是否存在
     try:
         obj = Project.objects.get(id=data["project_id"])
     except ObjectDoesNotExist:
         return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
     # 查找是否相同名称的项目
     obi = Project.objects.filter(name=data["name"]).exclude(
         id=data["project_id"])
     if len(obi) == 0:
         serializer = ProjectDeserializer(data=data)
         with transaction.atomic():
             if serializer.is_valid():
                 # 修改项目
                 serializer.update(instance=obj, validated_data=data)
                 # 记录动态
                 record_dynamic(project=data["project_id"],
                                _type="修改",
                                operationObject="项目",
                                user=request.user.pk,
                                data=data["name"])
                 return JsonResponse(code_msg=GlobalStatusCode.success())
             else:
                 return JsonResponse(code_msg=GlobalStatusCode.fail())
     else:
         return JsonResponse(code_msg=GlobalStatusCode.name_repetition())
コード例 #2
0
def del_history(request):
    """
    删除请求历史
    project_id 项目ID
    api_id 接口ID
    history_id 请求历史ID
    :return:
    """
    project_id = request.POST.get("project_id")
    api_id = request.POST.get("api_id")
    history_id = request.POST.get("history_id")
    if not project_id.isdecimal() or not api_id.isdecimal(
    ) or not history_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obj = Project.objects.filter(id=project_id)
    if obj:
        obi = ApiInfo.objects.filter(id=api_id, project=project_id)
        if obi:
            obm = APIRequestHistory.objects.filter(id=history_id,
                                                   apiInfo=api_id)
            if obm:
                obm.delete()
                api_record = ApiOperationHistory(
                    apiInfo=ApiInfo.objects.get(id=api_id),
                    user=User.objects.get(id=request.user.pk),
                    description="删除请求历史记录")
                api_record.save()
                return JsonResponse(code_msg=GlobalStatusCode.success())
            else:
                return JsonResponse(
                    code_msg=GlobalStatusCode.history_not_exist())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.api_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #3
0
def enable_host(request):
    """
    启用host
    project_id  项目ID
    host_id 地址ID
    :return:
    """
    project_id = request.POST.get('project_id')
    host_id = request.POST.get('host_id')
    if not project_id.isdecimal() or not host_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obj = Project.objects.filter(id=project_id)
    if obj:
        obi = GlobalHost.objects.filter(id=host_id, project=project_id)
        if obi:
            obi.update(status=True)
            record = ProjectDynamic(project=Project.objects.get(id=project_id),
                                    type='启用',
                                    operationObject='HOST',
                                    user=User.objects.get(id=request.user.pk),
                                    description='启用HOST“%s”' % obi[0].name)
            record.save()
            return JsonResponse(code_msg=GlobalStatusCode.success())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.host_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #4
0
 def get(self, request):
     """
     获取项目列表
     :param request:
     :return:
     """
     try:
         page_size = int(request.GET.get("page_size", 20))
         page = int(request.GET.get("page", 1))
     except (TypeError, ValueError):
         return JsonResponse(code_msg=GlobalStatusCode.page_not_int())
     name = request.GET.get("name")
     if name:
         obi = Project.objects.filter(name__contains=name).order_by("id")
     else:
         obi = Project.objects.all().order_by("id")
     paginator = Paginator(obi, page_size)  # paginator对象
     total = paginator.num_pages  # 总页数
     try:
         obm = paginator.page(page)
     except PageNotAnInteger:
         obm = paginator.page(1)
     except EmptyPage:
         obm = paginator.page(paginator.num_pages)
     serialize = ProjectSerializer(obm, many=True)
     return JsonResponse(data={
         "data": serialize.data,
         "page": page,
         "total": total
     },
                         code_msg=GlobalStatusCode.success())
コード例 #5
0
ファイル: member.py プロジェクト: sunyb3/api_automation_test
def project_member(request):
    """
    获取成员信息
    project_id  项目ID
    :return:
    """
    try:
        page_size = int(request.GET.get('page_size', 20))
        page = int(request.GET.get('page', 1))
    except (TypeError, ValueError):
        return JsonResponse(code_msg=GlobalStatusCode.page_not_int())
    project_id = request.GET.get('project_id')
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obj = Project.objects.filter(id=project_id)
    if obj:
        obi = ProjectMember.objects.filter(project=project_id).order_by('id')
        paginator = Paginator(obi, page_size)  # paginator对象
        total = paginator.num_pages  # 总页数
        try:
            obm = paginator.page(page)
        except PageNotAnInteger:
            obm = paginator.page(1)
        except EmptyPage:
            obm = paginator.page(paginator.num_pages)
        serialize = ProjectMemberSerializer(obm, many=True)
        return JsonResponse(data={
            'data': serialize.data,
            'page': page,
            'total': total
        },
                            code_msg=GlobalStatusCode.success())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #6
0
def dynamic(request):
    """
    获取动态数量
    project_id  项目ID
    :return:
    """
    try:
        page_size = int(request.GET.get("page_size", 20))
        page = int(request.GET.get("page", 1))
    except (TypeError, ValueError):
        return JsonResponse(code_msg=GlobalStatusCode.page_not_int())
    project_id = request.GET.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obi = Project.objects.filter(id=project_id)
    if obi:
        obj = ProjectDynamic.objects.filter(project=project_id).order_by("-time")
        paginator = Paginator(obj, page_size)  # paginator对象
        total = paginator.num_pages  # 总页数
        try:
            obm = paginator.page(page)
        except PageNotAnInteger:
            obm = paginator.page(1)
        except EmptyPage:
            obm = paginator.page(paginator.num_pages)
        serialize = ProjectDynamicSerializer(obm, many=True)
        return JsonResponse(data={"data": serialize.data,
                                  "page": page,
                                  "total": total
                                  }, code_msg=GlobalStatusCode.success())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #7
0
 def post(self, request):
     """
     新增项目
     :param request:
     :return:
     """
     data = JSONParser().parse(request)
     result = self.parameter_check(data)
     if result:
         return result
     data["user"] = request.user.pk
     project_serializer = ProjectDeserializer(data=data)
     with transaction.atomic():
         if project_serializer.is_valid():
             # 保持新项目
             project_serializer.save()
             # 记录动态
             record_dynamic(project=project_serializer.data.get("id"),
                            _type="添加",
                            operationObject="项目",
                            user=request.user.pk,
                            data=data["name"])
             # 创建项目的用户添加为该项目的成员
             self.add_project_member(project_serializer.data.get("id"),
                                     request.user.pk)
             return JsonResponse(
                 data={"project_id": project_serializer.data.get("id")},
                 code_msg=GlobalStatusCode.success())
         else:
             return JsonResponse(code_msg=GlobalStatusCode.fail())
コード例 #8
0
 def post(self, request):
     """
     删除域名
     :param request:
     :return:
     """
     data = JSONParser().parse(request)
     result = self.parameter_check(data)
     if result:
         return result
     try:
         Project.objects.get(id=data["project_id"])
     except ObjectDoesNotExist:
         return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
     try:
         for j in data["ids"]:
             obj = GlobalHost.objects.filter(id=j)
             if obj:
                 obj.delete()
                 name = obj[0].name
                 record_dynamic(project=data["project_id"],
                                _type="删除",
                                operationObject="域名",
                                user=request.user.pk,
                                data=name)
         return JsonResponse(code_msg=GlobalStatusCode.success())
     except ObjectDoesNotExist:
         return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #9
0
def project_list(request):
    """
    获取项目列表
    :param request:
    :return:
    """
    try:
        page_size = int(request.GET.get('page_size', 20))
        page = int(request.GET.get('page', 1))
    except (TypeError, ValueError):
        return JsonResponse(code_msg=GlobalStatusCode.page_not_int())
    name = request.GET.get('name')
    if name:
        obi = Project.objects.filter(name__contains=name).order_by('id')
    else:
        obi = Project.objects.all().order_by('id')
    paginator = Paginator(obi, page_size)  # paginator对象
    total = paginator.num_pages  # 总页数
    try:
        obm = paginator.page(page)
    except PageNotAnInteger:
        obm = paginator.page(1)
    except EmptyPage:
        obm = paginator.page(paginator.num_pages)
    serialize = ProjectSerializer(obm, many=True)
    return JsonResponse(data={
        'data': serialize.data,
        'page': page,
        'total': total
    },
                        code_msg=GlobalStatusCode.success())
コード例 #10
0
def del_api(request):
    """
    删除接口
    project_id  项目ID
    api_ids 接口ID列表
    :return:
    """
    project_id = request.POST.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    ids = request.POST.get("api_ids")
    id_list = ids.split(",")
    for i in id_list:
        if not i.isdecimal():
            return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obj = Project.objects.filter(id=project_id)
    if obj:
        for j in id_list:
            obi = ApiInfo.objects.filter(id=j, project=project_id)
            if len(obi) != 0:
                name = obi[0].name
                obi.delete()
                record_dynamic(project_id, "删除", "接口", "删除接口“%s”" % name)
        return JsonResponse(code_msg=GlobalStatusCode.success())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #11
0
 def post(self, request):
     """
     添加Host
     :param request:
     :return:
     """
     data = JSONParser().parse(request)
     result = self.parameter_check(data)
     if result:
         return result
     try:
         obj = Project.objects.get(id=data["project_id"])
     except ObjectDoesNotExist:
         return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
     obi = GlobalHost.objects.filter(name=data["name"],
                                     project=data["project_id"])
     if obi:
         return JsonResponse(code_msg=GlobalStatusCode.name_repetition())
     else:
         serializer = GlobalHostSerializer(data=data)
         with transaction.atomic():
             if serializer.is_valid():
                 # 外键project_id
                 serializer.save(project=obj)
                 # 记录动态
                 record_dynamic(project=data["project_id"],
                                _type="添加",
                                operationObject="域名",
                                user=request.user.pk,
                                data=data["name"])
                 return JsonResponse(
                     data={"host_id": serializer.data.get("id")},
                     code_msg=GlobalStatusCode.success())
             return JsonResponse(code_msg=GlobalStatusCode.fail())
コード例 #12
0
def update_group(request):
    """
    修改接口所属分组
    project_id  项目ID
    api_ids 接口ID列表
    first_group_id 一级分组ID
    second_group_id 二级分组ID
    :return:
    """
    project_id = request.POST.get("project_id")
    ids = request.POST.get("api_ids")
    id_list = ids.split(",")
    first_group_id = request.POST.get("first_group_id")
    second_group_id = request.POST.get("second_group_id")
    if not project_id.isdecimal() or not first_group_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obj = Project.objects.filter(id=project_id)
    if obj:
        api_first_group = ApiGroupLevelFirst.objects.filter(id=first_group_id)
        if api_first_group:
            if first_group_id and second_group_id:
                if not second_group_id.isdecimal():
                    return JsonResponse(
                        code_msg=GlobalStatusCode.parameter_wrong())
                api_second_group = ApiGroupLevelSecond.objects.filter(
                    id=second_group_id)
                if api_second_group:
                    for i in id_list:
                        if not i.isdecimal():
                            return JsonResponse(
                                code_msg=GlobalStatusCode.parameter_wrong())
                    for j in id_list:
                        ApiInfo.objects.filter(
                            id=j, project=project_id).update(
                                apiGroupLevelFirst=ApiGroupLevelFirst.objects.
                                get(id=first_group_id),
                                apiGroupLevelSecond=ApiGroupLevelSecond.
                                objects.get(id=second_group_id))
                else:
                    return JsonResponse(
                        code_msg=GlobalStatusCode.group_not_exist())
            elif first_group_id and second_group_id == "":
                for i in id_list:
                    if not i.isdecimal():
                        return JsonResponse(
                            code_msg=GlobalStatusCode.parameter_wrong())
                for j in id_list:
                    ApiInfo.objects.filter(id=j, project=project_id).update(
                        apiGroupLevelFirst=ApiGroupLevelFirst.objects.get(
                            id=first_group_id))
            else:
                return JsonResponse(
                    code_msg=GlobalStatusCode.parameter_wrong())
            record_dynamic(project_id, "修改", "接口", "修改接口分组,列表“%s”" % id_list)
            return JsonResponse(code_msg=GlobalStatusCode.success())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.group_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #13
0
 def parameter_check(self, project_id):
     """
     校验参数
     :param project_id:
     :return:
     """
     try:
         # 校验project_id类型为int
         if not project_id.isdecimal():
             return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
     except KeyError:
         return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
コード例 #14
0
def auto_test_report(request):
    """
    测试结果报告
    project_id  项目ID
    :param request:
    :return:
    """
    project_id = request.GET.get("project_id")
    time = request.GET.get('time')
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obi = Project.objects.filter(id=project_id)
    if obi:
        obj = AutomationTestCase.objects.filter(project=project_id)
        if obj:
            case = Q()
            for i in obj:
                case = case | Q(automationTestCase=i.pk)
            case_data = AutomationCaseApi.objects.filter(case)
            api = Q()
            if case_data:
                for j in case_data:
                    api = api | Q(automationCaseApi=j.pk)

                data = AutomationAutoTestResultSerializer(
                    AutomationCaseTestResult.objects.filter(api,
                                                            testTime=time),
                    many=True).data
                success = 0
                fail = 0
                not_run = 0
                error = 0
                for i in data:
                    if i["result"] == "PASS":
                        success = success + 1
                    elif i["result"] == "FAIL":
                        fail = fail + 1
                    elif i["result"] == "ERROR":
                        error = error + 1
                    else:
                        not_run = not_run + 1
                return JsonResponse(code_msg=GlobalStatusCode.success(),
                                    data={
                                        "data": data,
                                        "total": len(data),
                                        "pass": success,
                                        "fail": fail,
                                        "error": error,
                                        "NotRun": not_run
                                    })
            else:
                return JsonResponse(code_msg=GlobalStatusCode.success())
コード例 #15
0
 def parameter_check(self, data):
     """
     校验参数
     :param data:
     :return:
     """
     try:
         # 校验project_id类型为int
         if not isinstance(data["project_id"], int):
             return JsonResponse(
                 code_msg=GlobalStatusCode.parameter_wrong())
     except KeyError:
         return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
コード例 #16
0
def project_info(request):
    """
    获取项目详情
    project_id 项目id
    :return:
    """
    project_id = request.GET.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    try:
        obj = Project.objects.get(id=project_id)
        serialize = ProjectSerializer(obj)
        return JsonResponse(data=serialize.data, code_msg=GlobalStatusCode.success())
    except ObjectDoesNotExist:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #17
0
def del_email(request):
    """
    删除邮箱配置
    :param request:
    :return:
    """
    project_id = request.POST.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.success())
    obi = Project.objects.filter(id=project_id)
    if obi:
        AutomationReportSendConfig.objects.filter(project=project_id).delete()
        record_dynamic(project_id, "删除", "邮箱", "删除邮箱配置")
        return JsonResponse(code_msg=GlobalStatusCode.success())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #18
0
def del_project(request):
    """
    删除项目
    project_id 待删除的项目ID
    :return:
    """
    project_id = request.POST.get('ids')
    id_list = project_id.split(',')
    for i in id_list:
        if not i.isdecimal():
            return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    for j in id_list:
        obj = Project.objects.filter(id=int(j))
        if obj:
            obj.delete()
    return JsonResponse(code_msg=GlobalStatusCode.success())
コード例 #19
0
 def parameter_check(self, data):
     """
     验证参数
     :param data:
     :return:
     """
     try:
         # 必传参数 name, version, type
         if not data["name"] or not data["version"] or not data["type"]:
             return JsonResponse(
                 code_msg=GlobalStatusCode.parameter_wrong())
         # type 类型 Web, App
         if data["type"] not in ["Web", "App"]:
             return JsonResponse(
                 code_msg=GlobalStatusCode.parameter_wrong())
     except KeyError:
         return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
コード例 #20
0
def add_group(request):
    """
    添加接口分组
    project_id 项目ID
    name  名称
    first_group_id 一级分组ID
    :return:
    """
    project_id = request.POST.get("project_id")
    name = request.POST.get("name")
    first_group_id = request.POST.get("first_group_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())

    obj = Project.objects.filter(id=project_id)
    if obj:
        # 添加二级分组名称
        if first_group_id:
            if not first_group_id.isdecimal():
                return JsonResponse(
                    code_msg=GlobalStatusCode.parameter_wrong())
            obi = ApiGroupLevelFirst.objects.filter(id=first_group_id,
                                                    project=project_id)
            if obi:
                obi = ApiGroupLevelSecond(
                    apiGroupLevelFirst=ApiGroupLevelFirst.objects.get(
                        id=first_group_id),
                    name=name)
                obi.save()
            else:
                return JsonResponse(
                    code_msg=GlobalStatusCode.group_not_exist())
        # 添加一级分组名称
        else:
            obi = ApiGroupLevelFirst(
                project=Project.objects.get(id=project_id), name=name)
            obi.save()
        record_dynamic(project=project_id,
                       _type="新增",
                       operationObject="接口分组",
                       user=request.user.pk,
                       data="新增接口分组“%s”" % obi.name)
        return JsonResponse(data={"group_id": obi.pk},
                            code_msg=GlobalStatusCode.success())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #21
0
ファイル: user.py プロジェクト: sunyb3/api_automation_test
 def post(self, request, *args, **kwargs):
     serializer = self.serializer_class(data=request.data,
                                        context={'request': request})
     serializer.is_valid(raise_exception=True)
     user = serializer.validated_data['user']
     # token, created = Token.objects.get_or_create(user=user)
     data = TokenSerializer(Token.objects.get(user=user)).data
     return JsonResponse(data=data, code_msg=GlobalStatusCode.success())
コード例 #22
0
 def get(self, request):
     """
     获取项目详情
     :param request:
     :return:
     """
     project_id = request.GET.get("project_id")
     result = self.parameter_check(project_id)
     if result:
         return result
     # 查找项目是否存在
     try:
         obj = Project.objects.get(id=project_id)
     except ObjectDoesNotExist:
         return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
     serialize = ProjectSerializer(obj)
     return JsonResponse(data=serialize.data, code_msg=GlobalStatusCode.success())
コード例 #23
0
 def post(self, request):
     """
     删除项目
     :param request:
     :return:
     """
     data = JSONParser().parse(request)
     result = self.parameter_check(data)
     if result:
         return result
     try:
         for j in data["ids"]:
             obj = Project.objects.filter(id=j)
             obj.delete()
         return JsonResponse(code_msg=GlobalStatusCode.success())
     except ObjectDoesNotExist:
         return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #24
0
def get_email(request):
    """
    获取邮箱配置
    :param request:
    :return:
    """
    project_id = request.GET.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.success())
    obi = Project.objects.filter(id=project_id)
    if obi:
        data = AutomationReportSendConfigSerializer(
            AutomationReportSendConfig.objects.filter(project=project_id),
            many=True).data
        return JsonResponse(code_msg=GlobalStatusCode.success(), data=data)
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #25
0
def operation_history(request):
    """
    接口操作历史
    project_id 项目ID
    api_id 接口ID
    page_size 条数
    page 页码
    :return:
    """
    try:
        page_size = int(request.GET.get("page_size", 20))
        page = int(request.GET.get("page", 1))
    except (TypeError, ValueError):
        return JsonResponse(code_msg=GlobalStatusCode.page_not_int())
    project_id = request.GET.get("project_id")
    api_id = request.GET.get("api_id")
    if not project_id.isdecimal() or not api_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
    obj = Project.objects.filter(id=project_id)
    if obj:
        obi = ApiInfo.objects.filter(id=api_id, project=project_id)
        if obi:
            obn = ApiOperationHistory.objects.filter(
                apiInfo=api_id).order_by("-time")
            paginator = Paginator(obn, page_size)  # paginator对象
            total = paginator.num_pages  # 总页数
            try:
                obm = paginator.page(page)
            except PageNotAnInteger:
                obm = paginator.page(1)
            except EmptyPage:
                obm = paginator.page(paginator.num_pages)
            serialize = ApiOperationHistorySerializer(obm, many=True)
            return JsonResponse(data={
                "data": serialize.data,
                "page": page,
                "total": total
            },
                                code_msg=GlobalStatusCode.success())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.api_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #26
0
        def verify(reality_parameter):
            """
            :param reality_parameter: 实际参数
            :return:
            """
            if method == 'POST':
                parameter = dict(reality_parameter.POST.lists())
            elif method == 'GET':
                parameter = dict(reality_parameter.GET.lists())
            else:
                raise Exception
            if set(expect_parameter).issubset(list(parameter)):
                for i in expect_parameter:
                    if parameter[i] == ['']:
                        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
            else:
                return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())

            return func(reality_parameter)
コード例 #27
0
def update_project(request):
    """
    修改项目
    project_id: 项目唯一id
    name: 项目名称
    v: 项目版本
    type: 项目类型
    description: 项目描述
    :return:
    """
    project_id = request.POST.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    name = request.POST.get("name")
    version = request.POST.get("v")
    _type = request.POST.get("type")
    description = request.POST.get("description")
    if _type in ["Web", "App"]:
        obj = Project.objects.filter(id=project_id)
        if obj:
            obi = Project.objects.filter(name=name).exclude(id=project_id)
            if len(obi) == 0:
                obj.update(name=name,
                           version=version,
                           type=_type,
                           description=description,
                           user=User.objects.get(id=request.user.pk))
                record = ProjectDynamic(
                    project=Project.objects.get(id=project_id),
                    type="修改",
                    operationObject="项目",
                    user=User.objects.get(id=request.user.pk),
                    description="修改项目“%s”" % name)
                record.save()
                return JsonResponse(code_msg=GlobalStatusCode.success())

            else:
                return JsonResponse(
                    code_msg=GlobalStatusCode.name_repetition())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
コード例 #28
0
def group(request):
    """
    接口分组
    project_id 项目ID
    :return:
    """
    project_id = request.GET.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())

    obj = Project.objects.filter(id=project_id)
    if obj:
        obi = ApiGroupLevelFirst.objects.filter(
            project=project_id).order_by("id")
        serialize = ApiGroupLevelFirstSerializer(obi, many=True)
        return JsonResponse(data=serialize.data,
                            code_msg=GlobalStatusCode.success())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #29
0
def download(request):
    """
    获取Api下载文档路径
    project_id  项目ID
    :param request:
    :return:
    """
    project_id = request.GET.get("project_id")
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    obj = Project.objects.filter(id=project_id)
    if obj:
        data = ApiInfoDocSerializer(
            ApiGroupLevelFirst.objects.filter(project=project_id),
            many=True).data
        url = Write().write_api(str(obj[0]), data)
        return JsonResponse(code_msg=GlobalStatusCode.success(), data=url)
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
コード例 #30
0
def update_project(request):
    """
    修改项目
    project_id: 项目唯一id
    name: 项目名称
    v: 项目版本
    type: 项目类型
    description: 项目描述
    :return:
    """
    project_id = request.POST.get('project_id')
    if not project_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())
    name = request.POST.get('name')
    version = request.POST.get('v')
    _type = request.POST.get('type')
    description = request.POST.get('description')
    if _type in ['Web', 'App']:
        obj = Project.objects.filter(id=project_id)
        if obj:
            obi = Project.objects.filter(name=name).exclude(id=project_id)
            if len(obi) == 0:
                obj.update(name=name,
                           version=version,
                           type=_type,
                           description=description,
                           user=User.objects.get(id=request.user.pk))
                record = ProjectDynamic(
                    project=Project.objects.get(id=project_id),
                    type='修改',
                    operationObject='项目',
                    user=User.objects.get(id=request.user.pk),
                    description='修改项目“%s”' % name)
                record.save()
                return JsonResponse(code_msg=GlobalStatusCode.success())

            else:
                return JsonResponse(
                    code_msg=GlobalStatusCode.name_repetition())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong())