@unchainedshop/api 3.1.2 → 3.1.3

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 (81) hide show
  1. package/lib/loaders/index.d.ts.map +1 -1
  2. package/lib/loaders/index.js +56 -44
  3. package/lib/loaders/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/loaders/index.ts +63 -54
  6. package/lib/express/createApolloMiddleware.d.ts +0 -4
  7. package/lib/express/createApolloMiddleware.d.ts.map +0 -1
  8. package/lib/express/createApolloMiddleware.js +0 -36
  9. package/lib/express/createApolloMiddleware.js.map +0 -1
  10. package/lib/express/createSingleSignOnMiddleware.d.ts +0 -5
  11. package/lib/express/createSingleSignOnMiddleware.d.ts.map +0 -1
  12. package/lib/express/createSingleSignOnMiddleware.js +0 -71
  13. package/lib/express/createSingleSignOnMiddleware.js.map +0 -1
  14. package/lib/hashPassword.d.ts +0 -2
  15. package/lib/hashPassword.d.ts.map +0 -1
  16. package/lib/hashPassword.js +0 -5
  17. package/lib/hashPassword.js.map +0 -1
  18. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts +0 -3
  19. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts.map +0 -1
  20. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js +0 -6
  21. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js.map +0 -1
  22. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts +0 -6
  23. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts.map +0 -1
  24. package/lib/resolvers/mutations/accounts/disableTOTP.js +0 -27
  25. package/lib/resolvers/mutations/accounts/disableTOTP.js.map +0 -1
  26. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts +0 -6
  27. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts.map +0 -1
  28. package/lib/resolvers/mutations/accounts/enableTOTP.js +0 -20
  29. package/lib/resolvers/mutations/accounts/enableTOTP.js.map +0 -1
  30. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts +0 -7
  31. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts.map +0 -1
  32. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js +0 -30
  33. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js.map +0 -1
  34. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts +0 -8
  35. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts.map +0 -1
  36. package/lib/resolvers/mutations/accounts/loginWithOAuth.js +0 -25
  37. package/lib/resolvers/mutations/accounts/loginWithOAuth.js.map +0 -1
  38. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +0 -5
  39. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts.map +0 -1
  40. package/lib/resolvers/mutations/accounts/logoutAllSessions.js +0 -20
  41. package/lib/resolvers/mutations/accounts/logoutAllSessions.js.map +0 -1
  42. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts +0 -6
  43. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts.map +0 -1
  44. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js +0 -13
  45. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js.map +0 -1
  46. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts +0 -6
  47. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts.map +0 -1
  48. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js +0 -18
  49. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js.map +0 -1
  50. package/lib/resolvers/mutations/products/addProductMedia.d.ts +0 -6
  51. package/lib/resolvers/mutations/products/addProductMedia.d.ts.map +0 -1
  52. package/lib/resolvers/mutations/products/addProductMedia.js +0 -18
  53. package/lib/resolvers/mutations/products/addProductMedia.js.map +0 -1
  54. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts +0 -6
  55. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts.map +0 -1
  56. package/lib/resolvers/mutations/users/updateUserAvatar.js +0 -22
  57. package/lib/resolvers/mutations/users/updateUserAvatar.js.map +0 -1
  58. package/lib/resolvers/mutations/utils/getOrderCart.d.ts +0 -7
  59. package/lib/resolvers/mutations/utils/getOrderCart.d.ts.map +0 -1
  60. package/lib/resolvers/mutations/utils/getOrderCart.js +0 -13
  61. package/lib/resolvers/mutations/utils/getOrderCart.js.map +0 -1
  62. package/lib/resolvers/type/dispatch-types.d.ts +0 -15
  63. package/lib/resolvers/type/dispatch-types.d.ts.map +0 -1
  64. package/lib/resolvers/type/dispatch-types.js +0 -16
  65. package/lib/resolvers/type/dispatch-types.js.map +0 -1
  66. package/lib/resolvers/type/oauth-account.d.ts +0 -6
  67. package/lib/resolvers/type/oauth-account.d.ts.map +0 -1
  68. package/lib/resolvers/type/oauth-account.js +0 -7
  69. package/lib/resolvers/type/oauth-account.js.map +0 -1
  70. package/lib/resolvers/type/oauth-provider.d.ts +0 -6
  71. package/lib/resolvers/type/oauth-provider.d.ts.map +0 -1
  72. package/lib/resolvers/type/oauth-provider.js +0 -6
  73. package/lib/resolvers/type/oauth-provider.js.map +0 -1
  74. package/lib/resolvers/type/stock-types.d.ts +0 -14
  75. package/lib/resolvers/type/stock-types.d.ts.map +0 -1
  76. package/lib/resolvers/type/stock-types.js +0 -15
  77. package/lib/resolvers/type/stock-types.js.map +0 -1
  78. package/lib/user-context.d.ts +0 -7
  79. package/lib/user-context.d.ts.map +0 -1
  80. package/lib/user-context.js +0 -76
  81. package/lib/user-context.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAcjD,QAAA,MAAM,OAAO,iBAAwB,aAAa;;sBAEG,MAAM;;sBAAN,MAAM;;;sBAgBF,MAAM;gBAAU,MAAM;;sBAAtB,MAAM;gBAAU,MAAM;;;2BA6BpD,MAAM;gBAAU,MAAM;;2BAAtB,MAAM;gBAAU,MAAM;;;uBA4BW,MAAM;;uBAAN,MAAM;;;4BAoBtC,MAAM;2BAAqB,MAAM;;4BAAjC,MAAM;2BAAqB,MAAM;;;6BA6BhC,MAAM;4BAAsB,MAAM;uBAAiB,MAAM;;6BAAzD,MAAM;4BAAsB,MAAM;uBAAiB,MAAM;;;sBA0ChE,MAAM;mBAAa,MAAM;;sBAAzB,MAAM;mBAAa,MAAM;;;mBAiBW,MAAM;;mBAAN,MAAM;;;kBAqBnB,MAAM;;kBAAN,MAAM;;;kBAiBjC,MAAM;4BAAsB,MAAM;gBAAU,MAAM;;kBAAlD,MAAM;4BAAsB,MAAM;gBAAU,MAAM;;;mBA4BrB,MAAM;;mBAAN,MAAM;;;aAkBP,MAAM;;aAAN,MAAM;;;mBAkBD,MAAM;gBAAU,MAAM;;mBAAtB,MAAM;gBAAU,MAAM;;;wBA0BZ,MAAM;gBAAU,MAAM;;wBAAtB,MAAM;gBAAU,MAAM;;;oBA4B7B,MAAM;;oBAAN,MAAM;;;gBAiBnB,MAAM;;gBAAN,MAAM;;EAe9C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAEnE,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAiCjD,QAAA,MAAM,OAAO,iBAAwB,aAAa;;sBAEG,MAAM;;sBAAN,MAAM;;;sBAgBF,MAAM;gBAAU,MAAM;;sBAAtB,MAAM;gBAAU,MAAM;;;2BA2BpD,MAAM;gBAAU,MAAM;;2BAAtB,MAAM;gBAAU,MAAM;;;uBA0BW,MAAM;;uBAAN,MAAM;;;4BAoBtC,MAAM;2BAAqB,MAAM;;4BAAjC,MAAM;2BAAqB,MAAM;;;6BA6BhC,MAAM;4BAAsB,MAAM;uBAAiB,MAAM;;6BAAzD,MAAM;4BAAsB,MAAM;uBAAiB,MAAM;;;sBA0ChE,MAAM;mBAAa,MAAM;;sBAAzB,MAAM;mBAAa,MAAM;;;mBAiBW,MAAM;;mBAAN,MAAM;;;kBAqBnB,MAAM;;kBAAN,MAAM;;;kBAiBjC,MAAM;4BAAsB,MAAM;gBAAU,MAAM;;kBAAlD,MAAM;4BAAsB,MAAM;gBAAU,MAAM;;;mBA0BrB,MAAM;;mBAAN,MAAM;;;aAkBP,MAAM;;aAAN,MAAM;;;mBAkBD,MAAM;gBAAU,MAAM;;mBAAtB,MAAM;gBAAU,MAAM;;;wBAwBZ,MAAM;gBAAU,MAAM;;wBAAtB,MAAM;gBAAU,MAAM;;;oBA0B7B,MAAM;;oBAAN,MAAM;;;gBAiBnB,MAAM;;gBAAN,MAAM;;EAe9C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAEnE,eAAe,OAAO,CAAC"}
@@ -1,15 +1,32 @@
1
1
  import DataLoader from 'dataloader';
2
2
  import { systemLocale } from '@unchainedshop/utils';
3
3
  function getLocaleStrings(locale) {
4
- const localeObj = new Intl.Locale(locale);
5
- return [
6
- ...new Set([
7
- localeObj.baseName.toLowerCase(),
8
- localeObj.language.toLowerCase(),
9
- systemLocale.baseName.toLowerCase(),
10
- systemLocale.language.toLowerCase(),
11
- ]),
12
- ];
4
+ try {
5
+ const localeObj = new Intl.Locale(locale);
6
+ return [
7
+ ...new Set([localeObj.baseName, localeObj.language, systemLocale.baseName, systemLocale.language]),
8
+ ];
9
+ }
10
+ catch {
11
+ return [...new Set([systemLocale.baseName, systemLocale.language])];
12
+ }
13
+ }
14
+ function buildLocaleMap(queries, texts) {
15
+ // key = texts.locale
16
+ // value = input query locale
17
+ const queryLocales = [...new Set(queries.map((q) => q.locale))];
18
+ const textLocales = [...new Set(texts.map((t) => t.locale))];
19
+ const localeMap = {};
20
+ for (const queryLocale of queryLocales) {
21
+ const potentialMatches = getLocaleStrings(queryLocale);
22
+ const matches = potentialMatches.filter((l) => textLocales.includes(l));
23
+ for (const match of matches) {
24
+ if (!localeMap[match])
25
+ localeMap[match] = [];
26
+ localeMap[match].push(queryLocale);
27
+ }
28
+ }
29
+ return localeMap;
13
30
  }
14
31
  const loaders = async (unchainedAPI) => {
15
32
  return {
@@ -33,16 +50,15 @@ const loaders = async (unchainedAPI) => {
33
50
  assortmentId: 1,
34
51
  },
35
52
  });
36
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
53
+ const localeMap = buildLocaleMap(queries, texts);
37
54
  const textsMap = {};
38
- const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
39
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
40
- }));
41
55
  for (const text of texts) {
42
- const locale = localeMap[text.locale.toLowerCase()];
43
- textsMap[locale + text.assortmentId] = text;
56
+ const localesForText = localeMap[text.locale];
57
+ for (const locale of localesForText) {
58
+ textsMap[locale + text.assortmentId] = text;
59
+ }
44
60
  }
45
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.assortmentId]);
61
+ return queries.map((q) => textsMap[q.locale + q.assortmentId]);
46
62
  }),
47
63
  assortmentMediaTextLoader: new DataLoader(async (queries) => {
48
64
  const assortmentMediaIds = [...new Set(queries.map((q) => q.assortmentMediaId).filter(Boolean))];
@@ -51,16 +67,15 @@ const loaders = async (unchainedAPI) => {
51
67
  assortmentMediaId: 1,
52
68
  },
53
69
  });
54
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
70
+ const localeMap = buildLocaleMap(queries, texts);
55
71
  const textsMap = {};
56
- const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
57
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
58
- }));
59
72
  for (const text of texts) {
60
- const locale = localeMap[text.locale.toLowerCase()];
61
- textsMap[locale + text.assortmentMediaId] = text;
73
+ const localesForText = localeMap[text.locale];
74
+ for (const locale of localesForText) {
75
+ textsMap[locale + text.assortmentMediaId] = text;
76
+ }
62
77
  }
63
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.assortmentMediaId]);
78
+ return queries.map((q) => textsMap[q.locale + q.assortmentMediaId]);
64
79
  }),
65
80
  assortmentMediasLoader: new DataLoader(async (queries) => {
66
81
  const assortmentIds = [...new Set(queries.map((q) => q.assortmentId).filter(Boolean))];
@@ -182,16 +197,15 @@ const loaders = async (unchainedAPI) => {
182
197
  filterId: 1,
183
198
  },
184
199
  });
185
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
200
+ const localeMap = buildLocaleMap(queries, texts);
186
201
  const textsMap = {};
187
- const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
188
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
189
- }));
190
202
  for (const text of texts) {
191
- const locale = localeMap[text.locale.toLowerCase()];
192
- textsMap[locale + text.filterId + text.filterOptionValue] = text;
203
+ const localesForText = localeMap[text.locale];
204
+ for (const locale of localesForText) {
205
+ textsMap[locale + text.filterId + text.filterOptionValue] = text;
206
+ }
193
207
  }
194
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.filterId + q.filterOptionValue]);
208
+ return queries.map((q) => textsMap[q.locale + q.filterId + q.filterOptionValue]);
195
209
  }),
196
210
  productLoader: new DataLoader(async (queries) => {
197
211
  const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))]; // you don't need lodash, _.unique my ass
@@ -228,16 +242,15 @@ const loaders = async (unchainedAPI) => {
228
242
  productId: 1,
229
243
  },
230
244
  });
231
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
245
+ const localeMap = buildLocaleMap(queries, texts);
232
246
  const textsMap = {};
233
- const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
234
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
235
- }));
236
247
  for (const text of texts) {
237
- const locale = localeMap[text.locale.toLowerCase()];
238
- textsMap[locale + text.productId] = text;
248
+ const localesForText = localeMap[text.locale] || [];
249
+ for (const locale of localesForText) {
250
+ textsMap[locale + text.productId] = text;
251
+ }
239
252
  }
240
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.productId]);
253
+ return queries.map((q) => textsMap[q.locale + q.productId]);
241
254
  }),
242
255
  productMediaTextLoader: new DataLoader(async (queries) => {
243
256
  const productMediaIds = [...new Set(queries.map((q) => q.productMediaId).filter(Boolean))];
@@ -246,16 +259,15 @@ const loaders = async (unchainedAPI) => {
246
259
  productMediaId: 1,
247
260
  },
248
261
  });
249
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
262
+ const localeMap = buildLocaleMap(queries, texts);
250
263
  const textsMap = {};
251
- const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
252
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
253
- }));
254
264
  for (const text of texts) {
255
- const locale = localeMap[text.locale.toLowerCase()];
256
- textsMap[locale + text.productMediaId] = text;
265
+ const localesForText = localeMap[text.locale] || [];
266
+ for (const locale of localesForText) {
267
+ textsMap[locale + text.productMediaId] = text;
268
+ }
257
269
  }
258
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.productMediaId]);
270
+ return queries.map((q) => textsMap[q.locale + q.productMediaId]);
259
271
  }),
260
272
  productMediasLoader: new DataLoader(async (queries) => {
261
273
  const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/api",
3
- "version": "3.1.2",
3
+ "version": "3.1.3",
4
4
  "main": "lib/api-index.js",
5
5
  "types": "lib/api-index.d.ts",
6
6
  "type": "module",
@@ -14,15 +14,34 @@ import {
14
14
  import { File } from '@unchainedshop/core-files';
15
15
 
16
16
  function getLocaleStrings(locale: string) {
17
- const localeObj = new Intl.Locale(locale);
18
- return [
19
- ...new Set([
20
- localeObj.baseName.toLowerCase(),
21
- localeObj.language.toLowerCase(),
22
- systemLocale.baseName.toLowerCase(),
23
- systemLocale.language.toLowerCase(),
24
- ]),
25
- ];
17
+ try {
18
+ const localeObj = new Intl.Locale(locale);
19
+ return [
20
+ ...new Set([localeObj.baseName, localeObj.language, systemLocale.baseName, systemLocale.language]),
21
+ ];
22
+ } catch {
23
+ return [...new Set([systemLocale.baseName, systemLocale.language])];
24
+ }
25
+ }
26
+
27
+ function buildLocaleMap(
28
+ queries: Readonly<Array<{ locale: string }>>,
29
+ texts: Readonly<Array<{ locale?: string }>>,
30
+ ): Record<string, string[]> {
31
+ // key = texts.locale
32
+ // value = input query locale
33
+ const queryLocales: Array<any> = [...new Set(queries.map((q) => q.locale))];
34
+ const textLocales: Array<string> = [...new Set(texts.map((t) => t.locale))];
35
+ const localeMap = {};
36
+ for (const queryLocale of queryLocales) {
37
+ const potentialMatches = getLocaleStrings(queryLocale);
38
+ const matches = potentialMatches.filter((l) => textLocales.includes(l));
39
+ for (const match of matches) {
40
+ if (!localeMap[match]) localeMap[match] = [];
41
+ localeMap[match].push(queryLocale);
42
+ }
43
+ }
44
+ return localeMap;
26
45
  }
27
46
 
28
47
  const loaders = async (unchainedAPI: UnchainedCore) => {
@@ -56,18 +75,16 @@ const loaders = async (unchainedAPI: UnchainedCore) => {
56
75
  },
57
76
  );
58
77
 
59
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
78
+ const localeMap = buildLocaleMap(queries, texts);
79
+
60
80
  const textsMap = {};
61
- const localeMap = Object.fromEntries(
62
- queryLocales.flatMap((queryLocale) => {
63
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
64
- }),
65
- );
66
81
  for (const text of texts) {
67
- const locale = localeMap[text.locale.toLowerCase()];
68
- textsMap[locale + text.assortmentId] = text;
82
+ const localesForText = localeMap[text.locale];
83
+ for (const locale of localesForText) {
84
+ textsMap[locale + text.assortmentId] = text;
85
+ }
69
86
  }
70
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.assortmentId]);
87
+ return queries.map((q) => textsMap[q.locale + q.assortmentId]);
71
88
  },
72
89
  ),
73
90
 
@@ -86,18 +103,16 @@ const loaders = async (unchainedAPI: UnchainedCore) => {
86
103
  },
87
104
  );
88
105
 
89
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
106
+ const localeMap = buildLocaleMap(queries, texts);
107
+
90
108
  const textsMap = {};
91
- const localeMap = Object.fromEntries(
92
- queryLocales.flatMap((queryLocale) => {
93
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
94
- }),
95
- );
96
109
  for (const text of texts) {
97
- const locale = localeMap[text.locale.toLowerCase()];
98
- textsMap[locale + text.assortmentMediaId] = text;
110
+ const localesForText = localeMap[text.locale];
111
+ for (const locale of localesForText) {
112
+ textsMap[locale + text.assortmentMediaId] = text;
113
+ }
99
114
  }
100
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.assortmentMediaId]);
115
+ return queries.map((q) => textsMap[q.locale + q.assortmentMediaId]);
101
116
  }),
102
117
 
103
118
  assortmentMediasLoader: new DataLoader<{ assortmentId?: string }, AssortmentMediaType[]>(
@@ -260,18 +275,16 @@ const loaders = async (unchainedAPI: UnchainedCore) => {
260
275
  },
261
276
  );
262
277
 
263
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
278
+ const localeMap = buildLocaleMap(queries, texts);
279
+
264
280
  const textsMap = {};
265
- const localeMap = Object.fromEntries(
266
- queryLocales.flatMap((queryLocale) => {
267
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
268
- }),
269
- );
270
281
  for (const text of texts) {
271
- const locale = localeMap[text.locale.toLowerCase()];
272
- textsMap[locale + text.filterId + text.filterOptionValue] = text;
282
+ const localesForText = localeMap[text.locale];
283
+ for (const locale of localesForText) {
284
+ textsMap[locale + text.filterId + text.filterOptionValue] = text;
285
+ }
273
286
  }
274
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.filterId + q.filterOptionValue]);
287
+ return queries.map((q) => textsMap[q.locale + q.filterId + q.filterOptionValue]);
275
288
  }),
276
289
 
277
290
  productLoader: new DataLoader<{ productId: string }, Product>(async (queries) => {
@@ -321,18 +334,16 @@ const loaders = async (unchainedAPI: UnchainedCore) => {
321
334
  },
322
335
  },
323
336
  );
324
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
337
+ const localeMap = buildLocaleMap(queries, texts);
338
+
325
339
  const textsMap = {};
326
- const localeMap = Object.fromEntries(
327
- queryLocales.flatMap((queryLocale) => {
328
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
329
- }),
330
- );
331
340
  for (const text of texts) {
332
- const locale = localeMap[text.locale.toLowerCase()];
333
- textsMap[locale + text.productId] = text;
341
+ const localesForText = localeMap[text.locale] || [];
342
+ for (const locale of localesForText) {
343
+ textsMap[locale + text.productId] = text;
344
+ }
334
345
  }
335
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.productId]);
346
+ return queries.map((q) => textsMap[q.locale + q.productId]);
336
347
  },
337
348
  ),
338
349
 
@@ -349,18 +360,16 @@ const loaders = async (unchainedAPI: UnchainedCore) => {
349
360
  },
350
361
  );
351
362
 
352
- const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
363
+ const localeMap = buildLocaleMap(queries, texts);
364
+
353
365
  const textsMap = {};
354
- const localeMap = Object.fromEntries(
355
- queryLocales.flatMap((queryLocale) => {
356
- return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
357
- }),
358
- );
359
366
  for (const text of texts) {
360
- const locale = localeMap[text.locale.toLowerCase()];
361
- textsMap[locale + text.productMediaId] = text;
367
+ const localesForText = localeMap[text.locale] || [];
368
+ for (const locale of localesForText) {
369
+ textsMap[locale + text.productMediaId] = text;
370
+ }
362
371
  }
363
- return queries.map((q) => textsMap[q.locale.toLowerCase() + q.productMediaId]);
372
+ return queries.map((q) => textsMap[q.locale + q.productMediaId]);
364
373
  },
365
374
  ),
366
375
 
@@ -1,4 +0,0 @@
1
- export default function createApolloMiddleware(apolloGraphQLServer: any, { corsOrigins }?: {
2
- corsOrigins?: any;
3
- }): any[];
4
- //# sourceMappingURL=createApolloMiddleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createApolloMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createApolloMiddleware.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,mBAAmB,KAAA,EAAE,EAAE,WAAuB,EAAE;;CAAK,SAiCnG"}
@@ -1,36 +0,0 @@
1
- import cors from 'cors';
2
- import { expressMiddleware } from '@apollo/server/express4';
3
- import graphqlUploadExpress from 'graphql-upload/graphqlUploadExpress.mjs';
4
- import e from 'express';
5
- import { getCurrentContextResolver } from '../context.js';
6
- export default function createApolloMiddleware(apolloGraphQLServer, { corsOrigins = undefined } = {}) {
7
- const contextResolver = getCurrentContextResolver();
8
- const originFn = corsOrigins && Array.isArray(corsOrigins)
9
- ? (origin, callback) => {
10
- if (corsOrigins.length === 0 || !origin) {
11
- callback(null, true);
12
- return;
13
- }
14
- if (corsOrigins.indexOf(origin) !== -1) {
15
- callback(null, true);
16
- }
17
- else {
18
- callback(new Error('Not allowed by CORS'));
19
- }
20
- }
21
- : corsOrigins;
22
- return [
23
- cors(!originFn
24
- ? undefined
25
- : {
26
- origin: originFn,
27
- credentials: true,
28
- }),
29
- e.json(),
30
- graphqlUploadExpress({ maxFileSize: 10000000, maxFiles: 10 }),
31
- expressMiddleware(apolloGraphQLServer, {
32
- context: contextResolver,
33
- }),
34
- ];
35
- }
36
- //# sourceMappingURL=createApolloMiddleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createApolloMiddleware.js","sourceRoot":"","sources":["../../src/express/createApolloMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,CAAC,MAAM,SAAS,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,mBAAmB,EAAE,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE;IAClG,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IAEpD,MAAM,QAAQ,GACZ,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACnB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACH,CAAC,CAAC,WAAW,CAAC;IAElB,OAAO;QACL,IAAI,CACF,CAAC,QAAQ;YACP,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,IAAI;aAClB,CACN;QACD,CAAC,CAAC,IAAI,EAAE;QACR,oBAAoB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC7D,iBAAiB,CAAC,mBAAmB,EAAE;YACrC,OAAO,EAAE,eAAe;SACzB,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import { IncomingMessage } from 'http';
2
- export default function singleSignOnMiddleware(req: IncomingMessage & {
3
- query?: any;
4
- }, res: any, next: any): Promise<void>;
5
- //# sourceMappingURL=createSingleSignOnMiddleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSingleSignOnMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createSingleSignOnMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAmEvC,wBAA8B,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,iBAoBrG"}
@@ -1,71 +0,0 @@
1
- import { createLogger } from '@unchainedshop/logger';
2
- import cookie from 'cookie';
3
- import { getCurrentContextResolver } from '../context.js';
4
- const { NODE_ENV, UNCHAINED_CLOUD_ENDPOINT, UNCHAINED_COOKIE_NAME = 'unchained_token', UNCHAINED_COOKIE_DOMAIN, } = process.env;
5
- const logger = createLogger('unchained:unchained-cloud-sso');
6
- const loginWithSingleSignOn = async (remoteToken, context) => {
7
- const domain = UNCHAINED_COOKIE_DOMAIN;
8
- const result = await fetch(UNCHAINED_CLOUD_ENDPOINT, {
9
- method: 'POST',
10
- headers: {
11
- 'content-type': 'application/json',
12
- },
13
- duplex: 'half',
14
- body: JSON.stringify({
15
- operationName: 'consume',
16
- variables: {
17
- token: remoteToken,
18
- },
19
- query: 'mutation consume($token: ID!) { controlConsumeSingleSignOnToken(token: $token) { domain } }',
20
- }),
21
- });
22
- const json = await result.json();
23
- if (json?.errors?.length > 0) {
24
- throw new Error(json.errors[0].message);
25
- }
26
- if (domain === 'localhost' || domain === json?.data?.controlConsumeSingleSignOnToken?.domain) {
27
- // create sso user if not exist and login
28
- const ssoUserId = (await context.modules.users.findUser({ username: 'sso' }))?._id ||
29
- (await context.modules.accounts.createUser({
30
- username: 'sso',
31
- roles: ['admin'],
32
- email: 'sso@unchained.local',
33
- password: null,
34
- guest: false,
35
- }, { skipMessaging: true }));
36
- const { tokenExpires, token } = await context.modules.accounts.createLoginToken(ssoUserId, context);
37
- const expires = new Date(tokenExpires || new Date().getTime() + 100000);
38
- const authCookie = cookie.serialize(UNCHAINED_COOKIE_NAME, token, {
39
- domain,
40
- httpOnly: true,
41
- expires,
42
- path: '/',
43
- sameSite: 'strict',
44
- secure: NODE_ENV === 'production',
45
- });
46
- return authCookie;
47
- }
48
- throw new Error('Invalid token/domain pair');
49
- };
50
- export default async function singleSignOnMiddleware(req, res, next) {
51
- try {
52
- if (req.query?.token && UNCHAINED_CLOUD_ENDPOINT) {
53
- const contextResolver = getCurrentContextResolver();
54
- const context = await contextResolver({ req, res });
55
- const authCookie = await loginWithSingleSignOn(req.query.token, context);
56
- if (authCookie) {
57
- res.writeHead(303, {
58
- 'Set-Cookie': authCookie,
59
- Location: '/',
60
- });
61
- res.end();
62
- return;
63
- }
64
- }
65
- }
66
- catch (e) {
67
- logger.error(e.message);
68
- }
69
- next();
70
- }
71
- //# sourceMappingURL=createSingleSignOnMiddleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSingleSignOnMiddleware.js","sourceRoot":"","sources":["../../src/express/createSingleSignOnMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const hashPassword: (password: string) => string;
2
- //# sourceMappingURL=hashPassword.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashPassword.d.ts","sourceRoot":"","sources":["../src/hashPassword.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,aAAc,MAAM,KAAG,MAE/C,CAAC"}
@@ -1,5 +0,0 @@
1
- import crypto from 'crypto';
2
- export const hashPassword = (password) => {
3
- return crypto.createHash('sha256').update(password).digest('hex');
4
- };
5
- //# sourceMappingURL=hashPassword.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashPassword.js","sourceRoot":"","sources":["../src/hashPassword.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACvD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Context, Root } from '@unchainedshop/types/api.js';
2
- export default function buildTOTPSecret(root: Root, _: any, { modules, userId }: Context): Promise<string>;
3
- //# sourceMappingURL=buildSecretTOTPAuthURL.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildSecretTOTPAuthURL.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/buildSecretTOTPAuthURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAA8B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,mBAI7F"}
@@ -1,6 +0,0 @@
1
- import { log } from '@unchainedshop/logger';
2
- export default async function buildTOTPSecret(root, _, { modules, userId }) {
3
- log('mutation buildTOTPSecret', { userId });
4
- return modules.accounts.buildTOTPSecret();
5
- }
6
- //# sourceMappingURL=buildSecretTOTPAuthURL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildSecretTOTPAuthURL.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/buildSecretTOTPAuthURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,CAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAW;IAC5F,GAAG,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Context, Root } from '@unchainedshop/types/api.js';
2
- export default function disableTOTP(root: Root, params: {
3
- code: string;
4
- userId: string;
5
- }, { modules, userId }: Context): Promise<import("@unchainedshop/types/user.js").User>;
6
- //# sourceMappingURL=disableTOTP.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disableTOTP.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/disableTOTP.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAO5D,wBAA8B,WAAW,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACxC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,wDAwB7B"}