# -*- coding: utf-8 -*- """ @File : yapi.py @Time : 2023/2/15 17:51 @Author : geekbing @LastEditTime : - @LastEditors : - @Description : Yapi视图 """ import logging from django.core.exceptions import ObjectDoesNotExist from rest_framework.views import APIView from rest_framework.response import Response from lunarlink import tasks from lunarlink.utils import response from lunarlink import models logger = logging.getLogger(__name__) class YAPIView(APIView): def post(self, request, pk): try: obj = models.Project.objects.get(pk=pk) except ObjectDoesNotExist: return Response(response.PROJECT_NOT_EXISTS) yapi_token = obj.yapi_openapi_token yapi_base_url = obj.yapi_base_url task = tasks.async_import_yapi_api.delay( yapi_base_url, yapi_token, pk, ) response.IMPORT_YAPI.update({"task_id": task.id}) return Response(response.IMPORT_YAPI)