@vendasta/iam 3.3.2 → 3.5.0

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.
@@ -199,6 +199,7 @@ var PersonaType;
199
199
  PersonaType["vendor"] = "vendor";
200
200
  PersonaType["digital_agent"] = "digital_agent";
201
201
  PersonaType["developer"] = "developer";
202
+ PersonaType["superadmin"] = "superadmin";
202
203
  PersonaType["success"] = "success";
203
204
  PersonaType["account_group"] = "account_group";
204
205
  PersonaType["crm_role"] = "crm_role";
@@ -304,6 +305,13 @@ class DeveloperPersona extends TypedPersona {
304
305
  }
305
306
  }
306
307
 
308
+ class SuperadminPersona extends TypedPersona {
309
+ constructor() {
310
+ super(...arguments);
311
+ this.type = PersonaType.superadmin;
312
+ }
313
+ }
314
+
307
315
  class PartnerPersona extends TypedPersona {
308
316
  constructor() {
309
317
  super(...arguments);
@@ -339,6 +347,11 @@ const TitleChoice = {
339
347
  REP_MAN_FOR_SMB: 'repManForSmb',
340
348
  MARKET_FOR_SMB: 'marketForSmb'
341
349
  };
350
+ const AccessLevel = {
351
+ NONE: 'none',
352
+ ALL: 'all',
353
+ OWNED: 'owned'
354
+ };
342
355
  class SalespersonPersona extends NamespacedPersona {
343
356
  constructor() {
344
357
  super(...arguments);
@@ -346,6 +359,9 @@ class SalespersonPersona extends NamespacedPersona {
346
359
  this.canAccessProposals = true;
347
360
  this.canAccessInbox = true;
348
361
  this.canAccessLeaderboard = true;
362
+ this.canAccessPricing = true;
363
+ this.ordersAccessScope = AccessLevel.ALL;
364
+ this.opportunitiesAccessScope = AccessLevel.ALL;
349
365
  this.titleChoice = TitleChoice.PARTNER_FOR_SMB;
350
366
  }
351
367
  }
@@ -419,6 +435,8 @@ function getTypeFromContext(ctx) {
419
435
  return PersonaType.digital_agent;
420
436
  case 'developer':
421
437
  return PersonaType.developer;
438
+ case 'superadmin':
439
+ return PersonaType.superadmin;
422
440
  case 'success':
423
441
  return PersonaType.success;
424
442
  case 'account_group':
@@ -437,6 +455,7 @@ function getPersonaFromType(personaType) {
437
455
  'vendor': VendorPersona,
438
456
  'digital_agent': DigitalAgentPersona,
439
457
  'developer': DeveloperPersona,
458
+ 'superadmin': SuperadminPersona,
440
459
  'success': SuccessPersona,
441
460
  'account_group': AccountGroupPersona,
442
461
  'crm_role': CRMRolePersona,