@unchainedshop/platform 4.0.0-rc.14 → 4.0.0-rc.16

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 (44) hide show
  1. package/lib/bulk-importer/createBulkImporter.d.ts.map +1 -1
  2. package/lib/bulk-importer/createBulkImporter.js +28 -0
  3. package/lib/bulk-importer/createBulkImporter.js.map +1 -1
  4. package/lib/platform-index.d.ts +0 -1
  5. package/lib/platform-index.d.ts.map +1 -1
  6. package/lib/platform-index.js +0 -1
  7. package/lib/platform-index.js.map +1 -1
  8. package/lib/setup/setupAccounts.d.ts.map +1 -1
  9. package/lib/setup/setupAccounts.js +3 -8
  10. package/lib/setup/setupAccounts.js.map +1 -1
  11. package/lib/setup/setupTemplates.d.ts.map +1 -1
  12. package/lib/setup/setupTemplates.js +9 -24
  13. package/lib/setup/setupTemplates.js.map +1 -1
  14. package/lib/startPlatform.d.ts +2 -6
  15. package/lib/startPlatform.d.ts.map +1 -1
  16. package/lib/startPlatform.js +2 -4
  17. package/lib/startPlatform.js.map +1 -1
  18. package/package.json +10 -10
  19. package/src/platform-index.ts +0 -1
  20. package/src/setup/setupAccounts.ts +3 -8
  21. package/src/setup/setupTemplates.ts +9 -24
  22. package/src/startPlatform.ts +3 -8
  23. package/src/bulk-importer/createBulkImporter.ts +0 -134
  24. package/src/bulk-importer/handlers/assortment/create.ts +0 -86
  25. package/src/bulk-importer/handlers/assortment/index.ts +0 -3
  26. package/src/bulk-importer/handlers/assortment/remove.ts +0 -15
  27. package/src/bulk-importer/handlers/assortment/update.ts +0 -88
  28. package/src/bulk-importer/handlers/assortment/upsertAssortmentChildren.ts +0 -49
  29. package/src/bulk-importer/handlers/assortment/upsertAssortmentFilters.ts +0 -42
  30. package/src/bulk-importer/handlers/assortment/upsertAssortmentProducts.ts +0 -50
  31. package/src/bulk-importer/handlers/assortment/upsertMedia.ts +0 -54
  32. package/src/bulk-importer/handlers/filter/create.ts +0 -76
  33. package/src/bulk-importer/handlers/filter/index.ts +0 -3
  34. package/src/bulk-importer/handlers/filter/remove.ts +0 -16
  35. package/src/bulk-importer/handlers/filter/update.ts +0 -67
  36. package/src/bulk-importer/handlers/product/create.ts +0 -69
  37. package/src/bulk-importer/handlers/product/index.ts +0 -3
  38. package/src/bulk-importer/handlers/product/remove.ts +0 -16
  39. package/src/bulk-importer/handlers/product/transformSpecificationToProductStructure.ts +0 -22
  40. package/src/bulk-importer/handlers/product/update.ts +0 -65
  41. package/src/bulk-importer/handlers/product/upsertMedia.ts +0 -60
  42. package/src/bulk-importer/handlers/product/upsertVariations.ts +0 -68
  43. package/src/bulk-importer/handlers/utils/convertTagsToLowerCase.ts +0 -4
  44. package/src/bulk-importer/upsertAsset.ts +0 -41
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkImporter.d.ts","sourceRoot":"","sources":["../../src/bulk-importer/createBulkImporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,kBAAkB,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAK/D,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE;IACP,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,OAAO,CAAC,iBAAiB,CAAC;IAC/D,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,EACD,YAAY,EAAE,aAAa,KACxB,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAIpE,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAG,mBAahE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAE,EAAE,qBAAqB,GAAG,KAAG,YAuFxE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"createBulkImporter.d.ts","sourceRoot":"","sources":["../../src/bulk-importer/createBulkImporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,kBAAkB,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAO/D,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE;IACP,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,OAAO,CAAC,iBAAiB,CAAC;IAC/D,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,EACD,YAAY,EAAE,aAAa,KACxB,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAIpE,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAG,mBAuBhE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAE,EAAE,qBAAqB,GAAG,KAAG,YA6GxE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
@@ -2,9 +2,19 @@ import * as AssortmentHandlers from './handlers/assortment/index.js';
2
2
  import * as FilterHandlers from './handlers/filter/index.js';
3
3
  import * as ProductHandlers from './handlers/product/index.js';
4
4
  import { createLogger } from '@unchainedshop/logger';
5
+ import { pipeline } from 'node:stream/promises';
6
+ import JSONStream from 'minipass-json-stream';
5
7
  const logger = createLogger('unchained:bulk-import');
6
8
  let bulkOperationHandlers = {};
7
9
  export const getOperation = (entity, operation) => {
10
+ if (entity === '__PROTO__' ||
11
+ entity === 'CONSTRUCTOR' ||
12
+ entity === 'PROTOTYPE' ||
13
+ operation === '__PROTO__' ||
14
+ operation === 'CONSTRUCTOR' ||
15
+ operation === 'PROTOTYPE') {
16
+ throw new Error(`Dude!`);
17
+ }
8
18
  const handlers = bulkOperationHandlers[entity];
9
19
  if (!handlers) {
10
20
  throw new Error(`Entity ${entity} unknown`);
@@ -22,6 +32,23 @@ export const createBulkImporterFactory = (db, bulkImporterOptions) => {
22
32
  FILTER: FilterHandlers,
23
33
  ...(bulkImporterOptions?.handlers || {}),
24
34
  };
35
+ const validateEventStream = async (readStream) => {
36
+ await pipeline(readStream, JSONStream.parse('events.*'), async function* (source, { signal }) {
37
+ for await (const event of source) {
38
+ try {
39
+ if (signal.aborted)
40
+ break;
41
+ const entity = event.entity.toUpperCase();
42
+ const operation = event.operation.toLowerCase();
43
+ getOperation(entity, operation);
44
+ }
45
+ catch (e) {
46
+ throw new Error('Invalid event ' + (event._id || '') + ': ' + e.message);
47
+ }
48
+ }
49
+ yield true;
50
+ });
51
+ };
25
52
  const createBulkImporter = (options) => {
26
53
  const bulkOperations = {};
27
54
  const preparationIssues = [];
@@ -89,6 +116,7 @@ export const createBulkImporterFactory = (db, bulkImporterOptions) => {
89
116
  };
90
117
  return {
91
118
  createBulkImporter,
119
+ validateEventStream,
92
120
  };
93
121
  };
94
122
  export { AssortmentHandlers, ProductHandlers, FilterHandlers };
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkImporter.js","sourceRoot":"","sources":["../../src/bulk-importer/createBulkImporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createBulkImporter.js","sourceRoot":"","sources":["../../src/bulk-importer/createBulkImporter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  export * from './startPlatform.js';
2
2
  export * from './context/index.js';
3
- export * from './bulk-importer/createBulkImporter.js';
4
3
  export * from './templates/index.js';
5
4
  export * from './migrations/runMigrations.js';
6
5
  export declare const printRuntimeConfiguration: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"platform-index.d.ts","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAM9C,eAAO,MAAM,yBAAyB,YASrC,CAAC"}
1
+ {"version":3,"file":"platform-index.d.ts","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAM9C,eAAO,MAAM,yBAAyB,YASrC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from './startPlatform.js';
2
2
  export * from './context/index.js';
3
- export * from './bulk-importer/createBulkImporter.js';
4
3
  export * from './templates/index.js';
5
4
  export * from './migrations/runMigrations.js';
6
5
  import { MessagingDirector, getAllAdapters } from '@unchainedshop/core';
@@ -1 +1 @@
1
- {"version":3,"file":"platform-index.js","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IAC7D,GAAG,CAAC,wBAAwB,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"platform-index.js","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IAC7D,GAAG,CAAC,wBAAwB,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setupAccounts.d.ts","sourceRoot":"","sources":["../../src/setup/setupAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,eAAO,MAAM,aAAa,GAAI,cAAc,aAAa,SAYxD,CAAC"}
1
+ {"version":3,"file":"setupAccounts.d.ts","sourceRoot":"","sources":["../../src/setup/setupAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,eAAO,MAAM,aAAa,GAAI,cAAc,aAAa,SAOxD,CAAC"}
@@ -1,14 +1,9 @@
1
1
  import { subscribe } from '@unchainedshop/events';
2
2
  export const setupAccounts = (unchainedAPI) => {
3
3
  subscribe('USER_ACCOUNT_ACTION', async ({ payload }) => {
4
- await unchainedAPI.modules.worker.addWork({
5
- type: 'MESSAGE',
6
- retries: 0,
7
- input: {
8
- template: 'ACCOUNT_ACTION',
9
- recipientEmail: payload.address,
10
- ...payload,
11
- },
4
+ await unchainedAPI.services.worker.addMessage('ACCOUNT_ACTION', {
5
+ recipientEmail: payload.address,
6
+ ...payload,
12
7
  });
13
8
  });
14
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setupAccounts.js","sourceRoot":"","sources":["../../src/setup/setupAccounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAA2B,EAAE,EAAE;IAC3D,SAAS,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAoB,EAAE,EAAE;QACvE,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YACxC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,cAAc,EAAE,OAAO,CAAC,OAAO;gBAC/B,GAAG,OAAO;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"setupAccounts.js","sourceRoot":"","sources":["../../src/setup/setupAccounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAA2B,EAAE,EAAE;IAC3D,SAAS,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAoB,EAAE,EAAE;QACvE,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE;YAC9D,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setupTemplates.d.ts","sourceRoot":"","sources":["../../src/setup/setupTemplates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYvE,oBAAY,YAAY;IACtB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,cAAc,aAAa,SA2DzD,CAAC"}
1
+ {"version":3,"file":"setupTemplates.d.ts","sourceRoot":"","sources":["../../src/setup/setupTemplates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYvE,oBAAY,YAAY;IACtB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,cAAc,aAAa,SA4CzD,CAAC"}
@@ -32,14 +32,9 @@ export const setupTemplates = (unchainedAPI) => {
32
32
  const locale = unchainedAPI.modules.users.userLocale(user);
33
33
  if (order.status === OrderStatus.PENDING) {
34
34
  // We only send the "confirmation" when pending, else we let the other events handle it
35
- await unchainedAPI.modules.worker.addWork({
36
- type: 'MESSAGE',
37
- retries: 0,
38
- input: {
39
- locale: locale.baseName,
40
- template: MessageTypes.ORDER_CONFIRMATION,
41
- orderId: order._id,
42
- },
35
+ await unchainedAPI.services.worker.addMessage(MessageTypes.ORDER_CONFIRMATION, {
36
+ locale: locale.baseName,
37
+ orderId: order._id,
43
38
  });
44
39
  }
45
40
  });
@@ -47,28 +42,18 @@ export const setupTemplates = (unchainedAPI) => {
47
42
  const { order } = payload;
48
43
  const user = await unchainedAPI.modules.users.findUserById(order.userId);
49
44
  const locale = unchainedAPI.modules.users.userLocale(user);
50
- await unchainedAPI.modules.worker.addWork({
51
- type: 'MESSAGE',
52
- retries: 0,
53
- input: {
54
- locale: locale.baseName,
55
- template: MessageTypes.ORDER_CONFIRMATION,
56
- orderId: order._id,
57
- },
45
+ await unchainedAPI.services.worker.addMessage(MessageTypes.ORDER_CONFIRMATION, {
46
+ locale: locale.baseName,
47
+ orderId: order._id,
58
48
  });
59
49
  });
60
50
  subscribe('ORDER_REJECTED', async ({ payload }) => {
61
51
  const { order } = payload;
62
52
  const user = await unchainedAPI.modules.users.findUserById(order.userId);
63
53
  const locale = unchainedAPI.modules.users.userLocale(user);
64
- await unchainedAPI.modules.worker.addWork({
65
- type: 'MESSAGE',
66
- retries: 0,
67
- input: {
68
- locale: locale.baseName,
69
- template: MessageTypes.ORDER_REJECTION,
70
- orderId: order._id,
71
- },
54
+ await unchainedAPI.services.worker.addMessage(MessageTypes.ORDER_REJECTION, {
55
+ locale: locale.baseName,
56
+ orderId: order._id,
72
57
  });
73
58
  });
74
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setupTemplates.js","sourceRoot":"","sources":["../../src/setup/setupTemplates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupTemplates.js","sourceRoot":"","sources":["../../src/setup/setupTemplates.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,15 @@ import { UnchainedServerOptions } from '@unchainedshop/api';
2
2
  import { UnchainedCoreOptions } from '@unchainedshop/core';
3
3
  import { mongodb } from '@unchainedshop/mongodb';
4
4
  import { UnchainedCore } from '@unchainedshop/core';
5
- import { BulkImportHandler } from './bulk-importer/createBulkImporter.js';
6
5
  import { MessageTypes } from './setup/setupTemplates.js';
7
6
  import { SetupWorkqueueOptions } from './setup/setupWorkqueue.js';
8
7
  import { IRoleOptionConfig } from '@unchainedshop/roles';
9
8
  export { MessageTypes };
10
9
  export type PlatformOptions = {
11
- bulkImporter?: {
12
- handlers?: Record<string, BulkImportHandler>;
13
- };
14
10
  rolesOptions?: IRoleOptionConfig;
15
11
  workQueueOptions?: SetupWorkqueueOptions;
16
- } & Omit<UnchainedCoreOptions, 'bulkImporter' | 'migrationRepository' | 'db'> & Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI'>;
17
- export declare const startPlatform: ({ modules, services, options, rolesOptions, bulkImporter: bulkImporterOptions, workQueueOptions, ...arbitraryAPIServerConfiguration }: PlatformOptions) => Promise<{
12
+ } & Omit<UnchainedCoreOptions, 'migrationRepository' | 'db'> & Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI'>;
13
+ export declare const startPlatform: ({ modules, services, options, rolesOptions, bulkImporter, workQueueOptions, ...arbitraryAPIServerConfiguration }: PlatformOptions) => Promise<{
18
14
  unchainedAPI: UnchainedCore;
19
15
  graphqlHandler: any;
20
16
  db: mongodb.Db;
@@ -1 +1 @@
1
- {"version":3,"file":"startPlatform.d.ts","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAU,OAAO,EAAU,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,uCAAuC,CAAC;AAGrG,OAAO,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAiC,MAAM,2BAA2B,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC9C,CAAC;IACF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAC3E,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AA2BzD,eAAO,MAAM,aAAa,GAAU,uIAQjC,eAAe,KAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;CAChB,CAkEA,CAAC"}
1
+ {"version":3,"file":"startPlatform.d.ts","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAU,OAAO,EAAU,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAiC,MAAM,2BAA2B,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C,GAAG,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,GAAG,IAAI,CAAC,GAC1D,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AA2BzD,eAAO,MAAM,aAAa,GAAU,kHAQjC,eAAe,KAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;CAChB,CAiEA,CAAC"}
@@ -2,7 +2,6 @@ import { startAPIServer, roles } from '@unchainedshop/api';
2
2
  import { initCore } from '@unchainedshop/core';
3
3
  import { initDb, stopDb } from '@unchainedshop/mongodb';
4
4
  import { defaultLogger } from '@unchainedshop/logger';
5
- import { createBulkImporterFactory } from './bulk-importer/createBulkImporter.js';
6
5
  import { setupAccounts } from './setup/setupAccounts.js';
7
6
  import { setupUploadHandlers } from './setup/setupUploadHandlers.js';
8
7
  import { setupTemplates, MessageTypes } from './setup/setupTemplates.js';
@@ -29,7 +28,7 @@ const existOnInvalidEnvironmentVariables = () => {
29
28
  process.exit(1);
30
29
  }
31
30
  };
32
- export const startPlatform = async ({ modules, services, options, rolesOptions = {}, bulkImporter: bulkImporterOptions, workQueueOptions, ...arbitraryAPIServerConfiguration }) => {
31
+ export const startPlatform = async ({ modules, services, options, rolesOptions = {}, bulkImporter, workQueueOptions, ...arbitraryAPIServerConfiguration }) => {
33
32
  exitOnMissingEnvironmentVariables();
34
33
  existOnInvalidEnvironmentVariables();
35
34
  const configuredRoles = roles.configureRoles(rolesOptions);
@@ -37,7 +36,6 @@ export const startPlatform = async ({ modules, services, options, rolesOptions =
37
36
  const db = await initDb();
38
37
  // Prepare Migrations
39
38
  const migrationRepository = createMigrationRepository(db);
40
- const bulkImporter = createBulkImporterFactory(db, bulkImporterOptions);
41
39
  // Initialise core api using the database
42
40
  const unchainedAPI = await initCore({
43
41
  db,
@@ -76,7 +74,7 @@ export const startPlatform = async ({ modules, services, options, rolesOptions =
76
74
  await graphqlHandler.dispose();
77
75
  defaultLogger.debug('Stopping DB Connection', { signal });
78
76
  await stopDb();
79
- defaultLogger.info(`Unchained Engine stopped`, { signal, version: packageJson.version });
77
+ defaultLogger.debug(`Unchained Engine exiting`, { signal, version: packageJson.version });
80
78
  process.exit(0);
81
79
  };
82
80
  process.on('SIGTERM', cleanup('SIGTERM'));
@@ -1 +1 @@
1
- {"version":3,"file":"startPlatform.js","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startPlatform.js","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/platform",
3
- "version": "4.0.0-rc.14",
3
+ "version": "4.0.0-rc.16",
4
4
  "main": "lib/platform-index.js",
5
5
  "types": "lib/platform-index.d.ts",
6
6
  "type": "module",
@@ -35,15 +35,15 @@
35
35
  "npm": ">=10.0.0"
36
36
  },
37
37
  "dependencies": {
38
- "@unchainedshop/api": "^4.0.0-rc.14",
39
- "@unchainedshop/core": "^4.0.0-rc.14",
40
- "@unchainedshop/events": "^4.0.0-rc.14",
41
- "@unchainedshop/file-upload": "^4.0.0-rc.14",
42
- "@unchainedshop/logger": "^4.0.0-rc.14",
43
- "@unchainedshop/mongodb": "^4.0.0-rc.14",
44
- "@unchainedshop/plugins": "^4.0.0-rc.14",
45
- "@unchainedshop/roles": "^4.0.0-rc.14",
46
- "@unchainedshop/utils": "^4.0.0-rc.14",
38
+ "@unchainedshop/api": "^4.0.0-rc.15",
39
+ "@unchainedshop/core": "^4.0.0-rc.15",
40
+ "@unchainedshop/events": "^4.0.0-rc.15",
41
+ "@unchainedshop/file-upload": "^4.0.0-rc.15",
42
+ "@unchainedshop/logger": "^4.0.0-rc.15",
43
+ "@unchainedshop/mongodb": "^4.0.0-rc.15",
44
+ "@unchainedshop/plugins": "^4.0.0-rc.15",
45
+ "@unchainedshop/roles": "^4.0.0-rc.15",
46
+ "@unchainedshop/utils": "^4.0.0-rc.15",
47
47
  "mustache": "^4.2.0",
48
48
  "safe-stable-stringify": "^2.5.0"
49
49
  },
@@ -1,6 +1,5 @@
1
1
  export * from './startPlatform.js';
2
2
  export * from './context/index.js';
3
- export * from './bulk-importer/createBulkImporter.js';
4
3
  export * from './templates/index.js';
5
4
  export * from './migrations/runMigrations.js';
6
5
 
@@ -3,14 +3,9 @@ import { subscribe } from '@unchainedshop/events';
3
3
 
4
4
  export const setupAccounts = (unchainedAPI: UnchainedCore) => {
5
5
  subscribe('USER_ACCOUNT_ACTION', async ({ payload }: { payload: any }) => {
6
- await unchainedAPI.modules.worker.addWork({
7
- type: 'MESSAGE',
8
- retries: 0,
9
- input: {
10
- template: 'ACCOUNT_ACTION',
11
- recipientEmail: payload.address,
12
- ...payload,
13
- },
6
+ await unchainedAPI.services.worker.addMessage('ACCOUNT_ACTION', {
7
+ recipientEmail: payload.address,
8
+ ...payload,
14
9
  });
15
10
  });
16
11
  };
@@ -36,14 +36,9 @@ export const setupTemplates = (unchainedAPI: UnchainedCore) => {
36
36
 
37
37
  if (order.status === OrderStatus.PENDING) {
38
38
  // We only send the "confirmation" when pending, else we let the other events handle it
39
- await unchainedAPI.modules.worker.addWork({
40
- type: 'MESSAGE',
41
- retries: 0,
42
- input: {
43
- locale: locale.baseName,
44
- template: MessageTypes.ORDER_CONFIRMATION,
45
- orderId: order._id,
46
- },
39
+ await unchainedAPI.services.worker.addMessage(MessageTypes.ORDER_CONFIRMATION, {
40
+ locale: locale.baseName,
41
+ orderId: order._id,
47
42
  });
48
43
  }
49
44
  });
@@ -53,14 +48,9 @@ export const setupTemplates = (unchainedAPI: UnchainedCore) => {
53
48
  const user = await unchainedAPI.modules.users.findUserById(order.userId);
54
49
  const locale = unchainedAPI.modules.users.userLocale(user);
55
50
 
56
- await unchainedAPI.modules.worker.addWork({
57
- type: 'MESSAGE',
58
- retries: 0,
59
- input: {
60
- locale: locale.baseName,
61
- template: MessageTypes.ORDER_CONFIRMATION,
62
- orderId: order._id,
63
- },
51
+ await unchainedAPI.services.worker.addMessage(MessageTypes.ORDER_CONFIRMATION, {
52
+ locale: locale.baseName,
53
+ orderId: order._id,
64
54
  });
65
55
  });
66
56
 
@@ -69,14 +59,9 @@ export const setupTemplates = (unchainedAPI: UnchainedCore) => {
69
59
  const user = await unchainedAPI.modules.users.findUserById(order.userId);
70
60
  const locale = unchainedAPI.modules.users.userLocale(user);
71
61
 
72
- await unchainedAPI.modules.worker.addWork({
73
- type: 'MESSAGE',
74
- retries: 0,
75
- input: {
76
- locale: locale.baseName,
77
- template: MessageTypes.ORDER_REJECTION,
78
- orderId: order._id,
79
- },
62
+ await unchainedAPI.services.worker.addMessage(MessageTypes.ORDER_REJECTION, {
63
+ locale: locale.baseName,
64
+ orderId: order._id,
80
65
  });
81
66
  });
82
67
  };
@@ -3,7 +3,6 @@ import { initCore, UnchainedCoreOptions } from '@unchainedshop/core';
3
3
  import { initDb, mongodb, stopDb } from '@unchainedshop/mongodb';
4
4
  import { defaultLogger } from '@unchainedshop/logger';
5
5
  import { UnchainedCore } from '@unchainedshop/core';
6
- import { BulkImportHandler, createBulkImporterFactory } from './bulk-importer/createBulkImporter.js';
7
6
  import { setupAccounts } from './setup/setupAccounts.js';
8
7
  import { setupUploadHandlers } from './setup/setupUploadHandlers.js';
9
8
  import { setupTemplates, MessageTypes } from './setup/setupTemplates.js';
@@ -14,12 +13,9 @@ import { IRoleOptionConfig } from '@unchainedshop/roles';
14
13
  export { MessageTypes };
15
14
 
16
15
  export type PlatformOptions = {
17
- bulkImporter?: {
18
- handlers?: Record<string, BulkImportHandler>;
19
- };
20
16
  rolesOptions?: IRoleOptionConfig;
21
17
  workQueueOptions?: SetupWorkqueueOptions;
22
- } & Omit<UnchainedCoreOptions, 'bulkImporter' | 'migrationRepository' | 'db'> &
18
+ } & Omit<UnchainedCoreOptions, 'migrationRepository' | 'db'> &
23
19
  Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI'>;
24
20
 
25
21
  const REQUIRED_ENV_VARIABLES = [
@@ -52,7 +48,7 @@ export const startPlatform = async ({
52
48
  services,
53
49
  options,
54
50
  rolesOptions = {},
55
- bulkImporter: bulkImporterOptions,
51
+ bulkImporter,
56
52
  workQueueOptions,
57
53
  ...arbitraryAPIServerConfiguration
58
54
  }: PlatformOptions): Promise<{
@@ -70,7 +66,6 @@ export const startPlatform = async ({
70
66
 
71
67
  // Prepare Migrations
72
68
  const migrationRepository = createMigrationRepository(db);
73
- const bulkImporter = createBulkImporterFactory(db, bulkImporterOptions);
74
69
 
75
70
  // Initialise core api using the database
76
71
  const unchainedAPI = await initCore({
@@ -117,7 +112,7 @@ export const startPlatform = async ({
117
112
  await graphqlHandler.dispose();
118
113
  defaultLogger.debug('Stopping DB Connection', { signal });
119
114
  await stopDb();
120
- defaultLogger.info(`Unchained Engine stopped`, { signal, version: packageJson.version });
115
+ defaultLogger.debug(`Unchained Engine exiting`, { signal, version: packageJson.version });
121
116
  process.exit(0);
122
117
  };
123
118
 
@@ -1,134 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { BulkImporter, UnchainedCore } from '@unchainedshop/core';
3
- import * as AssortmentHandlers from './handlers/assortment/index.js';
4
- import * as FilterHandlers from './handlers/filter/index.js';
5
- import * as ProductHandlers from './handlers/product/index.js';
6
- import { createLogger } from '@unchainedshop/logger';
7
-
8
- const logger = createLogger('unchained:bulk-import');
9
-
10
- export interface BulkImportOperationResult {
11
- entity: string;
12
- operation: string;
13
- success: boolean;
14
- }
15
- export type BulkImportOperation = (
16
- payload: any,
17
- options: {
18
- bulk: (collection: string) => typeof mongodb.BulkOperationBase;
19
- createShouldUpsertIfIDExists?: boolean;
20
- updateShouldUpsertIfIDNotExists?: boolean;
21
- skipCacheInvalidation?: boolean;
22
- },
23
- unchainedAPI: UnchainedCore,
24
- ) => Promise<BulkImportOperationResult>;
25
-
26
- export type BulkImportHandler = Record<string, BulkImportOperation>;
27
-
28
- let bulkOperationHandlers: Record<string, BulkImportHandler> = {};
29
-
30
- export const getOperation = (entity: string, operation: string): BulkImportOperation => {
31
- const handlers = bulkOperationHandlers[entity];
32
- if (!handlers) {
33
- throw new Error(`Entity ${entity} unknown`);
34
- }
35
-
36
- const entityOperation = handlers[operation] as BulkImportOperation;
37
-
38
- if (!entityOperation || typeof entityOperation !== 'function') {
39
- throw new Error(`Operation ${operation} for entity ${entity} invalid`);
40
- }
41
-
42
- return entityOperation;
43
- };
44
-
45
- export const createBulkImporterFactory = (db, bulkImporterOptions: any): BulkImporter => {
46
- bulkOperationHandlers = {
47
- ASSORTMENT: AssortmentHandlers,
48
- PRODUCT: ProductHandlers,
49
- FILTER: FilterHandlers,
50
- ...(bulkImporterOptions?.handlers || {}),
51
- };
52
-
53
- const createBulkImporter: BulkImporter['createBulkImporter'] = (options) => {
54
- const bulkOperations = {};
55
- const preparationIssues = [];
56
- const processedOperations = {};
57
- const { createShouldUpsertIfIDExists, skipCacheInvalidation, updateShouldUpsertIfIDNotExists } =
58
- options;
59
-
60
- const bulk = (collectionName: string) => {
61
- const Collection = db.collection(collectionName);
62
- if (!bulkOperations[collectionName])
63
- bulkOperations[collectionName] = Collection.initializeOrderedBulkOp();
64
- return bulkOperations[collectionName];
65
- };
66
-
67
- logger.debug(
68
- `Configure event import with options: createShouldUpsertIfIDExists=${createShouldUpsertIfIDExists} updateShouldUpsertIfIDNotExists=${updateShouldUpsertIfIDNotExists} skipCacheInvalidation=${skipCacheInvalidation}`,
69
- );
70
-
71
- return {
72
- prepare: async (event, unchainedAPI: UnchainedCore) => {
73
- const entity = event.entity.toUpperCase();
74
- const operation = event.operation.toLowerCase();
75
-
76
- const handler = getOperation(entity, operation);
77
-
78
- const payloadId = event.payload?._id || 'global';
79
-
80
- logger.debug(`${operation} ${entity} ${payloadId} [PREPARE]`);
81
-
82
- try {
83
- await handler(event.payload, { bulk, logger, ...options }, unchainedAPI);
84
- if (!processedOperations[entity]) processedOperations[entity] = {};
85
- if (!processedOperations[entity][operation]) processedOperations[entity][operation] = [];
86
- processedOperations[entity][operation].push(payloadId);
87
- logger.debug(`${operation} ${entity} ${payloadId} [SUCCESS]`);
88
- } catch (e) {
89
- logger.debug(`${operation} ${entity} ${payloadId} [FAILED]`, e);
90
- preparationIssues.push({
91
- operation,
92
- entity,
93
- payloadId,
94
- errorCode: e.name,
95
- errorMessage: e.message,
96
- });
97
- } finally {
98
- logger.debug(`${operation} ${entity} ${payloadId} [DONE]`);
99
- }
100
- },
101
- execute: async () => {
102
- logger.debug(`Execute bulk operations for: ${Object.keys(bulkOperations).join(', ')}`);
103
-
104
- const processedBulkOperations = await Promise.allSettled(
105
- Object.values(bulkOperations).map(async (o: any) => o.execute()),
106
- );
107
- const operationResults = {
108
- processedOperations,
109
- processedBulkOperations,
110
- };
111
- if (preparationIssues?.length) {
112
- logger.error(
113
- `${preparationIssues.length} issues occured while preparing events, import finished with errors`,
114
- );
115
- const errors = { preparationIssues };
116
- return [operationResults, errors];
117
- }
118
- logger.debug(`Import finished without errors`);
119
- return [operationResults, null];
120
- },
121
- invalidateCaches: async (unchainedAPI: UnchainedCore) => {
122
- if (skipCacheInvalidation) return;
123
- await unchainedAPI.modules.assortments.invalidateCache({}, { skipUpstreamTraversal: true });
124
- await unchainedAPI.services.filters.invalidateFilterCache();
125
- },
126
- };
127
- };
128
-
129
- return {
130
- createBulkImporter,
131
- };
132
- };
133
-
134
- export { AssortmentHandlers, ProductHandlers, FilterHandlers };