@unchainedshop/api 2.0.0-beta5 → 2.0.0-beta7

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 (79) hide show
  1. package/lib/api-index.d.ts +3 -3
  2. package/lib/api-index.js +21 -3
  3. package/lib/api-index.js.map +1 -1
  4. package/lib/context.d.ts +1 -1
  5. package/lib/context.js +5 -4
  6. package/lib/context.js.map +1 -1
  7. package/lib/createERCMetadataServer.js +8 -12
  8. package/lib/createERCMetadataServer.js.map +1 -1
  9. package/lib/createGraphQLServer.d.ts +2 -2
  10. package/lib/createGraphQLServer.js +25 -35
  11. package/lib/createGraphQLServer.js.map +1 -1
  12. package/lib/errors.js +8 -3
  13. package/lib/errors.js.map +1 -1
  14. package/lib/loaders/index.js +50 -0
  15. package/lib/loaders/index.js.map +1 -1
  16. package/lib/resolvers/index.js +1 -1
  17. package/lib/resolvers/index.js.map +1 -1
  18. package/lib/resolvers/mutations/filters/updateFilter.js +2 -1
  19. package/lib/resolvers/mutations/filters/updateFilter.js.map +1 -1
  20. package/lib/resolvers/queries/products/product.js +1 -1
  21. package/lib/resolvers/queries/products/productCatalogPrices.d.ts +1 -1
  22. package/lib/resolvers/queries/products/productCatalogPrices.js +5 -2
  23. package/lib/resolvers/queries/products/productCatalogPrices.js.map +1 -1
  24. package/lib/resolvers/queries/products/products.js +1 -1
  25. package/lib/resolvers/queries/products/products.js.map +1 -1
  26. package/lib/resolvers/scalars/LowerCaseString.d.ts +1 -1
  27. package/lib/resolvers/scalars/index.d.ts +1 -1
  28. package/lib/resolvers/type/assortment/assortment-filter-types.js +13 -6
  29. package/lib/resolvers/type/assortment/assortment-filter-types.js.map +1 -1
  30. package/lib/resolvers/type/assortment/assortment-link-types.js +14 -6
  31. package/lib/resolvers/type/assortment/assortment-link-types.js.map +1 -1
  32. package/lib/resolvers/type/assortment/assortment-product-types.js +14 -6
  33. package/lib/resolvers/type/assortment/assortment-product-types.js.map +1 -1
  34. package/lib/resolvers/type/bookmark-types.js +6 -2
  35. package/lib/resolvers/type/bookmark-types.js.map +1 -1
  36. package/lib/resolvers/type/enrollment/enrollment-plan-tyes.js +6 -2
  37. package/lib/resolvers/type/enrollment/enrollment-plan-tyes.js.map +1 -1
  38. package/lib/resolvers/type/order/order-item-types.js +13 -6
  39. package/lib/resolvers/type/order/order-item-types.js.map +1 -1
  40. package/lib/resolvers/type/product/product-bundle-item-types.js +4 -2
  41. package/lib/resolvers/type/product/product-bundle-item-types.js.map +1 -1
  42. package/lib/resolvers/type/product/product-review-types.js +6 -2
  43. package/lib/resolvers/type/product/product-review-types.js.map +1 -1
  44. package/lib/resolvers/type/product/product-tokenized-types.js +1 -0
  45. package/lib/resolvers/type/product/product-tokenized-types.js.map +1 -1
  46. package/lib/resolvers/type/product/product-variation-assignment-types.js +4 -2
  47. package/lib/resolvers/type/product/product-variation-assignment-types.js.map +1 -1
  48. package/lib/resolvers/type/quotation-types.js +7 -3
  49. package/lib/resolvers/type/quotation-types.js.map +1 -1
  50. package/lib/resolvers/type/token-types.js +2 -1
  51. package/lib/resolvers/type/token-types.js.map +1 -1
  52. package/lib/schema/types/product/tokenized-product.js +2 -0
  53. package/lib/schema/types/product/tokenized-product.js.map +1 -1
  54. package/package.json +16 -17
  55. package/src/api-index.ts +24 -7
  56. package/src/context.ts +15 -16
  57. package/src/createERCMetadataServer.ts +8 -14
  58. package/src/createGraphQLServer.ts +35 -37
  59. package/src/errors.ts +8 -3
  60. package/src/loaders/index.ts +63 -3
  61. package/src/resolvers/index.ts +1 -1
  62. package/src/resolvers/mutations/filters/updateFilter.ts +3 -1
  63. package/src/resolvers/queries/products/product.ts +1 -1
  64. package/src/resolvers/queries/products/productCatalogPrices.ts +5 -2
  65. package/src/resolvers/queries/products/products.ts +1 -1
  66. package/src/resolvers/type/assortment/assortment-filter-types.ts +11 -6
  67. package/src/resolvers/type/assortment/assortment-link-types.ts +12 -6
  68. package/src/resolvers/type/assortment/assortment-product-types.ts +12 -6
  69. package/src/resolvers/type/bookmark-types.ts +7 -2
  70. package/src/resolvers/type/enrollment/enrollment-plan-tyes.ts +6 -2
  71. package/src/resolvers/type/order/order-item-types.ts +13 -6
  72. package/src/resolvers/type/product/product-bundle-item-types.ts +4 -2
  73. package/src/resolvers/type/product/product-review-types.ts +6 -2
  74. package/src/resolvers/type/product/product-tokenized-types.ts +1 -0
  75. package/src/resolvers/type/product/product-variation-assignment-types.ts +4 -2
  76. package/src/resolvers/type/quotation-types.ts +6 -3
  77. package/src/resolvers/type/token-types.ts +2 -1
  78. package/src/schema/types/product/tokenized-product.js +2 -0
  79. package/tsconfig.json +1 -0
@@ -1,5 +1,5 @@
1
1
  import { UnchainedServerOptions } from '@unchainedshop/types/api';
2
- import { ApolloServer } from 'apollo-server-express';
2
+ import type { ApolloServer } from '@apollo/server';
3
3
  import { createContextResolver, getCurrentContextResolver, setCurrentContextResolver } from './context';
4
4
  export * from './context';
5
5
  export * as acl from './acl';
@@ -7,8 +7,8 @@ export * as errors from './errors';
7
7
  export { hashPassword } from './hashPassword';
8
8
  export * as roles from './roles';
9
9
  export { createContextResolver, getCurrentContextResolver, setCurrentContextResolver };
10
- export declare const startAPIServer: (options: UnchainedServerOptions) => {
10
+ export declare const startAPIServer: (options: UnchainedServerOptions) => Promise<{
11
11
  apolloGraphQLServer: ApolloServer;
12
12
  bulkImportServer: any;
13
13
  ercMetadataServer: any;
14
- };
14
+ }>;
package/lib/api-index.js CHANGED
@@ -1,3 +1,5 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
1
3
  import createBulkImportServer from './createBulkImportServer';
2
4
  import createGraphQLServer from './createGraphQLServer';
3
5
  import { createContextResolver, getCurrentContextResolver, setCurrentContextResolver } from './context';
@@ -8,8 +10,24 @@ export * as errors from './errors';
8
10
  export { hashPassword } from './hashPassword';
9
11
  export * as roles from './roles';
10
12
  export { createContextResolver, getCurrentContextResolver, setCurrentContextResolver };
11
- const UNCHAINED_API_VERSION = '1.2.0'; // eslint-disable-line
12
- export const startAPIServer = (options) => {
13
+ const loadJSON = (filename) => {
14
+ try {
15
+ const base = typeof __filename !== 'undefined' && __filename;
16
+ if (!base)
17
+ return {
18
+ version: process.env.npm_package_version,
19
+ };
20
+ const absolutePath = path.resolve(path.dirname(base), filename);
21
+ const data = JSON.parse(fs.readFileSync(absolutePath, 'utf-8'));
22
+ return data;
23
+ }
24
+ catch (e) {
25
+ return null;
26
+ }
27
+ };
28
+ const packageJson = loadJSON('../package.json');
29
+ const UNCHAINED_API_VERSION = process.env.UNCHAINED_API_VERSION || packageJson?.version || '1.2.x';
30
+ export const startAPIServer = async (options) => {
13
31
  const { unchainedAPI, roles, expressApp, context: customContext, ...apolloServerOptions } = options || {};
14
32
  const contextResolver = createContextResolver(unchainedAPI, roles, UNCHAINED_API_VERSION);
15
33
  setCurrentContextResolver(customContext
@@ -17,7 +35,7 @@ export const startAPIServer = (options) => {
17
35
  return customContext({ req, res }, contextResolver);
18
36
  }
19
37
  : contextResolver);
20
- const apolloGraphQLServer = createGraphQLServer(expressApp, apolloServerOptions);
38
+ const apolloGraphQLServer = await createGraphQLServer(expressApp, apolloServerOptions);
21
39
  const bulkImportServer = createBulkImportServer(expressApp);
22
40
  const ercMetadataServer = createERCMetadataServer(expressApp);
23
41
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"api-index.js","sourceRoot":"","sources":["../src/api-index.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACxG,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAEhE,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAEvF,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,sBAAsB;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAA+B,EAK/B,EAAE;IACF,MAAM,EACJ,YAAY,EACZ,KAAK,EACL,UAAU,EACV,OAAO,EAAE,aAAa,EACtB,GAAG,mBAAmB,EACvB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAE1F,yBAAyB,CACvB,aAAa;QACX,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;YACf,OAAO,aAAa,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;QACtD,CAAC;QACH,CAAC,CAAC,eAAe,CACpB,CAAC;IAEF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAE9D,OAAO;QACL,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"api-index.js","sourceRoot":"","sources":["../src/api-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACxG,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAEhE,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAEvF,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;IAC5B,IAAI;QACF,MAAM,IAAI,GAAG,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC;QAC7D,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;aACzC,CAAC;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AACF,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAEhD,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC;AAEnG,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAA+B,EAK9B,EAAE;IACH,MAAM,EACJ,YAAY,EACZ,KAAK,EACL,UAAU,EACV,OAAO,EAAE,aAAa,EACtB,GAAG,mBAAmB,EACvB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAE1F,yBAAyB,CACvB,aAAa;QACX,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;YACf,OAAO,aAAa,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;QACtD,CAAC;QACH,CAAC,CAAC,eAAe,CACpB,CAAC;IAEF,MAAM,mBAAmB,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACvF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAE9D,OAAO;QACL,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
package/lib/context.d.ts CHANGED
@@ -3,4 +3,4 @@ import { UnchainedCore } from '@unchainedshop/types/core';
3
3
  export declare const getCurrentContextResolver: () => UnchainedContextResolver;
4
4
  export declare const setCurrentContextResolver: (newContext: UnchainedContextResolver) => void;
5
5
  export declare const createContextResolver: (unchainedAPI: UnchainedCore, roles: any, version: string) => UnchainedContextResolver;
6
- export declare const useMiddlewareWithCurrentContext: (expressApp: any, path: any, middleware: any) => void;
6
+ export declare const useMiddlewareWithCurrentContext: (expressApp: any, path: any, ...middleware: any[]) => void;
package/lib/context.js CHANGED
@@ -22,15 +22,16 @@ export const createContextResolver = (unchainedAPI, roles, version) => async ({
22
22
  version,
23
23
  };
24
24
  };
25
- export const useMiddlewareWithCurrentContext = (expressApp, path, middleware) => {
26
- expressApp.use(path, async function middlewareWithContext(req, res, next) {
25
+ export const useMiddlewareWithCurrentContext = (expressApp, path, ...middleware) => {
26
+ const addContext = async function middlewareWithContext(req, res, next) {
27
27
  try {
28
28
  req.unchainedContext = await context({ req, res });
29
- await middleware(req, res, next);
29
+ next();
30
30
  }
31
31
  catch (error) {
32
32
  next(error);
33
33
  }
34
- });
34
+ };
35
+ expressApp.use(path, addContext, ...middleware);
35
36
  };
36
37
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,IAAI,OAAO,CAAC;AAEZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAA6B,EAAE,CAAC,OAAO,CAAC;AAEjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAoC,EAAE,EAAE;IAChF,OAAO,GAAG,UAAU,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,YAA2B,EAAE,KAAU,EAAE,OAAe,EAA4B,EAAE,CACvF,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAErE,OAAO;QACL,GAAG;QACH,GAAG;QACH,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,GAAG,WAAW;QACd,GAAG,aAAa;QAChB,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;IAC9E,UAAU,CAAC,GAAG,CACZ,IAAI,EACJ,KAAK,UAAU,qBAAqB,CAClC,GAA2D,EAC3D,GAAoB,EACpB,IAAI;QAEJ,IAAI;YACF,GAAG,CAAC,gBAAgB,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACnD,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAClC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,CAAC;SACb;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,IAAI,OAAO,CAAC;AAEZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAA6B,EAAE,CAAC,OAAO,CAAC;AAEjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAoC,EAAE,EAAE;IAChF,OAAO,GAAG,UAAU,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,YAA2B,EAAE,KAAU,EAAE,OAAe,EAA4B,EAAE,CACvF,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAErE,OAAO;QACL,GAAG;QACH,GAAG;QACH,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,GAAG,WAAW;QACd,GAAG,aAAa;QAChB,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,EAAE;IACjF,MAAM,UAAU,GAAG,KAAK,UAAU,qBAAqB,CACrD,GAA2D,EAC3D,GAAoB,EACpB,IAAI;QAEJ,IAAI;YACF,GAAG,CAAC,gBAAgB,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,CAAC;SACb;IACH,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;AAClD,CAAC,CAAC"}
@@ -27,22 +27,18 @@ const ercMetadataMiddleware = async (req, res) => {
27
27
  const parsedPath = path.parse(url.pathname);
28
28
  if (parsedPath.ext !== '.json')
29
29
  throw new Error('Invalid ERC Metadata URI');
30
- const [, productIdOrContractAddress, localeOrTokenFilename, tokenFileName] = url.pathname.split('/');
30
+ const [, productId, localeOrTokenFilename, tokenFileName] = url.pathname.split('/');
31
31
  const locale = tokenFileName ? localeOrTokenFilename : systemLocale.language;
32
32
  const chainTokenId = parsedPath.name;
33
- const productByProductId = await resolvedContext.modules.products.findProduct({
34
- productId: productIdOrContractAddress,
33
+ const product = await resolvedContext.modules.products.findProduct({
34
+ productId,
35
35
  });
36
- const selector = {
36
+ const [token] = await resolvedContext.modules.warehousing.findTokens({
37
37
  chainTokenId,
38
- contractAddress: productByProductId?.tokenization?.contractAddress || productIdOrContractAddress,
39
- };
40
- const [token] = await resolvedContext.modules.warehousing.findTokens(selector);
41
- const product = productByProductId ||
42
- (await resolvedContext.modules.products.findProduct({
43
- productId: token?.productId,
44
- }));
45
- const ercMetadata = await resolvedContext.modules.warehousing.tokenMetadata(token, {
38
+ contractAddress: product?.tokenization?.contractAddress,
39
+ });
40
+ const ercMetadata = await resolvedContext.modules.warehousing.tokenMetadata(chainTokenId, {
41
+ token,
46
42
  product,
47
43
  referenceDate: new Date(),
48
44
  }, { ...resolvedContext, localeContext: new Locale(locale) });
@@ -1 +1 @@
1
- {"version":3,"file":"createERCMetadataServer.js","sourceRoot":"","sources":["../src/createERCMetadataServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,SAAS,MAAM,QAAQ,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAE5D,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAEtD,MAAM,EAAE,qBAAqB,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;IACvC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAqD,EAAE,GAAG,EAAE,EAAE;IACjG,IAAI;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;YACxB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;SACR;QAED,MAAM,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,UAAU,CAAC,GAAG,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE5E,MAAM,CAAC,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErG,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC7E,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;QAErC,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5E,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAQ;YACpB,YAAY;YACZ,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,IAAI,0BAA0B;SACjG,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE/E,MAAM,OAAO,GACX,kBAAkB;YAClB,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClD,SAAS,EAAE,KAAK,EAAE,SAAS;aAC5B,CAAC,CAAC,CAAC;QAEN,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CACzE,KAAK,EACL;YACE,OAAO;YACP,aAAa,EAAE,IAAI,IAAI,EAAE;SAC1B,EACD,EAAE,GAAG,eAAe,EAAE,aAAa,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAC1D,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACzC,cAAc,EAAE,YAAY;SAC7B,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACV,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACtB;AACH,CAAC,CAAC;AAEF,eAAe,CAAC,UAAU,EAAE,EAAE;IAC5B,+BAA+B,CAAC,UAAU,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAC5F,CAAC,CAAC"}
1
+ {"version":3,"file":"createERCMetadataServer.js","sourceRoot":"","sources":["../src/createERCMetadataServer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { ApolloServer } from 'apollo-server-express';
2
- declare const _default: (expressApp: any, options: any) => ApolloServer;
1
+ import { ApolloServer } from '@apollo/server';
2
+ declare const _default: (expressApp: any, options: any) => Promise<ApolloServer<import("@apollo/server").BaseContext>>;
3
3
  export default _default;
@@ -1,18 +1,14 @@
1
- import { ApolloServer, ApolloError } from 'apollo-server-express';
2
- import { processRequest } from 'graphql-upload';
1
+ import { ApolloServer } from '@apollo/server';
2
+ import { expressMiddleware } from '@apollo/server/express4';
3
+ import { GraphQLError } from 'graphql';
4
+ import graphqlUploadExpress from 'graphql-upload/graphqlUploadExpress.mjs';
3
5
  import { log, LogLevel } from '@unchainedshop/logger';
6
+ import cors from 'cors';
7
+ import bodyParser from 'body-parser';
4
8
  import typeDefs from './schema';
5
9
  import resolvers from './resolvers';
6
10
  import { getCurrentContextResolver } from './context';
7
11
  const { APOLLO_ENGINE_KEY } = process.env;
8
- const handleUploads = (options) => async (req, res, next) => {
9
- const contentType = req.headers['content-type'];
10
- const isUpload = contentType && contentType.startsWith('multipart/form-data');
11
- if (isUpload) {
12
- req.body = await processRequest(req, res, options);
13
- }
14
- next();
15
- };
16
12
  const logGraphQLServerError = (error) => {
17
13
  try {
18
14
  const { message, extensions: { exception: { stacktrace, ...parameters }, ...extensions }, ...rest } = error;
@@ -25,37 +21,38 @@ const logGraphQLServerError = (error) => {
25
21
  }
26
22
  catch (e) { } // eslint-disable-line
27
23
  };
28
- export default (expressApp, options) => {
24
+ export default async (expressApp, options) => {
29
25
  const { corsOrigins = null, // no cookie handling
30
26
  typeDefs: additionalTypeDefs = [], resolvers: additionalResolvers = [], engine = {}, ...apolloServerOptions } = options || {};
31
27
  const context = getCurrentContextResolver();
32
28
  const server = new ApolloServer({
33
29
  typeDefs: [...typeDefs, ...additionalTypeDefs],
34
30
  resolvers: [resolvers, ...additionalResolvers],
35
- context,
36
- uploads: false,
37
31
  formatError: (error) => {
38
32
  logGraphQLServerError(error);
39
33
  const { message, path, extensions: { exception, code, ...extensions }, // eslint-disable-line
40
34
  } = error;
41
- const apolloError = new ApolloError(message, code, {
42
- code,
43
- ...extensions,
35
+ const apolloError = new GraphQLError(message, {
36
+ extensions: {
37
+ code,
38
+ ...extensions,
39
+ },
44
40
  });
45
41
  // eslint-disable-next-line
46
42
  // @ts-ignore
47
43
  apolloError.path = path;
48
44
  return apolloError;
49
45
  },
50
- engine: APOLLO_ENGINE_KEY
46
+ apollo: APOLLO_ENGINE_KEY
51
47
  ? {
52
- apiKey: APOLLO_ENGINE_KEY,
48
+ key: APOLLO_ENGINE_KEY,
53
49
  privateVariables: ['email', 'plainPassword', 'oldPlainPassword', 'newPlainPassword'],
54
50
  ...engine,
55
51
  }
56
52
  : undefined,
57
53
  ...apolloServerOptions,
58
54
  });
55
+ await server.start();
59
56
  const originFn = corsOrigins && Array.isArray(corsOrigins)
60
57
  ? (origin, callback) => {
61
58
  if (corsOrigins.length === 0 || !origin) {
@@ -70,23 +67,16 @@ export default (expressApp, options) => {
70
67
  }
71
68
  }
72
69
  : corsOrigins;
73
- // server.start().then(() => {
74
- //
75
- // });
76
- const middleware = server.getMiddleware({
77
- path: '/graphql',
78
- cors: !originFn
79
- ? undefined
80
- : {
81
- origin: originFn,
82
- credentials: true,
83
- },
84
- bodyParserConfig: {
85
- limit: '5mb',
86
- },
87
- });
88
- expressApp.use(handleUploads({ maxFileSize: 10000000, maxFiles: 10 }));
89
- expressApp.use(middleware);
70
+ expressApp.use('/graphql', cors(!originFn
71
+ ? undefined
72
+ : {
73
+ origin: originFn,
74
+ credentials: true,
75
+ }), bodyParser.json(), graphqlUploadExpress(), expressMiddleware(server, {
76
+ context,
77
+ }));
78
+ // expressApp.use(handleUploads({ maxFileSize: 10000000, maxFiles: 10 }));
79
+ // expressApp.use(middleware);
90
80
  return server;
91
81
  };
92
82
  //# sourceMappingURL=createGraphQLServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createGraphQLServer.js","sourceRoot":"","sources":["../src/createGraphQLServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createGraphQLServer.js","sourceRoot":"","sources":["../src/createGraphQLServer.ts"],"names":[],"mappings":"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"}
package/lib/errors.js CHANGED
@@ -1,7 +1,12 @@
1
- import { ApolloError } from 'apollo-server-express';
2
- export const createError = (code, message) => class extends ApolloError {
1
+ import { GraphQLError } from 'graphql';
2
+ export const createError = (code, message) => class extends GraphQLError {
3
3
  constructor({ message: explicitMessage, ...data }) {
4
- super(explicitMessage || message, code, data);
4
+ super(explicitMessage || message, {
5
+ extensions: {
6
+ code,
7
+ ...data,
8
+ },
9
+ });
5
10
  }
6
11
  };
7
12
  export const PermissionSystemError = createError('PermissionSystemError', 'Permission System Error');
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAO,EAAE,CAChE,KAAM,SAAQ,WAAW;IACvB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE;QAC/C,KAAK,CAAC,eAAe,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAChD,yBAAyB,EACzB,iEAAiE,CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAC7D,sCAAsC,EACtC,oCAAoC,CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,iCAAiC,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,oDAAoD,CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,yDAAyD,CAC1D,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,qEAAqE,CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,0BAA0B,EAC1B,iCAAiC,CAClC,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,yBAAyB,EACzB,iEAAiE,CAClE,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,0BAA0B,EAC1B,kEAAkE,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,wBAAwB,EACxB,sEAAsE,CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,oBAAoB,EACpB,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,+BAA+B,CAChC,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,mEAAmE,CACpE,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,0BAA0B,EAC1B,2DAA2D,CAC5D,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,wDAAwD,CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,+BAA+B,GAAG,WAAW,CACxD,iCAAiC,EACjC,+BAA+B,CAChC,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,oEAAoE,CACrE,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,CACzD,kCAAkC,EAClC,gCAAgC,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,kEAAkE,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,28 @@
1
1
  import DataLoader from 'dataloader';
2
2
  import { systemLocale } from '@unchainedshop/utils';
3
3
  import localePkg from 'locale';
4
+ import { ProductStatus } from '@unchainedshop/core-products';
4
5
  const { Locale } = localePkg;
5
6
  export default async (req, res, unchainedAPI) => {
6
7
  return {
8
+ assortmentLoader: new DataLoader(async (queries) => {
9
+ const assortmentIds = [...new Set(queries.map((q) => q.assortmentId).filter(Boolean))];
10
+ const assortments = await unchainedAPI.modules.assortments.findAssortments({
11
+ assortmentIds,
12
+ includeInactive: true,
13
+ includeLeaves: true,
14
+ });
15
+ return queries.map(({ assortmentId, includeInactive }) => {
16
+ return assortments.find((assortment) => {
17
+ if (assortment._id !== assortmentId)
18
+ return false;
19
+ if (!includeInactive) {
20
+ return assortment.isActive === true;
21
+ }
22
+ return true;
23
+ });
24
+ });
25
+ }),
7
26
  assortmentTextLoader: new DataLoader(async (queries) => {
8
27
  const assortmentIds = [...new Set(queries.map((q) => q.assortmentId).filter(Boolean))];
9
28
  const texts = await unchainedAPI.modules.assortments.texts.findTexts({ assortmentId: { $in: assortmentIds } }, {
@@ -26,6 +45,20 @@ export default async (req, res, unchainedAPI) => {
26
45
  return assortmentText || assortmentTexts[0];
27
46
  });
28
47
  }),
48
+ filterLoader: new DataLoader(async (queries) => {
49
+ const filterIds = [...new Set(queries.map((q) => q.filterId).filter(Boolean))];
50
+ const filters = await unchainedAPI.modules.filters.findFilters({
51
+ filterIds,
52
+ includeInactive: true,
53
+ });
54
+ return queries.map(({ filterId }) => {
55
+ return filters.find((product) => {
56
+ if (product._id !== filterId)
57
+ return false;
58
+ return true;
59
+ });
60
+ });
61
+ }),
29
62
  filterTextLoader: new DataLoader(async (queries) => {
30
63
  const filterIds = [...new Set(queries.map((q) => q.filterId).filter(Boolean))];
31
64
  const texts = await unchainedAPI.modules.filters.texts.findTexts({ filterId: { $in: filterIds } }, {
@@ -48,6 +81,23 @@ export default async (req, res, unchainedAPI) => {
48
81
  return filterText || filterTexts[0];
49
82
  });
50
83
  }),
84
+ productLoader: new DataLoader(async (queries) => {
85
+ const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
86
+ const products = await unchainedAPI.modules.products.findProducts({
87
+ productIds,
88
+ includeDrafts: true,
89
+ });
90
+ return queries.map(({ productId, includeDrafts }) => {
91
+ return products.find((product) => {
92
+ if (product._id !== productId)
93
+ return false;
94
+ if (!includeDrafts) {
95
+ return product.status === ProductStatus.ACTIVE;
96
+ }
97
+ return true;
98
+ });
99
+ });
100
+ }),
51
101
  productTextLoader: new DataLoader(async (queries) => {
52
102
  const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
53
103
  const texts = await unchainedAPI.modules.products.texts.findTexts({ productId: { $in: productIds } }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { GraphQLUpload } from 'graphql-upload';
1
+ import GraphQLUpload from 'graphql-upload/GraphQLUpload.mjs';
2
2
  import { JSONResolver, TimestampResolver, DateTimeResolver, DateResolver } from 'graphql-scalars';
3
3
  import Query from './queries';
4
4
  import Mutation from './mutations';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,KAAK,MAAM,WAAW,CAAC;AAC9B,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,aAAa,MAAM,WAAW,CAAC;AAEtC,eAAe;IACb,GAAG,KAAK;IACR,GAAG,aAAa;IAChB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,YAAY;IAClB,KAAK;IACL,QAAQ;IACR,QAAQ,EAAE,gBAAgB;IAC1B,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,iBAAiB;CACK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,KAAK,MAAM,WAAW,CAAC;AAC9B,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,aAAa,MAAM,WAAW,CAAC;AAEtC,eAAe;IACb,GAAG,KAAK;IACR,GAAG,aAAa;IAChB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,YAAY;IAClB,KAAK;IACL,QAAQ;IACR,QAAQ,EAAE,gBAAgB;IAC1B,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,iBAAiB;CACK,CAAC"}
@@ -7,6 +7,7 @@ export default async function updateFilter(root, { filter, filterId }, context)
7
7
  throw new InvalidIdError({ filterId });
8
8
  if (!(await modules.filters.filterExists({ filterId })))
9
9
  throw new FilterNotFoundError({ filterId });
10
- return modules.filters.update(filterId, filter, context, { skipInvalidation: false }, userId);
10
+ await modules.filters.update(filterId, filter, context, { skipInvalidation: false }, userId);
11
+ return modules.filters.findFilter({ filterId });
11
12
  }
12
13
  //# sourceMappingURL=updateFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateFilter.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/filters/updateFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CACxC,IAAU,EACV,EAAE,MAAM,EAAE,QAAQ,EAAwC,EAC1D,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErG,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"updateFilter.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/filters/updateFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CACxC,IAAU,EACV,EAAE,MAAM,EAAE,QAAQ,EAAwC,EAC1D,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAE7F,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { log } from '@unchainedshop/logger';
2
2
  import { InvalidIdError } from '../../../errors';
3
3
  export default async function product(root, { productId, slug }, { modules, userId }) {
4
- log(`query product ${productId} ${slug}`, { userId });
4
+ log(`query product ${productId || slug}`, { userId });
5
5
  if (!productId === !slug)
6
6
  throw new InvalidIdError({ productId, slug });
7
7
  return modules.products.findProduct({ productId, slug });
@@ -1,4 +1,4 @@
1
1
  import { Context, Root } from '@unchainedshop/types/api';
2
2
  export default function productCatalogPrices(root: Root, { productId }: {
3
3
  productId: string;
4
- }, { modules, userId }: Context): Promise<import("@unchainedshop/types/products").ProductPrice[]>;
4
+ }, { modules, loaders, userId }: Context): Promise<import("@unchainedshop/types/products").ProductPrice[]>;
@@ -1,10 +1,13 @@
1
1
  import { log } from '@unchainedshop/logger';
2
2
  import { InvalidIdError } from '../../../errors';
3
- export default async function productCatalogPrices(root, { productId }, { modules, userId }) {
3
+ export default async function productCatalogPrices(root, { productId }, { modules, loaders, userId }) {
4
4
  log(`query productCatalogPrices ${productId}`, { userId });
5
5
  if (!productId)
6
6
  throw new InvalidIdError({ productId });
7
- const product = await modules.products.findProduct({ productId });
7
+ const product = await loaders.productLoader.load({
8
+ productId,
9
+ includeDrafts: true,
10
+ });
8
11
  if (!product)
9
12
  return null;
10
13
  return modules.products.prices.catalogPrices(product);
@@ -1 +1 @@
1
- {"version":3,"file":"productCatalogPrices.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/productCatalogPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAChD,IAAU,EACV,EAAE,SAAS,EAAyB,EACpC,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,8BAA8B,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"productCatalogPrices.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/productCatalogPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAChD,IAAU,EACV,EAAE,SAAS,EAAyB,EACpC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAW;IAErC,GAAG,CAAC,8BAA8B,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;QAC/C,SAAS;QACT,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { log } from '@unchainedshop/logger';
2
2
  export default async function products(root, params, { modules, userId }) {
3
- log(`query products: ${params.limit} ${params.offset} ${params.includeDrafts ? 'includeDrafts' : ''} ${params.slugs?.join(',')}`, { userId });
3
+ log(`query products: ${params.limit || 0} ${params.offset || 0} ${params.includeDrafts ? 'includeDrafts' : ''} ${params.slugs?.join(',')}`, { userId });
4
4
  return modules.products.findProducts(params);
5
5
  }
6
6
  //# sourceMappingURL=products.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,QAAQ,CACpC,IAAU,EACV,MAIC,EACD,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CACD,mBAAmB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAC7B,EAAE,MAAM,EAAE,CACX,CAAC;IACF,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,QAAQ,CACpC,IAAU,EACV,MAIC,EACD,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CACD,mBAAmB,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IACxD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAC7B,EAAE,MAAM,EAAE,CACX,CAAC;IACF,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { GraphQLScalarType } from 'graphql';
2
- declare const LowerCaseString: GraphQLScalarType;
2
+ declare const LowerCaseString: GraphQLScalarType<string, any>;
3
3
  export default LowerCaseString;
@@ -1,4 +1,4 @@
1
1
  declare const _default: {
2
- LowerCaseString: import("graphql").GraphQLScalarType;
2
+ LowerCaseString: import("graphql").GraphQLScalarType<string, any>;
3
3
  };
4
4
  export default _default;
@@ -1,9 +1,16 @@
1
1
  export const AssortmentFilter = {
2
- assortment: (obj, _, { modules }) => modules.assortments.findAssortment({
3
- assortmentId: obj.assortmentId,
4
- }),
5
- filter: (obj, _, { modules }) => modules.filters.findFilter({
6
- filterId: obj.filterId,
7
- }),
2
+ assortment: async (obj, _, { loaders }) => {
3
+ const assortment = await loaders.assortmentLoader.load({
4
+ assortmentId: obj.assortmentId,
5
+ includeInactive: true,
6
+ });
7
+ return assortment;
8
+ },
9
+ filter: async (obj, _, { loaders }) => {
10
+ const filter = await loaders.filterLoader.load({
11
+ filterId: obj.filterId,
12
+ });
13
+ return filter;
14
+ },
8
15
  };
9
16
  //# sourceMappingURL=assortment-filter-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assortment-filter-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/assortment/assortment-filter-types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAClC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;QACjC,YAAY,EAAE,GAAG,CAAC,YAAY;KAC/B,CAAC;IAEJ,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"assortment-filter-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/assortment/assortment-filter-types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;YAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -1,9 +1,17 @@
1
1
  export const AssortmentLink = {
2
- child: (obj, _, { modules }) => modules.assortments.findAssortment({
3
- assortmentId: obj.childAssortmentId,
4
- }),
5
- parent: (obj, _, { modules }) => modules.assortments.findAssortment({
6
- assortmentId: obj.parentAssortmentId,
7
- }),
2
+ child: async (obj, _, { loaders }) => {
3
+ const assortment = await loaders.assortmentLoader.load({
4
+ assortmentId: obj.childAssortmentId,
5
+ includeInactive: true,
6
+ });
7
+ return assortment;
8
+ },
9
+ parent: async (obj, _, { loaders }) => {
10
+ const assortment = await loaders.assortmentLoader.load({
11
+ assortmentId: obj.parentAssortmentId,
12
+ includeInactive: true,
13
+ });
14
+ return assortment;
15
+ },
8
16
  };
9
17
  //# sourceMappingURL=assortment-link-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assortment-link-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/assortment/assortment-link-types.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7B,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;QACjC,YAAY,EAAE,GAAG,CAAC,iBAAiB;KACpC,CAAC;IAEJ,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9B,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;QACjC,YAAY,EAAE,GAAG,CAAC,kBAAkB;KACrC,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"assortment-link-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/assortment/assortment-link-types.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrD,YAAY,EAAE,GAAG,CAAC,iBAAiB;YACnC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrD,YAAY,EAAE,GAAG,CAAC,kBAAkB;YACpC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC"}