bruce-models 0.3.5 → 0.3.7

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.
@@ -4871,19 +4871,28 @@
4871
4871
  }
4872
4872
  Session.Logout = Logout;
4873
4873
  function IsPermEnabled(session, accountId, perm) {
4874
- var _a;
4874
+ var _a, _b;
4875
4875
  if (!perm) {
4876
4876
  throw ("Perm is required.");
4877
4877
  }
4878
4878
  perm = perm.toLocaleUpperCase();
4879
- 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; });
4880
- if (!group) {
4879
+ var perms = (_b = (_a = session === null || session === void 0 ? void 0 : session.User) === null || _a === void 0 ? void 0 : _a.AccessPermissions) === null || _b === void 0 ? void 0 : _b.find(function (x) { return x["ClientAccount.ID"] == accountId; });
4880
+ if (!perms) {
4881
4881
  return false;
4882
4882
  }
4883
- if (!group.EnabledFeatures) {
4884
- group.EnabledFeatures = [];
4883
+ if (!perms.UserGroups) {
4884
+ perms.UserGroups = [];
4885
+ }
4886
+ for (var i = 0; i < perms.UserGroups.length; i++) {
4887
+ var group = perms.UserGroups[i];
4888
+ if (typeof group != "string") {
4889
+ var features = group.Features;
4890
+ if (features && features.findIndex(function (x) { return x.toLocaleUpperCase() == perm; }) > -1) {
4891
+ return true;
4892
+ }
4893
+ }
4885
4894
  }
4886
- return group.EnabledFeatures.findIndex(function (x) { return x.toLocaleUpperCase() == perm; }) > -1;
4895
+ return false;
4887
4896
  }
4888
4897
  Session.IsPermEnabled = IsPermEnabled;
4889
4898
  function IsSuperPermEnabled(session, perm) {