@spinajs/rbac-http 2.0.321 → 2.0.323

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.
@@ -2,8 +2,8 @@ import { User, ISession } from '@spinajs/rbac';
2
2
  export type PermissionType = 'readAny' | 'readOwn' | 'updateAny' | 'updateOwn' | 'deleteAny' | 'deleteOwn' | 'createAny' | 'createOwn';
3
3
  declare module '@spinajs/http' {
4
4
  interface IActionLocalStoregeContext {
5
- user: User | null;
6
- session: ISession;
5
+ User: User | null;
6
+ Session: ISession;
7
7
  }
8
8
  }
9
9
  export interface IRbacDescriptor {
@@ -60,11 +60,11 @@ let RbacMiddleware = class RbacMiddleware extends http_1.ServerMiddleware {
60
60
  * If we have session, try to restore user with data from session
61
61
  * otherwise try to create guest
62
62
  */
63
- req.storage.user = di_1.DI.resolve('RbacUserFactory', [session.Data.get('User')]);
64
- req.storage.session = session;
63
+ req.storage.User = di_1.DI.resolve('RbacUserFactory', [session.Data.get('User')]);
64
+ req.storage.Session = session;
65
65
  }
66
66
  else {
67
- req.storage.user = di_1.DI.resolve('RbacGuestUserFactory');
67
+ req.storage.User = di_1.DI.resolve('RbacGuestUserFactory');
68
68
  }
69
69
  next();
70
70
  }
@@ -12,10 +12,10 @@ class AllowGuest extends http_1.BasePolicy {
12
12
  return true;
13
13
  }
14
14
  async execute(req) {
15
- if (!req.storage || !req.storage.user) {
15
+ if (!req.storage || !req.storage.User) {
16
16
  throw new exceptions_1.Forbidden('user not logged or session expired');
17
17
  }
18
- const user = req.storage.user;
18
+ const user = req.storage.User;
19
19
  if (user.IsGuest) {
20
20
  // if we disable guest account in config file, throw
21
21
  if (!user.IsActive) {
@@ -12,10 +12,10 @@ class BlockGuest extends http_1.BasePolicy {
12
12
  return true;
13
13
  }
14
14
  async execute(req) {
15
- if (!req.storage || !req.storage.user) {
15
+ if (!req.storage || !req.storage.User) {
16
16
  throw new exceptions_1.Forbidden('user not logged or session expired');
17
17
  }
18
- if (req.storage.user) {
18
+ if (req.storage.User) {
19
19
  throw new exceptions_1.Forbidden('user not logged or session expired');
20
20
  }
21
21
  return Promise.resolve();
@@ -13,7 +13,7 @@ class LoggedPolicy extends http_1.BasePolicy {
13
13
  return true;
14
14
  }
15
15
  async execute(req) {
16
- if (!req.storage || !req.storage.user || !req.storage.session?.Data.get('Authorized')) {
16
+ if (!req.storage || !req.storage.User || !req.storage.Session?.Data.get('Authorized')) {
17
17
  throw new exceptions_1.Forbidden('user not logged or session expired');
18
18
  }
19
19
  return Promise.resolve();
@@ -12,7 +12,7 @@ class NotLoggedPolicy extends http_1.BasePolicy {
12
12
  return true;
13
13
  }
14
14
  async execute(req) {
15
- if (!req.storage || !req.storage.user || !req.storage.session?.Data.get('Authorized')) {
15
+ if (!req.storage || !req.storage.User || !req.storage.Session?.Data.get('Authorized')) {
16
16
  return Promise.resolve();
17
17
  }
18
18
  throw new exceptions_1.Forbidden('User already logged in, please logout first');
@@ -27,11 +27,11 @@ class RbacPolicy extends http_1.BasePolicy {
27
27
  if (!descriptor || !descriptor.Permission) {
28
28
  throw new exceptions_1.Forbidden(`no route permission or resources assigned`);
29
29
  }
30
- if (!req.storage || !req.storage.user || !req.storage.session.Data.get('Authorized')) {
30
+ if (!req.storage || !req.storage.User || !req.storage.Session.Data.get('Authorized')) {
31
31
  throw new exceptions_1.Forbidden('user not logged or session expired');
32
32
  }
33
33
  if (!checkRoutePermission(req, descriptor.Resource, permission).granted) {
34
- throw new exceptions_1.Forbidden(`role(s) ${req.storage.user.Role} does not have permission ${permission} for resource ${descriptor.Resource}`);
34
+ throw new exceptions_1.Forbidden(`role(s) ${req.storage.User.Role} does not have permission ${permission} for resource ${descriptor.Resource}`);
35
35
  }
36
36
  }
37
37
  }
@@ -50,10 +50,10 @@ function checkUserPermission(user, resource, permission) {
50
50
  }
51
51
  exports.checkUserPermission = checkUserPermission;
52
52
  function checkRoutePermission(req, resource, permission) {
53
- if (!req.storage || !req.storage.user) {
53
+ if (!req.storage || !req.storage.User) {
54
54
  return null;
55
55
  }
56
- return checkUserPermission(req.storage.user, resource, permission);
56
+ return checkUserPermission(req.storage.User, resource, permission);
57
57
  }
58
58
  exports.checkRoutePermission = checkRoutePermission;
59
59
  //# sourceMappingURL=RbacPolicy.js.map
@@ -14,7 +14,7 @@ let UserArg = class UserArg extends http_1.RouteArgs {
14
14
  return http_1.ParameterType.Other;
15
15
  }
16
16
  async extract(callData, _param, req) {
17
- return { CallData: callData, Args: req.storage.user };
17
+ return { CallData: callData, Args: req.storage.User };
18
18
  }
19
19
  };
20
20
  exports.UserArg = UserArg;
@@ -26,7 +26,7 @@ let SessionArg = class SessionArg extends http_1.RouteArgs {
26
26
  return http_1.ParameterType.FromSession;
27
27
  }
28
28
  async extract(callData, param, req) {
29
- return { CallData: callData, Args: req.storage.session ? req.storage.session.Data.get(param.Name) : undefined };
29
+ return { CallData: callData, Args: req.storage.Session ? req.storage.Session.Data.get(param.Name) : undefined };
30
30
  }
31
31
  };
32
32
  exports.SessionArg = SessionArg;
@@ -38,7 +38,7 @@ let CurrentSessionArg = class CurrentSessionArg extends http_1.RouteArgs {
38
38
  return http_1.ParameterType.Other;
39
39
  }
40
40
  async extract(callData, _param, req) {
41
- return { CallData: callData, Args: req.storage.session };
41
+ return { CallData: callData, Args: req.storage.Session };
42
42
  }
43
43
  };
44
44
  exports.CurrentSessionArg = CurrentSessionArg;
@@ -2,8 +2,8 @@ import { User, ISession } from '@spinajs/rbac';
2
2
  export type PermissionType = 'readAny' | 'readOwn' | 'updateAny' | 'updateOwn' | 'deleteAny' | 'deleteOwn' | 'createAny' | 'createOwn';
3
3
  declare module '@spinajs/http' {
4
4
  interface IActionLocalStoregeContext {
5
- user: User | null;
6
- session: ISession;
5
+ User: User | null;
6
+ Session: ISession;
7
7
  }
8
8
  }
9
9
  export interface IRbacDescriptor {
@@ -34,11 +34,11 @@ let RbacMiddleware = class RbacMiddleware extends ServerMiddleware {
34
34
  * If we have session, try to restore user with data from session
35
35
  * otherwise try to create guest
36
36
  */
37
- req.storage.user = DI.resolve('RbacUserFactory', [session.Data.get('User')]);
38
- req.storage.session = session;
37
+ req.storage.User = DI.resolve('RbacUserFactory', [session.Data.get('User')]);
38
+ req.storage.Session = session;
39
39
  }
40
40
  else {
41
- req.storage.user = DI.resolve('RbacGuestUserFactory');
41
+ req.storage.User = DI.resolve('RbacGuestUserFactory');
42
42
  }
43
43
  next();
44
44
  }
@@ -9,10 +9,10 @@ export class AllowGuest extends BasePolicy {
9
9
  return true;
10
10
  }
11
11
  async execute(req) {
12
- if (!req.storage || !req.storage.user) {
12
+ if (!req.storage || !req.storage.User) {
13
13
  throw new Forbidden('user not logged or session expired');
14
14
  }
15
- const user = req.storage.user;
15
+ const user = req.storage.User;
16
16
  if (user.IsGuest) {
17
17
  // if we disable guest account in config file, throw
18
18
  if (!user.IsActive) {
@@ -9,10 +9,10 @@ export class BlockGuest extends BasePolicy {
9
9
  return true;
10
10
  }
11
11
  async execute(req) {
12
- if (!req.storage || !req.storage.user) {
12
+ if (!req.storage || !req.storage.User) {
13
13
  throw new Forbidden('user not logged or session expired');
14
14
  }
15
- if (req.storage.user) {
15
+ if (req.storage.User) {
16
16
  throw new Forbidden('user not logged or session expired');
17
17
  }
18
18
  return Promise.resolve();
@@ -10,7 +10,7 @@ export class LoggedPolicy extends BasePolicy {
10
10
  return true;
11
11
  }
12
12
  async execute(req) {
13
- if (!req.storage || !req.storage.user || !req.storage.session?.Data.get('Authorized')) {
13
+ if (!req.storage || !req.storage.User || !req.storage.Session?.Data.get('Authorized')) {
14
14
  throw new Forbidden('user not logged or session expired');
15
15
  }
16
16
  return Promise.resolve();
@@ -9,7 +9,7 @@ export class NotLoggedPolicy extends BasePolicy {
9
9
  return true;
10
10
  }
11
11
  async execute(req) {
12
- if (!req.storage || !req.storage.user || !req.storage.session?.Data.get('Authorized')) {
12
+ if (!req.storage || !req.storage.User || !req.storage.Session?.Data.get('Authorized')) {
13
13
  return Promise.resolve();
14
14
  }
15
15
  throw new Forbidden('User already logged in, please logout first');
@@ -24,11 +24,11 @@ export class RbacPolicy extends BasePolicy {
24
24
  if (!descriptor || !descriptor.Permission) {
25
25
  throw new Forbidden(`no route permission or resources assigned`);
26
26
  }
27
- if (!req.storage || !req.storage.user || !req.storage.session.Data.get('Authorized')) {
27
+ if (!req.storage || !req.storage.User || !req.storage.Session.Data.get('Authorized')) {
28
28
  throw new Forbidden('user not logged or session expired');
29
29
  }
30
30
  if (!checkRoutePermission(req, descriptor.Resource, permission).granted) {
31
- throw new Forbidden(`role(s) ${req.storage.user.Role} does not have permission ${permission} for resource ${descriptor.Resource}`);
31
+ throw new Forbidden(`role(s) ${req.storage.User.Role} does not have permission ${permission} for resource ${descriptor.Resource}`);
32
32
  }
33
33
  }
34
34
  }
@@ -44,9 +44,9 @@ export function checkUserPermission(user, resource, permission) {
44
44
  return ac.can(user.Role)[permission](resource);
45
45
  }
46
46
  export function checkRoutePermission(req, resource, permission) {
47
- if (!req.storage || !req.storage.user) {
47
+ if (!req.storage || !req.storage.User) {
48
48
  return null;
49
49
  }
50
- return checkUserPermission(req.storage.user, resource, permission);
50
+ return checkUserPermission(req.storage.User, resource, permission);
51
51
  }
52
52
  //# sourceMappingURL=RbacPolicy.js.map
@@ -11,7 +11,7 @@ let UserArg = class UserArg extends RouteArgs {
11
11
  return ParameterType.Other;
12
12
  }
13
13
  async extract(callData, _param, req) {
14
- return { CallData: callData, Args: req.storage.user };
14
+ return { CallData: callData, Args: req.storage.User };
15
15
  }
16
16
  };
17
17
  UserArg = __decorate([
@@ -23,7 +23,7 @@ let SessionArg = class SessionArg extends RouteArgs {
23
23
  return ParameterType.FromSession;
24
24
  }
25
25
  async extract(callData, param, req) {
26
- return { CallData: callData, Args: req.storage.session ? req.storage.session.Data.get(param.Name) : undefined };
26
+ return { CallData: callData, Args: req.storage.Session ? req.storage.Session.Data.get(param.Name) : undefined };
27
27
  }
28
28
  };
29
29
  SessionArg = __decorate([
@@ -35,7 +35,7 @@ let CurrentSessionArg = class CurrentSessionArg extends RouteArgs {
35
35
  return ParameterType.Other;
36
36
  }
37
37
  async extract(callData, _param, req) {
38
- return { CallData: callData, Args: req.storage.session };
38
+ return { CallData: callData, Args: req.storage.Session };
39
39
  }
40
40
  };
41
41
  CurrentSessionArg = __decorate([