@medusajs/file 3.0.0-snapshot-20250410105645 → 3.0.0-snapshot-20251104004624
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/loaders/providers.d.ts.map +1 -1
- package/dist/loaders/providers.js +1 -1
- package/dist/loaders/providers.js.map +1 -1
- package/dist/services/file-module-service.d.ts +21 -1
- package/dist/services/file-module-service.d.ts.map +1 -1
- package/dist/services/file-module-service.js +50 -34
- package/dist/services/file-module-service.js.map +1 -1
- package/dist/services/file-provider-service.d.ts +5 -1
- package/dist/services/file-provider-service.d.ts.map +1 -1
- package/dist/services/file-provider-service.js +15 -0
- package/dist/services/file-provider-service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,2BAA2B,CAAA;yBA0BZ,yBAGnB,aAAa,CACd,CACI,eAAe,CAAC,8BAA8B,GAC9C,eAAe,CAAC,6CAA6C,CAChE,GAAG;IAAE,SAAS,EAAE,cAAc,EAAE,CAAA;CAAE,CACpC,KAAG,OAAO,CAAC,IAAI,CAAC;AARjB,wBAcC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const modules_sdk_1 = require("@medusajs/framework/modules-sdk");
|
|
4
4
|
const _services_1 = require("../services");
|
|
5
5
|
const _types_1 = require("../types");
|
|
6
|
-
const awilix_1 = require("awilix");
|
|
6
|
+
const awilix_1 = require("@medusajs/framework/awilix");
|
|
7
7
|
const registrationFn = async (klass, container, pluginOptions) => {
|
|
8
8
|
const key = _services_1.FileProviderService.getRegistrationIdentifier(klass, pluginOptions.id);
|
|
9
9
|
container.register({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":";;AAAA,iEAAsE;AAMtE,yCAA+C;AAC/C,mCAGe;AACf,
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":";;AAAA,iEAAsE;AAMtE,yCAA+C;AAC/C,mCAGe;AACf,uDAA0E;AAE1E,MAAM,cAAc,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;IAC/D,MAAM,GAAG,GAAG,+BAAmB,CAAC,yBAAyB,CACvD,KAAK,EACL,aAAa,CAAC,EAAE,CACjB,CAAA;IAED,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,uCAA8B,GAAG,GAAG,CAAC,EAAE,IAAA,mBAAU,EAChD,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,EAC1D;YACE,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,iBAAQ,CAAC,SAAS;SAChD,CACF;KACF,CAAC,CAAA;IAEF,SAAS,CAAC,WAAW,CAAC,+CAAsC,EAAE,IAAA,gBAAO,EAAC,GAAG,CAAC,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,kBAAe,KAAK,EAAE,EACpB,SAAS,EACT,OAAO,GAMR,EAAiB,EAAE;IAClB,MAAM,IAAA,kCAAoB,EAAC;QACzB,SAAS;QACT,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;QACnC,iBAAiB,EAAE,cAAc;KAClC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Readable } from "stream";
|
|
2
|
+
import { Context, CreateFileDTO, GetUploadFileUrlDTO, FileDTO, UploadFileUrlDTO, FileTypes, FilterableFileProps, FindConfig, ModuleJoinerConfig } from "@medusajs/framework/types";
|
|
2
3
|
import FileProviderService from "./file-provider-service";
|
|
3
4
|
type InjectedDependencies = {
|
|
4
5
|
fileProviderService: FileProviderService;
|
|
@@ -7,13 +8,32 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
|
|
7
8
|
protected readonly fileProviderService_: FileProviderService;
|
|
8
9
|
constructor({ fileProviderService }: InjectedDependencies);
|
|
9
10
|
__joinerConfig(): ModuleJoinerConfig;
|
|
11
|
+
getProvider(): FileProviderService;
|
|
10
12
|
createFiles(data: CreateFileDTO[], sharedContext?: Context): Promise<FileDTO[]>;
|
|
11
13
|
createFiles(data: CreateFileDTO, sharedContext?: Context): Promise<FileDTO>;
|
|
14
|
+
getUploadFileUrls(data: GetUploadFileUrlDTO[], sharedContext?: Context): Promise<UploadFileUrlDTO[]>;
|
|
15
|
+
getUploadFileUrls(data: GetUploadFileUrlDTO, sharedContext?: Context): Promise<UploadFileUrlDTO>;
|
|
12
16
|
deleteFiles(ids: string[], sharedContext?: Context): Promise<void>;
|
|
13
17
|
deleteFiles(id: string, sharedContext?: Context): Promise<void>;
|
|
14
18
|
retrieveFile(id: string): Promise<FileDTO>;
|
|
15
19
|
listFiles(filters?: FilterableFileProps, config?: FindConfig<FileDTO>, sharedContext?: Context): Promise<FileDTO[]>;
|
|
16
20
|
listAndCountFiles(filters?: FilterableFileProps, config?: FindConfig<FileDTO>, sharedContext?: Context): Promise<[FileDTO[], number]>;
|
|
21
|
+
/**
|
|
22
|
+
* Get the file contents as a readable stream.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* const stream = await fileModuleService.getAsStream("file_123")
|
|
26
|
+
* writeable.pipe(stream)
|
|
27
|
+
*/
|
|
28
|
+
getDownloadStream(id: string): Promise<Readable>;
|
|
29
|
+
/**
|
|
30
|
+
* Get the file contents as a Node.js Buffer
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const contents = await fileModuleService.getAsBuffer("file_123")
|
|
34
|
+
* contents.toString('utf-8')
|
|
35
|
+
*/
|
|
36
|
+
getAsBuffer(id: string): Promise<Buffer>;
|
|
17
37
|
}
|
|
18
38
|
export {};
|
|
19
39
|
//# sourceMappingURL=file-module-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-module-service.d.ts","sourceRoot":"","sources":["../../src/services/file-module-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,mBAAmB,MAAM,yBAAyB,CAAA;AAGzD,KAAK,oBAAoB,GAAG;IAC1B,mBAAmB,EAAE,mBAAmB,CAAA;CACzC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,SAAS,CAAC,kBAAkB;IAC5E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,CAAA;gBAChD,EAAE,mBAAmB,EAAE,EAAE,oBAAoB;IAIzD,cAAc,IAAI,kBAAkB;IAIpC,WAAW,CACT,IAAI,EAAE,aAAa,EAAE,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,OAAO,EAAE,CAAC;IACrB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"file-module-service.d.ts","sourceRoot":"","sources":["../../src/services/file-module-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,mBAAmB,MAAM,yBAAyB,CAAA;AAGzD,KAAK,oBAAoB,GAAG;IAC1B,mBAAmB,EAAE,mBAAmB,CAAA;CACzC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,SAAS,CAAC,kBAAkB;IAC5E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,CAAA;gBAChD,EAAE,mBAAmB,EAAE,EAAE,oBAAoB;IAIzD,cAAc,IAAI,kBAAkB;IAIpC,WAAW;IAIX,WAAW,CACT,IAAI,EAAE,aAAa,EAAE,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,OAAO,EAAE,CAAC;IACrB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3E,iBAAiB,CACf,IAAI,EAAE,mBAAmB,EAAE,EAC3B,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC9B,iBAAiB,CACf,IAAI,EAAE,mBAAmB,EACzB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,gBAAgB,CAAC;IActB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAClE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1C,SAAS,CACb,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAC5B,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,OAAO,EAAE,CAAC;IAsBf,iBAAiB,CACrB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAC5B,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAsB/B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGzC"}
|
|
@@ -9,6 +9,9 @@ class FileModuleService {
|
|
|
9
9
|
__joinerConfig() {
|
|
10
10
|
return joiner_config_1.joinerConfig;
|
|
11
11
|
}
|
|
12
|
+
getProvider() {
|
|
13
|
+
return this.fileProviderService_;
|
|
14
|
+
}
|
|
12
15
|
async createFiles(data) {
|
|
13
16
|
const input = Array.isArray(data) ? data : [data];
|
|
14
17
|
// TODO: Validate file mime type, have config for allowed types
|
|
@@ -19,10 +22,16 @@ class FileModuleService {
|
|
|
19
22
|
}));
|
|
20
23
|
return Array.isArray(data) ? result : result[0];
|
|
21
24
|
}
|
|
25
|
+
async getUploadFileUrls(data) {
|
|
26
|
+
const input = Array.isArray(data) ? data : [data];
|
|
27
|
+
const result = await Promise.all(input.map((file) => this.fileProviderService_.getPresignedUploadUrl(file)));
|
|
28
|
+
return Array.isArray(data) ? result : result[0];
|
|
29
|
+
}
|
|
22
30
|
async deleteFiles(ids) {
|
|
23
31
|
const input = Array.isArray(ids) ? ids : [ids];
|
|
24
|
-
await
|
|
25
|
-
|
|
32
|
+
await this.fileProviderService_.delete(input.map((id) => {
|
|
33
|
+
return { fileKey: id };
|
|
34
|
+
}));
|
|
26
35
|
}
|
|
27
36
|
async retrieveFile(id) {
|
|
28
37
|
const res = await this.fileProviderService_.getPresignedDownloadUrl({
|
|
@@ -34,43 +43,50 @@ class FileModuleService {
|
|
|
34
43
|
};
|
|
35
44
|
}
|
|
36
45
|
async listFiles(filters, config, sharedContext) {
|
|
37
|
-
|
|
38
|
-
if (!id) {
|
|
46
|
+
if (!filters?.id) {
|
|
39
47
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Listing of files is only supported when filtering by ID.");
|
|
40
48
|
}
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
id,
|
|
50
|
-
url: res,
|
|
51
|
-
},
|
|
52
|
-
];
|
|
49
|
+
const ids = Array.isArray(filters?.id) ? filters?.id : [filters?.id];
|
|
50
|
+
const res = await Promise.all(ids.map(async (id) => {
|
|
51
|
+
const res = await this.fileProviderService_.getPresignedDownloadUrl({
|
|
52
|
+
fileKey: id,
|
|
53
|
+
});
|
|
54
|
+
return { id, url: res };
|
|
55
|
+
}));
|
|
56
|
+
return res;
|
|
53
57
|
}
|
|
54
58
|
async listAndCountFiles(filters, config, sharedContext) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Listing and counting of files is only supported when filtering by ID.");
|
|
58
|
-
}
|
|
59
|
-
const res = await this.fileProviderService_.getPresignedDownloadUrl({
|
|
60
|
-
fileKey: id,
|
|
61
|
-
});
|
|
62
|
-
if (!res) {
|
|
63
|
-
return [[], 0];
|
|
59
|
+
if (!filters?.id) {
|
|
60
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Listing of files is only supported when filtering by ID.");
|
|
64
61
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
62
|
+
const ids = Array.isArray(filters?.id) ? filters?.id : [filters?.id];
|
|
63
|
+
const res = await Promise.all(ids.map(async (id) => {
|
|
64
|
+
const res = await this.fileProviderService_.getPresignedDownloadUrl({
|
|
65
|
+
fileKey: id,
|
|
66
|
+
});
|
|
67
|
+
return { id, url: res };
|
|
68
|
+
}));
|
|
69
|
+
return [res, res.length];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the file contents as a readable stream.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* const stream = await fileModuleService.getAsStream("file_123")
|
|
76
|
+
* writeable.pipe(stream)
|
|
77
|
+
*/
|
|
78
|
+
getDownloadStream(id) {
|
|
79
|
+
return this.fileProviderService_.getDownloadStream({ fileKey: id });
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get the file contents as a Node.js Buffer
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* const contents = await fileModuleService.getAsBuffer("file_123")
|
|
86
|
+
* contents.toString('utf-8')
|
|
87
|
+
*/
|
|
88
|
+
getAsBuffer(id) {
|
|
89
|
+
return this.fileProviderService_.getAsBuffer({ fileKey: id });
|
|
74
90
|
}
|
|
75
91
|
}
|
|
76
92
|
exports.default = FileModuleService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-module-service.js","sourceRoot":"","sources":["../../src/services/file-module-service.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"file-module-service.js","sourceRoot":"","sources":["../../src/services/file-module-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Readable } from "stream";
|
|
1
2
|
import { Constructor, FileTypes } from "@medusajs/framework/types";
|
|
2
3
|
import { FileProviderRegistrationPrefix } from "../types";
|
|
3
4
|
type InjectedDependencies = {
|
|
@@ -8,8 +9,11 @@ export default class FileProviderService {
|
|
|
8
9
|
constructor(container: InjectedDependencies);
|
|
9
10
|
static getRegistrationIdentifier(providerClass: Constructor<FileTypes.IFileProvider>, optionName?: string): string;
|
|
10
11
|
upload(file: FileTypes.ProviderUploadFileDTO): Promise<FileTypes.ProviderFileResultDTO>;
|
|
11
|
-
delete(fileData: FileTypes.ProviderDeleteFileDTO): Promise<void>;
|
|
12
|
+
delete(fileData: FileTypes.ProviderDeleteFileDTO | FileTypes.ProviderDeleteFileDTO[]): Promise<void>;
|
|
12
13
|
getPresignedDownloadUrl(fileData: FileTypes.ProviderGetFileDTO): Promise<string>;
|
|
14
|
+
getPresignedUploadUrl(fileData: FileTypes.ProviderGetPresignedUploadUrlDTO): Promise<FileTypes.ProviderFileResultDTO>;
|
|
15
|
+
getDownloadStream(fileData: FileTypes.ProviderGetFileDTO): Promise<Readable>;
|
|
16
|
+
getAsBuffer(fileData: FileTypes.ProviderGetFileDTO): Promise<Buffer>;
|
|
13
17
|
}
|
|
14
18
|
export {};
|
|
15
19
|
//# sourceMappingURL=file-provider-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-provider-service.d.ts","sourceRoot":"","sources":["../../src/services/file-provider-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAA;AAEvD,KAAK,oBAAoB,GAAG;IAC1B,CACE,GAAG,EAAE,GAAG,OAAO,8BAA8B,GAAG,MAAM,EAAE,GACvD,SAAS,CAAC,aAAa,CAAA;CAC3B,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,CAAA;gBAE7C,SAAS,EAAE,oBAAoB;IAe3C,MAAM,CAAC,yBAAyB,CAC9B,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,EACnD,UAAU,CAAC,EAAE,MAAM;IAKrB,MAAM,CACJ,IAAI,EAAE,SAAS,CAAC,qBAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAI3C,MAAM,
|
|
1
|
+
{"version":3,"file":"file-provider-service.d.ts","sourceRoot":"","sources":["../../src/services/file-provider-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAA;AAEvD,KAAK,oBAAoB,GAAG;IAC1B,CACE,GAAG,EAAE,GAAG,OAAO,8BAA8B,GAAG,MAAM,EAAE,GACvD,SAAS,CAAC,aAAa,CAAA;CAC3B,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,CAAA;gBAE7C,SAAS,EAAE,oBAAoB;IAe3C,MAAM,CAAC,yBAAyB,CAC9B,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,EACnD,UAAU,CAAC,EAAE,MAAM;IAKrB,MAAM,CACJ,IAAI,EAAE,SAAS,CAAC,qBAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAI3C,MAAM,CACJ,QAAQ,EACJ,SAAS,CAAC,qBAAqB,GAC/B,SAAS,CAAC,qBAAqB,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAIhB,uBAAuB,CACrB,QAAQ,EAAE,SAAS,CAAC,kBAAkB,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB,qBAAqB,CACnB,QAAQ,EAAE,SAAS,CAAC,gCAAgC,GACnD,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAkB3C,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5E,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;CAGrE"}
|
|
@@ -22,6 +22,21 @@ class FileProviderService {
|
|
|
22
22
|
getPresignedDownloadUrl(fileData) {
|
|
23
23
|
return this.fileProvider_.getPresignedDownloadUrl(fileData);
|
|
24
24
|
}
|
|
25
|
+
getPresignedUploadUrl(fileData) {
|
|
26
|
+
if (!this.fileProvider_.getPresignedUploadUrl) {
|
|
27
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Provider does not support presigned upload URLs");
|
|
28
|
+
}
|
|
29
|
+
if (!fileData.filename) {
|
|
30
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "File name is required to get a presigned upload URL");
|
|
31
|
+
}
|
|
32
|
+
return this.fileProvider_.getPresignedUploadUrl(fileData);
|
|
33
|
+
}
|
|
34
|
+
getDownloadStream(fileData) {
|
|
35
|
+
return this.fileProvider_.getDownloadStream(fileData);
|
|
36
|
+
}
|
|
37
|
+
getAsBuffer(fileData) {
|
|
38
|
+
return this.fileProvider_.getAsBuffer(fileData);
|
|
39
|
+
}
|
|
25
40
|
}
|
|
26
41
|
exports.default = FileProviderService;
|
|
27
42
|
//# sourceMappingURL=file-provider-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-provider-service.js","sourceRoot":"","sources":["../../src/services/file-provider-service.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"file-provider-service.js","sourceRoot":"","sources":["../../src/services/file-provider-service.ts"],"names":[],"mappings":";;AAEA,qDAAuD;AACvD,mCAAuD;AAQvD,MAAqB,mBAAmB;IAGtC,YAAY,SAA+B;QACzC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,UAAU,CAAC,uCAA8B,CAAC,CAC7C,CAAA;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,YAAY,EAC9B,6DAA6D,CAC9D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,yBAAyB,CAC9B,aAAmD,EACnD,UAAmB;QAEnB,OAAO,GAAI,aAAqB,CAAC,UAAU,IAAI,UAAU,EAAE,CAAA;IAC7D,CAAC;IAED,MAAM,CACJ,IAAqC;QAErC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CACJ,QAEqC;QAErC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,uBAAuB,CACrB,QAAsC;QAEtC,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,qBAAqB,CACnB,QAAoD;QAEpD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAC9C,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,YAAY,EAC9B,iDAAiD,CAClD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,YAAY,EAC9B,qDAAqD,CACtD,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAED,iBAAiB,CAAC,QAAsC;QACtD,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACvD,CAAC;IAED,WAAW,CAAC,QAAsC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;CACF;AAxED,sCAwEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/joiner-config.ts","../src/loaders/providers.ts","../src/services/file-module-service.ts","../src/services/file-provider-service.ts","../src/services/index.ts","../src/services/__tests__/file.spec.ts","../src/types/index.ts"],"version":"5.
|
|
1
|
+
{"root":["../src/index.ts","../src/joiner-config.ts","../src/loaders/providers.ts","../src/services/file-module-service.ts","../src/services/file-provider-service.ts","../src/services/index.ts","../src/services/__tests__/file.spec.ts","../src/types/index.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/file",
|
|
3
|
-
"version": "3.0.0-snapshot-
|
|
3
|
+
"version": "3.0.0-snapshot-20251104004624",
|
|
4
4
|
"description": "Medusa File module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,33 +24,22 @@
|
|
|
24
24
|
"author": "Medusa",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"scripts": {
|
|
27
|
-
"watch": "tsc --build --watch",
|
|
28
|
-
"watch:test": "tsc --build tsconfig.spec.json --watch",
|
|
29
|
-
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
|
|
30
|
-
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
|
|
31
|
-
"test": "jest --passWithNoTests --
|
|
32
|
-
"test:integration": "jest --passWithNoTests --forceExit --
|
|
33
|
-
"migration:initial": "
|
|
34
|
-
"migration:create": "
|
|
35
|
-
"migration:up": "
|
|
36
|
-
"orm:cache:clear": "
|
|
27
|
+
"watch": "yarn run -T tsc --build --watch",
|
|
28
|
+
"watch:test": "yarn run -T tsc --build tsconfig.spec.json --watch",
|
|
29
|
+
"resolve:aliases": "yarn run -T tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && yarn run -T tsc-alias -p tsconfig.resolved.json && yarn run -T rimraf tsconfig.resolved.json",
|
|
30
|
+
"build": "yarn run -T rimraf dist && yarn run -T tsc --build && npm run resolve:aliases",
|
|
31
|
+
"test": "../../../node_modules/.bin/jest --passWithNoTests --bail --forceExit --testPathPattern=src",
|
|
32
|
+
"test:integration": "../../../node_modules/.bin/jest --passWithNoTests --forceExit --testPathPattern=\"integration-tests/__tests__/.*\\.ts\"",
|
|
33
|
+
"migration:initial": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:create --initial",
|
|
34
|
+
"migration:create": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:create",
|
|
35
|
+
"migration:up": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:up",
|
|
36
|
+
"orm:cache:clear": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm cache:clear"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@medusajs/framework": "3.0.0-snapshot-
|
|
40
|
-
"@medusajs/test-utils": "3.0.0-snapshot-
|
|
41
|
-
"@mikro-orm/cli": "6.4.3",
|
|
42
|
-
"@mikro-orm/core": "6.4.3",
|
|
43
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
44
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
45
|
-
"@swc/core": "^1.7.28",
|
|
46
|
-
"@swc/jest": "^0.2.36",
|
|
47
|
-
"jest": "^29.7.0",
|
|
48
|
-
"rimraf": "^3.0.2",
|
|
49
|
-
"tsc-alias": "^1.8.6",
|
|
50
|
-
"typescript": "^5.6.2"
|
|
39
|
+
"@medusajs/framework": "3.0.0-snapshot-20251104004624",
|
|
40
|
+
"@medusajs/test-utils": "3.0.0-snapshot-20251104004624"
|
|
51
41
|
},
|
|
52
42
|
"peerDependencies": {
|
|
53
|
-
"@medusajs/framework": "3.0.0-snapshot-
|
|
54
|
-
"awilix": "^8.0.1"
|
|
43
|
+
"@medusajs/framework": "3.0.0-snapshot-20251104004624"
|
|
55
44
|
}
|
|
56
45
|
}
|