@unchainedshop/core-assortments 1.2.31 → 2.0.0-beta1
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/AssortmentMediasSchema.d.ts +3 -2
- package/lib/db/AssortmentsSchema.d.ts +6 -5
- package/lib/migrations/addMigrations.js +34 -0
- package/lib/migrations/addMigrations.js.map +1 -1
- package/lib/module/configureAssortmentFiltersModule.js.map +1 -1
- package/package.json +10 -10
- package/src/migrations/addMigrations.ts +37 -0
- package/src/module/configureAssortmentFiltersModule.ts +2 -2
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export const AssortmentMediasSchema:
|
|
2
|
-
export const AssortmentMediaTextsSchema:
|
|
1
|
+
export const AssortmentMediasSchema: SimpleSchema;
|
|
2
|
+
export const AssortmentMediaTextsSchema: SimpleSchema;
|
|
3
|
+
import SimpleSchema from "simpl-schema";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export const AssortmentsSchema:
|
|
2
|
-
export const AssortmentTextsSchema:
|
|
3
|
-
export const AssortmentProductsSchema:
|
|
4
|
-
export const AssortmentLinksSchema:
|
|
5
|
-
export const AssortmentFiltersSchema:
|
|
1
|
+
export const AssortmentsSchema: SimpleSchema;
|
|
2
|
+
export const AssortmentTextsSchema: SimpleSchema;
|
|
3
|
+
export const AssortmentProductsSchema: SimpleSchema;
|
|
4
|
+
export const AssortmentLinksSchema: SimpleSchema;
|
|
5
|
+
export const AssortmentFiltersSchema: SimpleSchema;
|
|
6
|
+
import SimpleSchema from "simpl-schema";
|
|
@@ -1,4 +1,23 @@
|
|
|
1
|
+
import { AssortmentMediaCollection } from '../db/AssortmentMediasCollection';
|
|
1
2
|
import { AssortmentsCollection } from '../db/AssortmentsCollection';
|
|
3
|
+
const convertTagsToLowerCase = async (collection) => {
|
|
4
|
+
let bulk = collection.initializeUnorderedBulkOp();
|
|
5
|
+
let count = 0;
|
|
6
|
+
const cursor = await collection.find({ tags: { $regex: '.*[A-Z]' } });
|
|
7
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
8
|
+
for await (const doc of cursor) {
|
|
9
|
+
const transformedTags = doc.tags.map((tag) => tag.toLowerCase());
|
|
10
|
+
count += 1;
|
|
11
|
+
bulk.find({ _id: doc._id }).updateOne({ $set: { tags: transformedTags } });
|
|
12
|
+
if (count % 500 === 0) {
|
|
13
|
+
bulk.execute();
|
|
14
|
+
bulk = collection.initializeUnorderedBulkOp();
|
|
15
|
+
count = 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (count > 0)
|
|
19
|
+
bulk.execute();
|
|
20
|
+
};
|
|
2
21
|
export default function addMigrations(repository) {
|
|
3
22
|
repository?.register({
|
|
4
23
|
id: 20220216000000,
|
|
@@ -30,5 +49,20 @@ export default function addMigrations(repository) {
|
|
|
30
49
|
});
|
|
31
50
|
},
|
|
32
51
|
});
|
|
52
|
+
repository?.register({
|
|
53
|
+
id: 20220920122700,
|
|
54
|
+
name: 'Convert all tags to lower case to make it easy for search',
|
|
55
|
+
up: async () => {
|
|
56
|
+
const { Assortments, AssortmentFilters, AssortmentLinks, AssortmentProducts } = await AssortmentsCollection(repository.db);
|
|
57
|
+
const { AssortmentMedias } = await AssortmentMediaCollection(repository.db);
|
|
58
|
+
await Promise.all([
|
|
59
|
+
convertTagsToLowerCase(Assortments),
|
|
60
|
+
convertTagsToLowerCase(AssortmentProducts),
|
|
61
|
+
convertTagsToLowerCase(AssortmentLinks),
|
|
62
|
+
convertTagsToLowerCase(AssortmentFilters),
|
|
63
|
+
convertTagsToLowerCase(AssortmentMedias),
|
|
64
|
+
]);
|
|
65
|
+
},
|
|
66
|
+
});
|
|
33
67
|
}
|
|
34
68
|
//# sourceMappingURL=addMigrations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addMigrations.js","sourceRoot":"","sources":["../../src/migrations/addMigrations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addMigrations.js","sourceRoot":"","sources":["../../src/migrations/addMigrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureAssortmentFiltersModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentFiltersModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,wBAAwB,GAAG;IAC/B,uBAAuB;IACvB,0BAA0B;IAC1B,4BAA4B;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,EAC/C,iBAAiB,GAGlB,EAAgC,EAAE;IACjC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEzC,OAAO;QACL,UAAU,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE;YAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"configureAssortmentFiltersModule.js","sourceRoot":"","sources":["../../src/module/configureAssortmentFiltersModule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-assortments",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta1",
|
|
4
4
|
"main": "lib/assortments-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/assortments-index.js",
|
|
@@ -30,21 +30,21 @@
|
|
|
30
30
|
},
|
|
31
31
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@unchainedshop/events": "^
|
|
34
|
-
"@unchainedshop/file-upload": "^
|
|
35
|
-
"@unchainedshop/logger": "^
|
|
36
|
-
"@unchainedshop/utils": "^
|
|
33
|
+
"@unchainedshop/events": "^2.0.0-beta1",
|
|
34
|
+
"@unchainedshop/file-upload": "^2.0.0-beta1",
|
|
35
|
+
"@unchainedshop/logger": "^2.0.0-beta1",
|
|
36
|
+
"@unchainedshop/utils": "^2.0.0-beta1",
|
|
37
37
|
"locale": "^0.1.0",
|
|
38
38
|
"ramda": "^0.28.0",
|
|
39
|
-
"simpl-schema": "^
|
|
39
|
+
"simpl-schema": "^3.0.1"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/locale": "^0.1.1",
|
|
43
|
-
"@types/node": "^16.11.
|
|
44
|
-
"@unchainedshop/types": "^
|
|
43
|
+
"@types/node": "^16.11.66",
|
|
44
|
+
"@unchainedshop/types": "^2.0.0-beta1",
|
|
45
45
|
"cross-env": "^7.0.3",
|
|
46
|
-
"jest": "^29.
|
|
47
|
-
"ts-jest": "^
|
|
46
|
+
"jest": "^29.2.1",
|
|
47
|
+
"ts-jest": "^29.0.3",
|
|
48
48
|
"typescript": "^4.8.4"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
import { Migration, MigrationRepository } from '@unchainedshop/types/core';
|
|
2
|
+
import { Collection } from 'mongodb';
|
|
3
|
+
import { AssortmentMediaCollection } from '../db/AssortmentMediasCollection';
|
|
2
4
|
import { AssortmentsCollection } from '../db/AssortmentsCollection';
|
|
3
5
|
|
|
6
|
+
const convertTagsToLowerCase = async (collection: Collection<any>) => {
|
|
7
|
+
let bulk = collection.initializeUnorderedBulkOp();
|
|
8
|
+
let count = 0;
|
|
9
|
+
|
|
10
|
+
const cursor = await collection.find({ tags: { $regex: '.*[A-Z]' } });
|
|
11
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
12
|
+
for await (const doc of cursor) {
|
|
13
|
+
const transformedTags = doc.tags.map((tag) => tag.toLowerCase());
|
|
14
|
+
count += 1;
|
|
15
|
+
bulk.find({ _id: doc._id }).updateOne({ $set: { tags: transformedTags } });
|
|
16
|
+
if (count % 500 === 0) {
|
|
17
|
+
bulk.execute();
|
|
18
|
+
bulk = collection.initializeUnorderedBulkOp();
|
|
19
|
+
count = 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (count > 0) bulk.execute();
|
|
23
|
+
};
|
|
24
|
+
|
|
4
25
|
export default function addMigrations(repository: MigrationRepository<Migration>) {
|
|
5
26
|
repository?.register({
|
|
6
27
|
id: 20220216000000,
|
|
@@ -45,4 +66,20 @@ export default function addMigrations(repository: MigrationRepository<Migration>
|
|
|
45
66
|
);
|
|
46
67
|
},
|
|
47
68
|
});
|
|
69
|
+
repository?.register({
|
|
70
|
+
id: 20220920122700,
|
|
71
|
+
name: 'Convert all tags to lower case to make it easy for search',
|
|
72
|
+
up: async () => {
|
|
73
|
+
const { Assortments, AssortmentFilters, AssortmentLinks, AssortmentProducts } =
|
|
74
|
+
await AssortmentsCollection(repository.db);
|
|
75
|
+
const { AssortmentMedias } = await AssortmentMediaCollection(repository.db);
|
|
76
|
+
await Promise.all([
|
|
77
|
+
convertTagsToLowerCase(Assortments),
|
|
78
|
+
convertTagsToLowerCase(AssortmentProducts),
|
|
79
|
+
convertTagsToLowerCase(AssortmentLinks),
|
|
80
|
+
convertTagsToLowerCase(AssortmentFilters),
|
|
81
|
+
convertTagsToLowerCase(AssortmentMedias),
|
|
82
|
+
]);
|
|
83
|
+
},
|
|
84
|
+
});
|
|
48
85
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AssortmentFilter, AssortmentsModule } from '@unchainedshop/types/assortments';
|
|
2
|
-
import { Collection, Query } from '@unchainedshop/types/common';
|
|
2
|
+
import { Collection, Document, FindOptions, Query } from '@unchainedshop/types/common';
|
|
3
3
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
4
4
|
import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/utils';
|
|
5
5
|
|
|
@@ -21,7 +21,7 @@ export const configureAssortmentFiltersModule = ({
|
|
|
21
21
|
return AssortmentFilters.findOne(generateDbFilterById(assortmentFilterId), {});
|
|
22
22
|
},
|
|
23
23
|
|
|
24
|
-
findFilters: async ({ assortmentId }, options) => {
|
|
24
|
+
findFilters: async ({ assortmentId }, options?: FindOptions<Document>) => {
|
|
25
25
|
const filters = AssortmentFilters.find({ assortmentId }, options);
|
|
26
26
|
return filters.toArray();
|
|
27
27
|
},
|