@unchainedshop/core-assortments 2.0.0-beta6 → 2.0.0-beta8
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/db/{AssortmentMediasCollection.d.ts → AssortmentMediaCollection.d.ts} +2 -2
- package/lib/db/{AssortmentMediasCollection.js → AssortmentMediaCollection.js} +5 -4
- package/lib/db/AssortmentMediaCollection.js.map +1 -0
- package/lib/db/{AssortmentMediasSchema.d.ts → AssortmentMediaSchema.d.ts} +1 -1
- package/lib/db/{AssortmentMediasSchema.js → AssortmentMediaSchema.js} +2 -2
- package/lib/db/AssortmentMediaSchema.js.map +1 -0
- package/lib/db/AssortmentsCollection.js +4 -0
- package/lib/db/AssortmentsCollection.js.map +1 -1
- package/lib/migrations/addMigrations.js +4 -4
- package/lib/migrations/addMigrations.js.map +1 -1
- package/lib/module/configureAssortmentFiltersModule.js +8 -10
- package/lib/module/configureAssortmentFiltersModule.js.map +1 -1
- package/lib/module/configureAssortmentLinksModule.js +19 -19
- package/lib/module/configureAssortmentLinksModule.js.map +1 -1
- package/lib/module/configureAssortmentMediaModule.js +24 -24
- package/lib/module/configureAssortmentMediaModule.js.map +1 -1
- package/lib/module/configureAssortmentProductsModule.js +22 -33
- package/lib/module/configureAssortmentProductsModule.js.map +1 -1
- package/lib/module/configureAssortmentTextsModule.js +1 -1
- package/lib/module/configureAssortmentTextsModule.js.map +1 -1
- package/lib/module/configureAssortmentsModule.js +23 -19
- package/lib/module/configureAssortmentsModule.js.map +1 -1
- package/package.json +9 -9
- package/src/db/{AssortmentMediasCollection.ts → AssortmentMediaCollection.ts} +8 -4
- package/src/db/{AssortmentMediasSchema.js → AssortmentMediaSchema.js} +1 -1
- package/src/db/AssortmentsCollection.ts +4 -0
- package/src/migrations/addMigrations.ts +4 -4
- package/src/module/configureAssortmentFiltersModule.ts +12 -10
- package/src/module/configureAssortmentLinksModule.ts +30 -38
- package/src/module/configureAssortmentMediaModule.ts +35 -32
- package/src/module/configureAssortmentProductsModule.ts +29 -50
- package/src/module/configureAssortmentTextsModule.ts +1 -1
- package/src/module/configureAssortmentsModule.ts +23 -25
- package/lib/db/AssortmentMediasCollection.js.map +0 -1
- package/lib/db/AssortmentMediasSchema.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AssortmentMedia, AssortmentMediaText } from '@unchainedshop/types/assortments.media';
|
|
1
|
+
import { AssortmentMedia as AssortmentMediaType, AssortmentMediaText } from '@unchainedshop/types/assortments.media';
|
|
2
2
|
import { Db } from '@unchainedshop/types/common';
|
|
3
3
|
export declare const AssortmentMediaCollection: (db: Db) => Promise<{
|
|
4
|
-
|
|
4
|
+
AssortmentMedia: import("mongodb").Collection<AssortmentMediaType>;
|
|
5
5
|
AssortmentMediaTexts: import("mongodb").Collection<AssortmentMediaText>;
|
|
6
6
|
}>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { buildDbIndexes } from '@unchainedshop/utils';
|
|
2
2
|
export const AssortmentMediaCollection = async (db) => {
|
|
3
|
-
const
|
|
3
|
+
const AssortmentMedia = db.collection('assortment_media');
|
|
4
4
|
const AssortmentMediaTexts = db.collection('assortment_media_texts');
|
|
5
5
|
// Assortment Indexes
|
|
6
|
-
await buildDbIndexes(
|
|
6
|
+
await buildDbIndexes(AssortmentMedia, [
|
|
7
7
|
{ index: { mediaId: 1 } },
|
|
8
8
|
{ index: { assortmentId: 1 } },
|
|
9
|
+
{ index: { sortKey: 1 } },
|
|
9
10
|
{ index: { tags: 1 } },
|
|
10
11
|
]);
|
|
11
12
|
// AssortmentTexts indexes
|
|
@@ -14,8 +15,8 @@ export const AssortmentMediaCollection = async (db) => {
|
|
|
14
15
|
{ index: { locale: 1 } },
|
|
15
16
|
]);
|
|
16
17
|
return {
|
|
17
|
-
|
|
18
|
+
AssortmentMedia,
|
|
18
19
|
AssortmentMediaTexts,
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=AssortmentMediaCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssortmentMediaCollection.js","sourceRoot":"","sources":["../../src/db/AssortmentMediaCollection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;IACxD,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAsB,kBAAkB,CAAC,CAAC;IAC/E,MAAM,oBAAoB,GAAG,EAAE,CAAC,UAAU,CAAsB,wBAAwB,CAAC,CAAC;IAE1F,qBAAqB;IACrB,MAAM,cAAc,CAAC,eAAe,EAAE;QACpC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACzB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;QAC9B,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACzB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;KACvB,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,cAAc,CAAC,oBAAoB,EAAE;QACzC,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE;QACnC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,eAAe;QACf,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schemas } from '@unchainedshop/utils';
|
|
2
2
|
import SimpleSchema from 'simpl-schema';
|
|
3
|
-
export const
|
|
3
|
+
export const AssortmentMediaSchema = new SimpleSchema({
|
|
4
4
|
mediaId: { type: String, required: true },
|
|
5
5
|
assortmentId: { type: String, required: true },
|
|
6
6
|
sortKey: { type: Number, required: true },
|
|
@@ -21,4 +21,4 @@ export const AssortmentMediaTextsSchema = new SimpleSchema({
|
|
|
21
21
|
subtitle: String,
|
|
22
22
|
...Schemas.timestampFields,
|
|
23
23
|
}, { requiredByDefault: false });
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=AssortmentMediaSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssortmentMediaSchema.js","sourceRoot":"","sources":["../../src/db/AssortmentMediaSchema.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,YAAY,CACnD;IACE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC9C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,YAAY,CACxD;IACE,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
|
|
@@ -42,18 +42,22 @@ export const AssortmentsCollection = async (db) => {
|
|
|
42
42
|
{ index: { assortmentId: 1 } },
|
|
43
43
|
{ index: { productId: 1 } },
|
|
44
44
|
{ index: { tags: 1 } },
|
|
45
|
+
{ index: { assortmentId: 1, sortKey: 1 } },
|
|
45
46
|
]);
|
|
46
47
|
// AssortmentLinks indices
|
|
47
48
|
await buildDbIndexes(AssortmentLinks, [
|
|
48
49
|
{ index: { parentAssortmentId: 1 } },
|
|
49
50
|
{ index: { childAssortmentId: 1 } },
|
|
50
51
|
{ index: { tags: 1 } },
|
|
52
|
+
{ index: { parentAssortmentId: 1, sortKey: 1 } },
|
|
53
|
+
{ index: { childAssortmentId: 1, parentAssortmentId: 1, sortKey: 1 } },
|
|
51
54
|
]);
|
|
52
55
|
// AssortmentFilter indices
|
|
53
56
|
await buildDbIndexes(AssortmentFilters, [
|
|
54
57
|
{ index: { assortmentId: 1 } },
|
|
55
58
|
{ index: { filterId: 1 } },
|
|
56
59
|
{ index: { tags: 1 } },
|
|
60
|
+
{ index: { assortmentId: 1, sortKey: 1 } },
|
|
57
61
|
]);
|
|
58
62
|
return {
|
|
59
63
|
Assortments,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssortmentsCollection.js","sourceRoot":"","sources":["../../src/db/AssortmentsCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;IACpD,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAa,aAAa,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAiB,kBAAkB,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAoB,qBAAqB,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAiB,kBAAkB,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAmB,oBAAoB,CAAC,CAAC;IAChF,MAAM,wBAAwB,GAAG,EAAE,CAAC,UAAU,CAC5C,4BAA4B,CAC7B,CAAC;IAEF,qBAAqB;IACrB,MAAM,cAAc,CAAC,WAAW,EAAE;QAChC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;QACxB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC1B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB;YACE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACxB,OAAO,EAAE;gBACP,IAAI,EAAE,6BAA6B;aACpC;SACF;KACF,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,cAAc,CAAC,eAAe,EAAE;QACpC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;QAC9B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;QACxB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;QACzC;YACE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC1C,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,CAAC;iBACZ;gBACD,IAAI,EAAE,mCAAmC;aAC1C;SACF;KACF,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,cAAc,CAAC,kBAAkB,EAAE;QACvC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;QAC9B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC3B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"AssortmentsCollection.js","sourceRoot":"","sources":["../../src/db/AssortmentsCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssortmentMediaCollection } from '../db/
|
|
1
|
+
import { AssortmentMediaCollection } from '../db/AssortmentMediaCollection';
|
|
2
2
|
import { AssortmentsCollection } from '../db/AssortmentsCollection';
|
|
3
3
|
const convertTagsToLowerCase = async (collection) => {
|
|
4
4
|
let bulk = collection.initializeUnorderedBulkOp();
|
|
@@ -40,7 +40,7 @@ export default function addMigrations(repository) {
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
catch (e) {
|
|
43
|
-
console.warn(e);
|
|
43
|
+
// console.warn(e);
|
|
44
44
|
/* */
|
|
45
45
|
}
|
|
46
46
|
}));
|
|
@@ -54,13 +54,13 @@ export default function addMigrations(repository) {
|
|
|
54
54
|
name: 'Convert all tags to lower case to make it easy for search',
|
|
55
55
|
up: async () => {
|
|
56
56
|
const { Assortments, AssortmentFilters, AssortmentLinks, AssortmentProducts } = await AssortmentsCollection(repository.db);
|
|
57
|
-
const {
|
|
57
|
+
const { AssortmentMedia } = await AssortmentMediaCollection(repository.db);
|
|
58
58
|
await Promise.all([
|
|
59
59
|
convertTagsToLowerCase(Assortments),
|
|
60
60
|
convertTagsToLowerCase(AssortmentProducts),
|
|
61
61
|
convertTagsToLowerCase(AssortmentLinks),
|
|
62
62
|
convertTagsToLowerCase(AssortmentFilters),
|
|
63
|
-
convertTagsToLowerCase(
|
|
63
|
+
convertTagsToLowerCase(AssortmentMedia),
|
|
64
64
|
]);
|
|
65
65
|
},
|
|
66
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addMigrations.js","sourceRoot":"","sources":["../../src/migrations/addMigrations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"addMigrations.js","sourceRoot":"","sources":["../../src/migrations/addMigrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ export const configureAssortmentFiltersModule = ({ AssortmentFilters, }) => {
|
|
|
54
54
|
$setOnInsert,
|
|
55
55
|
}, { upsert: true });
|
|
56
56
|
const assortmentFilter = await AssortmentFilters.findOne(selector, {});
|
|
57
|
-
emit('ASSORTMENT_ADD_FILTER', { assortmentFilter });
|
|
57
|
+
await emit('ASSORTMENT_ADD_FILTER', { assortmentFilter });
|
|
58
58
|
return assortmentFilter;
|
|
59
59
|
},
|
|
60
60
|
delete: async (assortmentFilterId) => {
|
|
@@ -63,7 +63,7 @@ export const configureAssortmentFiltersModule = ({ AssortmentFilters, }) => {
|
|
|
63
63
|
projection: { _id: 1 },
|
|
64
64
|
});
|
|
65
65
|
await AssortmentFilters.deleteOne(selector);
|
|
66
|
-
emit('ASSORTMENT_REMOVE_FILTER', {
|
|
66
|
+
await emit('ASSORTMENT_REMOVE_FILTER', {
|
|
67
67
|
assortmentFilterId: assortmentFilter._id,
|
|
68
68
|
});
|
|
69
69
|
return [assortmentFilter];
|
|
@@ -72,13 +72,11 @@ export const configureAssortmentFiltersModule = ({ AssortmentFilters, }) => {
|
|
|
72
72
|
const assortmentFilters = await AssortmentFilters.find(selector, {
|
|
73
73
|
projection: { _id: 1 },
|
|
74
74
|
}).toArray();
|
|
75
|
-
await AssortmentFilters.deleteMany(selector);
|
|
76
|
-
assortmentFilters.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
81
|
-
return assortmentFilters;
|
|
75
|
+
const deletionResult = await AssortmentFilters.deleteMany(selector);
|
|
76
|
+
await Promise.all(assortmentFilters.map(async (assortmentFilter) => emit('ASSORTMENT_REMOVE_FILTER', {
|
|
77
|
+
assortmentFilterId: assortmentFilter._id,
|
|
78
|
+
})));
|
|
79
|
+
return deletionResult.deletedCount;
|
|
82
80
|
},
|
|
83
81
|
// This action is specifically used for the bulk migration scripts in the platform package
|
|
84
82
|
update: async (assortmentFilterId, doc) => {
|
|
@@ -101,7 +99,7 @@ export const configureAssortmentFiltersModule = ({ AssortmentFilters, }) => {
|
|
|
101
99
|
const assortmentFilters = await AssortmentFilters.find({
|
|
102
100
|
_id: { $in: changedAssortmentFilterIds },
|
|
103
101
|
}).toArray();
|
|
104
|
-
emit('ASSORTMENT_REORDER_FILTERS', { assortmentFilters });
|
|
102
|
+
await emit('ASSORTMENT_REORDER_FILTERS', { assortmentFilters });
|
|
105
103
|
return assortmentFilters;
|
|
106
104
|
},
|
|
107
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureAssortmentFiltersModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentFiltersModule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"configureAssortmentFiltersModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentFiltersModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export const configureAssortmentLinksModule = ({ AssortmentLinks, invalidateCach
|
|
|
62
62
|
upsert: true,
|
|
63
63
|
});
|
|
64
64
|
const assortmentLink = await AssortmentLinks.findOne(selector, {});
|
|
65
|
-
emit('ASSORTMENT_ADD_LINK', { assortmentLink });
|
|
65
|
+
await emit('ASSORTMENT_ADD_LINK', { assortmentLink });
|
|
66
66
|
if (!options.skipInvalidation) {
|
|
67
67
|
await invalidateCache({ assortmentIds: [parentAssortmentId] });
|
|
68
68
|
}
|
|
@@ -81,9 +81,7 @@ export const configureAssortmentLinksModule = ({ AssortmentLinks, invalidateCach
|
|
|
81
81
|
await AssortmentLinks.updateOne(selector, modifier);
|
|
82
82
|
const assortmentLink = await AssortmentLinks.findOne(selector, {});
|
|
83
83
|
if (!options.skipInvalidation) {
|
|
84
|
-
await invalidateCache({ assortmentIds: [assortmentLink.childAssortmentId] }
|
|
85
|
-
skipUpstreamTraversal: false,
|
|
86
|
-
});
|
|
84
|
+
await invalidateCache({ assortmentIds: [assortmentLink.childAssortmentId] });
|
|
87
85
|
}
|
|
88
86
|
return assortmentLink;
|
|
89
87
|
},
|
|
@@ -91,33 +89,37 @@ export const configureAssortmentLinksModule = ({ AssortmentLinks, invalidateCach
|
|
|
91
89
|
const selector = generateDbFilterById(assortmentLinkId);
|
|
92
90
|
const assortmentLink = await AssortmentLinks.findOne(selector, {});
|
|
93
91
|
await AssortmentLinks.deleteOne(selector);
|
|
94
|
-
emit('ASSORTMENT_REMOVE_LINK', {
|
|
92
|
+
await emit('ASSORTMENT_REMOVE_LINK', {
|
|
95
93
|
assortmentLinkId: assortmentLink._id,
|
|
96
94
|
});
|
|
97
95
|
if (!options.skipInvalidation) {
|
|
98
96
|
await invalidateCache({
|
|
99
97
|
assortmentIds: [assortmentLink.childAssortmentId, assortmentLink.parentAssortmentId],
|
|
100
|
-
}
|
|
98
|
+
});
|
|
101
99
|
}
|
|
102
100
|
return assortmentLink;
|
|
103
101
|
},
|
|
104
102
|
deleteMany: async (selector, options) => {
|
|
105
|
-
const assortmentLinks = await AssortmentLinks.find(selector, {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
});
|
|
103
|
+
const assortmentLinks = await AssortmentLinks.find(selector, {
|
|
104
|
+
projection: {
|
|
105
|
+
_id: 1,
|
|
106
|
+
childAssortmentId: 1,
|
|
107
|
+
parentAssortmentId: 1,
|
|
108
|
+
},
|
|
109
|
+
}).toArray();
|
|
110
|
+
const deletionResult = await AssortmentLinks.deleteMany(selector);
|
|
111
|
+
await Promise.all(assortmentLinks.map(async (assortmentLink) => emit('ASSORTMENT_REMOVE_LINK', {
|
|
112
|
+
assortmentLinkId: assortmentLink._id,
|
|
113
|
+
})));
|
|
112
114
|
if (!options.skipInvalidation && assortmentLinks.length) {
|
|
113
115
|
await invalidateCache({
|
|
114
116
|
assortmentIds: assortmentLinks.flatMap((link) => [
|
|
115
117
|
link.childAssortmentId,
|
|
116
118
|
link.parentAssortmentId,
|
|
117
119
|
]),
|
|
118
|
-
}
|
|
120
|
+
});
|
|
119
121
|
}
|
|
120
|
-
return
|
|
122
|
+
return deletionResult.deletedCount;
|
|
121
123
|
},
|
|
122
124
|
updateManualOrder: async ({ sortKeys }, options, userId) => {
|
|
123
125
|
const changedAssortmentLinkIds = await Promise.all(sortKeys.map(async ({ assortmentLinkId, sortKey }) => {
|
|
@@ -134,11 +136,9 @@ export const configureAssortmentLinksModule = ({ AssortmentLinks, invalidateCach
|
|
|
134
136
|
_id: { $in: changedAssortmentLinkIds },
|
|
135
137
|
}).toArray();
|
|
136
138
|
if (!options.skipInvalidation && assortmentLinks.length) {
|
|
137
|
-
await invalidateCache({ assortmentIds: assortmentLinks.map((link) => link.childAssortmentId) }
|
|
138
|
-
skipUpstreamTraversal: false,
|
|
139
|
-
});
|
|
139
|
+
await invalidateCache({ assortmentIds: assortmentLinks.map((link) => link.childAssortmentId) });
|
|
140
140
|
}
|
|
141
|
-
emit('ASSORTMENT_REORDER_LINKS', { assortmentLinks });
|
|
141
|
+
await emit('ASSORTMENT_REORDER_LINKS', { assortmentLinks });
|
|
142
142
|
return assortmentLinks;
|
|
143
143
|
},
|
|
144
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureAssortmentLinksModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentLinksModule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"configureAssortmentLinksModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentLinksModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import localePkg from 'locale';
|
|
|
2
2
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
3
3
|
import { findLocalizedText, generateDbFilterById, generateDbMutations, generateDbObjectId, } from '@unchainedshop/utils';
|
|
4
4
|
import { FileDirector } from '@unchainedshop/file-upload';
|
|
5
|
-
import { AssortmentMediaCollection } from '../db/
|
|
6
|
-
import {
|
|
5
|
+
import { AssortmentMediaCollection } from '../db/AssortmentMediaCollection';
|
|
6
|
+
import { AssortmentMediaSchema } from '../db/AssortmentMediaSchema';
|
|
7
7
|
const { Locale } = localePkg;
|
|
8
8
|
const ASSORTMENT_MEDIA_EVENTS = [
|
|
9
9
|
'ASSORTMENT_ADD_MEDIA',
|
|
@@ -19,8 +19,8 @@ FileDirector.registerFileUploadCallback('assortment-media', async (file, { modul
|
|
|
19
19
|
});
|
|
20
20
|
export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
21
21
|
registerEvents(ASSORTMENT_MEDIA_EVENTS);
|
|
22
|
-
const {
|
|
23
|
-
const mutations = generateDbMutations(
|
|
22
|
+
const { AssortmentMedia, AssortmentMediaTexts } = await AssortmentMediaCollection(db);
|
|
23
|
+
const mutations = generateDbMutations(AssortmentMedia, AssortmentMediaSchema);
|
|
24
24
|
const upsertLocalizedText = async (assortmentMediaId, locale, text, userId) => {
|
|
25
25
|
const selector = {
|
|
26
26
|
assortmentMediaId,
|
|
@@ -48,14 +48,14 @@ export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
|
48
48
|
return {
|
|
49
49
|
// Queries
|
|
50
50
|
findAssortmentMedia: async ({ assortmentMediaId }) => {
|
|
51
|
-
return
|
|
51
|
+
return AssortmentMedia.findOne(generateDbFilterById(assortmentMediaId), {});
|
|
52
52
|
},
|
|
53
53
|
findAssortmentMedias: async ({ assortmentId, tags, offset, limit }, options) => {
|
|
54
54
|
const selector = assortmentId ? { assortmentId } : {};
|
|
55
55
|
if (tags && tags.length > 0) {
|
|
56
56
|
selector.tags = { $all: tags };
|
|
57
57
|
}
|
|
58
|
-
const mediaList =
|
|
58
|
+
const mediaList = AssortmentMedia.find(selector, {
|
|
59
59
|
skip: offset,
|
|
60
60
|
limit,
|
|
61
61
|
sort: { sortKey: 1 },
|
|
@@ -68,7 +68,7 @@ export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
|
68
68
|
let { sortKey } = doc;
|
|
69
69
|
if (!sortKey) {
|
|
70
70
|
// Get next sort key
|
|
71
|
-
const lastAssortmentMedia = (await
|
|
71
|
+
const lastAssortmentMedia = (await AssortmentMedia.findOne({
|
|
72
72
|
assortmentId: doc.assortmentId,
|
|
73
73
|
}, {
|
|
74
74
|
sort: { sortKey: -1 },
|
|
@@ -81,16 +81,17 @@ export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
|
81
81
|
...doc,
|
|
82
82
|
sortKey,
|
|
83
83
|
}, userId);
|
|
84
|
-
const assortmentMedia = await
|
|
85
|
-
emit('ASSORTMENT_ADD_MEDIA', {
|
|
84
|
+
const assortmentMedia = await AssortmentMedia.findOne(generateDbFilterById(assortmentMediaId), {});
|
|
85
|
+
await emit('ASSORTMENT_ADD_MEDIA', {
|
|
86
86
|
assortmentMedia,
|
|
87
87
|
});
|
|
88
88
|
return assortmentMedia;
|
|
89
89
|
},
|
|
90
90
|
delete: async (assortmentMediaId) => {
|
|
91
91
|
const selector = generateDbFilterById(assortmentMediaId);
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
await AssortmentMediaTexts.deleteMany({ assortmentMediaId });
|
|
93
|
+
const deletedResult = await AssortmentMedia.deleteOne(selector);
|
|
94
|
+
await emit('ASSORTMENT_REMOVE_MEDIA', {
|
|
94
95
|
assortmentMediaId,
|
|
95
96
|
});
|
|
96
97
|
return deletedResult.deletedCount;
|
|
@@ -103,27 +104,26 @@ export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
|
103
104
|
if (excludedAssortmentMediaIds) {
|
|
104
105
|
selector._id = { $nin: excludedAssortmentMediaIds };
|
|
105
106
|
}
|
|
106
|
-
const ids = await
|
|
107
|
+
const ids = await AssortmentMedia.find(selector, { projection: { _id: true } })
|
|
107
108
|
.map((m) => m._id)
|
|
108
109
|
.toArray();
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
});
|
|
110
|
+
await AssortmentMediaTexts.deleteMany({ assortmentMediaId: { $in: ids } });
|
|
111
|
+
const deletedResult = await AssortmentMedia.deleteMany(selector);
|
|
112
|
+
await Promise.all(ids.map(async (assortmentMediaId) => emit('ASSORTMENT_REMOVE_MEDIA', {
|
|
113
|
+
assortmentMediaId,
|
|
114
|
+
})));
|
|
115
115
|
return deletedResult.deletedCount;
|
|
116
116
|
},
|
|
117
117
|
// This action is specifically used for the bulk migration scripts in the platform package
|
|
118
118
|
update: async (assortmentMediaId, doc) => {
|
|
119
119
|
const selector = generateDbFilterById(assortmentMediaId);
|
|
120
120
|
const modifier = { $set: doc };
|
|
121
|
-
await
|
|
122
|
-
return
|
|
121
|
+
await AssortmentMedia.updateOne(selector, modifier);
|
|
122
|
+
return AssortmentMedia.findOne(selector, {});
|
|
123
123
|
},
|
|
124
124
|
updateManualOrder: async ({ sortKeys }, userId) => {
|
|
125
125
|
const changedAssortmentMediaIds = await Promise.all(sortKeys.map(async ({ assortmentMediaId, sortKey }) => {
|
|
126
|
-
await
|
|
126
|
+
await AssortmentMedia.updateOne(generateDbFilterById(assortmentMediaId), {
|
|
127
127
|
$set: {
|
|
128
128
|
sortKey: sortKey + 1,
|
|
129
129
|
updated: new Date(),
|
|
@@ -132,10 +132,10 @@ export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
|
132
132
|
});
|
|
133
133
|
return assortmentMediaId;
|
|
134
134
|
}));
|
|
135
|
-
const assortmentMedias = await
|
|
135
|
+
const assortmentMedias = await AssortmentMedia.find({
|
|
136
136
|
_id: { $in: changedAssortmentMediaIds },
|
|
137
137
|
}).toArray();
|
|
138
|
-
emit('ASSORTMENT_REORDER_MEDIA', { assortmentMedias });
|
|
138
|
+
await emit('ASSORTMENT_REORDER_MEDIA', { assortmentMedias });
|
|
139
139
|
return assortmentMedias;
|
|
140
140
|
},
|
|
141
141
|
/*
|
|
@@ -154,7 +154,7 @@ export const configureAssortmentMediaModule = async ({ db, }) => {
|
|
|
154
154
|
// Mutations
|
|
155
155
|
updateMediaTexts: async (assortmentMediaId, texts, userId) => {
|
|
156
156
|
const mediaTexts = await Promise.all(texts.map(({ locale, ...text }) => upsertLocalizedText(assortmentMediaId, locale, text, userId)));
|
|
157
|
-
emit('ASSORTMENT_UPDATE_MEDIA_TEXT', {
|
|
157
|
+
await emit('ASSORTMENT_UPDATE_MEDIA_TEXT', {
|
|
158
158
|
assortmentMediaId,
|
|
159
159
|
mediaTexts,
|
|
160
160
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureAssortmentMediaModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentMediaModule.ts"],"names":[],"mappings":"AAQA,OAAO,SAAS,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"configureAssortmentMediaModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentMediaModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,20 +36,15 @@ export const configureAssortmentProductsModule = ({ AssortmentProducts, invalida
|
|
|
36
36
|
},
|
|
37
37
|
findProductSiblings: async ({ assortmentIds, productId }) => {
|
|
38
38
|
const selector = {
|
|
39
|
-
$
|
|
40
|
-
{
|
|
41
|
-
productId: { $ne: productId },
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
assortmentId: { $in: assortmentIds },
|
|
45
|
-
},
|
|
46
|
-
],
|
|
39
|
+
assortmentId: { $in: assortmentIds },
|
|
47
40
|
};
|
|
48
|
-
|
|
41
|
+
const assortmentProducts = await AssortmentProducts.find(selector, {
|
|
42
|
+
sort: { sortKey: 1 },
|
|
49
43
|
projection: { productId: 1 },
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
.
|
|
44
|
+
}).toArray();
|
|
45
|
+
return assortmentProducts
|
|
46
|
+
.filter((product) => product.productId !== productId)
|
|
47
|
+
.map((product) => product.productId);
|
|
53
48
|
},
|
|
54
49
|
// Mutations
|
|
55
50
|
create: async (doc, options, userId) => {
|
|
@@ -84,9 +79,9 @@ export const configureAssortmentProductsModule = ({ AssortmentProducts, invalida
|
|
|
84
79
|
$setOnInsert,
|
|
85
80
|
}, { upsert: true });
|
|
86
81
|
const assortmentProduct = await AssortmentProducts.findOne(selector, {});
|
|
87
|
-
emit('ASSORTMENT_ADD_PRODUCT', { assortmentProduct });
|
|
82
|
+
await emit('ASSORTMENT_ADD_PRODUCT', { assortmentProduct });
|
|
88
83
|
if (!options.skipInvalidation) {
|
|
89
|
-
await invalidateCache({ assortmentIds: [assortmentProduct.assortmentId] }
|
|
84
|
+
await invalidateCache({ assortmentIds: [assortmentProduct.assortmentId] });
|
|
90
85
|
}
|
|
91
86
|
return assortmentProduct;
|
|
92
87
|
},
|
|
@@ -98,13 +93,11 @@ export const configureAssortmentProductsModule = ({ AssortmentProducts, invalida
|
|
|
98
93
|
if (!assortmentProduct)
|
|
99
94
|
return [];
|
|
100
95
|
await AssortmentProducts.deleteOne(selector);
|
|
101
|
-
emit('ASSORTMENT_REMOVE_PRODUCT', {
|
|
96
|
+
await emit('ASSORTMENT_REMOVE_PRODUCT', {
|
|
102
97
|
assortmentProductId: assortmentProduct._id,
|
|
103
98
|
});
|
|
104
99
|
if (!options.skipInvalidation) {
|
|
105
|
-
await invalidateCache({ assortmentIds: [assortmentProduct.assortmentId] }
|
|
106
|
-
skipUpstreamTraversal: false,
|
|
107
|
-
});
|
|
100
|
+
await invalidateCache({ assortmentIds: [assortmentProduct.assortmentId] });
|
|
108
101
|
}
|
|
109
102
|
return [assortmentProduct];
|
|
110
103
|
},
|
|
@@ -112,18 +105,16 @@ export const configureAssortmentProductsModule = ({ AssortmentProducts, invalida
|
|
|
112
105
|
const assortmentProducts = await AssortmentProducts.find(selector, {
|
|
113
106
|
projection: { _id: 1, assortmentId: 1 },
|
|
114
107
|
}).toArray();
|
|
115
|
-
await AssortmentProducts.deleteMany(selector);
|
|
116
|
-
assortmentProducts.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
});
|
|
120
|
-
});
|
|
108
|
+
const deletionResult = await AssortmentProducts.deleteMany(selector);
|
|
109
|
+
await Promise.all(assortmentProducts.map(async (assortmentProduct) => emit('ASSORTMENT_REMOVE_PRODUCT', {
|
|
110
|
+
assortmentProductId: assortmentProduct._id,
|
|
111
|
+
})));
|
|
121
112
|
if (!options.skipInvalidation && assortmentProducts.length) {
|
|
122
|
-
await invalidateCache({
|
|
123
|
-
|
|
113
|
+
await invalidateCache({
|
|
114
|
+
assortmentIds: assortmentProducts.map((product) => product.assortmentId),
|
|
124
115
|
});
|
|
125
116
|
}
|
|
126
|
-
return
|
|
117
|
+
return deletionResult.deletedCount;
|
|
127
118
|
},
|
|
128
119
|
// This action is specifically used for the bulk migration scripts in the platform package
|
|
129
120
|
update: async (assortmentProductId, doc, options, userId) => {
|
|
@@ -138,9 +129,7 @@ export const configureAssortmentProductsModule = ({ AssortmentProducts, invalida
|
|
|
138
129
|
await AssortmentProducts.updateOne(selector, modifier);
|
|
139
130
|
const assortmentProduct = await AssortmentProducts.findOne(selector, {});
|
|
140
131
|
if (!options.skipInvalidation) {
|
|
141
|
-
await invalidateCache({ assortmentIds: [assortmentProduct.assortmentId] }
|
|
142
|
-
skipUpstreamTraversal: false,
|
|
143
|
-
});
|
|
132
|
+
await invalidateCache({ assortmentIds: [assortmentProduct.assortmentId] });
|
|
144
133
|
}
|
|
145
134
|
return assortmentProduct;
|
|
146
135
|
},
|
|
@@ -159,11 +148,11 @@ export const configureAssortmentProductsModule = ({ AssortmentProducts, invalida
|
|
|
159
148
|
_id: { $in: changedAssortmentProductIds },
|
|
160
149
|
}).toArray();
|
|
161
150
|
if (!options.skipInvalidation && assortmentProducts.length) {
|
|
162
|
-
await invalidateCache({
|
|
163
|
-
|
|
151
|
+
await invalidateCache({
|
|
152
|
+
assortmentIds: assortmentProducts.map((product) => product.assortmentId),
|
|
164
153
|
});
|
|
165
154
|
}
|
|
166
|
-
emit('ASSORTMENT_REORDER_PRODUCTS', { assortmentProducts });
|
|
155
|
+
await emit('ASSORTMENT_REORDER_PRODUCTS', { assortmentProducts });
|
|
167
156
|
return assortmentProducts;
|
|
168
157
|
},
|
|
169
158
|
};
|