chyz 1.0.13-rc.20 → 1.0.13-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/BaseChyz.ts +15 -53
  2. package/Examples/Controllers/ApiController.ts +26 -35
  3. package/Examples/Controllers/KeyCloakController.ts +4 -4
  4. package/Examples/Controllers/SiteController.ts +8 -18
  5. package/Examples/Models/Categories.ts +3 -14
  6. package/Examples/Models/Customer.ts +2 -2
  7. package/Examples/Models/KeycloakUser.ts +0 -4
  8. package/Examples/Models/Order.ts +5 -5
  9. package/Examples/Models/OrderItem.ts +2 -2
  10. package/Examples/Models/ProductModels.ts +5 -4
  11. package/Examples/Models/ProductToCategories.ts +4 -15
  12. package/Examples/Models/Products.ts +8 -9
  13. package/Examples/Models/Stocks.ts +2 -2
  14. package/Examples/Models/User.ts +1 -8
  15. package/Examples/Models/UserPermission.ts +2 -2
  16. package/Examples/index.ts +0 -6
  17. package/Examples/log/app.log +0 -9456
  18. package/Examples/log/errors.log +0 -1904
  19. package/Examples/tsconfig.json +1 -2
  20. package/README.md +16 -267
  21. package/base/ActionFilter.ts +1 -1
  22. package/base/BaseError.ts +1 -3
  23. package/base/Model.ts +51 -69
  24. package/base/RestClient.ts +4 -4
  25. package/base/ValidationHttpException.ts +1 -1
  26. package/base/index.ts +0 -2
  27. package/dist/BaseChyz.js +8 -46
  28. package/dist/BaseChyz.js.map +1 -1
  29. package/dist/README.md +270 -0
  30. package/dist/base/ActionFilter.js +1 -1
  31. package/dist/base/ActionFilter.js.map +1 -1
  32. package/dist/base/BaseError.js +1 -5
  33. package/dist/base/BaseError.js.map +1 -1
  34. package/dist/base/Model.js +30 -44
  35. package/dist/base/Model.js.map +1 -1
  36. package/dist/base/RestClient.js +4 -4
  37. package/dist/base/RestClient.js.map +1 -1
  38. package/dist/base/ValidationHttpException.js +1 -1
  39. package/dist/base/index.js +0 -2
  40. package/dist/base/index.js.map +1 -1
  41. package/dist/filters/AccessControl.js +3 -15
  42. package/dist/filters/AccessControl.js.map +1 -1
  43. package/dist/filters/AccessRule.js +38 -99
  44. package/dist/filters/AccessRule.js.map +1 -1
  45. package/dist/filters/auth/HttpBasicAuth.js +0 -65
  46. package/dist/filters/auth/HttpBasicAuth.js.map +1 -1
  47. package/dist/filters/auth/JwtHttpBearerAuth.js +1 -1
  48. package/dist/filters/auth/JwtHttpBearerAuth.js.map +1 -1
  49. package/dist/filters/auth/index.js +0 -1
  50. package/dist/filters/auth/index.js.map +1 -1
  51. package/dist/package.json +6 -6
  52. package/dist/web/WebUser.js +0 -78
  53. package/dist/web/WebUser.js.map +1 -1
  54. package/filters/AccessControl.ts +6 -19
  55. package/filters/AccessRule.ts +16 -61
  56. package/filters/auth/HttpBasicAuth.ts +0 -68
  57. package/filters/auth/JwtHttpBearerAuth.ts +1 -1
  58. package/filters/auth/index.ts +0 -1
  59. package/package.json +7 -6
  60. package/web/IdentityInterface.ts +0 -6
  61. package/web/WebUser.ts +1 -88
  62. package/Doc/Moel kullanma.md +0 -13
  63. package/Examples/Controllers/BasicApiController.ts +0 -121
  64. package/Examples/Models/AuthAssignment.ts +0 -50
  65. package/Examples/Models/AuthItem.ts +0 -59
  66. package/Examples/Models/AuthItemChild.ts +0 -49
  67. package/Examples/Models/index.ts +0 -19
  68. package/base/InvalidArgumentException.ts +0 -16
  69. package/base/ModelManager.ts +0 -19
  70. package/dist/base/InvalidArgumentException.js +0 -18
  71. package/dist/base/InvalidArgumentException.js.map +0 -1
  72. package/dist/base/ModelManager.js +0 -9
  73. package/dist/base/ModelManager.js.map +0 -1
  74. package/dist/rbac/AuthAssignment.js +0 -45
  75. package/dist/rbac/AuthAssignment.js.map +0 -1
  76. package/dist/rbac/AuthItem.js +0 -52
  77. package/dist/rbac/AuthItem.js.map +0 -1
  78. package/dist/rbac/AuthItemChild.js +0 -44
  79. package/dist/rbac/AuthItemChild.js.map +0 -1
  80. package/dist/rbac/AuthManager.js +0 -359
  81. package/dist/rbac/AuthManager.js.map +0 -1
  82. package/rbac/AuthAssignment.ts +0 -50
  83. package/rbac/AuthItem.ts +0 -57
  84. package/rbac/AuthItemChild.ts +0 -50
  85. package/rbac/AuthManager.ts +0 -398
@@ -30,7 +30,6 @@ class AccessControl extends ActionFilter_1.ActionFilter {
30
30
  constructor() {
31
31
  super(...arguments);
32
32
  this.user = null;
33
- this.denyCallback = null;
34
33
  }
35
34
  init() {
36
35
  var _a;
@@ -53,26 +52,15 @@ class AccessControl extends ActionFilter_1.ActionFilter {
53
52
  // @ts-ignore
54
53
  user.identity = (_b = request.identity) !== null && _b !== void 0 ? _b : null;
55
54
  for (const rulesKey in this.rules) {
56
- let rule = this.rules[rulesKey];
57
- if ((allow = yield rule.allows(action, user, request))) {
55
+ if ((allow = this.rules[rulesKey].allows(action, user, request))) {
58
56
  return true;
59
57
  }
60
58
  else if (allow === false) {
61
- if (this.denyCallback != null) {
62
- rule.denyCallback.apply(rule, action);
63
- }
64
- else {
65
- this.denyAccess(user);
66
- }
59
+ this.denyAccess(user);
67
60
  return false;
68
61
  }
69
62
  }
70
- if (this.denyCallback != null) {
71
- this.denyCallback.apply(null, action);
72
- }
73
- else {
74
- this.denyAccess(user);
75
- }
63
+ this.denyAccess(user);
76
64
  return false;
77
65
  });
78
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../filters/AccessControl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,2EAAsE;AACtE,uDAAkD;AAClD,6CAAwC;AACxC,4CAAuC;AACvC,gEAAwC;AAGxC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG1B,MAAa,aAAc,SAAQ,2BAAY;IAA/C;;QAEW,SAAI,GAAQ,IAAI,CAAC;QAEjB,iBAAY,GAAQ,IAAI,CAAC;IAuDpC,CAAC;IArDU,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAA;QAEZ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,MAAA,eAAK,CAAC,SAAS,CAAC,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,iBAAO,EAAE,CAAC;SAC/E;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE;YAC5C,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,YAAY,CAAC,IAAI,uBAAU,EAAE,EAAE,IAAI,CAAC,CAAC;aAClE;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAGY,YAAY,CAAC,MAAW,EAAE,OAAgB;;;YACnD,IAAI,KAAK,CAAC;YACV,aAAa;YACb,IAAI,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;YACrC,aAAa;YACb,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC;YAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;gBAE/B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;oBACpD,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,KAAK,KAAK,KAAK,EAAE;oBACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;qBACzC;yBAAM;wBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBACzB;oBACD,OAAO,KAAK,CAAC;iBAChB;aACJ;YAGD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACzC;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,OAAO,KAAK,CAAC;;KAChB;IAEM,UAAU,CAAC,IAAa;QAC3B,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;;YAAM,MAAM,IAAI,+CAAsB,CAAC,kBAAQ,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvG,CAAC;CAEJ;AA3DD,sCA2DC"}
1
+ {"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../filters/AccessControl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,2EAAsE;AACtE,uDAAkD;AAClD,6CAAwC;AACxC,4CAAuC;AACvC,gEAAwC;AAGxC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG1B,MAAa,aAAc,SAAQ,2BAAY;IAA/C;;QAEW,SAAI,GAAQ,IAAI,CAAC;IA4C5B,CAAC;IAzCU,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAA;QAEZ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,MAAA,eAAK,CAAC,SAAS,CAAC,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,iBAAO,EAAE,CAAC;SAC/E;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAQ,EAAE,KAAY,EAAE,EAAE;YAC1C,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,YAAY,CAAC,IAAI,uBAAU,EAAE,EAAE,IAAI,CAAC,CAAC;aAClE;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAGY,YAAY,CAAC,MAAU,EAAE,OAAe;;;YACjD,IAAI,KAAK,CAAC;YACV,aAAa;YACb,IAAI,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;YACrC,aAAa;YACb,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC;YAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;oBAC9D,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,KAAK,KAAK,KAAK,EAAE;oBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAEtB,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;;KAChB;IAEM,UAAU,CAAC,IAAa;QAC3B,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;;YAAM,MAAM,IAAI,+CAAsB,CAAC,kBAAQ,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvG,CAAC;CAEJ;AA9CD,sCA8CC"}
@@ -1,77 +1,25 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.AccessRule = void 0;
16
4
  var _ = require('lodash');
17
5
  const Component_1 = require("../base/Component");
18
6
  const InvalidConfigException_1 = require("../base/InvalidConfigException");
19
- const Utils_1 = __importDefault(require("../requiments/Utils"));
20
7
  class AccessRule extends Component_1.Component {
21
- constructor() {
22
- super(...arguments);
23
- /**
24
- * @var array|Closure parameters to pass to the [[User::can()]] function for evaluating
25
- * user permissions in [[$roles]].
26
- *
27
- * If this is an array, it will be passed directly to [[User::can()]]. For example for passing an
28
- * ID from the current request, you may use the following:
29
- *
30
- * ```php
31
- * ['postId' => Yii::$app->request->get('id')]
32
- * ```
33
- *
34
- * You may also specify a closure that returns an array. This can be used to
35
- * evaluate the array values only if they are needed, for example when a model needs to be
36
- * loaded like in the following code:
37
- *
38
- * ```php
39
- * 'rules' => [
40
- * [
41
- * 'allow' => true,
42
- * 'actions' => ['update'],
43
- * 'roles' => ['updatePost'],
44
- * 'roleParams' => function($rule) {
45
- * return ['post' => Post::findOne(Yii::$app->request->get('id'))];
46
- * },
47
- * ],
48
- * ],
49
- * ```
50
- *
51
- * A reference to the [[AccessRule]] instance will be passed to the closure as the first parameter.
52
- *
53
- * @see roles
54
- * @since 2.0.12
55
- */
56
- this.roleParams = [];
57
- }
58
8
  allows(action, user, request) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- if (this.matchAction(action)
61
- && (yield this.matchRole(user))) {
62
- return this.allow;
63
- }
64
- // if (this.matchAction($action)
65
- // && this.matchRole($user)
66
- // && this.matchIP($request->getUserIP())
67
- // && this.matchVerb($request->getMethod())
68
- // && this.matchController($action->controller)
69
- // && this.matchCustom($action)
70
- // ) {
71
- // return $this->allow ? true : false;
72
- // }
73
- return null;
74
- });
9
+ if (this.matchAction(action)
10
+ && this.matchRole(user)) {
11
+ return this.allow;
12
+ }
13
+ // if (this.matchAction($action)
14
+ // && this.matchRole($user)
15
+ // && this.matchIP($request->getUserIP())
16
+ // && this.matchVerb($request->getMethod())
17
+ // && this.matchController($action->controller)
18
+ // && this.matchCustom($action)
19
+ // ) {
20
+ // return $this->allow ? true : false;
21
+ // }
22
+ return null;
75
23
  }
76
24
  /**
77
25
  * @param Action $action the action
@@ -98,42 +46,33 @@ class AccessRule extends Component_1.Component {
98
46
  return false;
99
47
  }
100
48
  matchRole(user) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- let items = Utils_1.default.isEmpty(this.roles) ? [] : this.roles;
103
- if (!Utils_1.default.isEmpty(this.permissions)) {
104
- items = Utils_1.default.merge(items, this.permissions);
105
- }
106
- if (Utils_1.default.isEmpty(items)) {
107
- return true;
108
- }
109
- if (!user) {
110
- throw new InvalidConfigException_1.InvalidConfigException('The user application component must be available to specify roles in AccessRule.');
111
- }
112
- let roleParams = [];
113
- for (const itemsKey in items) {
114
- let item = items[itemsKey];
115
- if (item === '?') {
116
- if (user.getIsGuest()) {
117
- return true;
118
- }
119
- }
120
- else if (item === '@') {
121
- if (!user.getIsGuest()) {
122
- return true;
123
- }
49
+ let items = _.isEmpty(this.roles) ? [] : this.roles;
50
+ if (!_.isEmpty(this.permissions)) {
51
+ items = _.merge(items, this.permissions);
52
+ }
53
+ if (_.isEmpty(items)) {
54
+ return true;
55
+ }
56
+ if (user === false) {
57
+ throw new InvalidConfigException_1.InvalidConfigException('The user application component must be available to specify roles in AccessRule.');
58
+ }
59
+ for (const itemsKey in items) {
60
+ let item = items[itemsKey];
61
+ if (item === '?') {
62
+ if (user.getIsGuest()) {
63
+ return true;
124
64
  }
125
- else {
126
- //roleparams
127
- if (!Utils_1.default.isEmpty(this.roleParams)) {
128
- roleParams = !Utils_1.default.isArray(this.roleParams) ? this.roleParams.apply(this) : this.roleParams;
129
- }
130
- if (yield user.can(item, this.roleParams)) {
131
- return true;
132
- }
65
+ }
66
+ else if (item === '@') {
67
+ if (!user.getIsGuest()) {
68
+ return true;
133
69
  }
134
70
  }
135
- return false;
136
- });
71
+ else {
72
+ //roleparams
73
+ }
74
+ }
75
+ return false;
137
76
  }
138
77
  }
139
78
  exports.AccessRule = AccessRule;
@@ -1 +1 @@
1
- {"version":3,"file":"AccessRule.js","sourceRoot":"","sources":["../../filters/AccessRule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccessRule.js","sourceRoot":"","sources":["../../filters/AccessRule.ts"],"names":[],"mappings":";;;AAQA,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1B,iDAA4C;AAC5C,2EAAsE;AAGtE,MAAa,UAAW,SAAQ,qBAAS;IAwC9B,MAAM,CAAC,MAAU,EAAE,IAAY,EAAE,OAAe;QACnD,IACI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;eACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACzB;YACE,OAAO,IAAI,CAAC,KAAK,CAAA;SACpB;QACD,oCAAoC;QACpC,mCAAmC;QACnC,yCAAyC;QACzC,2CAA2C;QAC3C,+CAA+C;QAC/C,+BAA+B;QAC/B,MAAM;QACN,0CAA0C;QAC1C,IAAI;QAEJ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,MAAU;QAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,UAAc;QACpC,uCAAuC;QACvC,uBAAuB;QACvB,QAAQ;QACR,EAAE;QACF,wCAAwC;QACxC,iDAAiD;QACjD,wDAAwD;QACxD,uBAAuB;QACvB,QAAQ;QACR,IAAI;QAEJ,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,SAAS,CAAC,IAAQ;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAEpD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC9B,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5C;QAED,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClB,OAAO,IAAI,CAAC;SACf;QAGD,IAAI,IAAI,KAAK,KAAK,EAAE;YAChB,MAAM,IAAI,+CAAsB,CAAC,kFAAkF,CAAC,CAAC;SACxH;QAED,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC1B,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,IAAI,KAAK,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;oBACnB,OAAO,IAAI,CAAC;iBACf;aACJ;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;oBACpB,OAAO,IAAI,CAAC;iBACf;aACJ;iBAAM;gBACH,YAAY;aACf;SACJ;QAGD,OAAO,KAAK,CAAC;IACjB,CAAC;CAGJ;AA3HD,gCA2HC"}
@@ -5,69 +5,4 @@
5
5
  * E-mail: cihan@chy.com.tr
6
6
  * Github:https://github.com/cihan53/
7
7
  */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.HttpBasicAuth = void 0;
22
- const AuthMethod_1 = require("./AuthMethod");
23
- const base_1 = require("../../base");
24
- const BaseChyz_1 = __importDefault(require("../../BaseChyz"));
25
- class HttpBasicAuth extends AuthMethod_1.AuthMethod {
26
- constructor() {
27
- super(...arguments);
28
- /**
29
- * @var string the HTTP header name
30
- */
31
- this.header = 'Authorization';
32
- /**
33
- * @var string a pattern to use to extract the HTTP authentication value
34
- */
35
- this.pattern = /^Basic\s+(.*?)$/;
36
- }
37
- /**
38
- * @throws InvalidConfigException
39
- */
40
- init() {
41
- var _a;
42
- super.init();
43
- if (!this.pattern) {
44
- throw new base_1.InvalidConfigException('You must provide pattern to use to extract the HTTP authentication value!');
45
- }
46
- this.user = (_a = BaseChyz_1.default.getComponent("user")) !== null && _a !== void 0 ? _a : null;
47
- }
48
- authenticate(user, request, response) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- let autHeader = this.getHeaderByKey(request.headers, this.header);
51
- if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
52
- return null;
53
- }
54
- let basicauth = autHeader[1].split(":");
55
- let identity = yield user.loginByAccessToken(basicauth, "HttpBasicAuth");
56
- if (identity === null) {
57
- this.challenge(response);
58
- this.handleFailure(response);
59
- }
60
- return identity;
61
- return null;
62
- });
63
- }
64
- /**
65
- * @throws UnauthorizedHttpException
66
- */
67
- fail(response) {
68
- this.challenge(response);
69
- this.handleFailure(response);
70
- }
71
- }
72
- exports.HttpBasicAuth = HttpBasicAuth;
73
8
  //# sourceMappingURL=HttpBasicAuth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBasicAuth.js","sourceRoot":"","sources":["../../../filters/auth/HttpBasicAuth.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;AAMH,6CAAwC;AACxC,qCAAkD;AAClD,8DAAsC;AAEtC,MAAa,aAAc,SAAQ,uBAAU;IAA7C;;QAEI;;WAEG;QACI,WAAM,GAAG,eAAe,CAAC;QAGhC;;WAEG;QAEI,YAAO,GAAG,iBAAiB,CAAC;IA+CvC,CAAC;IA5CG;;OAEG;IACI,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,6BAAsB,CAAC,2EAA2E,CAAC,CAAC;SACjH;QAED,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;IACtD,CAAC;IAGK,YAAY,CAAC,IAAa,EAAE,OAAe,EAAE,QAAiB;;YAGhE,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACjE,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE;gBACvF,OAAO,IAAI,CAAC;aACf;YAED,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEvC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACzE,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAChC;YAED,OAAO,QAAQ,CAAC;YAGhB,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAGD;;OAEG;IACI,IAAI,CAAC,QAAiB;QACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CACJ;AA3DD,sCA2DC"}
1
+ {"version":3,"file":"HttpBasicAuth.js","sourceRoot":"","sources":["../../../filters/auth/HttpBasicAuth.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -50,7 +50,7 @@ class JwtHttpBearerAuth extends HttpBearerAuth_1.HttpBearerAuth {
50
50
  if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
51
51
  return null;
52
52
  }
53
- // BaseChyz.debug("JSON Web Token.",autHeader);
53
+ BaseChyz_1.default.debug("JSON Web Token.", autHeader);
54
54
  let identity = null;
55
55
  let token = null;
56
56
  token = JsonWebToken.decode(autHeader[1], { complete: true });
@@ -1 +1 @@
1
- {"version":3,"file":"JwtHttpBearerAuth.js","sourceRoot":"","sources":["../../../filters/auth/JwtHttpBearerAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8DAAsC;AACtC,qDAAgD;AAChD,8EAAyE;AAKzE,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7C,MAAa,iBAAkB,SAAQ,+BAAc;IAArD;;QACI;;;WAGG;QACI,QAAG,GAAG,KAAK,CAAA;QACX,SAAI,GAAO,IAAI,CAAC;IA0D3B,CAAC;IAvDG;;OAEG;IACI,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,+CAAsB,CAAC,2EAA2E,CAAC,CAAC;SACjH;QAED,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;IACtD,CAAC;IAGY,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,QAAiB;;YAGtE,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACjE,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE;gBACvF,OAAO,IAAI,CAAC;aACf;YAED,+CAA+C;YAC/C,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK,EAAE;gBACR,kBAAQ,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC;gBAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;YAED,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACnB,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC3C;qBAAM;oBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;iBAC9E;aACJ;YAED,IAAI,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAGzC,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAGD;;OAEG;IACI,IAAI,CAAC,QAAiB;QACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CAEJ;AAhED,8CAgEC"}
1
+ {"version":3,"file":"JwtHttpBearerAuth.js","sourceRoot":"","sources":["../../../filters/auth/JwtHttpBearerAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8DAAsC;AACtC,qDAAgD;AAChD,8EAAyE;AAKzE,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7C,MAAa,iBAAkB,SAAQ,+BAAc;IAArD;;QACI;;;WAGG;QACI,QAAG,GAAG,KAAK,CAAA;QACX,SAAI,GAAO,IAAI,CAAC;IA0D3B,CAAC;IAvDG;;OAEG;IACI,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,+CAAsB,CAAC,2EAA2E,CAAC,CAAC;SACjH;QAED,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;IACtD,CAAC;IAGY,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,QAAiB;;YAGtE,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACjE,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE;gBACvF,OAAO,IAAI,CAAC;aACf;YAED,kBAAQ,CAAC,KAAK,CAAC,iBAAiB,EAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK,EAAE;gBACR,kBAAQ,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC;gBAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;YAED,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACnB,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC3C;qBAAM;oBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;iBAC9E;aACJ;YAED,IAAI,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAGzC,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAGD;;OAEG;IACI,IAAI,CAAC,QAAiB;QACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CAEJ;AAhED,8CAgEC"}
@@ -13,5 +13,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./JwtHttpBearerAuth"), exports);
14
14
  __exportStar(require("./HttpBearerAuth"), exports);
15
15
  __exportStar(require("./HttpHeaderAuth"), exports);
16
- __exportStar(require("./HttpBasicAuth"), exports);
17
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../filters/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmC;AACnC,mDAAgC;AAChC,mDAAgC;AAChC,kDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../filters/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmC;AACnC,mDAAgC;AAChC,mDAAgC"}
package/dist/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "chyz",
3
- "version": " 1.0.13-rc.20",
4
- "description": "Nodejs Micro service Framework",
3
+ "version": "1.0.13-rc.3",
4
+ "description": "Nodejs MicroServis Framework",
5
+ "main": "index.js",
5
6
  "scripts": {
6
- "dev": "nodemon -t --trace-warnings index.ts",
7
+ "dev": "nodemon index.ts",
7
8
  "debug": "ts-node index.ts",
8
- "build": "rmdir /S /Q .\\dist && npx tsc && xcopy .\\log .\\dist\\log /e /i /h /Y && copy .\\package.json .\\dist\\package.json",
9
+ "build": "rmdir /S /Q .\\dist && npx tsc && xcopy .\\log .\\dist\\log /e /i /h /Y && copy .\\package.json .\\dist\\package.json && copy .\\README.md .\\dist\\README.md ",
9
10
  "test": "echo \"Error: no test specified\" && exit 1",
10
11
  "postversion": "git push && git push --tags"
11
12
  },
@@ -36,8 +37,7 @@
36
37
  "pg": "^8.7.1",
37
38
  "pg-hstore": "^2.3.4",
38
39
  "reflect-metadata": "^0.1.13",
39
- "sequelize": "^6.6.5",
40
- "validate.js": "^0.13.1"
40
+ "sequelize": "^6.6.5"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/express": "^4.17.13",
@@ -23,18 +23,7 @@ const BaseChyz_1 = __importDefault(require("../BaseChyz"));
23
23
  const Component_1 = require("../base/Component");
24
24
  const ForbiddenHttpException_1 = require("../base/ForbiddenHttpException");
25
25
  const InvalidConfigException_1 = require("../base/InvalidConfigException");
26
- const Utils_1 = __importDefault(require("../requiments/Utils"));
27
26
  class WebUser extends Component_1.Component {
28
- constructor() {
29
- super(...arguments);
30
- /**
31
- * @var CheckAccessInterface|string|array The access checker object to use for checking access or the application
32
- * component ID of the access checker.
33
- * If not set the application auth manager will be used.
34
- * @since 2.0.9
35
- */
36
- this.accessChecker = null;
37
- }
38
27
  get identity() {
39
28
  return this._identity;
40
29
  }
@@ -94,73 +83,6 @@ class WebUser extends Component_1.Component {
94
83
  }
95
84
  afterLogin() {
96
85
  }
97
- getId() {
98
- let identity = this.getIdentity();
99
- return identity !== null ? identity.getId() : null;
100
- }
101
- /**
102
- * Checks if the user can perform the operation as specified by the given permission.
103
- *
104
- * Note that you must configure "authManager" application component in order to use this method.
105
- * Otherwise it will always return false.
106
- *
107
- * @param string $permissionName the name of the permission (e.g. "edit post") that needs access check.
108
- * @param array $params name-value pairs that would be passed to the rules associated
109
- * with the roles and permissions assigned to the user.
110
- * @param bool $allowCaching whether to allow caching the result of access check.
111
- * When this parameter is true (default), if the access check of an operation was performed
112
- * before, its result will be directly returned when calling this method to check the same
113
- * operation. If this parameter is false, this method will always call
114
- * [[\yii\rbac\CheckAccessInterface::checkAccess()]] to obtain the up-to-date access result. Note that this
115
- * caching is effective only within the same request and only works when `$params = []`.
116
- * @return bool whether the user can perform the operation as specified by the given permission.
117
- */
118
- // public function can($permissionName, $params = [], $allowCaching = true)
119
- // {
120
- // if ($allowCaching && empty($params) && isset($this->_access[$permissionName])) {
121
- // return $this->_access[$permissionName];
122
- // }
123
- // if (($accessChecker = $this->getAccessChecker()) === null) {
124
- // return false;
125
- // }
126
- // $access = $accessChecker->checkAccess($this->getId(), $permissionName, $params);
127
- // if ($allowCaching && empty($params)) {
128
- // $this->_access[$permissionName] = $access;
129
- // }
130
- //
131
- // return $access;
132
- // }
133
- can(permissionName, params = [], allowCaching = true) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- let access;
136
- let accessChecker;
137
- if ((accessChecker = this.getAccessChecker()) == null)
138
- return false;
139
- access = yield accessChecker.checkAccess(this.getId(), permissionName, params);
140
- if (allowCaching && Utils_1.default.isEmpty(params)) {
141
- // this._access[$permissionName] = $access;
142
- }
143
- return access;
144
- });
145
- }
146
- /**
147
- * Returns auth manager associated with the user component.
148
- *
149
- * By default this is the `authManager` application component.
150
- * You may override this method to return a different auth manager instance if needed.
151
- * @return \yii\rbac\ManagerInterface
152
- * @since 2.0.6
153
- */
154
- getAuthManager() {
155
- return BaseChyz_1.default.getComponent('authManager');
156
- }
157
- /**
158
- * Returns the access checker used for checking access.
159
- * @return CheckAccessInterface
160
- */
161
- getAccessChecker() {
162
- return this.accessChecker !== null ? this.accessChecker : this.getAuthManager();
163
- }
164
86
  }
165
87
  exports.WebUser = WebUser;
166
88
  //# sourceMappingURL=WebUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebUser.js","sourceRoot":"","sources":["../../web/WebUser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebUser.js","sourceRoot":"","sources":["../../web/WebUser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,iDAA4C;AAC5C,2EAAsE;AACtE,2EAAsE;AAGtE,MAAa,OAAQ,SAAQ,qBAAS;IASlC,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK;QACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEM,IAAI;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,+CAAsB,CAAC,kCAAkC,CAAC,CAAC;SACxE;QAGD,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;IAElD,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;IACvC,CAAC;IAEM,WAAW,CAAC,SAAS,GAAG,IAAI;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,aAAa;QAEhB,MAAM,IAAI,+CAAsB,CAAC,kBAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnE,CAAC;IAGD;;;;OAIG;IACO,mBAAmB;IAE7B,CAAC;IAED;;;;OAIG;IACU,kBAAkB,CAAC,KAAU,EAAE,OAAY,IAAI;;YAExD,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;YAChC,IAAI,MAAM,CAAC,yBAAyB,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACnE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC;iBACxB;aACJ;iBAAI;gBACD,kBAAQ,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;aACjE;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEM,KAAK,CAAC,QAA2B,EAAE,QAAQ,GAAG,CAAC;QAElD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;SAEhD;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC;IAEM,WAAW,CAAC,QAAa,EAAE,WAAoB,EAAE,QAAgB;QAEpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU;IAEjB,CAAC;CACJ;AAvFD,0BAuFC"}
@@ -19,7 +19,6 @@ export class AccessControl extends ActionFilter {
19
19
 
20
20
  public user: any = null;
21
21
  public rules: any;
22
- public denyCallback: any = null;
23
22
 
24
23
  public init() {
25
24
  super.init()
@@ -28,7 +27,7 @@ export class AccessControl extends ActionFilter {
28
27
  this.user = Utils.cloneDeep(BaseChyz.getComponent("user")) ?? new WebUser();
29
28
  }
30
29
 
31
- this.rules.forEach((rule: any, index: number) => {
30
+ this.rules.forEach((rule:any, index:number) => {
32
31
  if (rule === Object(rule)) {
33
32
  this.rules[index] = Utils.createObject(new AccessRule(), rule);
34
33
  }
@@ -36,7 +35,7 @@ export class AccessControl extends ActionFilter {
36
35
  }
37
36
 
38
37
 
39
- public async beforeAction(action: any, request: Request) {
38
+ public async beforeAction(action:any, request:Request) {
40
39
  let allow;
41
40
  // @ts-ignore
42
41
  let user = request.user ?? this.user;
@@ -44,27 +43,15 @@ export class AccessControl extends ActionFilter {
44
43
  user.identity = request.identity ?? null;
45
44
 
46
45
  for (const rulesKey in this.rules) {
47
-
48
- let rule = this.rules[rulesKey];
49
- if ((allow = await rule.allows(action, user, request))) {
46
+ if ((allow = this.rules[rulesKey].allows(action, user, request))) {
50
47
  return true;
51
48
  } else if (allow === false) {
52
- if (this.denyCallback != null) {
53
- rule.denyCallback.apply(rule, action);
54
- } else {
55
- this.denyAccess(user);
56
- }
49
+ this.denyAccess(user);
50
+
57
51
  return false;
58
52
  }
59
53
  }
60
-
61
-
62
- if (this.denyCallback != null) {
63
- this.denyCallback.apply(null, action);
64
- } else {
65
- this.denyAccess(user);
66
- }
67
-
54
+ this.denyAccess(user);
68
55
  return false;
69
56
  }
70
57