|
33 | 33 | from openapi_server.models.internal_error import InternalError |
34 | 34 | from openapi_server.models.presigned_url_body import PresignedUrlBody |
35 | 35 | from openapi_server.models.presigned_url_resp import PresignedUrlResp |
| 36 | +from openapi_server.models.upload_request_body import UploadRequestBody |
| 37 | +from openapi_server.models.upload_request_resp import UploadRequestResp |
36 | 38 | from openapi_server.security_api import get_token_BearerAuth |
37 | 39 |
|
38 | 40 | router = APIRouter() |
@@ -128,3 +130,25 @@ async def get_presigned_urls( |
128 | 130 | if not BaseS3uploadApi.subclasses: |
129 | 131 | raise HTTPException(status_code=500, detail="Not implemented") |
130 | 132 | return await BaseS3uploadApi.subclasses[0]().get_presigned_urls(presigned_url_body) |
| 133 | + |
| 134 | + |
| 135 | +@router.post( |
| 136 | + "/s3/requestDatasetUpload", |
| 137 | + responses={ |
| 138 | + 201: {"model": UploadRequestResp, "description": "Upload requested"}, |
| 139 | + 422: {"model": HTTPValidationError, "description": "Validation Error"}, |
| 140 | + 500: {"model": InternalError, "description": "Internal Server Error"}, |
| 141 | + }, |
| 142 | + tags=["s3upload"], |
| 143 | + summary="Request a new upload", |
| 144 | + response_model_by_alias=True, |
| 145 | +) |
| 146 | +async def request_dataset_upload( |
| 147 | + upload_request_body: UploadRequestBody = Body(None, description=""), |
| 148 | + token_BearerAuth: TokenModel = Security( |
| 149 | + get_token_BearerAuth |
| 150 | + ), |
| 151 | +) -> UploadRequestResp: |
| 152 | + if not BaseS3uploadApi.subclasses: |
| 153 | + raise HTTPException(status_code=500, detail="Not implemented") |
| 154 | + return await BaseS3uploadApi.subclasses[0]().request_dataset_upload(upload_request_body) |
0 commit comments