@unchainedshop/api 3.1.1 → 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 (83) 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 +5 -6
  5. package/src/loaders/index.ts +63 -54
  6. package/tests/api-index.test.ts +18 -11
  7. package/jest.config.js +0 -17
  8. package/lib/express/createApolloMiddleware.d.ts +0 -4
  9. package/lib/express/createApolloMiddleware.d.ts.map +0 -1
  10. package/lib/express/createApolloMiddleware.js +0 -36
  11. package/lib/express/createApolloMiddleware.js.map +0 -1
  12. package/lib/express/createSingleSignOnMiddleware.d.ts +0 -5
  13. package/lib/express/createSingleSignOnMiddleware.d.ts.map +0 -1
  14. package/lib/express/createSingleSignOnMiddleware.js +0 -71
  15. package/lib/express/createSingleSignOnMiddleware.js.map +0 -1
  16. package/lib/hashPassword.d.ts +0 -2
  17. package/lib/hashPassword.d.ts.map +0 -1
  18. package/lib/hashPassword.js +0 -5
  19. package/lib/hashPassword.js.map +0 -1
  20. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts +0 -3
  21. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts.map +0 -1
  22. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js +0 -6
  23. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js.map +0 -1
  24. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts +0 -6
  25. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts.map +0 -1
  26. package/lib/resolvers/mutations/accounts/disableTOTP.js +0 -27
  27. package/lib/resolvers/mutations/accounts/disableTOTP.js.map +0 -1
  28. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts +0 -6
  29. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts.map +0 -1
  30. package/lib/resolvers/mutations/accounts/enableTOTP.js +0 -20
  31. package/lib/resolvers/mutations/accounts/enableTOTP.js.map +0 -1
  32. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts +0 -7
  33. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts.map +0 -1
  34. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js +0 -30
  35. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js.map +0 -1
  36. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts +0 -8
  37. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts.map +0 -1
  38. package/lib/resolvers/mutations/accounts/loginWithOAuth.js +0 -25
  39. package/lib/resolvers/mutations/accounts/loginWithOAuth.js.map +0 -1
  40. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +0 -5
  41. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts.map +0 -1
  42. package/lib/resolvers/mutations/accounts/logoutAllSessions.js +0 -20
  43. package/lib/resolvers/mutations/accounts/logoutAllSessions.js.map +0 -1
  44. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts +0 -6
  45. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts.map +0 -1
  46. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js +0 -13
  47. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js.map +0 -1
  48. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts +0 -6
  49. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts.map +0 -1
  50. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js +0 -18
  51. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js.map +0 -1
  52. package/lib/resolvers/mutations/products/addProductMedia.d.ts +0 -6
  53. package/lib/resolvers/mutations/products/addProductMedia.d.ts.map +0 -1
  54. package/lib/resolvers/mutations/products/addProductMedia.js +0 -18
  55. package/lib/resolvers/mutations/products/addProductMedia.js.map +0 -1
  56. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts +0 -6
  57. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts.map +0 -1
  58. package/lib/resolvers/mutations/users/updateUserAvatar.js +0 -22
  59. package/lib/resolvers/mutations/users/updateUserAvatar.js.map +0 -1
  60. package/lib/resolvers/mutations/utils/getOrderCart.d.ts +0 -7
  61. package/lib/resolvers/mutations/utils/getOrderCart.d.ts.map +0 -1
  62. package/lib/resolvers/mutations/utils/getOrderCart.js +0 -13
  63. package/lib/resolvers/mutations/utils/getOrderCart.js.map +0 -1
  64. package/lib/resolvers/type/dispatch-types.d.ts +0 -15
  65. package/lib/resolvers/type/dispatch-types.d.ts.map +0 -1
  66. package/lib/resolvers/type/dispatch-types.js +0 -16
  67. package/lib/resolvers/type/dispatch-types.js.map +0 -1
  68. package/lib/resolvers/type/oauth-account.d.ts +0 -6
  69. package/lib/resolvers/type/oauth-account.d.ts.map +0 -1
  70. package/lib/resolvers/type/oauth-account.js +0 -7
  71. package/lib/resolvers/type/oauth-account.js.map +0 -1
  72. package/lib/resolvers/type/oauth-provider.d.ts +0 -6
  73. package/lib/resolvers/type/oauth-provider.d.ts.map +0 -1
  74. package/lib/resolvers/type/oauth-provider.js +0 -6
  75. package/lib/resolvers/type/oauth-provider.js.map +0 -1
  76. package/lib/resolvers/type/stock-types.d.ts +0 -14
  77. package/lib/resolvers/type/stock-types.d.ts.map +0 -1
  78. package/lib/resolvers/type/stock-types.js +0 -15
  79. package/lib/resolvers/type/stock-types.js.map +0 -1
  80. package/lib/user-context.d.ts +0 -7
  81. package/lib/user-context.d.ts.map +0 -1
  82. package/lib/user-context.js +0 -76
  83. package/lib/user-context.js.map +0 -1
@@ -1,14 +0,0 @@
1
- import { DeliveryProvider } from '@unchainedshop/types/delivery.js';
2
- import { Product } from '@unchainedshop/types/products.js';
3
- import { WarehousingProvider } from '@unchainedshop/types/warehousing.js';
4
- export declare const Stock: {
5
- _id: (params: {
6
- product: Product;
7
- deliveryProvider: DeliveryProvider;
8
- warehousingProvider: WarehousingProvider;
9
- referenceDate: Date;
10
- country: string;
11
- userId?: string;
12
- }) => string;
13
- };
14
- //# sourceMappingURL=stock-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stock-types.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/stock-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,eAAO,MAAM,KAAK;kBACF;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAcF,CAAC"}
@@ -1,15 +0,0 @@
1
- import crypto from 'crypto';
2
- export const Stock = {
3
- _id: (params) => crypto
4
- .createHash('sha256')
5
- .update([
6
- params.product._id,
7
- params.deliveryProvider._id,
8
- params.warehousingProvider._id,
9
- params.referenceDate,
10
- params.country,
11
- params.userId || 'ANONYMOUS',
12
- ].join(''))
13
- .digest('hex'),
14
- };
15
- //# sourceMappingURL=stock-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stock-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/stock-types.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE,CAAC,MAOL,EAAE,EAAE,CACH,MAAM;SACH,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CACL;QACE,MAAM,CAAC,OAAO,CAAC,GAAG;QAClB,MAAM,CAAC,gBAAgB,CAAC,GAAG;QAC3B,MAAM,CAAC,mBAAmB,CAAC,GAAG;QAC9B,MAAM,CAAC,aAAa;QACpB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM,IAAI,WAAW;KAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;SACA,MAAM,CAAC,KAAK,CAAC;CACnB,CAAC"}
@@ -1,7 +0,0 @@
1
- import { IncomingMessage, OutgoingMessage } from 'http';
2
- import { UnchainedUserContext } from '@unchainedshop/types/api.js';
3
- import { UnchainedCore } from '@unchainedshop/types/core.js';
4
- export declare const getUserContext: (req: IncomingMessage & {
5
- cookies?: any;
6
- }, res: OutgoingMessage, unchainedAPI: UnchainedCore) => Promise<UnchainedUserContext>;
7
- //# sourceMappingURL=user-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-context.d.ts","sourceRoot":"","sources":["../src/user-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AA0C7D,eAAO,MAAM,cAAc,QACpB,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,OACnC,eAAe,gBACN,aAAa,KAC1B,OAAO,CAAC,oBAAoB,CAsD9B,CAAC"}
@@ -1,76 +0,0 @@
1
- import cookie from 'cookie';
2
- function isString(input) {
3
- return typeof input === 'string' && Object.prototype.toString.call(input) === '[object String]';
4
- }
5
- const { UNCHAINED_COOKIE_NAME = 'unchained_token', UNCHAINED_COOKIE_PATH = '/', UNCHAINED_COOKIE_DOMAIN, UNCHAINED_COOKIE_SAMESITE, UNCHAINED_COOKIE_INSECURE, } = process.env;
6
- function setLoginToken(res, token, expires) {
7
- const cookieName = UNCHAINED_COOKIE_NAME;
8
- const domain = UNCHAINED_COOKIE_DOMAIN;
9
- const path = UNCHAINED_COOKIE_PATH;
10
- const secure = UNCHAINED_COOKIE_INSECURE ? false : true;
11
- const sameSite = ({
12
- none: 'none',
13
- lax: 'lax',
14
- strict: 'strict',
15
- '1': true,
16
- '0': false,
17
- }[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || false);
18
- if (!cookieName)
19
- return;
20
- const authCookie = cookie.serialize(cookieName, token || null, {
21
- domain,
22
- httpOnly: true,
23
- path,
24
- expires: token && expires ? expires : undefined,
25
- maxAge: token ? undefined : -1,
26
- sameSite,
27
- secure,
28
- });
29
- res.setHeader('Set-Cookie', authCookie);
30
- }
31
- export const getUserContext = async (req, res, unchainedAPI) => {
32
- // there is a possible current user connected!
33
- const cookieName = UNCHAINED_COOKIE_NAME;
34
- let loginToken = req.cookies?.[cookieName];
35
- if (req.headers.authorization) {
36
- const [type, token] = req.headers.authorization.split(' ');
37
- if (type === 'Bearer') {
38
- loginToken = token;
39
- }
40
- }
41
- if (loginToken) {
42
- // throw an error if the token is not a string
43
- if (!isString(loginToken))
44
- throw new Error('Access Token is not a string');
45
- // the hashed token is the key to find the possible current user in the db
46
- const hashedToken = unchainedAPI.modules.accounts.createHashLoginToken(loginToken);
47
- const currentUser = await unchainedAPI.modules.users.findUserByToken({
48
- hashedToken,
49
- });
50
- // the current user exists
51
- if (currentUser) {
52
- // find the right login token corresponding, the current user may have
53
- // several sessions logged on different browsers / computers
54
- const tokenInformation = currentUser.services.resume.loginTokens.find((tokenInfo) => tokenInfo.hashedToken === hashedToken); // eslint-disable-line
55
- // true if the token is expired
56
- const isExpired = new Date(tokenInformation.when) < new Date();
57
- // if the token is still valid, give access to the current user
58
- // information in the resolvers context
59
- if (!isExpired) {
60
- // return a new context object with the current user & her id
61
- return {
62
- user: currentUser,
63
- userId: currentUser._id,
64
- loginToken: loginToken,
65
- setLoginToken,
66
- };
67
- }
68
- }
69
- // If there is no user with this token or the token is expires/invalid,
70
- // we should remove that cookie from the client
71
- setLoginToken(res, null);
72
- return { loginToken: loginToken, setLoginToken };
73
- }
74
- return { setLoginToken };
75
- };
76
- //# sourceMappingURL=user-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-context.js","sourceRoot":"","sources":["../src/user-context.ts"],"names":[],"mappings":"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"}