@spinajs/rbac 1.2.152 → 1.2.161

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.
@@ -23,6 +23,25 @@ module.exports = {
23
23
  Description: 'Simple account without any privlidge',
24
24
  },
25
25
  ],
26
+ grants: {
27
+ 'admin.users': {
28
+ users: {
29
+ 'create:any': ['*'],
30
+ 'read:any': ['*'],
31
+ 'update:any': ['*'],
32
+ 'delete:any': ['*'],
33
+ },
34
+ },
35
+ user: {
36
+ users: {
37
+ 'read:own': ['Email', 'Login', 'NiceName'],
38
+ 'update:own': ['Email', 'Login', 'Password', 'NiceName'],
39
+ },
40
+ },
41
+ admin: {
42
+ $extend: ['admin.users'],
43
+ },
44
+ },
26
45
  defaultRole: 'guest',
27
46
  session: {
28
47
  // 2h session expiration time
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../src/config/rbac.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC7B;KACF;IACD,IAAI,EAAE;QACJ,gDAAgD;QAChD,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;aAC7B;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,sCAAsC;aACpD;SACF;QACD,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE;YACP,8BAA8B;YAC9B,UAAU,EAAE,GAAG;SAChB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../src/config/rbac.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC7B;KACF;IACD,IAAI,EAAE;QACJ,gDAAgD;QAChD,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;aAC7B;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,sCAAsC;aACpD;SACF;QACD,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC,GAAG,CAAC;oBACnB,UAAU,EAAE,CAAC,GAAG,CAAC;oBACjB,YAAY,EAAE,CAAC,GAAG,CAAC;oBACnB,YAAY,EAAE,CAAC,GAAG,CAAC;iBACpB;aACF;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;oBAC1C,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;iBACzD;aACF;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,aAAa,CAAC;aACzB;SACF;QACD,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE;YACP,8BAA8B;YAC9B,UAAU,EAAE,GAAG;SAChB;KACF;CACF,CAAC"}
package/lib/index.js CHANGED
@@ -38,9 +38,13 @@ let RbacBootstrapper = class RbacBootstrapper extends di_1.Bootstrapper {
38
38
  bootstrap() {
39
39
  const ac = new accesscontrol_1.AccessControl();
40
40
  di_1.DI.register(ac).asValue('AccessControl');
41
- ac.grant('admin.users').createAny('users').updateAny('users').deleteAny('users').readAny('users');
42
- ac.grant('user').updateOwn('users', ['Email', 'Login', 'Password', 'NiceName']);
43
- ac.grant('admin').extend('admin.users');
41
+ di_1.DI.once('di.resolved.Configuration', (container, configuration) => {
42
+ const ac = container.get('AccessControl');
43
+ const grants = configuration.get('rbac.grants');
44
+ if (grants) {
45
+ ac.setGrants(grants);
46
+ }
47
+ });
44
48
  }
45
49
  };
46
50
  RbacBootstrapper = __decorate([
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA2D;AAC3D,kBAAgB;AAChB,sBAAoB;AACpB,qBAAmB;AACnB,iDAA8C;AAE9C,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,4CAA0B;AAC1B,gDAA8B;AAC9B,wDAAsC;AACtC,+CAA8C;AAArC,8GAAA,aAAa,OAAA;AAGtB,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,iBAAY;IACzC,SAAS;QACd,MAAM,EAAE,GAAG,IAAI,6BAAa,EAAE,CAAC;QAC/B,OAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AATY,gBAAgB;IAD5B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,gBAAgB,CAS5B;AATY,4CAAgB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAuE;AACvE,kBAAgB;AAChB,sBAAoB;AACpB,qBAAmB;AACnB,iDAA8C;AAG9C,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,4CAA0B;AAC1B,gDAA8B;AAC9B,wDAAsC;AACtC,+CAA8C;AAArC,8GAAA,aAAa,OAAA;AAGtB,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,iBAAY;IACzC,SAAS;QACd,MAAM,EAAE,GAAG,IAAI,6BAAa,EAAE,CAAC;QAC/B,OAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzC,OAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,SAAqB,EAAE,aAA4B,EAAE,EAAE;YAC3F,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE;gBACV,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAZY,gBAAgB;IAD5B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,gBAAgB,CAY5B;AAZY,4CAAgB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinajs/rbac",
3
- "version": "1.2.152",
3
+ "version": "1.2.161",
4
4
  "description": "Role and Attribute based Access Control for SpinaJS framework",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -42,7 +42,7 @@
42
42
  "@spinajs/di": "^1.2.127",
43
43
  "@spinajs/exceptions": "^1.2.127",
44
44
  "@spinajs/log": "^1.2.137",
45
- "@spinajs/orm": "^1.2.140",
45
+ "@spinajs/orm": "^1.2.161",
46
46
  "@spinajs/reflection": "^1.2.137",
47
47
  "accesscontrol": "^2.2.1",
48
48
  "argon2": "^0.28.5",
@@ -52,7 +52,7 @@
52
52
  "uuid": "^8.1.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@spinajs/orm-sqlite": "^1.2.140"
55
+ "@spinajs/orm-sqlite": "^1.2.161"
56
56
  },
57
- "gitHead": "c18f00316083d2ce7a080572b833cb4cc37bef7d"
57
+ "gitHead": "3d19ce4912042ecb6378df155bdf7c8614bb80fe"
58
58
  }