@unchainedshop/core-files 3.0.0-rc8 → 3.0.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.
- package/lib/files-settings.d.ts +1 -0
- package/lib/files-settings.d.ts.map +1 -1
- package/lib/files-settings.js +2 -1
- package/lib/files-settings.js.map +1 -1
- package/lib/module/configureFilesModule.d.ts.map +1 -1
- package/lib/module/configureFilesModule.js +3 -2
- package/lib/module/configureFilesModule.js.map +1 -1
- package/package.json +7 -7
- package/src/files-settings.ts +3 -1
- package/src/module/configureFilesModule.ts +4 -2
package/lib/files-settings.d.ts
CHANGED
|
@@ -8,5 +8,6 @@ export interface FilesSettings {
|
|
|
8
8
|
privateFileSharingMaxAge?: number;
|
|
9
9
|
}
|
|
10
10
|
export declare const defaultTransformUrl: (url: any) => any;
|
|
11
|
+
export declare const PRIVATE_FILE_SHARING_MAX_AGE = 86400000;
|
|
11
12
|
export declare const filesSettings: FilesSettings;
|
|
12
13
|
//# sourceMappingURL=files-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-settings.d.ts","sourceRoot":"","sources":["../src/files-settings.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IACpE,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IACpE,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,mBAAmB,mBAAe,CAAC;AAEhD,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"files-settings.d.ts","sourceRoot":"","sources":["../src/files-settings.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IACpE,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IACpE,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,mBAAmB,mBAAe,CAAC;AAEhD,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAC"}
|
package/lib/files-settings.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export const defaultTransformUrl = (url) => url;
|
|
2
|
+
export const PRIVATE_FILE_SHARING_MAX_AGE = 86400000;
|
|
2
3
|
export const filesSettings = {
|
|
3
4
|
transformUrl: null,
|
|
4
5
|
privateFileSharingMaxAge: null,
|
|
5
6
|
configureSettings: async ({ transformUrl, privateFileSharingMaxAge }) => {
|
|
6
7
|
filesSettings.transformUrl = transformUrl || defaultTransformUrl;
|
|
7
|
-
filesSettings.privateFileSharingMaxAge = privateFileSharingMaxAge;
|
|
8
|
+
filesSettings.privateFileSharingMaxAge = privateFileSharingMaxAge || PRIVATE_FILE_SHARING_MAX_AGE;
|
|
8
9
|
},
|
|
9
10
|
};
|
|
10
11
|
//# sourceMappingURL=files-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-settings.js","sourceRoot":"","sources":["../src/files-settings.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,YAAY,EAAE,IAAI;IAClB,wBAAwB,EAAE,IAAI;IAC9B,iBAAiB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,wBAAwB,EAAE,EAAE,EAAE;QACtE,aAAa,CAAC,YAAY,GAAG,YAAY,IAAI,mBAAmB,CAAC;QACjE,aAAa,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"files-settings.js","sourceRoot":"","sources":["../src/files-settings.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;AAEhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,YAAY,EAAE,IAAI;IAClB,wBAAwB,EAAE,IAAI;IAC9B,iBAAiB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,wBAAwB,EAAE,EAAE,EAAE;QACtE,aAAa,CAAC,YAAY,GAAG,YAAY,IAAI,mBAAmB,CAAC;QACjE,aAAa,CAAC,wBAAwB,GAAG,wBAAwB,IAAI,4BAA4B,CAAC;IACpG,CAAC;CACF,CAAC"}
|
|
@@ -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;
|
|
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,mCAG9B,WAAW,CAAC,oBAAoB,CAAC;wBASZ,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,MAAM;2BAalD;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,YACrB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAClC,OAAO,CAAC,IAAI,CAAC;0BAKJ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YACpB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;0BAIK,KAAK,CAAC,MAAM,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;kBAKvC,IAAI;qBAUD,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC;qBAc1B,MAAM;EAMhC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb
|
|
|
3
3
|
import { MediaObjectsCollection } from '../db/MediaObjectsCollection.js';
|
|
4
4
|
import { filesSettings } from '../files-settings.js';
|
|
5
5
|
const FILE_EVENTS = ['FILE_CREATE', 'FILE_UPDATE', 'FILE_REMOVE'];
|
|
6
|
+
const { ROOT_URL = 'http://localhost:4010' } = process.env;
|
|
6
7
|
export const configureFilesModule = async ({ db, options: filesOptions = {}, }) => {
|
|
7
8
|
registerEvents(FILE_EVENTS);
|
|
8
9
|
// Settings
|
|
@@ -15,8 +16,8 @@ export const configureFilesModule = async ({ db, options: filesOptions = {}, })
|
|
|
15
16
|
const finalURL = new URL(transformedURLString);
|
|
16
17
|
return finalURL.href;
|
|
17
18
|
}
|
|
18
|
-
else if (URL.canParse(transformedURLString,
|
|
19
|
-
const finalURL = new URL(transformedURLString,
|
|
19
|
+
else if (URL.canParse(transformedURLString, ROOT_URL)) {
|
|
20
|
+
const finalURL = new URL(transformedURLString, ROOT_URL);
|
|
20
21
|
return finalURL.href;
|
|
21
22
|
}
|
|
22
23
|
return transformedURLString;
|
|
@@ -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,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,
|
|
1
|
+
{"version":3,"file":"configureFilesModule.js","sourceRoot":"","sources":["../../src/module/configureFilesModule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-files",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"main": "lib/files-index.js",
|
|
5
5
|
"types": "lib/files-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@unchainedshop/events": "^3.0.0
|
|
35
|
-
"@unchainedshop/file-upload": "^3.0.0
|
|
36
|
-
"@unchainedshop/logger": "^3.0.0
|
|
37
|
-
"@unchainedshop/utils": "^3.0.0
|
|
34
|
+
"@unchainedshop/events": "^3.0.0",
|
|
35
|
+
"@unchainedshop/file-upload": "^3.0.0",
|
|
36
|
+
"@unchainedshop/logger": "^3.0.0",
|
|
37
|
+
"@unchainedshop/utils": "^3.0.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/node": "^22.10.
|
|
40
|
+
"@types/node": "^22.10.5",
|
|
41
41
|
"jest": "^29.7.0",
|
|
42
42
|
"ts-jest": "^29.2.5",
|
|
43
|
-
"typescript": "^5.7.
|
|
43
|
+
"typescript": "^5.7.3"
|
|
44
44
|
}
|
|
45
45
|
}
|
package/src/files-settings.ts
CHANGED
|
@@ -11,11 +11,13 @@ export interface FilesSettings {
|
|
|
11
11
|
|
|
12
12
|
export const defaultTransformUrl = (url) => url;
|
|
13
13
|
|
|
14
|
+
export const PRIVATE_FILE_SHARING_MAX_AGE = 86400000;
|
|
15
|
+
|
|
14
16
|
export const filesSettings: FilesSettings = {
|
|
15
17
|
transformUrl: null,
|
|
16
18
|
privateFileSharingMaxAge: null,
|
|
17
19
|
configureSettings: async ({ transformUrl, privateFileSharingMaxAge }) => {
|
|
18
20
|
filesSettings.transformUrl = transformUrl || defaultTransformUrl;
|
|
19
|
-
filesSettings.privateFileSharingMaxAge = privateFileSharingMaxAge;
|
|
21
|
+
filesSettings.privateFileSharingMaxAge = privateFileSharingMaxAge || PRIVATE_FILE_SHARING_MAX_AGE;
|
|
20
22
|
},
|
|
21
23
|
};
|
|
@@ -6,6 +6,8 @@ import { filesSettings, FilesSettingsOptions } from '../files-settings.js';
|
|
|
6
6
|
|
|
7
7
|
const FILE_EVENTS: string[] = ['FILE_CREATE', 'FILE_UPDATE', 'FILE_REMOVE'];
|
|
8
8
|
|
|
9
|
+
const { ROOT_URL = 'http://localhost:4010' } = process.env;
|
|
10
|
+
|
|
9
11
|
export const configureFilesModule = async ({
|
|
10
12
|
db,
|
|
11
13
|
options: filesOptions = {},
|
|
@@ -23,8 +25,8 @@ export const configureFilesModule = async ({
|
|
|
23
25
|
if (URL.canParse(transformedURLString)) {
|
|
24
26
|
const finalURL = new URL(transformedURLString);
|
|
25
27
|
return finalURL.href;
|
|
26
|
-
} else if (URL.canParse(transformedURLString,
|
|
27
|
-
const finalURL = new URL(transformedURLString,
|
|
28
|
+
} else if (URL.canParse(transformedURLString, ROOT_URL)) {
|
|
29
|
+
const finalURL = new URL(transformedURLString, ROOT_URL);
|
|
28
30
|
return finalURL.href;
|
|
29
31
|
}
|
|
30
32
|
return transformedURLString;
|