(self, request, pk)
| 276 | |
| 277 | class ShareTask(TaskView): |
| 278 | def post(self, request, pk): |
| 279 | task = self.get_and_check_task(request, pk) |
| 280 | serializer = ShareTaskSerializer(data=request.data) |
| 281 | serializer.is_valid(raise_exception=True) |
| 282 | resources, base_path = get_resources(task, serializer['assets'].value, serializer['customAssets'].value) |
| 283 | |
| 284 | try: |
| 285 | project = int(serializer['project'].value) if serializer['project'].value != "" else None |
| 286 | except ValueError: |
| 287 | project = None |
| 288 | |
| 289 | cloud_token = serializer['cloudToken'].value |
| 290 | cloud_url = serializer['cloudUrl'].value |
| 291 | |
| 292 | if not cloud_token: |
| 293 | raise exceptions.ValidationError({"cloudToken": "Missing parameter"}) |
| 294 | if not cloud_url: |
| 295 | raise exceptions.ValidationError({"cloudUrl": "Missing parameter"}) |
| 296 | |
| 297 | try: |
| 298 | celery_task_id = run_function_async(share_task, task_name=task.name, project_name=task.project.name, project=project, cloud_token=cloud_token, cloud_url=cloud_url, resources=resources, resources_base_path=base_path, with_progress=True, with_cancel=True).task_id |
| 299 | return Response({'celery_task_id': celery_task_id}, status=status.HTTP_200_OK) |
| 300 | except Exception as e: |
| 301 | return Response({'error': str(e)}, status=status.HTTP_200_OK) |
no test coverage detected