feat: Add local file provider and wire everything up in the file module (#7134)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { FileTypes, IFileProvider } from "@medusajs/types"
|
||||
|
||||
export class AbstractFileProviderService implements IFileProvider {
|
||||
static identifier: string
|
||||
|
||||
getIdentifier() {
|
||||
return (this.constructor as any).identifier
|
||||
}
|
||||
|
||||
async upload(
|
||||
file: FileTypes.ProviderUploadFileDTO
|
||||
): Promise<FileTypes.ProviderFileResultDTO> {
|
||||
throw Error("upload must be overridden by the child class")
|
||||
}
|
||||
async delete(file: FileTypes.ProviderDeleteFileDTO): Promise<void> {
|
||||
throw Error("delete must be overridden by the child class")
|
||||
}
|
||||
|
||||
async getPresignedDownloadUrl(
|
||||
fileData: FileTypes.ProviderGetFileDTO
|
||||
): Promise<string> {
|
||||
throw Error("getPresignedDownloadUrl must be overridden by the child class")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./abstract-file-provider"
|
||||
@@ -23,5 +23,6 @@ export * from "./totals/big-number"
|
||||
export * from "./user"
|
||||
export * from "./api-key"
|
||||
export * from "./link"
|
||||
export * from "./file"
|
||||
|
||||
export const MedusaModuleType = Symbol.for("MedusaModule")
|
||||
|
||||
@@ -21,4 +21,5 @@ export enum Modules {
|
||||
API_KEY = "apiKey",
|
||||
STORE = "store",
|
||||
CURRENCY = "currency",
|
||||
FILE = "file",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user