@illustrisinteractive/sentinel-nest 0.0.5 → 0.0.7

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 (41) hide show
  1. package/dist/bin/resource.js +1 -0
  2. package/dist/bin/resource.js.map +1 -1
  3. package/dist/models/SecuredResource.d.ts +1 -0
  4. package/dist/src/models/SecuredResource.d.ts +1 -0
  5. package/dist/src/sentinel/resources/NewResource3.d.ts +4 -0
  6. package/dist/src/sentinel/resources/NewResource3.js +18 -0
  7. package/dist/src/sentinel/resources/NewResource3.js.map +1 -0
  8. package/dist/src/sentinel/resources/TestResource.d.ts +4 -0
  9. package/dist/src/sentinel/resources/TestResource.js +18 -0
  10. package/dist/src/sentinel/resources/TestResource.js.map +1 -0
  11. package/dist/src/sentinel.guard.d.ts +2 -1
  12. package/dist/src/sentinel.guard.js +9 -10
  13. package/dist/src/sentinel.guard.js.map +1 -1
  14. package/dist/src/sentinel.module.js +2 -3
  15. package/dist/src/sentinel.module.js.map +1 -1
  16. package/dist/src/sentinel.service.js +2 -2
  17. package/dist/src/sentinel.service.js.map +1 -1
  18. package/dist/tsconfig.build.tsbuildinfo +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/package.json +1 -1
  21. package/src/bin/resource.ts +1 -0
  22. package/src/main.ts +2 -2
  23. package/src/models/SecuredResource.ts +1 -0
  24. package/src/models/SentinelConfig.d.ts +4 -4
  25. package/src/sentinel/resources/.sentinel/NewResource2.d.ts +4 -0
  26. package/src/sentinel/resources/.sentinel/NewResource2.js +13 -0
  27. package/src/sentinel/resources/.sentinel/NewResource2.js.map +1 -0
  28. package/src/sentinel/resources/.sentinel/NewResource3.d.ts +4 -0
  29. package/src/sentinel/resources/.sentinel/NewResource3.js +18 -0
  30. package/src/sentinel/resources/.sentinel/NewResource3.js.map +1 -0
  31. package/src/sentinel/resources/.sentinel/TestResource.d.ts +5 -0
  32. package/src/sentinel/resources/.sentinel/TestResource.js +19 -0
  33. package/src/sentinel/resources/.sentinel/TestResource.js.map +1 -0
  34. package/src/sentinel/resources/.sentinel/tsconfig.tsbuildinfo +1 -0
  35. package/src/sentinel/resources/NewResource3.ts +18 -0
  36. package/src/sentinel/resources/TestResource.ts +18 -0
  37. package/src/sentinel/resources/tsconfig.json +26 -0
  38. package/src/sentinel/sentinel.config.json +39 -0
  39. package/src/sentinel.guard.ts +13 -6
  40. package/src/sentinel.module.ts +2 -3
  41. package/src/sentinel.service.ts +2 -6
@@ -59,6 +59,7 @@ const resource = async (name, manage) => {
59
59
  statements: [
60
60
  `Object.keys(${name}.actions).forEach((key) => {
61
61
  ${name}.actions[key].source = '${name}';
62
+ ${name}.actions[key].resource = key;
62
63
  });`,
63
64
  ],
64
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/bin/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/bin/resource.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export declare abstract class SecuredResource {
5
5
  export interface SecuredResourceAction {
6
6
  description?: string;
7
7
  source?: string;
8
+ resource?: string;
8
9
  }
@@ -5,4 +5,5 @@ export declare abstract class SecuredResource {
5
5
  export interface SecuredResourceAction {
6
6
  description?: string;
7
7
  source?: string;
8
+ resource?: string;
8
9
  }
@@ -0,0 +1,4 @@
1
+ import { SecuredResource, SecuredResourceAction } from '../../models/SecuredResource';
2
+ export declare class NewResource3 extends SecuredResource {
3
+ static actions: Record<string, SecuredResourceAction>;
4
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NewResource3 = void 0;
4
+ const SecuredResource_1 = require("../../models/SecuredResource");
5
+ class NewResource3 extends SecuredResource_1.SecuredResource {
6
+ static actions = {
7
+ manage: {
8
+ description: 'Allows all Actions in this Secured Resource',
9
+ },
10
+ };
11
+ static {
12
+ Object.keys(NewResource3.actions).forEach((key) => {
13
+ NewResource3.actions[key].source = 'NewResource3';
14
+ });
15
+ }
16
+ }
17
+ exports.NewResource3 = NewResource3;
18
+ //# sourceMappingURL=NewResource3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewResource3.js","sourceRoot":"","sources":["../../../../src/sentinel/resources/NewResource3.ts"],"names":[],"mappings":";;;AAAA,kEAGsC;AAEtC,MAAa,YAAa,SAAQ,iCAAe;IAC/C,MAAM,CAAC,OAAO,GAA0C;QACtD,MAAM,EAAE;YACN,WAAW,EAAE,6CAA6C;SAC3D;KACF,CAAC;IAEF;QACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;;AAXH,oCAYC"}
@@ -0,0 +1,4 @@
1
+ import { SecuredResource, SecuredResourceAction } from '../../models/SecuredResource';
2
+ export declare class TestResource extends SecuredResource {
3
+ static actions: Record<string, SecuredResourceAction>;
4
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestResource = void 0;
4
+ const SecuredResource_1 = require("../../models/SecuredResource");
5
+ class TestResource extends SecuredResource_1.SecuredResource {
6
+ static actions = {
7
+ manage: {
8
+ description: 'Allows all Actions in this Secured Resource',
9
+ },
10
+ };
11
+ static {
12
+ Object.keys(TestResource.actions).forEach((key) => {
13
+ TestResource.actions[key].source = 'TestResource';
14
+ });
15
+ }
16
+ }
17
+ exports.TestResource = TestResource;
18
+ //# sourceMappingURL=TestResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestResource.js","sourceRoot":"","sources":["../../../../src/sentinel/resources/TestResource.ts"],"names":[],"mappings":";;;AAAA,kEAGsC;AAEtC,MAAa,YAAa,SAAQ,iCAAe;IAC/C,MAAM,CAAC,OAAO,GAA0C;QACtD,MAAM,EAAE;YACN,WAAW,EAAE,6CAA6C;SAC3D;KACF,CAAC;IAEF;QACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;;AAXH,oCAYC"}
@@ -1,8 +1,9 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
2
  import { SentinelService } from './sentinel.service';
3
+ import { Reflector } from '@nestjs/core';
3
4
  export declare class SentinelGuard implements CanActivate {
4
5
  private readonly sentinelService;
5
6
  private reflector;
6
- constructor(sentinelService: SentinelService);
7
+ constructor(sentinelService: SentinelService, reflector: Reflector);
7
8
  canActivate(context: ExecutionContext): boolean;
8
9
  }
@@ -13,18 +13,20 @@ exports.SentinelGuard = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const sentinel_service_1 = require("./sentinel.service");
15
15
  const core_1 = require("@nestjs/core");
16
- const main_1 = require("./main");
16
+ const can_decorator_1 = require("../src/can.decorator");
17
17
  let SentinelGuard = class SentinelGuard {
18
18
  sentinelService;
19
19
  reflector;
20
- constructor(sentinelService) {
20
+ constructor(sentinelService, reflector) {
21
21
  this.sentinelService = sentinelService;
22
+ this.reflector = reflector;
22
23
  }
23
24
  canActivate(context) {
24
- const requiredActions = this.reflector.get(main_1.Can, context.getHandler());
25
- console.log(requiredActions);
26
- if (requiredActions.length == 0)
25
+ const requiredActions = this.reflector.get(can_decorator_1.Can, context.getHandler());
26
+ if (!requiredActions || requiredActions.length == 0) {
27
+ common_1.Logger.warn('It seems like you used SentinelGuard without passing a SecuredResourceAction to look out for. Handler: ${context.getHandler().name}');
27
28
  return true;
29
+ }
28
30
  let sentinelAuth = '';
29
31
  if (context.getType() == 'rpc') {
30
32
  const rpcContext = context.switchToRpc().getContext();
@@ -61,12 +63,9 @@ let SentinelGuard = class SentinelGuard {
61
63
  }
62
64
  };
63
65
  exports.SentinelGuard = SentinelGuard;
64
- __decorate([
65
- (0, common_1.Inject)(),
66
- __metadata("design:type", core_1.Reflector)
67
- ], SentinelGuard.prototype, "reflector", void 0);
68
66
  exports.SentinelGuard = SentinelGuard = __decorate([
69
67
  (0, common_1.Injectable)(),
70
- __metadata("design:paramtypes", [sentinel_service_1.SentinelService])
68
+ __metadata("design:paramtypes", [sentinel_service_1.SentinelService,
69
+ core_1.Reflector])
71
70
  ], SentinelGuard);
72
71
  //# sourceMappingURL=sentinel.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.guard.js","sourceRoot":"","sources":["../../src/sentinel.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,yDAAqD;AAIrD,uCAAyC;AACzC,iCAAoD;AAE7C,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEK;IADX,SAAS,CAAY;IACvC,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IACjE,WAAW,CAAC,OAAyB;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,UAAG,EACH,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAa,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;YAChE,YAAY,GAAG,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC,CAAC,CAAW,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;YACvC,MAAM,WAAW,GAAY,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YACjE,MAAM,MAAM,GACV,WAAW,CAAC,OAAO,CACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC;YACJ,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACxC,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;;YAAM,OAAO,KAAK,CAAC;QAEpB,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACpE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAC;YACxE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,sCAAa;AACN;IAAjB,IAAA,eAAM,GAAE;8BAAoB,gBAAS;gDAAC;wBAD5B,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGmC,kCAAe;GAFlD,aAAa,CA+CzB"}
1
+ {"version":3,"file":"sentinel.guard.js","sourceRoot":"","sources":["../../src/sentinel.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,yDAAqD;AAIrD,uCAAyC;AACzC,wDAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL;IACT;IAFV,YACmB,eAAgC,EACzC,SAAoB;QADX,oBAAe,GAAf,eAAe,CAAiB;QACzC,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IACJ,WAAW,CAAC,OAAyB;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,mBAAG,EACH,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpD,eAAM,CAAC,IAAI,CACT,qIAAqI,CACtI,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAa,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;YAChE,YAAY,GAAG,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC,CAAC,CAAW,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;YACvC,MAAM,WAAW,GAAY,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YACjE,MAAM,MAAM,GACV,WAAW,CAAC,OAAO,CACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC;YACJ,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACxC,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;;YAAM,OAAO,KAAK,CAAC;QAEpB,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACpE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAC;YACxE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AArDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;QAC9B,gBAAS;GAHnB,aAAa,CAqDzB"}
@@ -13,7 +13,6 @@ const config_1 = require("@nestjs/config");
13
13
  const prisma_service_1 = require("./prisma.service");
14
14
  const sentinel_module_definition_1 = require("./sentinel.module-definition");
15
15
  const jwt_1 = require("@nestjs/jwt");
16
- const sentinel_guard_1 = require("./sentinel.guard");
17
16
  let SentinelModule = class SentinelModule extends sentinel_module_definition_1.ConfigurableModuleClass {
18
17
  };
19
18
  exports.SentinelModule = SentinelModule;
@@ -33,8 +32,8 @@ exports.SentinelModule = SentinelModule = __decorate([
33
32
  }),
34
33
  ],
35
34
  controllers: [],
36
- providers: [prisma_service_1.PrismaService, sentinel_service_1.SentinelService, sentinel_guard_1.SentinelGuard],
37
- exports: [prisma_service_1.PrismaService, sentinel_service_1.SentinelService, sentinel_guard_1.SentinelGuard],
35
+ providers: [prisma_service_1.PrismaService, sentinel_service_1.SentinelService],
36
+ exports: [prisma_service_1.PrismaService, sentinel_service_1.SentinelService],
38
37
  })
39
38
  ], SentinelModule);
40
39
  //# sourceMappingURL=sentinel.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.module.js","sourceRoot":"","sources":["../../src/sentinel.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AACrD,2CAA6D;AAC7D,qDAAiD;AACjD,6EAAuE;AACvE,qCAAwC;AACxC,qDAAiD;AAoB1C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,oDAAuB;CAAG,CAAA;AAAjD,wCAAc;yBAAd,cAAc;IAlB1B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,eAAS,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,CAAC,aAA4B,EAAE,EAAE,CAAC,CAAC;oBAC7C,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC;oBAChD,WAAW,EAAE;wBACX,SAAS,EAAE,KAAK;qBACjB;iBACF,CAAC;aACH,CAAC;SACH;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,CAAC,8BAAa,EAAE,kCAAe,EAAE,8BAAa,CAAC;QAC1D,OAAO,EAAE,CAAC,8BAAa,EAAE,kCAAe,EAAE,8BAAa,CAAC;KACzD,CAAC;GACW,cAAc,CAAmC"}
1
+ {"version":3,"file":"sentinel.module.js","sourceRoot":"","sources":["../../src/sentinel.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AACrD,2CAA6D;AAC7D,qDAAiD;AACjD,6EAAuE;AACvE,qCAAwC;AAoBjC,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,oDAAuB;CAAG,CAAA;AAAjD,wCAAc;yBAAd,cAAc;IAlB1B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,eAAS,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,CAAC,aAA4B,EAAE,EAAE,CAAC,CAAC;oBAC7C,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC;oBAChD,WAAW,EAAE;wBACX,SAAS,EAAE,KAAK;qBACjB;iBACF,CAAC;aACH,CAAC;SACH;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,CAAC,8BAAa,EAAE,kCAAe,CAAC;QAC3C,OAAO,EAAE,CAAC,8BAAa,EAAE,kCAAe,CAAC;KAC1C,CAAC;GACW,cAAc,CAAmC"}
@@ -46,7 +46,7 @@ let SentinelService = class SentinelService {
46
46
  const { can, cannot, build } = new ability_1.AbilityBuilder(ability_1.createMongoAbility);
47
47
  for (const resource of this.resources) {
48
48
  for (const action of Object.keys(resource.actions)) {
49
- if (model.permissions.find((permissions) => permissions.action == resource.actions[action])) {
49
+ if (model.permissions.find((permissions) => permissions.action == action)) {
50
50
  can(action, resource.name);
51
51
  }
52
52
  else
@@ -68,7 +68,7 @@ let SentinelService = class SentinelService {
68
68
  const { can, cannot, build } = new ability_1.AbilityBuilder(ability_1.createMongoAbility);
69
69
  for (const resource of this.resources) {
70
70
  for (const action of Object.keys(resource.actions)) {
71
- if (model.permissions.find((permissions) => permissions.action == resource.actions[action])) {
71
+ if (model.permissions.find((permissions) => permissions.action == action)) {
72
72
  can(action, resource.name);
73
73
  }
74
74
  else
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.service.js","sourceRoot":"","sources":["../../src/sentinel.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentinel.service.js","sourceRoot":"","sources":["../../src/sentinel.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AAExB,qDAAiD;AACjD,6EAAoE;AAIpE,2CAMuB;AACvB,2CAA+C;AAC/C,qCAAyC;AAIlC,IAAM,eAAe,GAArB,MAAM,eAAe;IAIc;IAC9B;IACA;IACA;IANV,SAAS,CAAoB;IAC7B,OAAO,CAAwB;IAC/B,YACwC,QAA+B,EAC7D,MAAqB,EACrB,GAAe,EACf,MAAqB;QAHS,aAAQ,GAAR,QAAQ,CAAuB;QAC7D,WAAM,GAAN,MAAM,CAAe;QACrB,QAAG,GAAH,GAAG,CAAY;QACf,WAAM,GAAN,MAAM,CAAe;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,KAA4B;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACnB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,KAAoB;QACtC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,wBAAc,CAAC,4BAAkB,CAAC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IACE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC,EACrE,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;;oBAAM,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAID,OAAO,KAAK,CAAC;YACX,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAE1B,IAAI,CAAC,WAA2C;SACnD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAe;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YACX,OAAO,IAAI,0BAAiB,CAC1B,+DAA+D,CAChE,CAAC;QAEJ,MAAM,KAAK,GAGP;YACF,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;SAChB,CAAC;QASF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,wBAAc,CAAC,4BAAkB,CAAC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IACE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC,EACrE,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;;oBAAM,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAID,OAAO,KAAK,CAAC;YACX,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAE1B,IAAI,CAAC,WAA2C;SACnD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAEhB,MAAM,GAAG,GAAuB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;QAGD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAChE,KAAK,EAAE;oBACL,QAAQ,EAAE,QAAQ,CAAC,IAAI;iBACxB;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC/D,eAAM,CAAC,IAAI,CACT,WAAW,IAAI,0BAA0B,QAAQ,CAAC,IAAI,iHAAiH,CACxK,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAkC;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;gBACtD,KAAK,EAAE;oBACL,KAAK,EAAE,OAAO;iBACf;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE;wBACL,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,OAAO,EAAE;oCACP,cAAc,EAAE,IAAI;iCACrB;6BACF;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAA0B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/D,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAC9D,CAAC;YAEF,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAkB;QACpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE;gBACL,EAAE;aACH;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA9JY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,iDAAoB,CAAC,CAAA;6CACb,8BAAa;QAChB,gBAAU;QACP,sBAAa;GAPpB,eAAe,CA8J3B"}