@nest-boot/permission 7.3.6 → 8.0.0-beta.1

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 (69) hide show
  1. package/dist/decorators/can.decorator.d.ts +4 -17
  2. package/dist/decorators/can.decorator.js +5 -15
  3. package/dist/decorators/can.decorator.js.map +1 -1
  4. package/dist/enums/permission-action.enum.d.ts +0 -6
  5. package/dist/enums/permission-action.enum.js +2 -11
  6. package/dist/enums/permission-action.enum.js.map +1 -1
  7. package/dist/index.d.ts +16 -16
  8. package/dist/index.js +16 -32
  9. package/dist/index.js.map +1 -1
  10. package/dist/interfaces/can-options.interface.d.ts +2 -5
  11. package/dist/interfaces/can-options.interface.js +1 -2
  12. package/dist/interfaces/permission-module-options.interface.d.ts +1 -3
  13. package/dist/interfaces/permission-module-options.interface.js +1 -2
  14. package/dist/interfaces/route-argument-metadata-value.interface.d.ts +0 -4
  15. package/dist/interfaces/route-argument-metadata-value.interface.js +1 -2
  16. package/dist/permission.ability-builder.d.ts +1 -3
  17. package/dist/permission.ability-builder.js +3 -9
  18. package/dist/permission.ability-builder.js.map +1 -1
  19. package/dist/permission.constants.d.ts +0 -24
  20. package/dist/permission.constants.js +7 -34
  21. package/dist/permission.constants.js.map +1 -1
  22. package/dist/permission.guard.d.ts +2 -22
  23. package/dist/permission.guard.js +40 -57
  24. package/dist/permission.guard.js.map +1 -1
  25. package/dist/permission.module-definition.d.ts +1 -3
  26. package/dist/permission.module-definition.js +4 -9
  27. package/dist/permission.module-definition.js.map +1 -1
  28. package/dist/permission.module.d.ts +1 -2
  29. package/dist/permission.module.js +10 -14
  30. package/dist/permission.module.js.map +1 -1
  31. package/dist/types/build-ability-callback.type.d.ts +1 -2
  32. package/dist/types/build-ability-callback.type.js +1 -2
  33. package/dist/types/can-subject-factory.type.d.ts +0 -1
  34. package/dist/types/can-subject-factory.type.js +1 -2
  35. package/dist/types/can-subject.type.d.ts +1 -2
  36. package/dist/types/can-subject.type.js +1 -2
  37. package/dist/types/permission-ability.type.d.ts +1 -2
  38. package/dist/types/permission-ability.type.js +1 -2
  39. package/dist/types/route-argument-metadata.type.d.ts +1 -2
  40. package/dist/types/route-argument-metadata.type.js +1 -2
  41. package/dist/utils/can.util.d.ts +1 -2
  42. package/dist/utils/can.util.js +3 -7
  43. package/dist/utils/can.util.js.map +1 -1
  44. package/dist/utils/get-permission-ability.util.d.ts +1 -2
  45. package/dist/utils/get-permission-ability.util.js +6 -11
  46. package/dist/utils/get-permission-ability.util.js.map +1 -1
  47. package/package.json +33 -25
  48. package/dist/decorators/can.decorator.spec.d.ts +0 -1
  49. package/dist/decorators/can.decorator.spec.js +0 -50
  50. package/dist/decorators/can.decorator.spec.js.map +0 -1
  51. package/dist/index.spec.d.ts +0 -0
  52. package/dist/index.spec.js +0 -47
  53. package/dist/index.spec.js.map +0 -1
  54. package/dist/permission.ability-builder.spec.d.ts +0 -1
  55. package/dist/permission.ability-builder.spec.js +0 -16
  56. package/dist/permission.ability-builder.spec.js.map +0 -1
  57. package/dist/permission.guard.spec.d.ts +0 -1
  58. package/dist/permission.guard.spec.js +0 -577
  59. package/dist/permission.guard.spec.js.map +0 -1
  60. package/dist/permission.module.spec.d.ts +0 -1
  61. package/dist/permission.module.spec.js +0 -12
  62. package/dist/permission.module.spec.js.map +0 -1
  63. package/dist/tsconfig.build.tsbuildinfo +0 -1
  64. package/dist/utils/can.util.spec.d.ts +0 -1
  65. package/dist/utils/can.util.spec.js +0 -34
  66. package/dist/utils/can.util.spec.js.map +0 -1
  67. package/dist/utils/get-permission-ability.util.spec.d.ts +0 -1
  68. package/dist/utils/get-permission-ability.util.spec.js +0 -27
  69. package/dist/utils/get-permission-ability.util.spec.js.map +0 -1
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -11,44 +10,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PermissionGuard = void 0;
16
- const request_context_1 = require("@nest-boot/request-context");
17
- const common_1 = require("@nestjs/common");
18
- const core_1 = require("@nestjs/core");
19
- const permission_constants_1 = require("./permission.constants");
20
- const permission_module_definition_1 = require("./permission.module-definition");
21
- /** Guard that evaluates CASL permissions from `Can` metadata. */
13
+ import { RequestContext } from "@nest-boot/request-context";
14
+ import { ForbiddenException, Inject, Injectable } from "@nestjs/common";
15
+ import { ContextIdFactory, ModuleRef, Reflector } from "@nestjs/core";
16
+ import { CAN_METADATA, CUSTOM_ROUTE_ARGS_METADATA, GQL_PARAM_TYPES, PERMISSION_ABILITY, PERMISSION_ABILITY_PROMISE, ROUTE_ARGS_METADATA, ROUTE_PARAM_TYPES, } from "./permission.constants.js";
17
+ import { MODULE_OPTIONS_TOKEN } from "./permission.module-definition.js";
22
18
  let PermissionGuard = class PermissionGuard {
23
- /**
24
- * Creates the permission guard.
25
- *
26
- * @param reflector - Nest metadata reflector.
27
- * @param options - Permission module options.
28
- */
29
- constructor(
30
- /** Nest metadata reflector. */
31
- reflector, options,
32
- /** Nest module reference used to resolve the current handler instance. */
33
- moduleRef) {
19
+ reflector;
20
+ options;
21
+ moduleRef;
22
+ constructor(reflector, options, moduleRef) {
34
23
  this.reflector = reflector;
35
24
  this.options = options;
36
25
  this.moduleRef = moduleRef;
37
26
  }
38
- /**
39
- * Checks whether the current request satisfies the route permission metadata.
40
- *
41
- * @param context - Current Nest execution context.
42
- * @returns `true` when access is allowed.
43
- */
44
27
  async canActivate(context) {
45
- const canOptions = this.reflector.getAllAndOverride(permission_constants_1.CAN_METADATA, [context.getHandler(), context.getClass()]);
28
+ const canOptions = this.reflector.getAllAndOverride(CAN_METADATA, [context.getHandler(), context.getClass()]);
46
29
  if (!canOptions) {
47
30
  return true;
48
31
  }
49
32
  const ability = await this.getOrBuildAbility(context);
50
33
  if (!ability) {
51
- throw new common_1.ForbiddenException("Permission ability is not available");
34
+ throw new ForbiddenException("Permission ability is not available");
52
35
  }
53
36
  return ability.can(canOptions.action, await this.resolveSubject(canOptions, context));
54
37
  }
@@ -64,19 +47,19 @@ let PermissionGuard = class PermissionGuard {
64
47
  return this.buildAndCacheAbility(context);
65
48
  }
66
49
  getCachedAbility() {
67
- return (request_context_1.RequestContext.get(permission_constants_1.PERMISSION_ABILITY) ?? null);
50
+ return (RequestContext.get(PERMISSION_ABILITY) ?? null);
68
51
  }
69
52
  getCachedAbilityPromise() {
70
- return (request_context_1.RequestContext.get(permission_constants_1.PERMISSION_ABILITY_PROMISE) ?? null);
53
+ return (RequestContext.get(PERMISSION_ABILITY_PROMISE) ?? null);
71
54
  }
72
55
  buildAndCacheAbility(context) {
73
56
  const abilityPromise = Promise.resolve()
74
57
  .then(() => this.options.buildAbility(context))
75
58
  .then((ability) => {
76
- request_context_1.RequestContext.set(permission_constants_1.PERMISSION_ABILITY, ability);
59
+ RequestContext.set(PERMISSION_ABILITY, ability);
77
60
  return ability;
78
61
  });
79
- request_context_1.RequestContext.set(permission_constants_1.PERMISSION_ABILITY_PROMISE, abilityPromise);
62
+ RequestContext.set(PERMISSION_ABILITY_PROMISE, abilityPromise);
80
63
  return abilityPromise;
81
64
  }
82
65
  async resolveSubject(canOptions, context) {
@@ -104,7 +87,7 @@ let PermissionGuard = class PermissionGuard {
104
87
  }
105
88
  getContextId(context) {
106
89
  const request = this.getRequest(context);
107
- return request ? core_1.ContextIdFactory.getByRequest(request) : undefined;
90
+ return request ? ContextIdFactory.getByRequest(request) : undefined;
108
91
  }
109
92
  getRequest(context) {
110
93
  switch (context.getType()) {
@@ -128,7 +111,7 @@ let PermissionGuard = class PermissionGuard {
128
111
  if (!methodName) {
129
112
  return null;
130
113
  }
131
- return (Reflect.getMetadata(permission_constants_1.ROUTE_ARGS_METADATA, context.getClass(), methodName) ?? null);
114
+ return (Reflect.getMetadata(ROUTE_ARGS_METADATA, context.getClass(), methodName) ?? null);
132
115
  }
133
116
  getHandlerMethodName(context) {
134
117
  const handler = context.getHandler();
@@ -146,7 +129,7 @@ let PermissionGuard = class PermissionGuard {
146
129
  return args;
147
130
  }
148
131
  extractRouteArgument(context, key, metadata) {
149
- if (key.includes(permission_constants_1.CUSTOM_ROUTE_ARGS_METADATA) && metadata.factory) {
132
+ if (key.includes(CUSTOM_ROUTE_ARGS_METADATA) && metadata.factory) {
150
133
  return metadata.factory(metadata.data, context);
151
134
  }
152
135
  const type = Number(key.split(":")[0]);
@@ -158,13 +141,13 @@ let PermissionGuard = class PermissionGuard {
158
141
  resolveGraphqlRouteArgument(context, type, data) {
159
142
  const args = context.getArgs();
160
143
  switch (type) {
161
- case permission_constants_1.GQL_PARAM_TYPES.ROOT:
144
+ case GQL_PARAM_TYPES.ROOT:
162
145
  return args[0];
163
- case permission_constants_1.GQL_PARAM_TYPES.ARGS:
146
+ case GQL_PARAM_TYPES.ARGS:
164
147
  return this.getObjectValue(args[1], data);
165
- case permission_constants_1.GQL_PARAM_TYPES.CONTEXT:
148
+ case GQL_PARAM_TYPES.CONTEXT:
166
149
  return this.getObjectValue(args[2], data);
167
- case permission_constants_1.GQL_PARAM_TYPES.INFO:
150
+ case GQL_PARAM_TYPES.INFO:
168
151
  return args[3];
169
152
  default:
170
153
  return undefined;
@@ -176,31 +159,31 @@ let PermissionGuard = class PermissionGuard {
176
159
  const res = httpContext.getResponse();
177
160
  const next = httpContext.getNext();
178
161
  switch (type) {
179
- case permission_constants_1.ROUTE_PARAM_TYPES.REQUEST:
162
+ case ROUTE_PARAM_TYPES.REQUEST:
180
163
  return req;
181
- case permission_constants_1.ROUTE_PARAM_TYPES.RESPONSE:
164
+ case ROUTE_PARAM_TYPES.RESPONSE:
182
165
  return res;
183
- case permission_constants_1.ROUTE_PARAM_TYPES.NEXT:
166
+ case ROUTE_PARAM_TYPES.NEXT:
184
167
  return next;
185
- case permission_constants_1.ROUTE_PARAM_TYPES.BODY:
168
+ case ROUTE_PARAM_TYPES.BODY:
186
169
  return this.getObjectValue(this.getRecord(req).body, data);
187
- case permission_constants_1.ROUTE_PARAM_TYPES.RAW_BODY:
170
+ case ROUTE_PARAM_TYPES.RAW_BODY:
188
171
  return this.getRecord(req).rawBody;
189
- case permission_constants_1.ROUTE_PARAM_TYPES.PARAM:
172
+ case ROUTE_PARAM_TYPES.PARAM:
190
173
  return this.getObjectValue(this.getRecord(req).params, data);
191
- case permission_constants_1.ROUTE_PARAM_TYPES.HOST:
174
+ case ROUTE_PARAM_TYPES.HOST:
192
175
  return this.getObjectValue(this.getRecord(req).hosts, data);
193
- case permission_constants_1.ROUTE_PARAM_TYPES.QUERY:
176
+ case ROUTE_PARAM_TYPES.QUERY:
194
177
  return this.getObjectValue(this.getRecord(req).query, data);
195
- case permission_constants_1.ROUTE_PARAM_TYPES.HEADERS:
178
+ case ROUTE_PARAM_TYPES.HEADERS:
196
179
  return this.getObjectValue(this.getRecord(req).headers, data, true);
197
- case permission_constants_1.ROUTE_PARAM_TYPES.SESSION:
180
+ case ROUTE_PARAM_TYPES.SESSION:
198
181
  return this.getRecord(req).session;
199
- case permission_constants_1.ROUTE_PARAM_TYPES.FILE:
182
+ case ROUTE_PARAM_TYPES.FILE:
200
183
  return this.getRecord(req)[this.getStringData(data) ?? "file"];
201
- case permission_constants_1.ROUTE_PARAM_TYPES.FILES:
184
+ case ROUTE_PARAM_TYPES.FILES:
202
185
  return this.getRecord(req).files;
203
- case permission_constants_1.ROUTE_PARAM_TYPES.IP:
186
+ case ROUTE_PARAM_TYPES.IP:
204
187
  return this.getRecord(req).ip;
205
188
  default:
206
189
  return undefined;
@@ -223,10 +206,10 @@ let PermissionGuard = class PermissionGuard {
223
206
  : {};
224
207
  }
225
208
  };
226
- exports.PermissionGuard = PermissionGuard;
227
- exports.PermissionGuard = PermissionGuard = __decorate([
228
- (0, common_1.Injectable)(),
229
- __param(1, (0, common_1.Inject)(permission_module_definition_1.MODULE_OPTIONS_TOKEN)),
230
- __metadata("design:paramtypes", [core_1.Reflector, Object, core_1.ModuleRef])
209
+ PermissionGuard = __decorate([
210
+ Injectable(),
211
+ __param(1, Inject(MODULE_OPTIONS_TOKEN)),
212
+ __metadata("design:paramtypes", [Reflector, Object, ModuleRef])
231
213
  ], PermissionGuard);
214
+ export { PermissionGuard };
232
215
  //# sourceMappingURL=permission.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.guard.js","sourceRoot":"","sources":["../src/permission.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAA4D;AAE5D,2CAAwE;AACxE,uCAAsE;AAMtE,iEAQgC;AAChC,iFAAsE;AAKtE,iEAAiE;AAE1D,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B;;;;;OAKG;IACH;IACE,+BAA+B;IACd,SAAoB,EAGpB,OAAgC;IACjD,0EAA0E;IACzD,SAAoB;QALpB,cAAS,GAAT,SAAS,CAAW;QAGpB,YAAO,GAAP,OAAO,CAAyB;QAEhC,cAAS,GAAT,SAAS,CAAW;IACpC,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACjD,mCAAY,EACZ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,2BAAkB,CAAC,qCAAqC,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,MAAM,EACjB,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAC/C,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,OAAyB;QAEzB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE5D,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEO,gBAAgB;QACtB,OAAO,CACL,gCAAc,CAAC,GAAG,CAA2B,yCAAkB,CAAC,IAAI,IAAI,CACzE,CAAC;IACJ,CAAC;IAEO,uBAAuB;QAC7B,OAAO,CACL,gCAAc,CAAC,GAAG,CAChB,iDAA0B,CAC3B,IAAI,IAAI,CACV,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,OAAyB;QAEzB,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE;aACrC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aAC9C,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,gCAAc,CAAC,GAAG,CAAC,yCAAkB,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEL,gCAAc,CAAC,GAAG,CAAC,iDAA0B,EAAE,cAAc,CAAC,CAAC;QAC/D,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAAsB,EACtB,OAAyB;QAEzB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAE/B,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEO,aAAa,CACnB,OAA8B;QAE9B,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,QAAiB,EACjB,OAAyB;QAEzB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACxE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,cAAiC,EACjC,OAAyB;QAEzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEvD,OAAO,MAAM,cAAc,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAyB;QAEzB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAEO,YAAY,CAAC,OAAyB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC,CAAC,CAAC,uBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAEO,UAAU,CAAC,OAAyB;QAC1C,QAAQ,OAAO,CAAC,OAAO,EAAU,EAAE,CAAC;YAClC,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAuB,CAAC;YAClE,KAAK,SAAS;gBACZ,OAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAmC,EAAE,GAAG,CAAC;YACtE;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAyB;QAEzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,oBAAoB,CAC1B,OAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,OAAO,CAAC,WAAW,CACjB,0CAAmB,EACnB,OAAO,CAAC,QAAQ,EAAE,EAClB,UAAU,CACX,IAAI,IAAI,CACV,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,OAAyB;QAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QAErC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAC5C,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,CAC7B,CAAC,IAAI,CACJ,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,OAAO,CACzE,CAAC;QAEF,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAyB,EACzB,QAA+B;QAE/B,MAAM,IAAI,GAAc,EAAE,CAAC;QAE3B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,EAAE;YAC9D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC7D,OAAO,EACP,GAAG,EACH,iBAAiB,CAClB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB,CAC1B,OAAyB,EACzB,GAAW,EACX,QAAoC;QAEpC,IAAI,GAAG,CAAC,QAAQ,CAAC,iDAA0B,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,OAAO,CAAC,OAAO,EAAU,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAEO,2BAA2B,CACjC,OAAyB,EACzB,IAAY,EACZ,IAAa;QAEb,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAE/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,sCAAe,CAAC,IAAI;gBACvB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,KAAK,sCAAe,CAAC,IAAI;gBACvB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5C,KAAK,sCAAe,CAAC,OAAO;gBAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5C,KAAK,sCAAe,CAAC,IAAI;gBACvB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,wBAAwB,CAC9B,OAAyB,EACzB,IAAY,EACZ,IAAa;QAEb,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAEnC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,wCAAiB,CAAC,OAAO;gBAC5B,OAAO,GAAG,CAAC;YACb,KAAK,wCAAiB,CAAC,QAAQ;gBAC7B,OAAO,GAAG,CAAC;YACb,KAAK,wCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC;YACd,KAAK,wCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,KAAK,wCAAiB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACrC,KAAK,wCAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/D,KAAK,wCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,KAAK,wCAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,KAAK,wCAAiB,CAAC,OAAO;gBAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtE,KAAK,wCAAiB,CAAC,OAAO;gBAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACrC,KAAK,wCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;YACjE,KAAK,wCAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACnC,KAAK,wCAAiB,CAAC,EAAE;gBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,KAAc,EACd,IAAa,EACb,YAAY,GAAG,KAAK;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAEO,aAAa,CAAC,IAAa;QACjC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAEO,SAAS,CAAC,KAAc;QAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YACvC,CAAC,CAAE,KAAiC;YACpC,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAnUY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAWR,WAAA,IAAA,eAAM,EAAC,mDAAoB,CAAC,CAAA;qCADD,gBAAS,UAKT,gBAAS;GAd5B,eAAe,CAmU3B"}
1
+ {"version":3,"file":"permission.guard.js","sourceRoot":"","sources":["../src/permission.guard.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import type { PermissionModuleOptions } from "./interfaces/permission-module-options.interface";
2
- /** Configurable module base class for `PermissionModule`. */
1
+ import type { PermissionModuleOptions } from "./interfaces/permission-module-options.interface.js";
3
2
  export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<PermissionModuleOptions, "forRoot", "create", {}>;
4
- /** Injection token for permission module options. */
5
3
  export declare const MODULE_OPTIONS_TOKEN: string | symbol;
@@ -1,12 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const moduleDefinition = new common_1.ConfigurableModuleBuilder()
1
+ import { ConfigurableModuleBuilder } from "@nestjs/common";
2
+ const moduleDefinition = new ConfigurableModuleBuilder()
6
3
  .setClassMethodName("forRoot")
7
4
  .build();
8
- /** Configurable module base class for `PermissionModule`. */
9
- exports.ConfigurableModuleClass = moduleDefinition.ConfigurableModuleClass;
10
- /** Injection token for permission module options. */
11
- exports.MODULE_OPTIONS_TOKEN = moduleDefinition.MODULE_OPTIONS_TOKEN;
5
+ export const ConfigurableModuleClass = moduleDefinition.ConfigurableModuleClass;
6
+ export const MODULE_OPTIONS_TOKEN = moduleDefinition.MODULE_OPTIONS_TOKEN;
12
7
  //# sourceMappingURL=permission.module-definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.module-definition.js","sourceRoot":"","sources":["../src/permission.module-definition.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAI3D,MAAM,gBAAgB,GACpB,IAAI,kCAAyB,EAA2B;KACrD,kBAAkB,CAAC,SAAS,CAAC;KAC7B,KAAK,EAAE,CAAC;AAEb,6DAA6D;AAChD,QAAA,uBAAuB,GAAG,gBAAgB,CAAC,uBAAuB,CAAC;AAEhF,qDAAqD;AACxC,QAAA,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC"}
1
+ {"version":3,"file":"permission.module-definition.js","sourceRoot":"","sources":["../src/permission.module-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAI3D,MAAM,gBAAgB,GACpB,IAAI,yBAAyB,EAA2B;KACrD,kBAAkB,CAAC,SAAS,CAAC;KAC7B,KAAK,EAAE,CAAC;AAGb,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,uBAAuB,CAAC;AAGhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { ConfigurableModuleClass } from "./permission.module-definition";
2
- /** Global module that provides the permission guard. */
1
+ import { ConfigurableModuleClass } from "./permission.module-definition.js";
3
2
  export declare class PermissionModule extends ConfigurableModuleClass {
4
3
  }
@@ -1,24 +1,20 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PermissionModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const permission_guard_1 = require("./permission.guard");
12
- const permission_module_definition_1 = require("./permission.module-definition");
13
- /** Global module that provides the permission guard. */
14
- let PermissionModule = class PermissionModule extends permission_module_definition_1.ConfigurableModuleClass {
7
+ import { Global, Module } from "@nestjs/common";
8
+ import { PermissionGuard } from "./permission.guard.js";
9
+ import { ConfigurableModuleClass } from "./permission.module-definition.js";
10
+ let PermissionModule = class PermissionModule extends ConfigurableModuleClass {
15
11
  };
16
- exports.PermissionModule = PermissionModule;
17
- exports.PermissionModule = PermissionModule = __decorate([
18
- (0, common_1.Global)(),
19
- (0, common_1.Module)({
20
- providers: [permission_guard_1.PermissionGuard],
21
- exports: [permission_guard_1.PermissionGuard],
12
+ PermissionModule = __decorate([
13
+ Global(),
14
+ Module({
15
+ providers: [PermissionGuard],
16
+ exports: [PermissionGuard],
22
17
  })
23
18
  ], PermissionModule);
19
+ export { PermissionModule };
24
20
  //# sourceMappingURL=permission.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.module.js","sourceRoot":"","sources":["../src/permission.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,yDAAqD;AACrD,iFAAyE;AAEzE,wDAAwD;AAMjD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,sDAAuB;CAAG,CAAA;AAAnD,4CAAgB;2BAAhB,gBAAgB;IAL5B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,kCAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,kCAAe,CAAC;KAC3B,CAAC;GACW,gBAAgB,CAAmC"}
1
+ {"version":3,"file":"permission.module.js","sourceRoot":"","sources":["../src/permission.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAQrE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,uBAAuB;CAAG,CAAA;AAAnD,gBAAgB;IAL5B,MAAM,EAAE;IACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,eAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,eAAe,CAAC;KAC3B,CAAC;GACW,gBAAgB,CAAmC"}
@@ -1,4 +1,3 @@
1
1
  import type { ExecutionContext } from "@nestjs/common";
2
- import type { PermissionAbility } from "./permission-ability.type";
3
- /** Callback used to build the permission ability for the current execution context. */
2
+ import type { PermissionAbility } from "./permission-ability.type.js";
4
3
  export type BuildAbilityCallback = (ctx: ExecutionContext) => PermissionAbility | null | Promise<PermissionAbility | null>;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=build-ability-callback.type.js.map
@@ -1,3 +1,2 @@
1
1
  import type { Subject } from "@casl/ability";
2
- /** Factory that resolves a permission subject from the current handler instance and decorated method parameters. */
3
2
  export type CanSubjectFactory<T extends Subject = Subject, TSelf = unknown, TArgs extends unknown[] = unknown[]> = (self: TSelf, ...args: TArgs) => T | Promise<T>;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=can-subject-factory.type.js.map
@@ -1,5 +1,4 @@
1
1
  import type { Subject } from "@casl/ability";
2
2
  import type { Type } from "@nestjs/common";
3
- import type { CanSubjectFactory } from "./can-subject-factory.type";
4
- /** Permission subject type or subject resolver factory. */
3
+ import type { CanSubjectFactory } from "./can-subject-factory.type.js";
5
4
  export type CanSubject<T extends Subject = Subject> = Type<T> | CanSubjectFactory<T>;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=can-subject.type.js.map
@@ -1,4 +1,3 @@
1
1
  import type { MongoAbility, Subject } from "@casl/ability";
2
- import type { PermissionAction } from "../enums/permission-action.enum";
3
- /** CASL ability type used by the permission module. */
2
+ import type { PermissionAction } from "../enums/permission-action.enum.js";
4
3
  export type PermissionAbility = MongoAbility<[PermissionAction, Subject]>;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=permission-ability.type.js.map
@@ -1,3 +1,2 @@
1
- import type { RouteArgumentMetadataValue } from "../interfaces/route-argument-metadata-value.interface";
2
- /** Nest route arguments metadata map keyed by route parameter metadata token. */
1
+ import type { RouteArgumentMetadataValue } from "../interfaces/route-argument-metadata-value.interface.js";
3
2
  export type RouteArgumentMetadata = Record<string, RouteArgumentMetadataValue>;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=route-argument-metadata.type.js.map
@@ -1,4 +1,3 @@
1
1
  import type { Subject } from "@casl/ability";
2
- import type { PermissionAction } from "../enums/permission-action.enum";
3
- /** Checks a permission with the ability prepared for the current request. */
2
+ import type { PermissionAction } from "../enums/permission-action.enum.js";
4
3
  export declare function can(action: PermissionAction, subject: Subject): boolean;
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.can = can;
4
- const get_permission_ability_util_1 = require("./get-permission-ability.util");
5
- /** Checks a permission with the ability prepared for the current request. */
6
- function can(action, subject) {
7
- return (0, get_permission_ability_util_1.getPermissionAbility)().can(action, subject);
1
+ import { getPermissionAbility } from "./get-permission-ability.util.js";
2
+ export function can(action, subject) {
3
+ return getPermissionAbility().can(action, subject);
8
4
  }
9
5
  //# sourceMappingURL=can.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"can.util.js","sourceRoot":"","sources":["../../src/utils/can.util.ts"],"names":[],"mappings":";;AAMA,kBAEC;AALD,+EAAqE;AAErE,6EAA6E;AAC7E,SAAgB,GAAG,CAAC,MAAwB,EAAE,OAAgB;IAC5D,OAAO,IAAA,kDAAoB,GAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"can.util.js","sourceRoot":"","sources":["../../src/utils/can.util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAE,OAAgB;IAC5D,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
@@ -1,3 +1,2 @@
1
- import type { PermissionAbility } from "../types/permission-ability.type";
2
- /** Reads the permission ability prepared for the current request. */
1
+ import type { PermissionAbility } from "../types/permission-ability.type.js";
3
2
  export declare const getPermissionAbility: () => PermissionAbility;
@@ -1,16 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPermissionAbility = void 0;
4
- const request_context_1 = require("@nest-boot/request-context");
5
- const common_1 = require("@nestjs/common");
6
- const permission_constants_1 = require("../permission.constants");
7
- /** Reads the permission ability prepared for the current request. */
8
- const getPermissionAbility = () => {
9
- const ability = request_context_1.RequestContext.get(permission_constants_1.PERMISSION_ABILITY) ?? null;
1
+ import { RequestContext } from "@nest-boot/request-context";
2
+ import { ForbiddenException } from "@nestjs/common";
3
+ import { PERMISSION_ABILITY } from "../permission.constants.js";
4
+ export const getPermissionAbility = () => {
5
+ const ability = RequestContext.get(PERMISSION_ABILITY) ?? null;
10
6
  if (!ability) {
11
- throw new common_1.ForbiddenException("Permission ability is not available");
7
+ throw new ForbiddenException("Permission ability is not available");
12
8
  }
13
9
  return ability;
14
10
  };
15
- exports.getPermissionAbility = getPermissionAbility;
16
11
  //# sourceMappingURL=get-permission-ability.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-permission-ability.util.js","sourceRoot":"","sources":["../../src/utils/get-permission-ability.util.ts"],"names":[],"mappings":";;;AAAA,gEAA4D;AAC5D,2CAAoD;AAEpD,kEAA6D;AAG7D,qEAAqE;AAC9D,MAAM,oBAAoB,GAAG,GAAsB,EAAE;IAC1D,MAAM,OAAO,GACX,gCAAc,CAAC,GAAG,CAAoB,yCAAkB,CAAC,IAAI,IAAI,CAAC;IAEpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,2BAAkB,CAAC,qCAAqC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B"}
1
+ {"version":3,"file":"get-permission-ability.util.js","sourceRoot":"","sources":["../../src/utils/get-permission-ability.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAsB,EAAE;IAC1D,MAAM,OAAO,GACX,cAAc,CAAC,GAAG,CAAoB,kBAAkB,CAAC,IAAI,IAAI,CAAC;IAEpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nest-boot/permission",
3
- "version": "7.3.6",
3
+ "version": "8.0.0-beta.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/nest-boot/nest-boot.git",
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "homepage": "",
16
16
  "license": "MIT",
17
- "main": "dist/index.js",
18
- "types": "dist/index.d.ts",
17
+ "main": "./dist/index.js",
18
+ "types": "./dist/index.d.ts",
19
19
  "directories": {
20
20
  "lib": "dist"
21
21
  },
@@ -24,32 +24,32 @@
24
24
  ],
25
25
  "peerDependencies": {
26
26
  "@casl/ability": "^6.0.0",
27
- "@nest-boot/request-context": "^7.0.0",
28
- "@nestjs/common": "^11.0.0",
29
- "@nestjs/core": "^11.0.0",
27
+ "@nestjs/common": "^12.0.0",
28
+ "@nestjs/core": "^12.0.0",
30
29
  "express": "^5.0.0",
31
30
  "reflect-metadata": "^0.2.2",
32
- "rxjs": "^7.0.0"
31
+ "rxjs": "^7.0.0",
32
+ "@nest-boot/request-context": "^8.0.0-beta.1"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@casl/ability": "^6.7.5",
36
- "@nestjs/common": "^11.1.11",
37
- "@nestjs/core": "^11.1.11",
38
- "@nestjs/testing": "^11.1.11",
36
+ "@nestjs/common": "^12.0.1",
37
+ "@nestjs/core": "^12.0.1",
38
+ "@nestjs/testing": "^12.0.1",
39
39
  "@types/express": "^5.0.3",
40
- "@types/jest": "^29.5.14",
41
- "@types/node": "^24.12.4",
40
+ "@types/node": "^26.0.0",
41
+ "@vitest/coverage-v8": "^4.1.11",
42
42
  "eslint": "^9.39.3",
43
43
  "express": "^5.1.0",
44
- "jest": "^29.7.0",
45
44
  "reflect-metadata": "^0.2.2",
46
45
  "rxjs": "^7.8.2",
47
- "ts-jest": "^29.4.4",
48
- "typescript": "^5.9.3",
49
- "@nest-boot/eslint-config": "^7.3.5",
50
- "@nest-boot/eslint-plugin": "^7.2.5",
51
- "@nest-boot/request-context": "^7.7.6",
52
- "@nest-boot/tsconfig": "^7.3.5"
46
+ "typescript": "^6.0.3",
47
+ "vite-tsconfig-paths": "^5.1.4",
48
+ "vitest": "^4.1.11",
49
+ "@nest-boot/eslint-config": "^8.0.0-beta.1",
50
+ "@nest-boot/eslint-plugin": "^8.0.0-beta.1",
51
+ "@nest-boot/request-context": "^8.0.0-beta.1",
52
+ "@nest-boot/tsconfig": "^8.0.0-beta.1"
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"
@@ -60,8 +60,16 @@
60
60
  "eslint --fix"
61
61
  ]
62
62
  },
63
- "volta": {
64
- "extends": "../../package.json"
63
+ "type": "module",
64
+ "engines": {
65
+ "node": ">=26.0.0"
66
+ },
67
+ "exports": {
68
+ ".": {
69
+ "types": "./dist/index.d.ts",
70
+ "import": "./dist/index.js"
71
+ },
72
+ "./package.json": "./package.json"
65
73
  },
66
74
  "scripts": {
67
75
  "build": "tsc -p tsconfig.build.json",
@@ -69,9 +77,9 @@
69
77
  "dev": "tsc -w -p tsconfig.build.json",
70
78
  "lint": "eslint \"{src,test}/**/*.ts\"",
71
79
  "lint:fix": "eslint \"{src,test}/**/*.ts\" --fix",
72
- "test": "jest",
73
- "test:cov": "jest --coverage",
74
- "test:watch": "jest --watch",
75
- "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"
80
+ "test": "vitest run",
81
+ "test:cov": "vitest run --coverage",
82
+ "test:watch": "vitest",
83
+ "test:debug": "vitest --inspect-brk --no-file-parallelism"
76
84
  }
77
85
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_1 = require("@nestjs/common");
4
- const permission_action_enum_1 = require("../enums/permission-action.enum");
5
- const permission_constants_1 = require("../permission.constants");
6
- const can_decorator_1 = require("./can.decorator");
7
- jest.mock("@nestjs/common", () => ({
8
- SetMetadata: jest.fn((key, value) => ({ key, value })),
9
- }));
10
- class Subject {
11
- }
12
- describe("Can", () => {
13
- beforeEach(() => {
14
- jest.mocked(common_1.SetMetadata).mockClear();
15
- });
16
- it("stores action and subject metadata from positional arguments", () => {
17
- expect((0, can_decorator_1.Can)(permission_action_enum_1.PermissionAction.READ, Subject)).toEqual({
18
- key: permission_constants_1.CAN_METADATA,
19
- value: {
20
- action: permission_action_enum_1.PermissionAction.READ,
21
- subject: Subject,
22
- },
23
- });
24
- });
25
- it("stores subject factory as positional subject argument", () => {
26
- const subjectFactory = jest.fn();
27
- expect((0, can_decorator_1.Can)(permission_action_enum_1.PermissionAction.READ, subjectFactory)).toEqual({
28
- key: permission_constants_1.CAN_METADATA,
29
- value: {
30
- action: permission_action_enum_1.PermissionAction.READ,
31
- subject: subjectFactory,
32
- },
33
- });
34
- });
35
- it("stores full permission options when an options object is provided", () => {
36
- const options = {
37
- action: permission_action_enum_1.PermissionAction.UPDATE,
38
- subject: Subject,
39
- };
40
- expect((0, can_decorator_1.Can)(options)).toEqual({
41
- key: permission_constants_1.CAN_METADATA,
42
- value: options,
43
- });
44
- });
45
- it("throws when positional arguments omit the subject", () => {
46
- expect(() => (0, can_decorator_1.Can)(permission_action_enum_1.PermissionAction.READ)).toThrow("Permission subject is required.");
47
- expect(common_1.SetMetadata).not.toHaveBeenCalled();
48
- });
49
- });
50
- //# sourceMappingURL=can.decorator.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"can.decorator.spec.js","sourceRoot":"","sources":["../../src/decorators/can.decorator.spec.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAE7C,4EAAmE;AACnE,kEAAuD;AACvD,mDAAsC;AAEtC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;CACvD,CAAC,CAAC,CAAC;AAEJ,MAAM,OAAO;CAAG;AAEhB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,oBAAW,CAAC,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,IAAA,mBAAG,EAAC,yCAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,GAAG,EAAE,mCAAY;YACjB,KAAK,EAAE;gBACL,MAAM,EAAE,yCAAgB,CAAC,IAAI;gBAC7B,OAAO,EAAE,OAAO;aACjB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEjC,MAAM,CAAC,IAAA,mBAAG,EAAC,yCAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,GAAG,EAAE,mCAAY;YACjB,KAAK,EAAE;gBACL,MAAM,EAAE,yCAAgB,CAAC,IAAI;gBAC7B,OAAO,EAAE,cAAc;aACxB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,yCAAgB,CAAC,MAAM;YAC/B,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,MAAM,CAAC,IAAA,mBAAG,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3B,GAAG,EAAE,mCAAY;YACjB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mBAAG,EAAC,yCAAgB,CAAC,IAAa,CAAC,CAAC,CAAC,OAAO,CACvD,iCAAiC,CAClC,CAAC;QACF,MAAM,CAAC,oBAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
File without changes