@unchainedshop/api 2.3.6 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/errors.d.ts +1 -0
- package/lib/errors.js +1 -0
- package/lib/errors.js.map +1 -1
- package/lib/resolvers/mutations/accounts/impersonate.js +3 -3
- package/lib/resolvers/mutations/accounts/impersonate.js.map +1 -1
- package/lib/resolvers/mutations/accounts/stopImpersonation.d.ts +6 -0
- package/lib/resolvers/mutations/accounts/stopImpersonation.js +21 -0
- package/lib/resolvers/mutations/accounts/stopImpersonation.js.map +1 -0
- package/lib/resolvers/mutations/index.d.ts +16 -37
- package/lib/resolvers/mutations/index.js +17 -15
- package/lib/resolvers/mutations/index.js.map +1 -1
- package/lib/resolvers/mutations/payment/removePaymentCredentials.js.map +1 -1
- package/lib/resolvers/queries/index.d.ts +2 -0
- package/lib/resolvers/queries/index.js +2 -0
- package/lib/resolvers/queries/index.js.map +1 -1
- package/lib/resolvers/queries/users/impersonator.d.ts +2 -0
- package/lib/resolvers/queries/users/impersonator.js +12 -0
- package/lib/resolvers/queries/users/impersonator.js.map +1 -0
- package/lib/resolvers/type/product/product-types.js +3 -0
- package/lib/resolvers/type/product/product-types.js.map +1 -1
- package/lib/resolvers/type/user-types.d.ts +7 -0
- package/lib/resolvers/type/user-types.js +16 -1
- package/lib/resolvers/type/user-types.js.map +1 -1
- package/lib/roles/all.js +16 -0
- package/lib/roles/all.js.map +1 -1
- package/lib/roles/index.js +16 -0
- package/lib/roles/index.js.map +1 -1
- package/lib/roles/loggedIn.js +3 -0
- package/lib/roles/loggedIn.js.map +1 -1
- package/lib/schema/mutation.js +5 -0
- package/lib/schema/mutation.js.map +1 -1
- package/lib/schema/query.js +4 -0
- package/lib/schema/query.js.map +1 -1
- package/lib/schema/types/product/bundle-product.js +1 -0
- package/lib/schema/types/product/bundle-product.js.map +1 -1
- package/lib/schema/types/product/configurable-product.js +1 -0
- package/lib/schema/types/product/configurable-product.js.map +1 -1
- package/lib/schema/types/product/plan-product.js +1 -0
- package/lib/schema/types/product/plan-product.js.map +1 -1
- package/lib/schema/types/product/product.js +1 -0
- package/lib/schema/types/product/product.js.map +1 -1
- package/lib/schema/types/product/simple-product.js +1 -0
- package/lib/schema/types/product/simple-product.js.map +1 -1
- package/lib/schema/types/product/tokenized-product.js +1 -0
- package/lib/schema/types/product/tokenized-product.js.map +1 -1
- package/lib/schema/types/user.js +2 -0
- package/lib/schema/types/user.js.map +1 -1
- package/package.json +13 -13
- package/src/errors.ts +5 -0
- package/src/resolvers/mutations/accounts/impersonate.ts +3 -3
- package/src/resolvers/mutations/accounts/stopImpersonation.ts +31 -0
- package/src/resolvers/mutations/index.ts +21 -15
- package/src/resolvers/mutations/payment/removePaymentCredentials.ts +2 -3
- package/src/resolvers/queries/index.ts +2 -0
- package/src/resolvers/queries/users/impersonator.ts +19 -0
- package/src/resolvers/type/product/product-types.ts +3 -0
- package/src/resolvers/type/user-types.ts +26 -0
- package/src/roles/all.ts +16 -0
- package/src/roles/index.ts +17 -0
- package/src/roles/loggedIn.ts +3 -0
- package/src/schema/mutation.ts +5 -0
- package/src/schema/query.ts +4 -0
- package/src/schema/types/product/bundle-product.ts +1 -0
- package/src/schema/types/product/configurable-product.ts +1 -0
- package/src/schema/types/product/plan-product.ts +1 -0
- package/src/schema/types/product/product.ts +1 -0
- package/src/schema/types/product/simple-product.ts +1 -0
- package/src/schema/types/product/tokenized-product.ts +1 -0
- package/src/schema/types/user.ts +2 -0
package/lib/roles/index.js
CHANGED
|
@@ -97,6 +97,22 @@ const actions = [
|
|
|
97
97
|
'authTwoFactor',
|
|
98
98
|
'manageTwoFactor',
|
|
99
99
|
'impersonate',
|
|
100
|
+
'stopImpersonation',
|
|
101
|
+
'logout',
|
|
102
|
+
'logoutAllSessions',
|
|
103
|
+
'loginAsGuest',
|
|
104
|
+
'loginWithPassword',
|
|
105
|
+
'loginWithWebAuthn',
|
|
106
|
+
'loginWithOAuth',
|
|
107
|
+
'verifyEmail',
|
|
108
|
+
'useWebAuthn',
|
|
109
|
+
'pageView',
|
|
110
|
+
'createUser',
|
|
111
|
+
'forgotPassword',
|
|
112
|
+
'resetPassword',
|
|
113
|
+
'changePassword',
|
|
114
|
+
'viewUserProductReviews',
|
|
115
|
+
'heartbeat',
|
|
100
116
|
].reduce((oldValue, actionValue) => {
|
|
101
117
|
const newValue = oldValue;
|
|
102
118
|
newValue[actionValue] = actionValue;
|
package/lib/roles/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/roles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS;IACtB,QAAQ,EAAE,KAAK,CAAC,YAAY;IAC5B,GAAG,EAAE,KAAK,CAAC,OAAO;CACnB,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEvB,MAAM,OAAO,GAA2B;IACtC,WAAW;IACX,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;IACd,eAAe;IACf,cAAc;IACd,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,sBAAsB;IACtB,qBAAqB;IACrB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,wBAAwB;IACxB,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,eAAe;IACf,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,aAAa;IACb,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,eAAe;IACf,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,eAAe;IACf,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,QAAQ;IACR,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,4BAA4B;IAC5B,0BAA0B;IAC1B,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,aAAa;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/roles/index.ts"],"names":[],"mappings":"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"}
|
package/lib/roles/loggedIn.js
CHANGED
|
@@ -147,6 +147,7 @@ export const loggedIn = (role, actions) => {
|
|
|
147
147
|
role.allow(actions.viewUserQuotations, isMyself);
|
|
148
148
|
role.allow(actions.viewUserEnrollments, isMyself);
|
|
149
149
|
role.allow(actions.viewUserPrivateInfos, isMyself);
|
|
150
|
+
role.allow(actions.viewUserProductReviews, isMyself);
|
|
150
151
|
role.allow(actions.viewUserTokens, isMyself);
|
|
151
152
|
role.allow(actions.updateUser, isMyself);
|
|
152
153
|
role.allow(actions.authTwoFactor, isMyself);
|
|
@@ -175,5 +176,7 @@ export const loggedIn = (role, actions) => {
|
|
|
175
176
|
role.allow(actions.managePaymentCredentials, isOwnedPaymentCredential);
|
|
176
177
|
role.allow(actions.updateToken, isOwnedToken);
|
|
177
178
|
role.allow(actions.viewToken, isOwnedToken);
|
|
179
|
+
role.allow(actions.stopImpersonation, () => true);
|
|
180
|
+
role.allow(actions.impersonate, () => false);
|
|
178
181
|
};
|
|
179
182
|
//# sourceMappingURL=loggedIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggedIn.js","sourceRoot":"","sources":["../../src/roles/loggedIn.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loggedIn.js","sourceRoot":"","sources":["../../src/roles/loggedIn.ts"],"names":[],"mappings":"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"}
|
package/lib/schema/mutation.js
CHANGED
|
@@ -449,6 +449,11 @@ export default [
|
|
|
449
449
|
"""
|
|
450
450
|
impersonate(userId: ID!): LoginMethodResponse!
|
|
451
451
|
|
|
452
|
+
"""
|
|
453
|
+
End customer impersonated user session and resume the impersonator session
|
|
454
|
+
"""
|
|
455
|
+
stopImpersonation: LoginMethodResponse!
|
|
456
|
+
|
|
452
457
|
"""
|
|
453
458
|
Reorder a media asset (first is primary)
|
|
454
459
|
"""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/schema/mutation.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/schema/mutation.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA45Bb;CACF,CAAC"}
|
package/lib/schema/query.js
CHANGED
|
@@ -5,6 +5,10 @@ export default [
|
|
|
5
5
|
Currently logged in user
|
|
6
6
|
"""
|
|
7
7
|
me: User
|
|
8
|
+
"""
|
|
9
|
+
User impersonating current user session using the impersonate API
|
|
10
|
+
"""
|
|
11
|
+
impersonator: User
|
|
8
12
|
|
|
9
13
|
"""
|
|
10
14
|
Get list of users, by default sorted by creation date (ascending) unless a queryString is set
|
package/lib/schema/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/schema/query.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/schema/query.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6cb;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/bundle-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"bundle-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/bundle-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCb;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurable-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/configurable-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"configurable-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/configurable-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoHb;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/plan-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"plan-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/plan-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEb;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsIb;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/simple-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"simple-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/simple-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDb;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenized-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/tokenized-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"tokenized-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/tokenized-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDb;CACF,CAAC"}
|
package/lib/schema/types/user.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/schema/types/user.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/schema/types/user.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6Jb;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/api",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"main": "lib/api-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/api-index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@apollo/server": "^4.9.
|
|
43
|
+
"@apollo/server": "^4.9.2",
|
|
44
44
|
"cookie": "^0.5.0",
|
|
45
45
|
"graphql": "^16.6.0"
|
|
46
46
|
},
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@metamask/eth-sig-util": "^6.0.0",
|
|
52
|
-
"@unchainedshop/core": "^2.
|
|
53
|
-
"@unchainedshop/events": "^2.
|
|
54
|
-
"@unchainedshop/logger": "^2.
|
|
55
|
-
"@unchainedshop/roles": "^2.
|
|
56
|
-
"@unchainedshop/utils": "^2.
|
|
52
|
+
"@unchainedshop/core": "^2.4.0",
|
|
53
|
+
"@unchainedshop/events": "^2.4.0",
|
|
54
|
+
"@unchainedshop/logger": "^2.4.0",
|
|
55
|
+
"@unchainedshop/roles": "^2.4.0",
|
|
56
|
+
"@unchainedshop/utils": "^2.4.0",
|
|
57
57
|
"accounting": "0.4.1",
|
|
58
58
|
"dataloader": "^2.2.2",
|
|
59
59
|
"graphql-scalars": "^1.22.2",
|
|
@@ -63,14 +63,14 @@
|
|
|
63
63
|
"lru-cache": "^10.0.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@types/graphql-upload": "^16.0.
|
|
66
|
+
"@types/graphql-upload": "^16.0.1",
|
|
67
67
|
"@types/locale": "^0.1.1",
|
|
68
|
-
"@types/node": "^18.17.
|
|
69
|
-
"@unchainedshop/types": "^2.
|
|
68
|
+
"@types/node": "^18.17.12",
|
|
69
|
+
"@unchainedshop/types": "^2.4.0",
|
|
70
70
|
"express": "^4.18.2",
|
|
71
|
-
"graphql": "^16.
|
|
72
|
-
"jest": "^29.6.
|
|
71
|
+
"graphql": "^16.8.0",
|
|
72
|
+
"jest": "^29.6.4",
|
|
73
73
|
"ts-jest": "^29.1.1",
|
|
74
|
-
"typescript": "^5.
|
|
74
|
+
"typescript": "^5.2.2"
|
|
75
75
|
}
|
|
76
76
|
}
|
package/src/errors.ts
CHANGED
|
@@ -289,3 +289,8 @@ export const ProductLinkedToQuotationError = createError(
|
|
|
289
289
|
'ProductLinkedToQuotation',
|
|
290
290
|
'Product is part of a requested/proposed quotations item, remove it from any requested/proposed quotations item before deleting',
|
|
291
291
|
);
|
|
292
|
+
|
|
293
|
+
export const ImpersonatingAdminUserError = createError(
|
|
294
|
+
'ImpersonatingAdminUserError',
|
|
295
|
+
'Can not impersonate a admin user account',
|
|
296
|
+
);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
import { Context } from '@unchainedshop/types/api.js';
|
|
3
|
-
import {
|
|
3
|
+
import { ImpersonatingAdminUserError, UserNotFoundError } from '../../../errors.js';
|
|
4
4
|
|
|
5
5
|
const impersonate = async (root, { userId }, context: Context) => {
|
|
6
|
-
log(`mutation impersonate ${userId}
|
|
6
|
+
log(`mutation impersonate ${userId}`, { userId: context.userId });
|
|
7
7
|
|
|
8
8
|
const userToImpersonate = await context.modules.users.findUserById(userId);
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ const impersonate = async (root, { userId }, context: Context) => {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
if ((userToImpersonate.roles || []).includes('admin')) {
|
|
15
|
-
throw new
|
|
15
|
+
throw new ImpersonatingAdminUserError({ impersonatedUserId: userId, userId: context.userId });
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
return context.modules.accounts.createImpersonationToken(userToImpersonate._id, context);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { UserNotFoundError } from '@unchainedshop/api/errors.js';
|
|
2
|
+
import { log } from '@unchainedshop/logger';
|
|
3
|
+
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
4
|
+
|
|
5
|
+
export default async function stopImpersonation(root: Root, _, context: Context) {
|
|
6
|
+
const { userId, modules, loginToken } = context;
|
|
7
|
+
|
|
8
|
+
log(`mutation stopImpersonation for ${userId}`);
|
|
9
|
+
|
|
10
|
+
const impersonatedUser = await modules.users.findUserById(userId);
|
|
11
|
+
|
|
12
|
+
if (!impersonatedUser) throw new UserNotFoundError({ userId });
|
|
13
|
+
const impersonatedUserToken = impersonatedUser?.services?.resume?.loginTokens.find(
|
|
14
|
+
({ hashedToken, impersonatorId }) =>
|
|
15
|
+
hashedToken === modules.accounts.createHashLoginToken(loginToken) && impersonatorId,
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
if (!impersonatedUserToken) throw new Error('Current session is not being impersonated');
|
|
19
|
+
|
|
20
|
+
await modules.accounts.logout({ loginToken }, context);
|
|
21
|
+
|
|
22
|
+
const accountsServer = modules.accounts.getAccountsServer();
|
|
23
|
+
|
|
24
|
+
const { token } = await accountsServer.loginWithUser(impersonatedUserToken.impersonatorId);
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
id: impersonatedUserToken.impersonatorId,
|
|
28
|
+
token: token.token,
|
|
29
|
+
tokenExpires: token.when,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -3,6 +3,7 @@ import { checkResolver as acl } from '../../acl.js';
|
|
|
3
3
|
import loginWithPassword from './accounts/loginWithPassword.js';
|
|
4
4
|
import loginWithWebAuthn from './accounts/loginWithWebAuthn.js';
|
|
5
5
|
import impersonate from './accounts/impersonate.js';
|
|
6
|
+
import stopImpersonation from './accounts/stopImpersonation.js';
|
|
6
7
|
import loginAsGuest from './accounts/loginAsGuest.js';
|
|
7
8
|
import logout from './accounts/logout.js';
|
|
8
9
|
import logoutAllSessions from './accounts/logoutAllSessions.js';
|
|
@@ -162,11 +163,15 @@ import linkOAuthAccount from './accounts/linkOAuthAccount.js';
|
|
|
162
163
|
import unlinkOAuthAccount from './accounts/unlinkOAuthAccount.js';
|
|
163
164
|
|
|
164
165
|
export default {
|
|
165
|
-
logout,
|
|
166
|
-
logoutAllSessions,
|
|
167
|
-
loginAsGuest,
|
|
168
|
-
createWebAuthnCredentialCreationOptions
|
|
169
|
-
|
|
166
|
+
logout: acl(actions.logout)(logout),
|
|
167
|
+
logoutAllSessions: acl(actions.logoutAllSessions)(logoutAllSessions),
|
|
168
|
+
loginAsGuest: acl(actions.loginAsGuest)(loginAsGuest),
|
|
169
|
+
createWebAuthnCredentialCreationOptions: acl(actions.useWebAuthn)(
|
|
170
|
+
createWebAuthnCredentialCreationOptions,
|
|
171
|
+
),
|
|
172
|
+
createWebAuthnCredentialRequestOptions: acl(actions.useWebAuthn)(
|
|
173
|
+
createWebAuthnCredentialRequestOptions,
|
|
174
|
+
),
|
|
170
175
|
addPushSubscription: acl(actions.updateUser)(addPushSubscription),
|
|
171
176
|
removePushSubscription: acl(actions.updateUser)(removePushSubscription),
|
|
172
177
|
addWebAuthnCredentials: acl(actions.updateUser)(addWebAuthnCredentials),
|
|
@@ -176,22 +181,23 @@ export default {
|
|
|
176
181
|
verifyWeb3Address: acl(actions.updateUser)(verifyWeb3Address),
|
|
177
182
|
linkOAuthAccount: acl(actions.updateUser)(linkOAuthAccount),
|
|
178
183
|
unlinkOAuthAccount: acl(actions.updateUser)(unlinkOAuthAccount),
|
|
179
|
-
verifyEmail,
|
|
180
|
-
loginWithPassword,
|
|
181
|
-
loginWithWebAuthn,
|
|
182
|
-
loginWithOAuth,
|
|
184
|
+
verifyEmail: acl(actions.verifyEmail)(verifyEmail),
|
|
185
|
+
loginWithPassword: acl(actions.loginWithPassword)(loginWithPassword),
|
|
186
|
+
loginWithWebAuthn: acl(actions.loginWithWebAuthn)(loginWithWebAuthn),
|
|
187
|
+
loginWithOAuth: acl(actions.loginWithOAuth)(loginWithOAuth),
|
|
183
188
|
impersonate: acl(actions.impersonate)(impersonate),
|
|
189
|
+
stopImpersonation: acl(actions.stopImpersonation)(stopImpersonation),
|
|
184
190
|
buildSecretTOTPAuthURL: acl(actions.authTwoFactor)(buildSecretTOTPAuthURL),
|
|
185
191
|
enableTOTP: acl(actions.authTwoFactor)(enableTOTP),
|
|
186
192
|
disableTOTP: acl(actions.manageTwoFactor)(disableTOTP),
|
|
187
|
-
pageView,
|
|
188
|
-
createUser,
|
|
189
|
-
forgotPassword,
|
|
190
|
-
resetPassword,
|
|
193
|
+
pageView: acl(actions.pageView)(pageView),
|
|
194
|
+
createUser: acl(actions.createUser)(createUser),
|
|
195
|
+
forgotPassword: acl(actions.forgotPassword)(forgotPassword),
|
|
196
|
+
resetPassword: acl(actions.resetPassword)(resetPassword),
|
|
191
197
|
sendVerificationEmail: acl(actions.sendEmail)(sendVerificationEmail),
|
|
192
198
|
sendEnrollmentEmail: acl(actions.sendEmail)(sendEnrollmentEmail),
|
|
193
|
-
changePassword,
|
|
194
|
-
heartbeat,
|
|
199
|
+
changePassword: acl(actions.changePassword)(changePassword),
|
|
200
|
+
heartbeat: acl(actions.heartbeat)(heartbeat),
|
|
195
201
|
addEmail: acl(actions.updateUser)(addEmail),
|
|
196
202
|
removeEmail: acl(actions.updateUser)(removeEmail),
|
|
197
203
|
updateUserAvatar: acl(actions.updateUser)(updateUserAvatar),
|
|
@@ -10,9 +10,8 @@ export default async (
|
|
|
10
10
|
log(`mutation removePaymentCredentials ${paymentCredentialsId}`, { userId });
|
|
11
11
|
|
|
12
12
|
if (!paymentCredentialsId) throw new InvalidIdError({ paymentCredentialsId });
|
|
13
|
-
const removedCredentials =
|
|
14
|
-
paymentCredentialsId
|
|
15
|
-
);
|
|
13
|
+
const removedCredentials =
|
|
14
|
+
await modules.payment.paymentCredentials.removeCredentials(paymentCredentialsId);
|
|
16
15
|
if (!removedCredentials) throw new PaymentCredentialsNotFoundError({ paymentCredentialsId });
|
|
17
16
|
|
|
18
17
|
return removedCredentials;
|
|
@@ -65,9 +65,11 @@ import token from './warehousing/token.js';
|
|
|
65
65
|
import work from './worker/work.js';
|
|
66
66
|
import workQueue from './worker/workQueue.js';
|
|
67
67
|
import workQueueCount from './worker/workQueueCount.js';
|
|
68
|
+
import impersonator from './users/impersonator.js';
|
|
68
69
|
|
|
69
70
|
export default {
|
|
70
71
|
me,
|
|
72
|
+
impersonator,
|
|
71
73
|
user: acl(actions.viewUser)(user),
|
|
72
74
|
users: acl(actions.viewUsers)(users),
|
|
73
75
|
usersCount: acl(actions.viewUsers)(usersCount),
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { log } from '@unchainedshop/logger';
|
|
2
|
+
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
3
|
+
|
|
4
|
+
export default async function impersonator(
|
|
5
|
+
root: Root,
|
|
6
|
+
params: any,
|
|
7
|
+
{ userId, user, remoteAddress, modules, loginToken }: Context,
|
|
8
|
+
) {
|
|
9
|
+
log(`query impersonator ${remoteAddress}`, { userId });
|
|
10
|
+
if (!user?.services || !user?.services?.resume || !user?.services?.resume?.loginTokens) return null;
|
|
11
|
+
|
|
12
|
+
const { loginTokens } = user.services.resume;
|
|
13
|
+
const impersonatedSession = loginTokens.find(
|
|
14
|
+
({ hashedToken, impersonatorId }) =>
|
|
15
|
+
hashedToken === modules.accounts.createHashLoginToken(loginToken) && impersonatorId,
|
|
16
|
+
);
|
|
17
|
+
if (!impersonatedSession) return null;
|
|
18
|
+
return modules.users.findUserById(impersonatedSession.impersonatorId);
|
|
19
|
+
}
|
|
@@ -30,6 +30,9 @@ export const Product: ProductHelperTypes = {
|
|
|
30
30
|
queryString,
|
|
31
31
|
});
|
|
32
32
|
},
|
|
33
|
+
reviewsCount: async (obj, params, { modules }) => {
|
|
34
|
+
return modules.products.reviews.count({ ...params, productId: obj._id });
|
|
35
|
+
},
|
|
33
36
|
|
|
34
37
|
siblings: async (product, params, { modules }) => {
|
|
35
38
|
const { assortmentId, limit, offset, includeInactive = false } = params;
|
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
import type { Locale } from 'locale';
|
|
21
21
|
import { TokenSurrogate } from '@unchainedshop/types/warehousing.js';
|
|
22
22
|
import { Roles, permissions } from '@unchainedshop/roles';
|
|
23
|
+
import { ProductReview } from '@unchainedshop/types/products.reviews.js';
|
|
23
24
|
import { checkAction, checkTypeResolver } from '../../acl.js';
|
|
24
25
|
import { actions } from '../../roles/index.js';
|
|
25
26
|
|
|
@@ -82,6 +83,15 @@ export interface UserHelperTypes {
|
|
|
82
83
|
username: HelperType<any, string>;
|
|
83
84
|
pushSubscriptions: HelperType<any, Array<PushSubscription>>;
|
|
84
85
|
oAuthAccounts: HelperType<any, Array<OAuthAccount>>;
|
|
86
|
+
reviews: HelperType<
|
|
87
|
+
{
|
|
88
|
+
sort?: Array<SortOption>;
|
|
89
|
+
limit?: number;
|
|
90
|
+
offset?: number;
|
|
91
|
+
},
|
|
92
|
+
Array<ProductReview>
|
|
93
|
+
>;
|
|
94
|
+
reviewsCount: HelperType<any, number>;
|
|
85
95
|
}
|
|
86
96
|
|
|
87
97
|
const {
|
|
@@ -90,6 +100,7 @@ const {
|
|
|
90
100
|
viewUserOrders,
|
|
91
101
|
viewUserEnrollments,
|
|
92
102
|
viewUserQuotations,
|
|
103
|
+
viewUserProductReviews,
|
|
93
104
|
} = actions as Record<string, string>;
|
|
94
105
|
|
|
95
106
|
const getPrimaryEmail = (user: UserType) => {
|
|
@@ -242,4 +253,19 @@ export const User: UserHelperTypes = {
|
|
|
242
253
|
}));
|
|
243
254
|
});
|
|
244
255
|
},
|
|
256
|
+
async reviews(user, params, context) {
|
|
257
|
+
const { modules } = context;
|
|
258
|
+
await checkAction(context, viewUserProductReviews, [user, params]);
|
|
259
|
+
return modules.products.reviews.findProductReviews({
|
|
260
|
+
...(params || {}),
|
|
261
|
+
authorId: user._id,
|
|
262
|
+
});
|
|
263
|
+
},
|
|
264
|
+
async reviewsCount(user, params, context) {
|
|
265
|
+
const { modules } = context;
|
|
266
|
+
await checkAction(context, viewUserProductReviews, [user, params]);
|
|
267
|
+
return modules.products.reviews.count({
|
|
268
|
+
authorId: user._id,
|
|
269
|
+
});
|
|
270
|
+
},
|
|
245
271
|
};
|
package/src/roles/all.ts
CHANGED
|
@@ -55,6 +55,7 @@ export const all = (role, actions) => {
|
|
|
55
55
|
role.allow(actions.viewUserQuotations, isInLoginMutationResponse);
|
|
56
56
|
role.allow(actions.viewUserPrivateInfos, isInLoginMutationResponse);
|
|
57
57
|
role.allow(actions.viewUserEnrollments, isInLoginMutationResponse);
|
|
58
|
+
role.allow(actions.viewUserProductReviews, isInLoginMutationResponse);
|
|
58
59
|
role.allow(actions.reviewProduct, () => false);
|
|
59
60
|
role.allow(actions.updateProductReview, () => false);
|
|
60
61
|
role.allow(actions.manageProductReviews, () => false);
|
|
@@ -79,6 +80,7 @@ export const all = (role, actions) => {
|
|
|
79
80
|
role.allow(actions.authTwoFactor, () => false);
|
|
80
81
|
role.allow(actions.manageTwoFactor, () => false);
|
|
81
82
|
role.allow(actions.impersonate, () => false);
|
|
83
|
+
role.allow(actions.stopImpersonation, () => false);
|
|
82
84
|
|
|
83
85
|
// only allow if query is not demanding for drafts
|
|
84
86
|
role.allow(actions.viewProducts, (root, { includeDrafts }) => !includeDrafts);
|
|
@@ -99,4 +101,18 @@ export const all = (role, actions) => {
|
|
|
99
101
|
role.allow(actions.viewFilters, () => true);
|
|
100
102
|
role.allow(actions.viewTranslations, () => true);
|
|
101
103
|
role.allow(actions.search, () => true);
|
|
104
|
+
role.allow(actions.logout, () => true);
|
|
105
|
+
role.allow(actions.logoutAllSessions, () => true);
|
|
106
|
+
role.allow(actions.loginAsGuest, () => true);
|
|
107
|
+
role.allow(actions.loginWithPassword, () => true);
|
|
108
|
+
role.allow(actions.loginWithWebAuthn, () => true);
|
|
109
|
+
role.allow(actions.loginWithOAuth, () => true);
|
|
110
|
+
role.allow(actions.verifyEmail, () => true);
|
|
111
|
+
role.allow(actions.useWebAuthn, () => true);
|
|
112
|
+
role.allow(actions.pageView, () => true);
|
|
113
|
+
role.allow(actions.createUser, () => true);
|
|
114
|
+
role.allow(actions.forgotPassword, () => true);
|
|
115
|
+
role.allow(actions.resetPassword, () => true);
|
|
116
|
+
role.allow(actions.changePassword, () => true);
|
|
117
|
+
role.allow(actions.heartbeat, () => true);
|
|
102
118
|
};
|
package/src/roles/index.ts
CHANGED
|
@@ -101,6 +101,22 @@ const actions: Record<string, string> = [
|
|
|
101
101
|
'authTwoFactor',
|
|
102
102
|
'manageTwoFactor',
|
|
103
103
|
'impersonate',
|
|
104
|
+
'stopImpersonation',
|
|
105
|
+
'logout',
|
|
106
|
+
'logoutAllSessions',
|
|
107
|
+
'loginAsGuest',
|
|
108
|
+
'loginWithPassword',
|
|
109
|
+
'loginWithWebAuthn',
|
|
110
|
+
'loginWithOAuth',
|
|
111
|
+
'verifyEmail',
|
|
112
|
+
'useWebAuthn',
|
|
113
|
+
'pageView',
|
|
114
|
+
'createUser',
|
|
115
|
+
'forgotPassword',
|
|
116
|
+
'resetPassword',
|
|
117
|
+
'changePassword',
|
|
118
|
+
'viewUserProductReviews',
|
|
119
|
+
'heartbeat',
|
|
104
120
|
].reduce((oldValue, actionValue) => {
|
|
105
121
|
const newValue = oldValue;
|
|
106
122
|
newValue[actionValue] = actionValue;
|
|
@@ -115,6 +131,7 @@ const configureRoles = ({ additionalRoles = {}, additionalActions = [] }) => {
|
|
|
115
131
|
allRoles[key] = new Role(key);
|
|
116
132
|
val(allRoles[key], actions);
|
|
117
133
|
});
|
|
134
|
+
|
|
118
135
|
all(allRoles.ALL, actions);
|
|
119
136
|
loggedIn(allRoles.LOGGEDIN, actions);
|
|
120
137
|
admin(allRoles.ADMIN, actions);
|
package/src/roles/loggedIn.ts
CHANGED
|
@@ -213,6 +213,7 @@ export const loggedIn = (role: any, actions: Record<string, string>) => {
|
|
|
213
213
|
role.allow(actions.viewUserQuotations, isMyself);
|
|
214
214
|
role.allow(actions.viewUserEnrollments, isMyself);
|
|
215
215
|
role.allow(actions.viewUserPrivateInfos, isMyself);
|
|
216
|
+
role.allow(actions.viewUserProductReviews, isMyself);
|
|
216
217
|
role.allow(actions.viewUserTokens, isMyself);
|
|
217
218
|
role.allow(actions.updateUser, isMyself);
|
|
218
219
|
role.allow(actions.authTwoFactor, isMyself);
|
|
@@ -241,4 +242,6 @@ export const loggedIn = (role: any, actions: Record<string, string>) => {
|
|
|
241
242
|
role.allow(actions.managePaymentCredentials, isOwnedPaymentCredential);
|
|
242
243
|
role.allow(actions.updateToken, isOwnedToken);
|
|
243
244
|
role.allow(actions.viewToken, isOwnedToken);
|
|
245
|
+
role.allow(actions.stopImpersonation, () => true);
|
|
246
|
+
role.allow(actions.impersonate, () => false);
|
|
244
247
|
};
|
package/src/schema/mutation.ts
CHANGED
|
@@ -449,6 +449,11 @@ export default [
|
|
|
449
449
|
"""
|
|
450
450
|
impersonate(userId: ID!): LoginMethodResponse!
|
|
451
451
|
|
|
452
|
+
"""
|
|
453
|
+
End customer impersonated user session and resume the impersonator session
|
|
454
|
+
"""
|
|
455
|
+
stopImpersonation: LoginMethodResponse!
|
|
456
|
+
|
|
452
457
|
"""
|
|
453
458
|
Reorder a media asset (first is primary)
|
|
454
459
|
"""
|
package/src/schema/query.ts
CHANGED
|
@@ -5,6 +5,10 @@ export default [
|
|
|
5
5
|
Currently logged in user
|
|
6
6
|
"""
|
|
7
7
|
me: User
|
|
8
|
+
"""
|
|
9
|
+
User impersonating current user session using the impersonate API
|
|
10
|
+
"""
|
|
11
|
+
impersonator: User
|
|
8
12
|
|
|
9
13
|
"""
|
|
10
14
|
Get list of users, by default sorted by creation date (ascending) unless a queryString is set
|