@vendure/core 3.5.3-master-202601100240 → 3.5.3-master-202601140248

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.
@@ -144,9 +144,35 @@ export declare class RequestContext {
144
144
  /**
145
145
  * @description
146
146
  * Returns `true` if there is an active Session & User associated with this request,
147
- * and that User has the specified permissions on the active Channel.
147
+ * and that User has **at least one** of the specified permissions on the active Channel.
148
+ *
149
+ * This method uses OR logic - it checks if the user has ANY of the given permissions,
150
+ * not ALL of them. For AND logic, use {@link userHasAllPermissions}.
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * // Returns true if user has ReadProduct OR ReadCatalog
155
+ * ctx.userHasPermissions([Permission.ReadProduct, Permission.ReadCatalog]);
156
+ * ```
148
157
  */
149
158
  userHasPermissions(permissions: Permission[]): boolean;
159
+ /**
160
+ * @description
161
+ * Returns `true` if there is an active Session & User associated with this request,
162
+ * and that User has **all** of the specified permissions on the active Channel.
163
+ *
164
+ * This method uses AND logic - it checks if the user has EVERY one of the given permissions.
165
+ * For OR logic (any permission), use {@link userHasPermissions}.
166
+ *
167
+ * @example
168
+ * ```ts
169
+ * // Returns true only if user has BOTH ReadProduct AND UpdateProduct
170
+ * ctx.userHasAllPermissions([Permission.ReadProduct, Permission.UpdateProduct]);
171
+ * ```
172
+ *
173
+ * @since 3.6.0
174
+ */
175
+ userHasAllPermissions(permissions: Permission[]): boolean;
150
176
  /**
151
177
  * @description
152
178
  * Serializes the RequestContext object into a JSON-compatible simple object.
@@ -172,7 +172,16 @@ class RequestContext {
172
172
  /**
173
173
  * @description
174
174
  * Returns `true` if there is an active Session & User associated with this request,
175
- * and that User has the specified permissions on the active Channel.
175
+ * and that User has **at least one** of the specified permissions on the active Channel.
176
+ *
177
+ * This method uses OR logic - it checks if the user has ANY of the given permissions,
178
+ * not ALL of them. For AND logic, use {@link userHasAllPermissions}.
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * // Returns true if user has ReadProduct OR ReadCatalog
183
+ * ctx.userHasPermissions([Permission.ReadProduct, Permission.ReadCatalog]);
184
+ * ```
176
185
  */
177
186
  userHasPermissions(permissions) {
178
187
  var _a;
@@ -186,6 +195,34 @@ class RequestContext {
186
195
  }
187
196
  return false;
188
197
  }
198
+ /**
199
+ * @description
200
+ * Returns `true` if there is an active Session & User associated with this request,
201
+ * and that User has **all** of the specified permissions on the active Channel.
202
+ *
203
+ * This method uses AND logic - it checks if the user has EVERY one of the given permissions.
204
+ * For OR logic (any permission), use {@link userHasPermissions}.
205
+ *
206
+ * @example
207
+ * ```ts
208
+ * // Returns true only if user has BOTH ReadProduct AND UpdateProduct
209
+ * ctx.userHasAllPermissions([Permission.ReadProduct, Permission.UpdateProduct]);
210
+ * ```
211
+ *
212
+ * @since 3.6.0
213
+ */
214
+ userHasAllPermissions(permissions) {
215
+ var _a;
216
+ const user = (_a = this.session) === null || _a === void 0 ? void 0 : _a.user;
217
+ if (!user || !this.channelId) {
218
+ return false;
219
+ }
220
+ const permissionsOnChannel = user.channelPermissions.find(c => (0, utils_1.idsAreEqual)(c.id, this.channelId));
221
+ if (permissionsOnChannel) {
222
+ return permissions.every(permission => permissionsOnChannel.permissions.includes(permission));
223
+ }
224
+ return false;
225
+ }
189
226
  /**
190
227
  * @description
191
228
  * Serializes the RequestContext object into a JSON-compatible simple object.
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../src/api/common/request-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../src/api/common/request-context.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export declare const PERMISSIONS_METADATA_KEY = "__permissions__";
5
5
  * Attaches metadata to the resolver defining which permissions are required to execute the
6
6
  * operation, using one or more {@link Permission} values.
7
7
  *
8
+ * When multiple permissions are specified, the user needs only **one** of them (OR logic).
9
+ * This is useful for operations that can be performed by users with different permission sets.
10
+ *
8
11
  * In a GraphQL context, it can be applied to top-level queries and mutations as well as field resolvers.
9
12
  *
10
13
  * For REST controllers, it can be applied to route handler.
@@ -29,6 +32,16 @@ export declare const PERMISSIONS_METADATA_KEY = "__permissions__";
29
32
  * }
30
33
  * ```
31
34
  *
35
+ * @example
36
+ * ```ts
37
+ * // User needs ReadProduct OR ReadCatalog (either grants access)
38
+ * \@Allow(Permission.ReadProduct, Permission.ReadCatalog)
39
+ * \@Query()
40
+ * getProducts() {
41
+ * // ...
42
+ * }
43
+ * ```
44
+ *
32
45
  * @docsCategory request
33
46
  * @docsPage Allow Decorator
34
47
  */
@@ -8,6 +8,9 @@ exports.PERMISSIONS_METADATA_KEY = '__permissions__';
8
8
  * Attaches metadata to the resolver defining which permissions are required to execute the
9
9
  * operation, using one or more {@link Permission} values.
10
10
  *
11
+ * When multiple permissions are specified, the user needs only **one** of them (OR logic).
12
+ * This is useful for operations that can be performed by users with different permission sets.
13
+ *
11
14
  * In a GraphQL context, it can be applied to top-level queries and mutations as well as field resolvers.
12
15
  *
13
16
  * For REST controllers, it can be applied to route handler.
@@ -32,6 +35,16 @@ exports.PERMISSIONS_METADATA_KEY = '__permissions__';
32
35
  * }
33
36
  * ```
34
37
  *
38
+ * @example
39
+ * ```ts
40
+ * // User needs ReadProduct OR ReadCatalog (either grants access)
41
+ * \@Allow(Permission.ReadProduct, Permission.ReadCatalog)
42
+ * \@Query()
43
+ * getProducts() {
44
+ * // ...
45
+ * }
46
+ * ```
47
+ *
35
48
  * @docsCategory request
36
49
  * @docsPage Allow Decorator
37
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"allow.decorator.js","sourceRoot":"","sources":["../../../src/api/decorators/allow.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,wBAAwB,GAAG,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACI,MAAM,KAAK,GAAG,CAAC,GAAG,WAAyB,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,gCAAwB,EAAE,WAAW,CAAC,CAAC;AAA7F,QAAA,KAAK,SAAwF"}
1
+ {"version":3,"file":"allow.decorator.js","sourceRoot":"","sources":["../../../src/api/decorators/allow.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,wBAAwB,GAAG,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACI,MAAM,KAAK,GAAG,CAAC,GAAG,WAAyB,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,gCAAwB,EAAE,WAAW,CAAC,CAAC;AAA7F,QAAA,KAAK,SAAwF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/core",
3
- "version": "3.5.3-master-202601100240",
3
+ "version": "3.5.3-master-202601140248",
4
4
  "description": "A modern, headless ecommerce framework",
5
5
  "repository": {
6
6
  "type": "git",
@@ -49,7 +49,7 @@
49
49
  "@nestjs/platform-express": "^11.0.12",
50
50
  "@nestjs/terminus": "^11.0.0",
51
51
  "@nestjs/typeorm": "^11.0.0",
52
- "@vendure/common": "^3.5.3-master-202601100240",
52
+ "@vendure/common": "^3.5.3-master-202601140248",
53
53
  "bcrypt": "^5.1.1",
54
54
  "body-parser": "^1.20.2",
55
55
  "cookie-session": "^2.1.0",