namirasoft-access 1.3.5 → 1.3.6

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.
@@ -0,0 +1 @@
1
+ /src
File without changes
@@ -0,0 +1 @@
1
+ /src/AccessControl.ts
@@ -0,0 +1,4 @@
1
+ import { PolicyRow } from "./row/PolicyRow";
2
+ export declare class AccessControl {
3
+ isValid(policies: PolicyRow[], product_id: string, entity: string, action: string, id: string | null): boolean;
4
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccessControl = void 0;
4
+ class AccessControl {
5
+ isValid(policies, product_id, entity, action, id) {
6
+ for (let i = 0; i < policies.length; i++) {
7
+ const element = policies[i];
8
+ if (element.product_id === product_id)
9
+ if (element.entity == "*" || element.entity === entity)
10
+ if (element.actions == "*" || element.actions.split(";").includes(action))
11
+ if (element.resources == "*" || id === null || element.resources.split(";").includes(id))
12
+ return element.allow;
13
+ }
14
+ return false;
15
+ }
16
+ }
17
+ exports.AccessControl = AccessControl;
18
+ //# sourceMappingURL=AccessControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../src/AccessControl.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAEtB,OAAO,CAAC,QAAqB,EAAE,UAAkB,EAAE,MAAc,EAAE,MAAc,EAAE,EAAiB;QAEhG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EACxC;YACI,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU;gBACjC,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;oBAClD,IAAI,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACrE,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACpF,OAAO,OAAO,CAAC,KAAK,CAAC;SACxC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAfD,sCAeC"}
@@ -4,7 +4,7 @@ exports.NamirasoftAccessServerBase = void 0;
4
4
  const namirasoft_account_1 = require("namirasoft-account");
5
5
  class NamirasoftAccessServerBase extends namirasoft_account_1.NamirasoftServerBase {
6
6
  constructor(manager, onError) {
7
- super(`https://access.namirasoft.com/api/v1`, `1.3.5`, manager, onError);
7
+ super(`https://access.namirasoft.com/api/v1`, `1.3.6`, manager, onError);
8
8
  }
9
9
  }
10
10
  exports.NamirasoftAccessServerBase = NamirasoftAccessServerBase;
@@ -33,6 +33,14 @@ class PolicyCreateCommand extends namirasoft_node_cli_1.BaseFinalCommand {
33
33
  args: ["name"],
34
34
  defaults: [""]
35
35
  },
36
+ {
37
+ name: "entity",
38
+ short: "",
39
+ description: "Provides the value of 'entity' in body",
40
+ optional: false,
41
+ args: ["entity"],
42
+ defaults: [""]
43
+ },
36
44
  {
37
45
  name: "actions",
38
46
  short: "",
@@ -79,6 +87,7 @@ class PolicyCreateCommand extends namirasoft_node_cli_1.BaseFinalCommand {
79
87
  let ans = yield server.policy.Create({
80
88
  product_id: this.option_values.product_id,
81
89
  name: this.option_values.name,
90
+ entity: this.option_values.entity,
82
91
  actions: this.option_values.actions,
83
92
  resources: this.option_values.resources,
84
93
  allow: this.option_values.allow,
@@ -1 +1 @@
1
- {"version":3,"file":"PolicyCreateCommand.js","sourceRoot":"","sources":["../../src/command/PolicyCreateCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PolicyCreateCommand.js","sourceRoot":"","sources":["../../src/command/PolicyCreateCommand.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,14 @@ class PolicyUpdateCommand extends namirasoft_node_cli_1.BaseFinalCommand {
33
33
  args: ["name"],
34
34
  defaults: [""]
35
35
  },
36
+ {
37
+ name: "entity",
38
+ short: "",
39
+ description: "Provides the value of 'entity' in body",
40
+ optional: false,
41
+ args: ["entity"],
42
+ defaults: [""]
43
+ },
36
44
  {
37
45
  name: "actions",
38
46
  short: "",
@@ -79,6 +87,7 @@ class PolicyUpdateCommand extends namirasoft_node_cli_1.BaseFinalCommand {
79
87
  let ans = yield server.policy.Update(this.arg_values[0], {
80
88
  product_id: this.option_values.product_id,
81
89
  name: this.option_values.name,
90
+ entity: this.option_values.entity,
82
91
  actions: this.option_values.actions,
83
92
  resources: this.option_values.resources,
84
93
  allow: this.option_values.allow,
@@ -1 +1 @@
1
- {"version":3,"file":"PolicyUpdateCommand.js","sourceRoot":"","sources":["../../src/command/PolicyUpdateCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PolicyUpdateCommand.js","sourceRoot":"","sources":["../../src/command/PolicyUpdateCommand.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./AccessControl";
1
2
  export * from "./NamirasoftAccessServer";
2
3
  export * from "./NamirasoftAccessServerAccess";
3
4
  export * from "./NamirasoftAccessServerBase";
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AccessControl"), exports);
17
18
  __exportStar(require("./NamirasoftAccessServer"), exports);
18
19
  __exportStar(require("./NamirasoftAccessServerAccess"), exports);
19
20
  __exportStar(require("./NamirasoftAccessServerBase"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAoBA,2DAAyC;AACzC,iEAA+C;AAC/C,+DAA6C;AAC7C,kEAAgD;AAChD,qEAAmD;AACnD,iEAA+C;AAC/C,+DAA6C;AAC7C,0DAAwC;AACxC,6DAA2C;AAC3C,kEAAgD;AAChD,2DAAyC;AACzC,8DAA4C;AAC5C,8DAA4C;AAC5C,oEAAkD;AAClD,oEAAkD;AAClD,iEAA+C;AAC/C,yEAAuD;AACvD,yEAAuD;AACvD,kEAAgD;AAChD,0EAAwD;AACxD,0EAAwD;AACxD,oEAAkD;AAClD,0DAAwC;AACxC,gEAA8C;AAC9C,gEAA8C;AAC9C,6DAA2C;AAC3C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AACpD,gEAA8C;AAC9C,wDAAsC;AACtC,8DAA4C;AAC5C,8DAA4C;AAC5C,2DAAyC;AACzC,mEAAiD;AACjD,4DAA0C;AAC1C,oEAAkD;AAClD,8DAA4C;AAC5C,kDAAgC;AAChC,2DAAyC;AACzC,sDAAoC;AACpC,gDAA8B;AAC9B,uDAAqC;AACrC,kDAAgC;AAChC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAoBA,kDAAgC;AAChC,2DAAyC;AACzC,iEAA+C;AAC/C,+DAA6C;AAC7C,kEAAgD;AAChD,qEAAmD;AACnD,iEAA+C;AAC/C,+DAA6C;AAC7C,0DAAwC;AACxC,6DAA2C;AAC3C,kEAAgD;AAChD,2DAAyC;AACzC,8DAA4C;AAC5C,8DAA4C;AAC5C,oEAAkD;AAClD,oEAAkD;AAClD,iEAA+C;AAC/C,yEAAuD;AACvD,yEAAuD;AACvD,kEAAgD;AAChD,0EAAwD;AACxD,0EAAwD;AACxD,oEAAkD;AAClD,0DAAwC;AACxC,gEAA8C;AAC9C,gEAA8C;AAC9C,6DAA2C;AAC3C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AACpD,gEAA8C;AAC9C,wDAAsC;AACtC,8DAA4C;AAC5C,8DAA4C;AAC5C,2DAAyC;AACzC,mEAAiD;AACjD,4DAA0C;AAC1C,oEAAkD;AAClD,8DAA4C;AAC5C,kDAAgC;AAChC,2DAAyC;AACzC,sDAAoC;AACpC,gDAA8B;AAC9B,uDAAqC;AACrC,kDAAgC;AAChC,qDAAmC"}
@@ -1,6 +1,7 @@
1
1
  export type PolicyInputRow = {
2
2
  product_id: string;
3
3
  name: string;
4
+ entity: string;
4
5
  actions: string;
5
6
  resources: string;
6
7
  allow: boolean;
@@ -3,6 +3,7 @@ export type PolicyRow = {
3
3
  user_id: string;
4
4
  product_id: string;
5
5
  name: string;
6
+ entity: string;
6
7
  actions: string;
7
8
  resources: string;
8
9
  allow: boolean;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.5",
11
+ "version": "1.3.6",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -0,0 +1,18 @@
1
+ import { PolicyRow } from "./row/PolicyRow";
2
+
3
+ export class AccessControl
4
+ {
5
+ isValid(policies: PolicyRow[], product_id: string, entity: string, action: string, id: string | null): boolean
6
+ {
7
+ for (let i = 0; i < policies.length; i++)
8
+ {
9
+ const element = policies[i];
10
+ if (element.product_id === product_id)
11
+ if (element.entity == "*" || element.entity === entity)
12
+ if (element.actions == "*" || element.actions.split(";").includes(action))
13
+ if (element.resources == "*" || id === null || element.resources.split(";").includes(id))
14
+ return element.allow;
15
+ }
16
+ return false;
17
+ }
18
+ }
@@ -25,6 +25,6 @@ export class NamirasoftAccessServerBase extends NamirasoftServerBase
25
25
  {
26
26
  constructor(manager: TokenManager, onError: (error: Error) => void)
27
27
  {
28
- super(`https://access.namirasoft.com/api/v1`, `1.3.5`, manager, onError);
28
+ super(`https://access.namirasoft.com/api/v1`, `1.3.6`, manager, onError);
29
29
  }
30
30
  };
@@ -44,6 +44,14 @@ export class PolicyCreateCommand extends BaseFinalCommand
44
44
  args: ["name"],
45
45
  defaults: [""]
46
46
  },
47
+ {
48
+ name: "entity",
49
+ short: "",
50
+ description: "Provides the value of 'entity' in body",
51
+ optional: false,
52
+ args: ["entity"],
53
+ defaults: [""]
54
+ },
47
55
  {
48
56
  name: "actions",
49
57
  short: "",
@@ -90,6 +98,7 @@ export class PolicyCreateCommand extends BaseFinalCommand
90
98
  let ans = await server.policy.Create({
91
99
  product_id: this.option_values.product_id,
92
100
  name: this.option_values.name,
101
+ entity: this.option_values.entity,
93
102
  actions: this.option_values.actions,
94
103
  resources: this.option_values.resources,
95
104
  allow: this.option_values.allow,
@@ -44,6 +44,14 @@ export class PolicyUpdateCommand extends BaseFinalCommand
44
44
  args: ["name"],
45
45
  defaults: [""]
46
46
  },
47
+ {
48
+ name: "entity",
49
+ short: "",
50
+ description: "Provides the value of 'entity' in body",
51
+ optional: false,
52
+ args: ["entity"],
53
+ defaults: [""]
54
+ },
47
55
  {
48
56
  name: "actions",
49
57
  short: "",
@@ -90,6 +98,7 @@ export class PolicyUpdateCommand extends BaseFinalCommand
90
98
  let ans = await server.policy.Update(this.arg_values[0], {
91
99
  product_id: this.option_values.product_id,
92
100
  name: this.option_values.name,
101
+ entity: this.option_values.entity,
93
102
  actions: this.option_values.actions,
94
103
  resources: this.option_values.resources,
95
104
  allow: this.option_values.allow,
package/src/index.ts CHANGED
@@ -18,6 +18,7 @@
18
18
  /* */
19
19
  /****************************************************************/
20
20
 
21
+ export * from "./AccessControl";
21
22
  export * from "./NamirasoftAccessServer";
22
23
  export * from "./NamirasoftAccessServerAccess";
23
24
  export * from "./NamirasoftAccessServerBase";
@@ -22,6 +22,7 @@ export type PolicyInputRow =
22
22
  {
23
23
  product_id: string;
24
24
  name: string;
25
+ entity: string;
25
26
  actions: string;
26
27
  resources: string;
27
28
  allow: boolean;
@@ -24,6 +24,7 @@ export type PolicyRow =
24
24
  user_id: string;
25
25
  product_id: string;
26
26
  name: string;
27
+ entity: string;
27
28
  actions: string;
28
29
  resources: string;
29
30
  allow: boolean;