@loopback/authorization 0.7.6 → 0.7.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.7.7](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.6...@loopback/authorization@0.7.7) (2021-02-09)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **authorization:** allow `[@authorize](https://github.com/authorize).skip` and other metadata for subclasses ([f54979e](https://github.com/strongloop/loopback-next/commit/f54979e0eef95b4bf7094548dac32649c33307cf))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [0.7.6](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.5...@loopback/authorization@0.7.6) (2021-01-21)
7
18
 
8
19
  **Note:** Version bump only for package @loopback/authorization
@@ -18,7 +18,7 @@ class AuthorizeMethodDecoratorFactory extends core_1.MethodDecoratorFactory {
18
18
  ownMetadata = ownMetadata || {};
19
19
  let methodMeta = ownMetadata[methodName];
20
20
  if (!methodMeta) {
21
- methodMeta = {};
21
+ methodMeta = { ...this.spec };
22
22
  ownMetadata[methodName] = methodMeta;
23
23
  }
24
24
  if (this.spec.allowedRoles) {
@@ -33,13 +33,12 @@ class AuthorizeMethodDecoratorFactory extends core_1.MethodDecoratorFactory {
33
33
  if (this.spec.voters) {
34
34
  methodMeta.voters = this.merge(methodMeta.voters, this.spec.voters);
35
35
  }
36
- if (this.spec.resource) {
37
- methodMeta.resource = this.spec.resource;
38
- }
39
36
  return ownMetadata;
40
37
  }
41
38
  merge(src, target) {
42
39
  const list = [];
40
+ if (src === target)
41
+ return src !== null && src !== void 0 ? src : list;
43
42
  const set = new Set(src !== null && src !== void 0 ? src : []);
44
43
  if (target) {
45
44
  for (const i of target) {
@@ -1 +1 @@
1
- {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/decorators/authorize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/decorators/authorize.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loopback/authorization",
3
- "version": "0.7.6",
3
+ "version": "0.7.7",
4
4
  "description": "A LoopBack component for authorization support.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,17 +24,17 @@
24
24
  "access": "public"
25
25
  },
26
26
  "peerDependencies": {
27
- "@loopback/core": "^2.14.0"
27
+ "@loopback/core": "^2.14.1"
28
28
  },
29
29
  "dependencies": {
30
- "@loopback/security": "^0.3.6",
30
+ "@loopback/security": "^0.3.7",
31
31
  "debug": "^4.3.1",
32
- "tslib": "^2.0.3"
32
+ "tslib": "^2.1.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@loopback/build": "^6.2.9",
36
- "@loopback/core": "^2.14.0",
37
- "@loopback/testlab": "^3.2.11",
36
+ "@loopback/core": "^2.14.1",
37
+ "@loopback/testlab": "^3.2.12",
38
38
  "@types/debug": "^4.1.5",
39
39
  "@types/node": "10.17.35",
40
40
  "casbin": "^5.2.3"
@@ -55,5 +55,5 @@
55
55
  "url": "https://github.com/strongloop/loopback-next.git",
56
56
  "directory": "packages/authorization"
57
57
  },
58
- "gitHead": "fd33be0291c4653bee885535d27ebfd8af264e42"
58
+ "gitHead": "0fcf97fa1e87457de85f8f1b6b5cbf9f4f0bd640"
59
59
  }
@@ -43,7 +43,7 @@ export class AuthorizeMethodDecoratorFactory extends MethodDecoratorFactory<Auth
43
43
  ownMetadata = ownMetadata || {};
44
44
  let methodMeta = ownMetadata[methodName!];
45
45
  if (!methodMeta) {
46
- methodMeta = {};
46
+ methodMeta = {...this.spec};
47
47
  ownMetadata[methodName!] = methodMeta;
48
48
  }
49
49
  if (this.spec.allowedRoles) {
@@ -65,15 +65,12 @@ export class AuthorizeMethodDecoratorFactory extends MethodDecoratorFactory<Auth
65
65
  methodMeta.voters = this.merge(methodMeta.voters, this.spec.voters);
66
66
  }
67
67
 
68
- if (this.spec.resource) {
69
- methodMeta.resource = this.spec.resource;
70
- }
71
-
72
68
  return ownMetadata;
73
69
  }
74
70
 
75
71
  private merge<T>(src?: T[], target?: T[]): T[] {
76
72
  const list: T[] = [];
73
+ if (src === target) return src ?? list;
77
74
  const set = new Set<T>(src ?? []);
78
75
  if (target) {
79
76
  for (const i of target) {