feat: add presignedUrl method to upload sdk (#12569)
This commit is contained in:
@@ -18,16 +18,16 @@ export class Upload {
|
||||
* This method creates a new upload. It sends a request to the
|
||||
* [Upload Files](https://docs.medusajs.com/api/admin#uploads_postuploads)
|
||||
* API route.
|
||||
*
|
||||
*
|
||||
* @param body - The details of the files to upload.
|
||||
* @param query - Configure the fields and relations to retrieve in the uploaded files.
|
||||
* @param headers - Headers to pass in the request.
|
||||
* @returns The upload files' details.
|
||||
*
|
||||
*
|
||||
* @privateRemarks
|
||||
*
|
||||
*
|
||||
* Note: The creation/upload flow be made more advanced, with support for streaming and progress, but for now we keep it simple
|
||||
*
|
||||
*
|
||||
* @example
|
||||
* sdk.admin.upload.create(
|
||||
* {
|
||||
@@ -89,12 +89,12 @@ export class Upload {
|
||||
* This method retrieves a file's details by its ID. It sends a request to the
|
||||
* [Get File](https://docs.medusajs.com/api/admin#uploads_getuploadsid)
|
||||
* API route.
|
||||
*
|
||||
*
|
||||
* @param id - The ID of the file to retrieve.
|
||||
* @param query - Query parameters to pass in the request.
|
||||
* @param headers - Headers to pass in the request.
|
||||
* @returns The file's details.
|
||||
*
|
||||
*
|
||||
* @example
|
||||
* sdk.admin.upload.retrieve("test.txt")
|
||||
* .then(({ file }) => {
|
||||
@@ -115,11 +115,11 @@ export class Upload {
|
||||
* This method deletes a file by its ID from the configured File Module Provider. It sends a request to the
|
||||
* [Delete File](https://docs.medusajs.com/api/admin#uploads_deleteuploadsid)
|
||||
* API route.
|
||||
*
|
||||
*
|
||||
* @param id - The ID of the file to delete.
|
||||
* @param headers - Headers to pass in the request.
|
||||
* @returns The deletion's details.
|
||||
*
|
||||
*
|
||||
* @example
|
||||
* sdk.admin.upload.delete("test.txt")
|
||||
* .then(({ deleted }) => {
|
||||
@@ -135,4 +135,36 @@ export class Upload {
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* This method creates a presigned URL for a file upload. It sends a request to the
|
||||
* `/admin/uploads/presigned-urls` API route.
|
||||
*
|
||||
* @param body - The details of the file to upload.
|
||||
* @param query - Query parameters to pass in the request.
|
||||
* @param headers - Headers to pass in the request.
|
||||
* @returns The presigned URL for the file upload.
|
||||
*
|
||||
* @example
|
||||
* sdk.admin.upload.presignedUrl({
|
||||
* name: "test.txt",
|
||||
* size: 1000,
|
||||
* type: "text/plain",
|
||||
* }))
|
||||
*/
|
||||
async presignedUrl(
|
||||
body: HttpTypes.AdminUploadPreSignedUrlRequest,
|
||||
query?: SelectParams,
|
||||
headers?: ClientHeaders
|
||||
) {
|
||||
return this.client.fetch<HttpTypes.AdminUploadPreSignedUrlResponse>(
|
||||
`/admin/uploads/presigned-urls`,
|
||||
{
|
||||
method: "POST",
|
||||
headers,
|
||||
body,
|
||||
query,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user