@loopback/authorization 0.7.6 → 0.9.0

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,47 @@
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.9.0](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.8.1...@loopback/authorization@0.9.0) (2021-05-03)
7
+
8
+
9
+ ### Features
10
+
11
+ * support node v16 ([ac99415](https://github.com/strongloop/loopback-next/commit/ac994154543bde22b4482ba98813351656db1b55))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.8.1](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.8.0...@loopback/authorization@0.8.1) (2021-04-06)
18
+
19
+ **Note:** Version bump only for package @loopback/authorization
20
+
21
+
22
+
23
+
24
+
25
+ # [0.8.0](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.7...@loopback/authorization@0.8.0) (2021-03-18)
26
+
27
+
28
+ ### Features
29
+
30
+ * update package-lock.json to v2 consistently ([dfc3fbd](https://github.com/strongloop/loopback-next/commit/dfc3fbdae0c9ca9f34c64154a471bef22d5ac6b7))
31
+
32
+
33
+
34
+
35
+
36
+ ## [0.7.7](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.6...@loopback/authorization@0.7.7) (2021-02-09)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * **authorization:** allow `[@authorize](https://github.com/authorize).skip` and other metadata for subclasses ([f54979e](https://github.com/strongloop/loopback-next/commit/f54979e0eef95b4bf7094548dac32649c33307cf))
42
+
43
+
44
+
45
+
46
+
6
47
  ## [0.7.6](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.5...@loopback/authorization@0.7.6) (2021-01-21)
7
48
 
8
49
  **Note:** Version bump only for package @loopback/authorization
@@ -1 +1 @@
1
- {"version":3,"file":"authorize-interceptor.js","sourceRoot":"","sources":["../src/authorize-interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorize-interceptor.js","sourceRoot":"","sources":["../src/authorize-interceptor.ts"],"names":[],"mappings":"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"}
@@ -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/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,uCAAuC;AACvC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,iDAAsE;AAEtE,qEAAqE;AACrE,+DAA+D;AAE/D;;;;;;;;;;;GAWG;AACH,SAAgB,8BAA8B,CAAC,IAAiB;;IAC9D,OAAO;QACL,GAAG,IAAI;QACP,IAAI,QAAE,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,qBAAU,CAAC;QACnC,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC;AAND,wEAMC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,uCAAuC;AACvC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,iDAAsE;AAEtE,qEAAqE;AACrE,+DAA+D;AAE/D;;;;;;;;;;;GAWG;AACH,SAAgB,8BAA8B,CAAC,IAAiB;;IAC9D,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,qBAAU,CAAC;QACnC,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC;AAND,wEAMC"}
package/package.json CHANGED
@@ -1,11 +1,23 @@
1
1
  {
2
2
  "name": "@loopback/authorization",
3
- "version": "0.7.6",
4
3
  "description": "A LoopBack component for authorization support.",
4
+ "version": "0.9.0",
5
+ "keywords": [
6
+ "LoopBack",
7
+ "Authorization"
8
+ ],
9
+ "license": "MIT",
5
10
  "main": "dist/index.js",
6
11
  "types": "dist/index.d.ts",
12
+ "author": "IBM Corp.",
13
+ "copyright.owner": "IBM Corp.",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/strongloop/loopback-next.git",
17
+ "directory": "packages/authorization"
18
+ },
7
19
  "engines": {
8
- "node": "^10.16 || 12 || 14 || 15"
20
+ "node": "^10.16 || 12 || 14 || 16"
9
21
  },
10
22
  "scripts": {
11
23
  "acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -17,32 +29,9 @@
17
29
  "unit": "lb-mocha \"dist/__tests__/unit/**/*.js\"",
18
30
  "verify": "npm pack && tar xf loopback-authorization*.tgz && tree package && npm run clean"
19
31
  },
20
- "author": "IBM Corp.",
21
- "copyright.owner": "IBM Corp.",
22
- "license": "MIT",
23
32
  "publishConfig": {
24
33
  "access": "public"
25
34
  },
26
- "peerDependencies": {
27
- "@loopback/core": "^2.14.0"
28
- },
29
- "dependencies": {
30
- "@loopback/security": "^0.3.6",
31
- "debug": "^4.3.1",
32
- "tslib": "^2.0.3"
33
- },
34
- "devDependencies": {
35
- "@loopback/build": "^6.2.9",
36
- "@loopback/core": "^2.14.0",
37
- "@loopback/testlab": "^3.2.11",
38
- "@types/debug": "^4.1.5",
39
- "@types/node": "10.17.35",
40
- "casbin": "^5.2.3"
41
- },
42
- "keywords": [
43
- "LoopBack",
44
- "Authorization"
45
- ],
46
35
  "files": [
47
36
  "README.md",
48
37
  "dist",
@@ -50,10 +39,21 @@
50
39
  "!*/__tests__",
51
40
  "!/fixtures"
52
41
  ],
53
- "repository": {
54
- "type": "git",
55
- "url": "https://github.com/strongloop/loopback-next.git",
56
- "directory": "packages/authorization"
42
+ "peerDependencies": {
43
+ "@loopback/core": "^2.16.0"
44
+ },
45
+ "dependencies": {
46
+ "@loopback/security": "^0.5.0",
47
+ "debug": "^4.3.1",
48
+ "tslib": "^2.2.0"
49
+ },
50
+ "devDependencies": {
51
+ "@loopback/build": "^6.4.0",
52
+ "@loopback/core": "^2.16.0",
53
+ "@loopback/testlab": "^3.4.0",
54
+ "@types/debug": "^4.1.5",
55
+ "@types/node": "10.17.59",
56
+ "casbin": "^5.6.2"
57
57
  },
58
- "gitHead": "fd33be0291c4653bee885535d27ebfd8af264e42"
58
+ "gitHead": "2ca802912d8c7750d0256f3c3d493c4525415201"
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) {