feat: order export and upload stream (#14243)
* feat: order export * Merge branch 'develop' of https://github.com/medusajs/medusa into feat/order-export * normalize status * rm util * serialize totals * test * lock * comments * configurable order list
This commit is contained in:
committed by
GitHub
parent
e199f1eb01
commit
9366c6d468
@@ -1,19 +1,19 @@
|
||||
import type { Readable } from "stream"
|
||||
import {
|
||||
Context,
|
||||
CreateFileDTO,
|
||||
GetUploadFileUrlDTO,
|
||||
FileDTO,
|
||||
UploadFileUrlDTO,
|
||||
FileTypes,
|
||||
FilterableFileProps,
|
||||
FindConfig,
|
||||
GetUploadFileUrlDTO,
|
||||
ModuleJoinerConfig,
|
||||
UploadFileUrlDTO,
|
||||
} from "@medusajs/framework/types"
|
||||
import type { Readable, Writable } from "stream"
|
||||
|
||||
import { MedusaError } from "@medusajs/framework/utils"
|
||||
import { joinerConfig } from "../joiner-config"
|
||||
import FileProviderService from "./file-provider-service"
|
||||
import { MedusaError } from "@medusajs/framework/utils"
|
||||
|
||||
type InjectedDependencies = {
|
||||
fileProviderService: FileProviderService
|
||||
@@ -172,4 +172,25 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
||||
getAsBuffer(id: string): Promise<Buffer> {
|
||||
return this.fileProviderService_.getAsBuffer({ fileKey: id })
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a writeable stream to upload a file.
|
||||
*
|
||||
* @example
|
||||
* const { writeStream, promise } = await fileModuleService.getUploadStream({
|
||||
* filename: "test.csv",
|
||||
* mimeType: "text/csv",
|
||||
* })
|
||||
*
|
||||
* stream.pipe(writeStream)
|
||||
* const result = await promise
|
||||
*/
|
||||
getUploadStream(data: FileTypes.ProviderUploadStreamDTO): Promise<{
|
||||
writeStream: Writable
|
||||
promise: Promise<FileTypes.ProviderFileResultDTO>
|
||||
url: string
|
||||
fileKey: string
|
||||
}> {
|
||||
return this.fileProviderService_.getUploadStream(data)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { Readable } from "stream"
|
||||
import { Constructor, FileTypes } from "@medusajs/framework/types"
|
||||
import { MedusaError } from "@medusajs/framework/utils"
|
||||
import { FileProviderRegistrationPrefix } from "@types"
|
||||
import type { Readable, Writable } from "stream"
|
||||
|
||||
type InjectedDependencies = {
|
||||
[
|
||||
@@ -81,4 +81,13 @@ export default class FileProviderService {
|
||||
getAsBuffer(fileData: FileTypes.ProviderGetFileDTO): Promise<Buffer> {
|
||||
return this.fileProvider_.getAsBuffer(fileData)
|
||||
}
|
||||
|
||||
getUploadStream(fileData: FileTypes.ProviderUploadStreamDTO): Promise<{
|
||||
writeStream: Writable
|
||||
promise: Promise<FileTypes.ProviderFileResultDTO>
|
||||
url: string
|
||||
fileKey: string
|
||||
}> {
|
||||
return this.fileProvider_.getUploadStream(fileData)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user