@unchainedshop/core-files 4.2.1 → 4.3.0

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.
Files changed (38) hide show
  1. package/lib/db/MediaObjectsSchema.d.ts +3 -0
  2. package/lib/db/MediaObjectsSchema.d.ts.map +1 -0
  3. package/lib/db/MediaObjectsSchema.js +13 -0
  4. package/lib/db/MediaObjectsSchema.js.map +1 -0
  5. package/lib/module/configureFilesModule.d.ts +4 -3
  6. package/lib/module/configureFilesModule.d.ts.map +1 -1
  7. package/lib/module/configureFilesModule.js +4 -4
  8. package/lib/module/configureFilesModule.js.map +1 -1
  9. package/lib/service/createDownloadStreamService.d.ts +3 -0
  10. package/lib/service/createDownloadStreamService.d.ts.map +1 -0
  11. package/lib/service/createDownloadStreamService.js +9 -0
  12. package/lib/service/createDownloadStreamService.js.map +1 -0
  13. package/lib/service/createSignedURLService.d.ts +3 -0
  14. package/lib/service/createSignedURLService.d.ts.map +1 -0
  15. package/lib/service/createSignedURLService.js +15 -0
  16. package/lib/service/createSignedURLService.js.map +1 -0
  17. package/lib/service/fileServices.d.ts +3 -0
  18. package/lib/service/fileServices.d.ts.map +1 -0
  19. package/lib/service/fileServices.js +15 -0
  20. package/lib/service/fileServices.js.map +1 -0
  21. package/lib/service/linkFileService.d.ts +3 -0
  22. package/lib/service/linkFileService.d.ts.map +1 -0
  23. package/lib/service/linkFileService.js +15 -0
  24. package/lib/service/linkFileService.js.map +1 -0
  25. package/lib/service/removeFilesService.d.ts +3 -0
  26. package/lib/service/removeFilesService.d.ts.map +1 -0
  27. package/lib/service/removeFilesService.js +21 -0
  28. package/lib/service/removeFilesService.js.map +1 -0
  29. package/lib/service/uploadFileFromStreamService.d.ts +3 -0
  30. package/lib/service/uploadFileFromStreamService.d.ts.map +1 -0
  31. package/lib/service/uploadFileFromStreamService.js +11 -0
  32. package/lib/service/uploadFileFromStreamService.js.map +1 -0
  33. package/lib/service/uploadFileFromURLService.d.ts +3 -0
  34. package/lib/service/uploadFileFromURLService.d.ts.map +1 -0
  35. package/lib/service/uploadFileFromURLService.js +11 -0
  36. package/lib/service/uploadFileFromURLService.js.map +1 -0
  37. package/package.json +5 -5
  38. package/src/module/configureFilesModule.ts +4 -4
@@ -0,0 +1,3 @@
1
+ import SimpleSchema from 'simpl-schema';
2
+ export declare const MediaObjectsSchema: SimpleSchema;
3
+ //# sourceMappingURL=MediaObjectsSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaObjectsSchema.d.ts","sourceRoot":"","sources":["../../src/db/MediaObjectsSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,eAAO,MAAM,kBAAkB,cAY9B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Schemas } from '@unchainedshop/utils';
2
+ import SimpleSchema from 'simpl-schema';
3
+ export const MediaObjectsSchema = new SimpleSchema({
4
+ expires: { type: Date },
5
+ path: { type: String, required: true },
6
+ meta: { type: Object, blackbox: true },
7
+ name: { type: String, required: true },
8
+ size: { type: String },
9
+ type: { type: String },
10
+ url: { type: String },
11
+ ...Schemas.timestampFields,
12
+ }, { requiredByDefault: false });
13
+ //# sourceMappingURL=MediaObjectsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaObjectsSchema.js","sourceRoot":"","sources":["../../src/db/MediaObjectsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,YAAY,CAChD;IACE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACvB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACtB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACrB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
@@ -4,9 +4,10 @@ import { File } from '../db/MediaObjectsCollection.js';
4
4
  import { FilesSettingsOptions } from '../files-settings.js';
5
5
  export declare const configureFilesModule: ({ db, options: filesOptions, }: ModuleInput<FilesSettingsOptions>) => Promise<{
6
6
  normalizeUrl: (url: string, params: Record<string, any>) => string;
7
- findFile: ({ fileId, url }: {
8
- fileId?: string;
9
- url?: string;
7
+ findFile: (params: {
8
+ fileId: string;
9
+ } | {
10
+ url: string;
10
11
  }, options?: mongodb.FindOptions<File>) => Promise<File | null>;
11
12
  findFiles: (selector: mongodb.Filter<File>, options?: mongodb.FindOptions<File>) => Promise<File[]>;
12
13
  deleteMany: (fileIds: string[]) => Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"configureFilesModule.d.ts","sourceRoot":"","sources":["../../src/module/configureFilesModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAA0B,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAiB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM3E,eAAO,MAAM,oBAAoB,GAAU,gCAGxC,WAAW,CAAC,oBAAoB,CAAC;wBASZ,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,MAAM;gCAa7C;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,YACxC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;0BASzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YACpB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAClC,OAAO,CAAC,IAAI,EAAE,CAAC;0BAIU,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAAC;kBAKlC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;qBAUnE,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC;uBAcxB,MAAM;qBAcR,MAAM;EAMhC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"configureFilesModule.d.ts","sourceRoot":"","sources":["../../src/module/configureFilesModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAA0B,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAiB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM3E,eAAO,MAAM,oBAAoB,GAAU,gCAGxC,WAAW,CAAC,oBAAoB,CAAC;wBASZ,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,MAAM;uBAatD;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,YAClC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;0BASzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YACpB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAClC,OAAO,CAAC,IAAI,EAAE,CAAC;0BAIU,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAAC;kBAKlC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;qBAUnE,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC;uBAcxB,MAAM;qBAcR,MAAM;EAMhC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}
@@ -22,11 +22,11 @@ export const configureFilesModule = async ({ db, options: filesOptions = {}, })
22
22
  }
23
23
  return transformedURLString;
24
24
  },
25
- findFile: async ({ fileId, url }, options) => {
26
- if (url) {
27
- return Files.findOne({ url }, options);
25
+ findFile: async (params, options) => {
26
+ if ('url' in params) {
27
+ return Files.findOne({ url: params.url }, options);
28
28
  }
29
- return Files.findOne(generateDbFilterById(fileId, { url }), options);
29
+ return Files.findOne(generateDbFilterById(params.fileId), options);
30
30
  },
31
31
  findFiles: async (selector, options) => {
32
32
  return Files.find(selector, options).toArray();
@@ -1 +1 @@
1
- {"version":3,"file":"configureFilesModule.js","sourceRoot":"","sources":["../../src/module/configureFilesModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAW,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAQ,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AAE3E,MAAM,WAAW,GAAa,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAE5E,MAAM,EAAE,QAAQ,GAAG,uBAAuB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,EAAE,EACF,OAAO,EAAE,YAAY,GAAG,EAAE,GACQ,EAAE,EAAE;IACtC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE5B,WAAW;IACX,MAAM,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAE/C,OAAO;QACL,YAAY,EAAE,CAAC,GAAW,EAAE,MAA2B,EAAU,EAAE;YACjE,MAAM,oBAAoB,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBACzD,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YACD,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QAED,QAAQ,EAAE,KAAK,EACb,EAAE,MAAM,EAAE,GAAG,EAAqC,EAClD,OAAmC,EACnC,EAAE;YACF,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;QAED,SAAS,EAAE,KAAK,EACd,QAA8B,EAC9B,OAAmC,EAClB,EAAE;YACnB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,OAAiB,EAAmB,EAAE;YACvD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACzE,OAAO,cAAc,CAAC,YAAY,CAAC;QACrC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAA2E,EAAE,EAAE;YAC5F,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;gBACnD,GAAG,EAAE,kBAAkB,EAAE;gBACzB,OAAO,EAAE,IAAI,IAAI,EAAE;gBACnB,GAAG,GAAG;aACP,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAc,EAAE,GAAkB,EAAE,EAAE;YACnD,MAAM,KAAK,CAAC,SAAS,CACnB,EAAE,GAAG,EAAE,MAAM,EAAE,EACf;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,IAAI,EAAE;oBACnB,GAAG,GAAG;iBACP;aACF,CACF,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YACjC,MAAM,KAAK,CAAC,SAAS,CACnB,EAAE,GAAG,EAAE,MAAM,EAAE,EACf;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,IAAI,EAAE;iBACpB;gBACD,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;aACvB,CACF,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,YAAY,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"configureFilesModule.js","sourceRoot":"","sources":["../../src/module/configureFilesModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CreateDownloadStreamService } from '@unchainedshop/types/files.js';
2
+ export declare const createDownloadStreamService: CreateDownloadStreamService;
3
+ //# sourceMappingURL=createDownloadStreamService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDownloadStreamService.d.ts","sourceRoot":"","sources":["../../src/service/createDownloadStreamService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAG5E,eAAO,MAAM,2BAA2B,EAAE,2BAYzC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { getFileAdapter } from '../utils/getFileAdapter.js';
2
+ export const createDownloadStreamService = async ({ fileId }, unchainedContext) => {
3
+ const { modules: { files }, } = unchainedContext;
4
+ const fileAdapter = getFileAdapter();
5
+ const file = await files.findFile({ fileId });
6
+ const stream = fileAdapter.createDownloadStream(file, unchainedContext);
7
+ return stream;
8
+ };
9
+ //# sourceMappingURL=createDownloadStreamService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDownloadStreamService.js","sourceRoot":"","sources":["../../src/service/createDownloadStreamService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,CAAC,MAAM,2BAA2B,GAAgC,KAAK,EAC3E,EAAE,MAAM,EAAE,EACV,gBAAgB,EAChB,EAAE;IACF,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,GAAG,gBAAgB,CAAC;IACrB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CreateSignedURLService } from '@unchainedshop/types/files.js';
2
+ export declare const createSignedURLService: CreateSignedURLService;
3
+ //# sourceMappingURL=createSignedURLService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSignedURLService.d.ts","sourceRoot":"","sources":["../../src/service/createSignedURLService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAIvE,eAAO,MAAM,sBAAsB,EAAE,sBAqBpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { getFileAdapter } from '../utils/getFileAdapter.js';
2
+ import { getFileFromFileData } from '../utils/getFileFromFileData.js';
3
+ export const createSignedURLService = async ({ directoryName, fileName, meta }, unchainedContext) => {
4
+ const { modules: { files }, } = unchainedContext;
5
+ const fileUploadAdapter = getFileAdapter();
6
+ const preparedFileData = await fileUploadAdapter.createSignedURL(directoryName, fileName, unchainedContext);
7
+ const fileData = getFileFromFileData(preparedFileData, meta);
8
+ const fileId = await files.create(fileData);
9
+ const file = await files.findFile({ fileId });
10
+ return {
11
+ ...file,
12
+ putURL: preparedFileData.putURL,
13
+ };
14
+ };
15
+ //# sourceMappingURL=createSignedURLService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSignedURLService.js","sourceRoot":"","sources":["../../src/service/createSignedURLService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAA2B,KAAK,EACjE,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EACjC,gBAAgB,EAChB,EAAE;IACF,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,GAAG,gBAAgB,CAAC;IACrB,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAC9D,aAAa,EACb,QAAQ,EACR,gBAAgB,CACjB,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9C,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,gBAAgB,CAAC,MAAgB;KAC1C,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FileServices } from '@unchainedshop/types/files.js';
2
+ export declare const fileServices: FileServices;
3
+ //# sourceMappingURL=fileServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileServices.d.ts","sourceRoot":"","sources":["../../src/service/fileServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAQ7D,eAAO,MAAM,YAAY,EAAE,YAO1B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { linkFileService } from './linkFileService.js';
2
+ import { createSignedURLService } from './createSignedURLService.js';
3
+ import { uploadFileFromURLService } from './uploadFileFromURLService.js';
4
+ import { uploadFileFromStreamService } from './uploadFileFromStreamService.js';
5
+ import { removeFilesService } from './removeFilesService.js';
6
+ import { createDownloadStreamService } from './createDownloadStreamService.js';
7
+ export const fileServices = {
8
+ linkFile: linkFileService,
9
+ createSignedURL: createSignedURLService,
10
+ uploadFileFromURL: uploadFileFromURLService,
11
+ uploadFileFromStream: uploadFileFromStreamService,
12
+ removeFiles: removeFilesService,
13
+ createDownloadStream: createDownloadStreamService,
14
+ };
15
+ //# sourceMappingURL=fileServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileServices.js","sourceRoot":"","sources":["../../src/service/fileServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,QAAQ,EAAE,eAAe;IACzB,eAAe,EAAE,sBAAsB;IACvC,iBAAiB,EAAE,wBAAwB;IAC3C,oBAAoB,EAAE,2BAA2B;IACjD,WAAW,EAAE,kBAAkB;IAC/B,oBAAoB,EAAE,2BAA2B;CAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { LinkFileService } from '@unchainedshop/types/files.js';
2
+ export declare const linkFileService: LinkFileService;
3
+ //# sourceMappingURL=linkFileService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkFileService.d.ts","sourceRoot":"","sources":["../../src/service/linkFileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,eAc7B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { FileDirector } from '@unchainedshop/file-upload';
2
+ export const linkFileService = async ({ fileId, size, type }, unchainedAPI) => {
3
+ const { modules: { files }, } = unchainedAPI;
4
+ const file = await files.findFile({ fileId });
5
+ if (file?.expires) {
6
+ await files.update(file._id, { size: size || file.size, type: type || file.type, expires: null });
7
+ const callback = FileDirector.getFileUploadCallback(file.path);
8
+ if (callback) {
9
+ await callback(file, unchainedAPI);
10
+ }
11
+ return files.findFile({ fileId });
12
+ }
13
+ return file;
14
+ };
15
+ //# sourceMappingURL=linkFileService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkFileService.js","sourceRoot":"","sources":["../../src/service/linkFileService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAoB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE;IAC7F,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,GAAG,YAAY,CAAC;IACjB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { RemoveFilesService } from '@unchainedshop/types/files.js';
2
+ export declare const removeFilesService: RemoveFilesService;
3
+ //# sourceMappingURL=removeFilesService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeFilesService.d.ts","sourceRoot":"","sources":["../../src/service/removeFilesService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,eAAO,MAAM,kBAAkB,EAAE,kBA2BhC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { getFileAdapter } from '../utils/getFileAdapter.js';
2
+ export const removeFilesService = async ({ fileIds }, unchainedAPI) => {
3
+ const { modules: { files }, } = unchainedAPI;
4
+ if (fileIds && typeof fileIds !== 'string' && !Array.isArray(fileIds))
5
+ throw Error('Media id/s to be removed not provided as a string or array');
6
+ const selector = {
7
+ _id: { $in: fileIds },
8
+ };
9
+ const fileUploadAdapter = getFileAdapter();
10
+ const fileObjects = await files.findFiles(selector);
11
+ try {
12
+ await fileUploadAdapter.removeFiles(fileObjects, unchainedAPI);
13
+ }
14
+ catch (e) {
15
+ console.warn(e); // eslint-disable-line
16
+ }
17
+ const fileIdsToDelete = fileObjects.map((f) => f._id).filter(Boolean);
18
+ await files.deleteMany(fileIdsToDelete);
19
+ return fileIdsToDelete.length;
20
+ };
21
+ //# sourceMappingURL=removeFilesService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeFilesService.js","sourceRoot":"","sources":["../../src/service/removeFilesService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAuB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE;IACxF,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,GAAG,YAAY,CAAC;IAEjB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACnE,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAyB;QACrC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;KACtB,CAAC;IAEF,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAE3C,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAExC,OAAO,eAAe,CAAC,MAAM,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { UploadFileFromStreamService } from '@unchainedshop/types/files.js';
2
+ export declare const uploadFileFromStreamService: UploadFileFromStreamService;
3
+ //# sourceMappingURL=uploadFileFromStreamService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadFileFromStreamService.d.ts","sourceRoot":"","sources":["../../src/service/uploadFileFromStreamService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,eAAO,MAAM,2BAA2B,EAAE,2BAgBzC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { getFileAdapter } from '../utils/getFileAdapter.js';
2
+ import { getFileFromFileData } from '../utils/getFileFromFileData.js';
3
+ export const uploadFileFromStreamService = async ({ directoryName, rawFile, meta }, unchainedContext) => {
4
+ const { modules: { files }, } = unchainedContext;
5
+ const fileUploadAdapter = getFileAdapter();
6
+ const uploadFileData = await fileUploadAdapter.uploadFileFromStream(directoryName, rawFile, unchainedContext);
7
+ const fileData = getFileFromFileData(uploadFileData, meta);
8
+ const fileId = await files.create(fileData);
9
+ return files.findFile({ fileId });
10
+ };
11
+ //# sourceMappingURL=uploadFileFromStreamService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadFileFromStreamService.js","sourceRoot":"","sources":["../../src/service/uploadFileFromStreamService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,CAAC,MAAM,2BAA2B,GAAgC,KAAK,EAC3E,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,EAChC,gBAAgB,EAChB,EAAE;IACF,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,GAAG,gBAAgB,CAAC;IACrB,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CACjE,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { UploadFileFromURLService } from '@unchainedshop/types/files.js';
2
+ export declare const uploadFileFromURLService: UploadFileFromURLService;
3
+ //# sourceMappingURL=uploadFileFromURLService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadFileFromURLService.d.ts","sourceRoot":"","sources":["../../src/service/uploadFileFromURLService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,eAAO,MAAM,wBAAwB,EAAE,wBAiBtC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { getFileAdapter } from '../utils/getFileAdapter.js';
2
+ import { getFileFromFileData } from '../utils/getFileFromFileData.js';
3
+ export const uploadFileFromURLService = async ({ directoryName, fileInput, meta }, unchainedContext) => {
4
+ const { modules: { files }, } = unchainedContext;
5
+ const fileUploadAdapter = getFileAdapter();
6
+ const uploadFileData = await fileUploadAdapter.uploadFileFromURL(directoryName, fileInput, unchainedContext);
7
+ const fileData = getFileFromFileData(uploadFileData, meta);
8
+ const fileId = await files.create(fileData);
9
+ return files.findFile({ fileId });
10
+ };
11
+ //# sourceMappingURL=uploadFileFromURLService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadFileFromURLService.js","sourceRoot":"","sources":["../../src/service/uploadFileFromURLService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,CAAC,MAAM,wBAAwB,GAA6B,KAAK,EACrE,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,EAClC,gBAAgB,EAChB,EAAE;IACF,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,GAAG,gBAAgB,CAAC;IACrB,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAC9D,aAAa,EACb,SAAS,EACT,gBAAgB,CACjB,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-files",
3
- "version": "4.2.1",
3
+ "version": "4.3.0",
4
4
  "main": "lib/files-index.js",
5
5
  "types": "lib/files-index.d.ts",
6
6
  "type": "module",
@@ -31,10 +31,10 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/events": "^4.2.0",
35
- "@unchainedshop/file-upload": "^4.2.0",
36
- "@unchainedshop/logger": "^4.2.0",
37
- "@unchainedshop/utils": "^4.2.0"
34
+ "@unchainedshop/events": "^4.3.0",
35
+ "@unchainedshop/file-upload": "^4.3.0",
36
+ "@unchainedshop/logger": "^4.3.0",
37
+ "@unchainedshop/utils": "^4.3.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^24.0.13",
@@ -33,13 +33,13 @@ export const configureFilesModule = async ({
33
33
  },
34
34
 
35
35
  findFile: async (
36
- { fileId, url }: { fileId?: string; url?: string },
36
+ params: { fileId: string } | { url: string },
37
37
  options?: mongodb.FindOptions<File>,
38
38
  ) => {
39
- if (url) {
40
- return Files.findOne({ url }, options);
39
+ if ('url' in params) {
40
+ return Files.findOne({ url: params.url }, options);
41
41
  }
42
- return Files.findOne(generateDbFilterById(fileId, { url }), options);
42
+ return Files.findOne(generateDbFilterById(params.fileId), options);
43
43
  },
44
44
 
45
45
  findFiles: async (