Files
medusa-store/packages/medusa-js/src/resources/admin/uploads.ts
Philip Korsholm 9018d270be Feat(medusa-js, medusa-react): Upload endpoints in medusa js and react (#1716)
* export types from admin uploads

* add delete and download to medusa-js

* add upload endpoints to hooks

* remove upload from js and react

* pr feedback

* Apply suggestions from code review

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>

* rename types for admin uploads

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-06-29 11:36:19 +02:00

47 lines
1.2 KiB
TypeScript

import {
AdminDeleteUploadsReq,
IAdminPostUploadsFileReq,
AdminDeleteUploadsRes,
AdminPostUploadsDownloadUrlReq,
AdminUploadsDownloadUrlRes,
AdminUploadsRes,
} from "@medusajs/medusa"
import FormData from "form-data"
import { ResponsePromise } from "../../typings"
import BaseResource from "../base"
class AdminUploadsResource extends BaseResource {
private headers = {
"Content-Type": "multipart/form-data",
}
create(file: IAdminPostUploadsFileReq): ResponsePromise<AdminUploadsRes> {
const path = `/admin/uploads`
const payload = new FormData()
payload.append("files", file)
return this.client.request("POST", path, payload, {}, this.headers)
}
delete(
payload: AdminDeleteUploadsReq,
customHeaders: Record<string, any> = {}
): ResponsePromise<AdminDeleteUploadsRes> {
const path = `/admin/uploads`
return this.client.request("DELETE", path, payload, {}, customHeaders)
}
getPresignedDownloadUrl(
payload: AdminPostUploadsDownloadUrlReq,
customHeaders: Record<string, any> = {}
): ResponsePromise<AdminUploadsDownloadUrlRes> {
const path = `/admin/uploads/download-url`
return this.client.request("POST", path, payload, {}, customHeaders)
}
}
export default AdminUploadsResource