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:
Carlos R. L. Rodrigues
2025-12-14 08:02:53 -03:00
committed by GitHub
parent e199f1eb01
commit 9366c6d468
31 changed files with 1041 additions and 37 deletions
@@ -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)
}
}