bruce-models 0.2.1 → 0.2.2

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.
@@ -114,14 +114,20 @@ var Session;
114
114
  });
115
115
  }
116
116
  Session.Logout = Logout;
117
- function IsPermEnabled(session, perm) {
118
- var _a, _b;
117
+ function IsPermEnabled(session, accountId, perm) {
118
+ var _a;
119
119
  if (!perm) {
120
120
  throw ("Perm is required.");
121
121
  }
122
122
  perm = perm.toLocaleUpperCase();
123
- var accessPerms = (_b = (_a = session.AccessPermissions) === null || _a === void 0 ? void 0 : _a.EnabledFeatures) !== null && _b !== void 0 ? _b : [];
124
- return accessPerms.findIndex(function (x) { return x.toLocaleUpperCase() == perm; }) > -1;
123
+ var group = (_a = session === null || session === void 0 ? void 0 : session.AccessPermissions) === null || _a === void 0 ? void 0 : _a.find(function (x) { return x["ClientAccount.ID"] == accountId; });
124
+ if (!group) {
125
+ return false;
126
+ }
127
+ if (!group.EnabledFeatures) {
128
+ group.EnabledFeatures = [];
129
+ }
130
+ return group.EnabledFeatures.findIndex(function (x) { return x.toLocaleUpperCase() == perm; }) > -1;
125
131
  }
126
132
  Session.IsPermEnabled = IsPermEnabled;
127
133
  function IsSuperPermEnabled(session, perm) {
@@ -130,12 +136,12 @@ var Session;
130
136
  throw ("Perm is required.");
131
137
  }
132
138
  perm = perm.toLocaleUpperCase();
133
- var accessPerms = (_b = (_a = session.HypeportalAccessPermisssions) === null || _a === void 0 ? void 0 : _a.EnabledFeatures) !== null && _b !== void 0 ? _b : [];
139
+ var accessPerms = (_b = (_a = session === null || session === void 0 ? void 0 : session.HypeportalAccessPermisssions) === null || _a === void 0 ? void 0 : _a.EnabledFeatures) !== null && _b !== void 0 ? _b : [];
134
140
  return accessPerms.findIndex(function (x) { return x.toLocaleUpperCase() == perm; }) > -1;
135
141
  }
136
142
  Session.IsSuperPermEnabled = IsSuperPermEnabled;
137
- function IsAccountAdmin(session) {
138
- return IsPermEnabled(session, permission_1.Permission.EPerm.ADMIN);
143
+ function IsAccountAdmin(session, accountId) {
144
+ return IsPermEnabled(session, accountId, permission_1.Permission.EPerm.ADMIN);
139
145
  }
140
146
  Session.IsAccountAdmin = IsAccountAdmin;
141
147
  function IsSuperAdmin(session) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/user/session.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAiC;AAGjC,2CAA0C;AAG1C;;;;GAIG;AACH,IAAiB,OAAO,CAoFvB;AApFD,WAAiB,OAAO;IACpB,SAAS,WAAW,CAAC,SAAiB;QAClC,OAAO,KAAG,SAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAW,CAAC;IACrE,CAAC;IAiBD,SAAsB,GAAG,CAAC,GAAW,EAAE,SAAiB;;;;gBACpD,IAAI,CAAC,SAAS,EAAE;oBACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;iBACpC;gBACK,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC7B,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,SAAS,EAAE;oBACX,sBAAO,SAAS,EAAC;iBACpB;gBACK,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,aAAW,SAAW,CAAC,CAAC;gBAC5C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpD,sBAAO,GAAG,EAAC;;;KACd;IAZqB,WAAG,MAYxB,CAAA;IAED,SAAsB,KAAK,CAAC,GAAW,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAkB;;;;;;wBAC3F,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;4BACxB,MAAK,CAAC,qCAAqC,CAAC,CAAC;yBAChD;wBACiB,qBAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;gCACtC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gCACnC,KAAK,EAAE,QAAQ;gCACf,QAAQ,EAAE,QAAQ;6BACrB,CAAC,EAAA;;wBAJI,IAAI,GAAQ,SAIhB;wBACI,OAAO,GAAa,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC;wBAClC,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAC;wBACzB,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACvB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpC,sBAAO,OAAO,EAAC;;;;KAClB;IAdqB,aAAK,QAc1B,CAAA;IAED,SAAsB,MAAM,CAAC,GAAW;;;;;;wBAC9B,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;6BAC5B,IAAI,EAAJ,wBAAI;wBACJ,qBAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAA;;wBAA9B,SAA8B,CAAC;wBAC/B,GAAG,CAAC,YAAY,CAAM,IAAI,CAAC,CAAC;wBAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;KAE3C;IAPqB,cAAM,SAO3B,CAAA;IAED,SAAgB,aAAa,CAAC,OAAiB,EAAE,IAAY;;QACzD,IAAI,CAAC,IAAI,EAAE;YACP,MAAK,CAAC,mBAAmB,CAAC,CAAC;SAC9B;QACD,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChC,IAAM,WAAW,eAAG,OAAO,CAAC,iBAAiB,0CAAE,eAAe,mCAAI,EAAE,CAAC;QACrE,OAAO,WAAW,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAA7B,CAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAPe,qBAAa,gBAO5B,CAAA;IAED,SAAgB,kBAAkB,CAAC,OAAiB,EAAE,IAAY;;QAC9D,IAAI,CAAC,IAAI,EAAE;YACP,MAAK,CAAC,mBAAmB,CAAC,CAAC;SAC9B;QACD,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChC,IAAM,WAAW,eAAG,OAAO,CAAC,4BAA4B,0CAAE,eAAe,mCAAI,EAAE,CAAC;QAChF,OAAO,WAAW,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAA7B,CAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAPe,0BAAkB,qBAOjC,CAAA;IAED,SAAgB,cAAc,CAAC,OAAiB;QAC5C,OAAO,aAAa,CAAC,OAAO,EAAE,uBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAFe,sBAAc,iBAE7B,CAAA;IAED,SAAgB,YAAY,CAAC,OAAiB;QAC1C,OAAO,kBAAkB,CAAC,OAAO,EAAE,uBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAFe,oBAAY,eAE3B,CAAA;AACL,CAAC,EApFgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAoFvB"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/user/session.ts"],"names":[],"mappings":"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"}
@@ -9,23 +9,28 @@ import { User } from "./user";
9
9
  */
10
10
  export declare namespace Session {
11
11
  interface ISession {
12
- AccessPermissions: IAccessPermissions;
13
- HypeportalAccessPermisssions?: IAccessPermissions;
12
+ AccessPermissions: IAccountPermissions[];
13
+ HypeportalAccessPermisssions?: ISuperPermissions;
14
14
  "ClientAccount.ID": string;
15
15
  ID: string;
16
16
  IP: string;
17
17
  LastAccessTime: UTC.IUTC;
18
18
  User: User.IUser;
19
19
  }
20
- interface IAccessPermissions {
20
+ interface IAccountPermissions {
21
+ "ClientAccount.ID"?: string;
22
+ EnabledFeatures?: Permission.Perm[];
23
+ UserGroups?: string[];
24
+ }
25
+ interface ISuperPermissions {
21
26
  EnabledFeatures?: Permission.Perm[];
22
27
  UserGroups?: string[];
23
28
  }
24
29
  function Get(api: IdmApi, sessionId: string): Promise<ISession>;
25
30
  function Login(api: IdmApi, username: string, password: string, accountId?: string): Promise<ISession>;
26
31
  function Logout(api: IdmApi): Promise<void>;
27
- function IsPermEnabled(session: ISession, perm: string): boolean;
32
+ function IsPermEnabled(session: ISession, accountId: string, perm: string): boolean;
28
33
  function IsSuperPermEnabled(session: ISession, perm: string): boolean;
29
- function IsAccountAdmin(session: ISession): boolean;
34
+ function IsAccountAdmin(session: ISession, accountId: string): boolean;
30
35
  function IsSuperAdmin(session: ISession): boolean;
31
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-models",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-models.umd.js",