@vendasta/iam 2.0.1 → 2.3.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.
Files changed (135) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_generated/index.mjs +2 -0
  3. package/esm2020/lib/_internal/enums/api.enum.mjs +22 -0
  4. package/esm2020/lib/_internal/enums/index.mjs +12 -0
  5. package/esm2020/lib/_internal/enums/policies.enum.mjs +18 -0
  6. package/esm2020/lib/_internal/enums/resources.enum.mjs +14 -0
  7. package/esm2020/lib/_internal/enums/subjects.enum.mjs +17 -0
  8. package/esm2020/lib/_internal/enums/users.enum.mjs +13 -0
  9. package/esm2020/lib/_internal/iam.api.service.mjs +189 -0
  10. package/esm2020/lib/_internal/index.mjs +12 -0
  11. package/esm2020/lib/_internal/interfaces/annotations.interface.mjs +8 -0
  12. package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
  13. package/esm2020/lib/_internal/interfaces/attributes.interface.mjs +8 -0
  14. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  15. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  16. package/esm2020/lib/_internal/interfaces/policies.interface.mjs +3 -0
  17. package/esm2020/lib/_internal/interfaces/resources.interface.mjs +2 -0
  18. package/esm2020/lib/_internal/interfaces/security-logs.interface.mjs +8 -0
  19. package/esm2020/lib/_internal/interfaces/subjects.interface.mjs +2 -0
  20. package/esm2020/lib/_internal/interfaces/users.interface.mjs +2 -0
  21. package/esm2020/lib/_internal/objects/annotations.mjs +30 -0
  22. package/esm2020/lib/_internal/objects/api.mjs +1846 -0
  23. package/esm2020/lib/_internal/objects/attributes.mjs +158 -0
  24. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  25. package/esm2020/lib/_internal/objects/index.mjs +16 -0
  26. package/esm2020/lib/_internal/objects/policies.mjs +264 -0
  27. package/esm2020/lib/_internal/objects/resources.mjs +168 -0
  28. package/esm2020/lib/_internal/objects/security-logs.mjs +42 -0
  29. package/esm2020/lib/_internal/objects/subjects.mjs +352 -0
  30. package/esm2020/lib/_internal/objects/users.mjs +168 -0
  31. package/esm2020/lib/_internal/user-iam.api.service.mjs +65 -0
  32. package/esm2020/lib/http/http.interface.mjs +2 -0
  33. package/esm2020/lib/http/http.mjs +104 -0
  34. package/esm2020/lib/http/iam.http.api.service.mjs +67 -0
  35. package/esm2020/lib/iam.service.mjs +155 -0
  36. package/esm2020/lib/index.mjs +7 -0
  37. package/esm2020/lib/personas/account-group.mjs +9 -0
  38. package/esm2020/lib/personas/base-personas.mjs +93 -0
  39. package/esm2020/lib/personas/developer.mjs +9 -0
  40. package/esm2020/lib/personas/digital-agent.mjs +9 -0
  41. package/esm2020/lib/personas/index.mjs +12 -0
  42. package/esm2020/lib/personas/partner-app.mjs +9 -0
  43. package/esm2020/lib/personas/partner.mjs +25 -0
  44. package/esm2020/lib/personas/persona-type.enum.mjs +13 -0
  45. package/esm2020/lib/personas/personas.mjs +57 -0
  46. package/esm2020/lib/personas/salesperson.mjs +15 -0
  47. package/esm2020/lib/personas/smb.mjs +10 -0
  48. package/esm2020/lib/personas/success.mjs +9 -0
  49. package/esm2020/lib/personas/vendor.mjs +9 -0
  50. package/esm2020/public_api.mjs +2 -0
  51. package/esm2020/vendasta-iam.mjs +5 -0
  52. package/fesm2015/{vendasta-iam.js → vendasta-iam.mjs} +683 -1244
  53. package/fesm2015/vendasta-iam.mjs.map +1 -0
  54. package/fesm2020/vendasta-iam.mjs +3937 -0
  55. package/fesm2020/vendasta-iam.mjs.map +1 -0
  56. package/lib/_generated/host.service.d.ts +5 -9
  57. package/lib/_internal/enums/index.d.ts +2 -1
  58. package/lib/_internal/enums/policies.enum.d.ts +9 -0
  59. package/lib/_internal/enums/resources.enum.d.ts +0 -9
  60. package/lib/_internal/iam.api.service.d.ts +4 -0
  61. package/lib/_internal/index.d.ts +0 -1
  62. package/lib/_internal/interfaces/annotations.interface.d.ts +4 -0
  63. package/lib/_internal/interfaces/api.interface.d.ts +5 -17
  64. package/lib/_internal/interfaces/attributes.interface.d.ts +26 -0
  65. package/lib/_internal/interfaces/index.d.ts +6 -3
  66. package/lib/_internal/interfaces/policies.interface.d.ts +42 -0
  67. package/lib/_internal/interfaces/resources.interface.d.ts +2 -41
  68. package/lib/_internal/interfaces/subjects.interface.d.ts +1 -26
  69. package/lib/_internal/objects/annotations.d.ts +9 -0
  70. package/lib/_internal/objects/api.d.ts +5 -23
  71. package/lib/_internal/objects/attributes.d.ts +43 -0
  72. package/lib/_internal/objects/index.d.ts +6 -3
  73. package/lib/_internal/objects/policies.d.ts +68 -0
  74. package/lib/_internal/objects/resources.d.ts +2 -65
  75. package/lib/_internal/objects/subjects.d.ts +1 -41
  76. package/lib/_internal/user-iam.api.service.d.ts +4 -0
  77. package/lib/http/iam.http.api.service.d.ts +4 -0
  78. package/lib/iam.service.d.ts +3 -0
  79. package/lib/personas/base-personas.d.ts +1 -1
  80. package/lib/personas/partner.d.ts +1 -0
  81. package/package.json +29 -16
  82. package/src/README.md +113 -0
  83. package/vendasta-iam.d.ts +1 -0
  84. package/bundles/vendasta-iam.umd.js +0 -5067
  85. package/bundles/vendasta-iam.umd.js.map +0 -1
  86. package/bundles/vendasta-iam.umd.min.js +0 -16
  87. package/bundles/vendasta-iam.umd.min.js.map +0 -1
  88. package/esm2015/lib/_generated/host.service.js +0 -65
  89. package/esm2015/lib/_generated/index.js +0 -2
  90. package/esm2015/lib/_internal/enums/api.enum.js +0 -22
  91. package/esm2015/lib/_internal/enums/index.js +0 -11
  92. package/esm2015/lib/_internal/enums/resources.enum.js +0 -25
  93. package/esm2015/lib/_internal/enums/subjects.enum.js +0 -17
  94. package/esm2015/lib/_internal/enums/users.enum.js +0 -13
  95. package/esm2015/lib/_internal/iam-sso.api.service.js +0 -42
  96. package/esm2015/lib/_internal/iam.api.service.js +0 -190
  97. package/esm2015/lib/_internal/index.js +0 -13
  98. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
  99. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
  100. package/esm2015/lib/_internal/interfaces/index.js +0 -2
  101. package/esm2015/lib/_internal/interfaces/resources.interface.js +0 -2
  102. package/esm2015/lib/_internal/interfaces/security-logs.interface.js +0 -8
  103. package/esm2015/lib/_internal/interfaces/subjects.interface.js +0 -8
  104. package/esm2015/lib/_internal/interfaces/users.interface.js +0 -2
  105. package/esm2015/lib/_internal/objects/api.js +0 -2212
  106. package/esm2015/lib/_internal/objects/field-mask.js +0 -30
  107. package/esm2015/lib/_internal/objects/index.js +0 -13
  108. package/esm2015/lib/_internal/objects/resources.js +0 -483
  109. package/esm2015/lib/_internal/objects/security-logs.js +0 -49
  110. package/esm2015/lib/_internal/objects/subjects.js +0 -582
  111. package/esm2015/lib/_internal/objects/users.js +0 -199
  112. package/esm2015/lib/_internal/user-iam.api.service.js +0 -66
  113. package/esm2015/lib/http/http.interface.js +0 -2
  114. package/esm2015/lib/http/http.js +0 -102
  115. package/esm2015/lib/http/iam.http.api.service.js +0 -68
  116. package/esm2015/lib/iam.service.js +0 -156
  117. package/esm2015/lib/index.js +0 -7
  118. package/esm2015/lib/personas/account-group.js +0 -9
  119. package/esm2015/lib/personas/base-personas.js +0 -89
  120. package/esm2015/lib/personas/developer.js +0 -9
  121. package/esm2015/lib/personas/digital-agent.js +0 -9
  122. package/esm2015/lib/personas/index.js +0 -12
  123. package/esm2015/lib/personas/partner-app.js +0 -9
  124. package/esm2015/lib/personas/partner.js +0 -24
  125. package/esm2015/lib/personas/persona-type.enum.js +0 -13
  126. package/esm2015/lib/personas/personas.js +0 -57
  127. package/esm2015/lib/personas/salesperson.js +0 -15
  128. package/esm2015/lib/personas/smb.js +0 -10
  129. package/esm2015/lib/personas/success.js +0 -9
  130. package/esm2015/lib/personas/vendor.js +0 -9
  131. package/esm2015/public_api.js +0 -2
  132. package/esm2015/vendasta-iam.js +0 -5
  133. package/fesm2015/vendasta-iam.js.map +0 -1
  134. package/lib/_internal/iam-sso.api.service.d.ts +0 -12
  135. package/vendasta-iam.metadata.json +0 -1
@@ -0,0 +1,155 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { SessionService } from '@vendasta/core';
3
+ import { map, switchMap } from 'rxjs/operators';
4
+ import { ListSecurityLogsRequestFilters } from './_internal/objects/api';
5
+ import { Context, NamespacedContext, Persona, TypedContext } from './_internal/objects/subjects';
6
+ import { UserIAMApiService } from './_internal/user-iam.api.service';
7
+ import { IamHttpApiService } from './http/iam.http.api.service';
8
+ import { PersonaType } from './personas/persona-type.enum';
9
+ import { fromPersona } from './personas/personas';
10
+ import { IAMApiService } from './_internal/iam.api.service';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "./_internal/user-iam.api.service";
13
+ import * as i2 from "./http/iam.http.api.service";
14
+ import * as i3 from "@vendasta/core";
15
+ import * as i4 from "./_internal/iam.api.service";
16
+ export class IAMService {
17
+ constructor(api, httpApi, sessionService, iamApi) {
18
+ this.api = api;
19
+ this.httpApi = httpApi;
20
+ this.sessionService = sessionService;
21
+ this.iamApi = iamApi;
22
+ }
23
+ // Get a subject from the session ID
24
+ getSubjectBySession(sessionId, personaType, partnerId) {
25
+ let context;
26
+ if (!!partnerId) {
27
+ context = new Context({
28
+ namespaced: new NamespacedContext({
29
+ namespace: partnerId,
30
+ type: PersonaType[personaType]
31
+ })
32
+ });
33
+ }
34
+ else {
35
+ context = new Context({ typed: new TypedContext({ type: PersonaType[personaType] }) });
36
+ }
37
+ return this.api
38
+ .getSubjectBySession({
39
+ session: sessionId,
40
+ context: context
41
+ })
42
+ .pipe(map((r) => fromPersona(new Persona({ subject: r.subject.subject, context: context }))));
43
+ }
44
+ // Get persona type from the current session
45
+ getLoggedInSubject(personaType, partnerId) {
46
+ return this.sessionService
47
+ .getSessionId()
48
+ .pipe(switchMap((sessionId) => this.getSubjectBySession(sessionId, personaType, partnerId)));
49
+ }
50
+ // List all available personas for the session. Optionally pass a persona type to filter by that persona.
51
+ listPersonas(sessionId, personaType) {
52
+ return this.api
53
+ .listPersonas({
54
+ session: sessionId,
55
+ pageSize: 100,
56
+ type: personaType
57
+ })
58
+ .pipe(map((r) => {
59
+ const personas = [];
60
+ if (!r || !r.personas) {
61
+ return [];
62
+ }
63
+ for (const p of r.personas) {
64
+ const persona = fromPersona(p);
65
+ if (!!persona) {
66
+ personas.push(persona);
67
+ }
68
+ }
69
+ return personas;
70
+ }));
71
+ }
72
+ // List all available personas for the current session. Optionally pass a persona type to filter by that persona.
73
+ listLoggedInPersonas(personaType) {
74
+ return this.sessionService.getSessionId().pipe(switchMap((sessionId) => this.listPersonas(sessionId, personaType)));
75
+ }
76
+ // Get a short lived session token
77
+ getToken() {
78
+ return this.api.getToken({}).pipe(map((r) => r.token));
79
+ }
80
+ // Login into a user. Optionally specify the partner and persona type you want to log into
81
+ login(email, password, personaType, partnerId) {
82
+ return this.httpApi
83
+ .login({
84
+ email: email,
85
+ password: password,
86
+ namespace: partnerId,
87
+ type: personaType
88
+ })
89
+ .pipe(map((r) => r.sessionId || ''));
90
+ }
91
+ // Logout of the current session, returns true if successful
92
+ logout() {
93
+ return this.httpApi.logout().pipe(map((r) => r.success));
94
+ }
95
+ // This will redirect the browser to IAM's sso login handler.
96
+ ssoLogin(nextUrl, personaType, partnerId) {
97
+ this.httpApi.ssoLogin({
98
+ nextUrl: nextUrl,
99
+ namespace: partnerId,
100
+ type: personaType
101
+ });
102
+ }
103
+ // getMultiUsers takes an array of user identifiers and calls IAM to convert them into Users
104
+ getMultiUsers(userIdentifiers) {
105
+ return this.iamApi.getMultiUsers({
106
+ userIdentifiers
107
+ }).pipe(map(resp => {
108
+ if (!!resp.users) {
109
+ return resp.users;
110
+ }
111
+ return [];
112
+ }), map(userContainers => userContainers.map(u => u.user)));
113
+ }
114
+ // listSecurityLogs returns security logs for a userId passed in. This is a paged function, but the
115
+ // handling of paged information is left to the implementor (for now).
116
+ listSecurityLogs(userId, cursor, pageSize, actionId = '') {
117
+ const optionalArgs = {};
118
+ if (actionId !== '') {
119
+ optionalArgs.filters = new ListSecurityLogsRequestFilters({ actionId });
120
+ }
121
+ return this.iamApi.listSecurityLogs({
122
+ userId,
123
+ cursor,
124
+ pageSize,
125
+ ...optionalArgs
126
+ });
127
+ }
128
+ // listUsers returns users for a namespace passed in. This is a paged function, but the
129
+ // handling of paged information is left to the implementor (for now).
130
+ // An empty namespace will return users that exist outside of a namespace.
131
+ listUsers(namespace, email, cursor, pageSize, subjectTypes, searchTerms, sortOptions) {
132
+ const userFilter = {};
133
+ if (!!subjectTypes && subjectTypes.length > 0) {
134
+ userFilter.subjectTypes = subjectTypes;
135
+ }
136
+ if (!!searchTerms && searchTerms.length > 0) {
137
+ userFilter.searchTerms = searchTerms;
138
+ }
139
+ return this.iamApi.listUsers({
140
+ namespace: namespace,
141
+ email: email,
142
+ cursor: cursor,
143
+ pageSize: pageSize,
144
+ userFilter: userFilter,
145
+ sortOptions: (sortOptions || [])
146
+ });
147
+ }
148
+ }
149
+ IAMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: IAMService, deps: [{ token: i1.UserIAMApiService }, { token: i2.IamHttpApiService }, { token: i3.SessionService }, { token: i4.IAMApiService }], target: i0.ɵɵFactoryTarget.Injectable });
150
+ IAMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: IAMService, providedIn: 'root' });
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: IAMService, decorators: [{
152
+ type: Injectable,
153
+ args: [{ providedIn: 'root' }]
154
+ }], ctorParameters: function () { return [{ type: i1.UserIAMApiService }, { type: i2.IamHttpApiService }, { type: i3.SessionService }, { type: i4.IAMApiService }]; } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvaWFtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0RCxPQUFPLEVBSUwsOEJBQThCLEVBRy9CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQUkxRCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNVLEdBQXNCLEVBQ3RCLE9BQTBCLEVBQzFCLGNBQThCLEVBQzlCLE1BQXFCO1FBSHJCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBRS9CLENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsbUJBQW1CLENBQUMsU0FBaUIsRUFBRSxXQUF3QixFQUFFLFNBQWtCO1FBQ2pGLElBQUksT0FBeUIsQ0FBQztRQUM5QixJQUFJLENB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akMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7dUdBM0pVLFVBQVU7MkdBQVYsVUFBVSxjQURFLE1BQU07MkZBQ2xCLFVBQVU7a0JBRHRCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gJ0B2ZW5kYXN0YS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCBmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29udGV4dEludGVyZmFjZX0gZnJvbSAnLi9faW50ZXJuYWwvaW50ZXJmYWNlcy9zdWJqZWN0cy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQge1xuICBHZXRTdWJqZWN0UmVzcG9uc2UsXG4gIEdldFRva2VuUmVzcG9uc2UsXG4gIExpc3RQZXJzb25hc1Jlc3BvbnNlIGFzIExpc3RQZXJzb25hc1Byb3RvUmVzcG9uc2UsXG4gIExpc3RTZWN1cml0eUxvZ3NSZXF1ZXN0RmlsdGVycyxcbiAgTGlzdFNlY3VyaXR5TG9nc1Jlc3BvbnNlLFxuICBMaXN0VXNlcnNSZXNwb25zZVxufSBmcm9tICcuL19pbnRlcm5hbC9vYmplY3RzL2FwaSc7XG5pbXBvcnQge0NvbnRleHQsIE5hbWVzcGFjZWRDb250ZXh0LCBQZXJzb25hLCBUeXBlZENvbnRleHR9IGZyb20gJy4vX2ludGVybmFsL29iamVjdHMvc3ViamVjdHMnO1xuaW1wb3J0IHtVc2VySUFNQXBpU2VydmljZX0gZnJvbSAnLi9faW50ZXJuYWwvdXNlci1pYW0uYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dpblJlc3BvbnNlSW50ZXJmYWNlLCBMb2dvdXRSZXNwb25zZUludGVyZmFjZX0gZnJvbSAnLi9odHRwL2h0dHAuaW50ZXJmYWNlJztcbmltcG9ydCB7SWFtSHR0cEFwaVNlcnZpY2V9IGZyb20gJy4vaHR0cC9pYW0uaHR0cC5hcGkuc2VydmljZSc7XG5pbXBvcnQge0Jhc2VQZXJzb25hfSBmcm9tICcuL3BlcnNvbmFzL2Jhc2UtcGVyc29uYXMnO1xuaW1wb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hcy9wZXJzb25hLXR5cGUuZW51bSc7XG5pbXBvcnQge2Zyb21QZXJzb25hfSBmcm9tICcuL3BlcnNvbmFzL3BlcnNvbmFzJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy91c2Vycyc7XG5pbXBvcnQge0lBTUFwaVNlcnZpY2V9IGZyb20gJy4vX2ludGVybmFsL2lhbS5hcGkuc2VydmljZSc7XG5pbXBvcnQge1VzZXJGaWx0ZXJJbnRlcmZhY2UsIFVzZXJJZGVudGlmaWVySW50ZXJmYWNlLCBVc2VyU29ydE9wdGlvbnNJbnRlcmZhY2V9IGZyb20gJy4vX2ludGVybmFsL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBJQU1TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGk6IFVzZXJJQU1BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cEFwaTogSWFtSHR0cEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZTogU2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpYW1BcGk6IElBTUFwaVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICAvLyBHZXQgYSBzdWJqZWN0IGZyb20gdGhlIHNlc3Npb24gSURcbiAgZ2V0U3ViamVjdEJ5U2Vzc2lvbihzZXNzaW9uSWQ6IHN0cmluZywgcGVyc29uYVR5cGU6IFBlcnNvbmFUeXBlLCBwYXJ0bmVySWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJhc2VQZXJzb25hIHwgbnVsbD4ge1xuICAgIGxldCBjb250ZXh0OiBDb250ZXh0SW50ZXJmYWNlO1xuICAgIGlmICghIXBhcnRuZXJJZCkge1xuICAgICAgY29udGV4dCA9IG5ldyBDb250ZXh0KHtcbiAgICAgICAgbmFtZXNwYWNlZDogbmV3IE5hbWVzcGFjZWRDb250ZXh0KHtcbiAgICAgICAgICBuYW1lc3BhY2U6IHBhcnRuZXJJZCxcbiAgICAgICAgICB0eXBlOiBQZXJzb25hVHlwZVtwZXJzb25hVHlwZV1cbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0ID0gbmV3IENvbnRleHQoeyB0eXBlZDogbmV3IFR5cGVkQ29udGV4dCh7IHR5cGU6IFBlcnNvbmFUeXBlW3BlcnNvbmFUeXBlXSB9KSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXBpXG4gICAgICAuZ2V0U3ViamVjdEJ5U2Vzc2lvbih7XG4gICAgICAgIHNlc3Npb246IHNlc3Npb25JZCxcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcCgocjogR2V0U3ViamVjdFJlc3BvbnNlKSA9PiBmcm9tUGVyc29uYShcbiAgICAgICAgbmV3IFBlcnNvbmEoeyBzdWJqZWN0OiByLnN1YmplY3Quc3ViamVjdCwgY29udGV4dDogY29udGV4dCB9KVxuICAgICAgKSkpO1xuICB9XG5cbiAgLy8gR2V0IHBlcnNvbmEgdHlwZSBmcm9tIHRoZSBjdXJyZW50IHNlc3Npb25cbiAgZ2V0TG9nZ2VkSW5TdWJqZWN0KHBlcnNvbmFUeXBlOiBQZXJzb25hVHlwZSwgcGFydG5lcklkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxCYXNlUGVyc29uYSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZVxuICAgICAgLmdldFNlc3Npb25JZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChzZXNzaW9uSWQ6IHN0cmluZyB8IG51bGwpID0+IHRoaXMuZ2V0U3ViamVjdEJ5U2Vzc2lvbihzZXNzaW9uSWQhLCBwZXJzb25hVHlwZSwgcGFydG5lcklkKSksXG4gICAgICApO1xuICB9XG5cbiAgLy8gTGlzdCBhbGwgYXZhaWxhYmxlIHBlcnNvbmFzIGZvciB0aGUgc2Vzc2lvbi4gT3B0aW9uYWxseSBwYXNzIGEgcGVyc29uYSB0eXBlIHRvIGZpbHRlciBieSB0aGF0IHBlcnNvbmEuXG4gIGxpc3RQZXJzb25hcyhzZXNzaW9uSWQ6IHN0cmluZywgcGVyc29uYVR5cGU/OiBQZXJzb25hVHlwZSk6IE9ic2VydmFibGU8QmFzZVBlcnNvbmFbXT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVxuICAgICAgLmxpc3RQZXJzb25hcyh7XG4gICAgICAgIHNlc3Npb246IHNlc3Npb25JZCxcbiAgICAgICAgcGFnZVNpemU6IDEwMCxcbiAgICAgICAgdHlwZTogcGVyc29uYVR5cGVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyOiBMaXN0UGVyc29uYXNQcm90b1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGVyc29uYXM6IEJhc2VQZXJzb25hW10gPSBbXTtcbiAgICAgICAgICBpZiAoIXIgfHwgIXIucGVyc29uYXMpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZm9yIChjb25zdCBwIG9mIHIucGVyc29uYXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHBlcnNvbmEgPSBmcm9tUGVyc29uYShwKTtcbiAgICAgICAgICAgIGlmICghIXBlcnNvbmEpIHtcbiAgICAgICAgICAgICAgcGVyc29uYXMucHVzaChwZXJzb25hKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHBlcnNvbmFzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIExpc3QgYWxsIGF2YWlsYWJsZSBwZXJzb25hcyBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbi4gT3B0aW9uYWxseSBwYXNzIGEgcGVyc29uYSB0eXBlIHRvIGZpbHRlciBieSB0aGF0IHBlcnNvbmEuXG4gIGxpc3RMb2dnZWRJblBlcnNvbmFzKHBlcnNvbmFUeXBlPzogUGVyc29uYVR5cGUpOiBPYnNlcnZhYmxlPEJhc2VQZXJzb25hW10+IHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uSWQoKS5waXBlKHN3aXRjaE1hcCgoc2Vzc2lvbklkOiBzdHJpbmcgfCBudWxsKSA9PiB0aGlzLmxpc3RQZXJzb25hcyhzZXNzaW9uSWQhLFxuICAgICAgcGVyc29uYVR5cGUpKSk7XG4gIH1cblxuICAvLyBHZXQgYSBzaG9ydCBsaXZlZCBzZXNzaW9uIHRva2VuXG4gIGdldFRva2VuKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmdldFRva2VuKHt9KS5waXBlKG1hcCgocjogR2V0VG9rZW5SZXNwb25zZSkgPT4gci50b2tlbikpO1xuICB9XG5cbiAgLy8gTG9naW4gaW50byBhIHVzZXIuIE9wdGlvbmFsbHkgc3BlY2lmeSB0aGUgcGFydG5lciBhbmQgcGVyc29uYSB0eXBlIHlvdSB3YW50IHRvIGxvZyBpbnRvXG4gIGxvZ2luKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHBlcnNvbmFUeXBlPzogUGVyc29uYVR5cGUsIHBhcnRuZXJJZD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cEFwaVxuICAgICAgLmxvZ2luKHtcbiAgICAgICAgZW1haWw6IGVtYWlsLFxuICAgICAgICBwYXNzd29yZDogcGFzc3dvcmQsXG4gICAgICAgIG5hbWVzcGFjZTogcGFydG5lcklkLFxuICAgICAgICB0eXBlOiBwZXJzb25hVHlwZVxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcCgocjogTG9naW5SZXNwb25zZUludGVyZmFjZSkgPT4gci5zZXNzaW9uSWQgfHwgJycpKTtcbiAgfVxuXG4gIC8vIExvZ291dCBvZiB0aGUgY3VycmVudCBzZXNzaW9uLCByZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bFxuICBsb2dvdXQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cEFwaS5sb2dvdXQoKS5waXBlKG1hcCgocjogTG9nb3V0UmVzcG9uc2VJbnRlcmZhY2UpID0+IHIuc3VjY2VzcykpO1xuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlZGlyZWN0IHRoZSBicm93c2VyIHRvIElBTSdzIHNzbyBsb2dpbiBoYW5kbGVyLlxuICBzc29Mb2dpbihuZXh0VXJsOiBzdHJpbmcsIHBlcnNvbmFUeXBlPzogUGVyc29uYVR5cGUsIHBhcnRuZXJJZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaHR0cEFwaS5zc29Mb2dpbih7XG4gICAgICBuZXh0VXJsOiBuZXh0VXJsLFxuICAgICAgbmFtZXNwYWNlOiBwYXJ0bmVySWQsXG4gICAgICB0eXBlOiBwZXJzb25hVHlwZVxuICAgIH0pO1xuICB9XG5cbiAgLy8gZ2V0TXVsdGlVc2VycyB0YWtlcyBhbiBhcnJheSBvZiB1c2VyIGlkZW50aWZpZXJzIGFuZCBjYWxscyBJQU0gdG8gY29udmVydCB0aGVtIGludG8gVXNlcnNcbiAgZ2V0TXVsdGlVc2Vycyh1c2VySWRlbnRpZmllcnM6IFVzZXJJZGVudGlmaWVySW50ZXJmYWNlW10pOiBPYnNlcnZhYmxlPFVzZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmlhbUFwaS5nZXRNdWx0aVVzZXJzKHtcbiAgICAgIHVzZXJJZGVudGlmaWVyc1xuICAgIH0pLnBpcGUoXG4gICAgICBtYXAocmVzcCA9PiB7XG4gICAgICAgIGlmICghIXJlc3AudXNlcnMpIHtcbiAgICAgICAgICByZXR1cm4gcmVzcC51c2Vyc1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH0pLFxuICAgICAgbWFwKHVzZXJDb250YWluZXJzID0+IHVzZXJDb250YWluZXJzLm1hcCh1ID0+IHUudXNlcikpXG4gICAgKTtcbiAgfVxuXG4gIC8vIGxpc3RTZWN1cml0eUxvZ3MgcmV0dXJucyBzZWN1cml0eSBsb2dzIGZvciBhIHVzZXJJZCBwYXNzZWQgaW4uIFRoaXMgaXMgYSBwYWdlZCBmdW5jdGlvbiwgYnV0IHRoZVxuICAvLyBoYW5kbGluZyBvZiBwYWdlZCBpbmZvcm1hdGlvbiBpcyBsZWZ0IHRvIHRoZSBpbXBsZW1lbnRvciAoZm9yIG5vdykuXG4gIGxpc3RTZWN1cml0eUxvZ3ModXNlcklkOiBzdHJpbmcsIGN1cnNvcj86IHN0cmluZywgcGFnZVNpemU/OiBudW1iZXIsIGFjdGlvbklkID0gJycpOlxuICAgIE9ic2VydmFibGU8TGlzdFNlY3VyaXR5TG9nc1Jlc3BvbnNlPiB7XG4gICAgY29uc3Qgb3B0aW9uYWxBcmdzOiB7W2tleTogc3RyaW5nXTogTGlzdFNlY3VyaXR5TG9nc1JlcXVlc3RGaWx0ZXJzfSA9IHt9O1xuICAgIGlmIChhY3Rpb25JZCAhPT0gJycpIHtcbiAgICAgIG9wdGlvbmFsQXJncy5maWx0ZXJzID0gbmV3IExpc3RTZWN1cml0eUxvZ3NSZXF1ZXN0RmlsdGVycyh7YWN0aW9uSWR9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaWFtQXBpLmxpc3RTZWN1cml0eUxvZ3Moe1xuICAgICAgdXNlcklkLFxuICAgICAgY3Vyc29yLFxuICAgICAgcGFnZVNpemUsXG4gICAgICAuLi5vcHRpb25hbEFyZ3NcbiAgICB9KVxuICB9XG5cbiAgLy8gbGlzdFVzZXJzIHJldHVybnMgdXNlcnMgZm9yIGEgbmFtZXNwYWNlIHBhc3NlZCBpbi4gVGhpcyBpcyBhIHBhZ2VkIGZ1bmN0aW9uLCBidXQgdGhlXG4gIC8vIGhhbmRsaW5nIG9mIHBhZ2VkIGluZm9ybWF0aW9uIGlzIGxlZnQgdG8gdGhlIGltcGxlbWVudG9yIChmb3Igbm93KS5cbiAgLy8gQW4gZW1wdHkgbmFtZXNwYWNlIHdpbGwgcmV0dXJuIHVzZXJzIHRoYXQgZXhpc3Qgb3V0c2lkZSBvZiBhIG5hbWVzcGFjZS5cbiAgbGlzdFVzZXJzKG5hbWVzcGFjZTogc3RyaW5nLCBlbWFpbD86IHN0cmluZywgY3Vyc29yPzogc3RyaW5nLCBwYWdlU2l6ZT86IG51bWJlciwgc3ViamVjdFR5cGVzPzogc3RyaW5nW10sXG4gICAgICAgICAgICBzZWFyY2hUZXJtcz86IHN0cmluZ1tdLCBzb3J0T3B0aW9ucz86IFVzZXJTb3J0T3B0aW9uc0ludGVyZmFjZVtdKTogT2JzZXJ2YWJsZTxMaXN0VXNlcnNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVzZXJGaWx0ZXI6IFVzZXJGaWx0ZXJJbnRlcmZhY2UgPSB7fTtcbiAgICBpZiAoISFzdWJqZWN0VHlwZXMgJiYgc3ViamVjdFR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHVzZXJGaWx0ZXIuc3ViamVjdFR5cGVzID0gc3ViamVjdFR5cGVzO1xuICAgIH1cbiAgICBpZiAoISFzZWFyY2hUZXJtcyAmJiBzZWFyY2hUZXJtcy5sZW5ndGggPiAwKSB7XG4gICAgICB1c2VyRmlsdGVyLnNlYXJjaFRlcm1zID0gc2VhcmNoVGVybXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaWFtQXBpLmxpc3RVc2Vycyh7XG4gICAgICBuYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgIGVtYWlsOiBlbWFpbCxcbiAgICAgIGN1cnNvcjogY3Vyc29yLFxuICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgdXNlckZpbHRlcjogdXNlckZpbHRlcixcbiAgICAgIHNvcnRPcHRpb25zOiAoc29ydE9wdGlvbnMgfHwgW10pXG4gICAgfSlcbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ export { IAMService } from './iam.service';
2
+ // Need to export this so end users have the ability to override the environment
3
+ export { HostService } from './_generated';
4
+ export * from './_internal';
5
+ export { SortDirection, UserSortField } from './_internal/enums/api.enum';
6
+ export { PersonaType, BasePersona, PartnerPersona, PartnerAppPersona, SalespersonPersona, SMBPersona, VendorPersona, DeveloperPersona, DigitalAgentPersona, NamespacedPersona, TypedPersona, fromPersona } from './personas';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxnRkFBZ0Y7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3pFLE9BQU8sRUFDTCxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUM1SCxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUNsRSxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElBTVNlcnZpY2UgfSBmcm9tICcuL2lhbS5zZXJ2aWNlJztcbi8vIE5lZWQgdG8gZXhwb3J0IHRoaXMgc28gZW5kIHVzZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gb3ZlcnJpZGUgdGhlIGVudmlyb25tZW50XG5leHBvcnQgeyBIb3N0U2VydmljZSB9IGZyb20gJy4vX2dlbmVyYXRlZCc7XG5leHBvcnQgKiBmcm9tICcuL19pbnRlcm5hbCc7XG5leHBvcnQgeyBVc2VyU29ydE9wdGlvbnNJbnRlcmZhY2UsIFVzZXJGaWx0ZXJJbnRlcmZhY2UgfSBmcm9tICcuL19pbnRlcm5hbC9pbnRlcmZhY2VzL2FwaS5pbnRlcmZhY2UnXG5leHBvcnQgeyBTb3J0RGlyZWN0aW9uLCBVc2VyU29ydEZpZWxkIH0gZnJvbSAnLi9faW50ZXJuYWwvZW51bXMvYXBpLmVudW0nXG5leHBvcnQge1xuICBQZXJzb25hVHlwZSwgQmFzZVBlcnNvbmEsIFBhcnRuZXJQZXJzb25hLCBQYXJ0bmVyQXBwUGVyc29uYSwgU2FsZXNwZXJzb25QZXJzb25hLCBTTUJQZXJzb25hLCBWZW5kb3JQZXJzb25hLCBEZXZlbG9wZXJQZXJzb25hLFxuICBEaWdpdGFsQWdlbnRQZXJzb25hLCBOYW1lc3BhY2VkUGVyc29uYSwgVHlwZWRQZXJzb25hLCBmcm9tUGVyc29uYVxufSBmcm9tICcuL3BlcnNvbmFzJztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { TypedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class AccountGroupPersona extends TypedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.account_group;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2lhbV9zZGsvc3JjL2xpYi9wZXJzb25hcy9hY2NvdW50LWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7SUFBckQ7O1FBQ0ksU0FBSSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDckMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlZFBlcnNvbmF9IGZyb20gJy4vYmFzZS1wZXJzb25hcyc7XG5pbXBvcnQge1BlcnNvbmFUeXBlfSBmcm9tICcuL3BlcnNvbmEtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIEFjY291bnRHcm91cFBlcnNvbmEgZXh0ZW5kcyBUeXBlZFBlcnNvbmEge1xuICAgIHR5cGUgPSBQZXJzb25hVHlwZS5hY2NvdW50X2dyb3VwO1xufVxuIl19
@@ -0,0 +1,93 @@
1
+ export class BasePersona {
2
+ fromPersona(p) {
3
+ const s = p.subject;
4
+ this.subjectId = s.subjectId;
5
+ this.email = s.email;
6
+ this.created = s.created;
7
+ this.updated = s.updated;
8
+ this.lastLogin = s.lastLogin;
9
+ this.userId = s.userId;
10
+ return this.readAttributes(s.structAttributes);
11
+ }
12
+ readAttributes(attributes) {
13
+ if (!attributes) {
14
+ return this;
15
+ }
16
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
17
+ const attrs = getValueFromAttribute({ structAttribute: { attributes: attributes.attributes } });
18
+ Object.assign(this, attrs);
19
+ return this;
20
+ }
21
+ }
22
+ export class TypedPersona extends BasePersona {
23
+ }
24
+ export class NamespacedPersona extends BasePersona {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.partnerId = '';
28
+ }
29
+ fromPersona(p) {
30
+ this.partnerId = p.context.namespaced.namespace;
31
+ return super.fromPersona(p);
32
+ }
33
+ }
34
+ export function getValueFromAttribute(attr) {
35
+ if (typeof attr === 'undefined') {
36
+ return null;
37
+ }
38
+ else if (typeof attr.stringAttribute !== 'undefined') {
39
+ return attr.stringAttribute;
40
+ }
41
+ else if (typeof attr.intAttribute !== 'undefined') {
42
+ return attr.intAttribute;
43
+ }
44
+ else if (typeof attr.doubleAttribute !== 'undefined') {
45
+ return attr.doubleAttribute;
46
+ }
47
+ else if (typeof attr.boolAttribute !== 'undefined') {
48
+ return attr.boolAttribute;
49
+ }
50
+ else if (typeof attr.listAttribute !== 'undefined') {
51
+ const vals = [];
52
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
53
+ if (typeof attr.listAttribute.attributes === 'undefined') {
54
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
55
+ return vals;
56
+ }
57
+ for (const val of attr.listAttribute.attributes) {
58
+ vals.push(getValueFromAttribute(val));
59
+ }
60
+ return vals;
61
+ }
62
+ else if (typeof attr.timestampAttribute !== 'undefined') {
63
+ return attr.timestampAttribute;
64
+ }
65
+ else if (typeof attr.geopointAttribute !== 'undefined') {
66
+ return attr.geopointAttribute;
67
+ }
68
+ else if (typeof attr.structAttribute !== 'undefined') {
69
+ const result = {};
70
+ for (const a in attr.structAttribute.attributes) {
71
+ if (!attr.structAttribute.attributes.hasOwnProperty(a)) {
72
+ continue;
73
+ }
74
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
75
+ result[CamelCase(a)] = getValueFromAttribute(attr.structAttribute.attributes[a]);
76
+ }
77
+ return result;
78
+ }
79
+ }
80
+ export function CamelCase(str) {
81
+ let result = '';
82
+ for (let i = 0; i < str.length; i++) {
83
+ if (str[i] === '_') {
84
+ result += str[i + 1].toUpperCase();
85
+ i++;
86
+ }
87
+ else {
88
+ result += str[i];
89
+ }
90
+ }
91
+ return result;
92
+ }
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wZXJzb25hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2lhbV9zZGsvc3JjL2xpYi9wZXJzb25hcy9iYXNlLXBlcnNvbmFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxXQUFXO0lBYXRCLFdBQVcsQ0FBQyxDQUFVO1FBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsVUFBb0M7UUFDakQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCw0REFBNEQ7UUFDNUQsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsRUFBQyxlQUFlLEVBQUUsRUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBQyxFQUFDLENBQUMsQ0FBQztRQUM1RixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBVztDQUM1QztBQUVELE1BQU0sT0FBTyxpQkFB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QU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEI7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXR0cmlidXRlSW50ZXJmYWNlLCBTdHJ1Y3RBdHRyaWJ1dGVJbnRlcmZhY2V9IGZyb20gJy4uL19pbnRlcm5hbC9pbnRlcmZhY2VzL2F0dHJpYnV0ZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVyc29uYX0gZnJvbSAnLi4vX2ludGVybmFsL29iamVjdHMvc3ViamVjdHMnO1xuaW1wb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBCYXNlUGVyc29uYSB7XG4gIHR5cGU6IFBlcnNvbmFUeXBlO1xuICBzdWJqZWN0SWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG5cbiAgY3JlYXRlZDogRGF0ZTtcbiAgdXBkYXRlZDogRGF0ZTtcbiAgbGFzdExvZ2luOiBEYXRlO1xuXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xuXG4gIGZyb21QZXJzb25hKHA6IFBlcnNvbmEpOiBCYXNlUGVyc29uYSB7XG4gICAgY29uc3QgcyA9IHAuc3ViamVjdDtcbiAgICB0aGlzLnN1YmplY3RJZCA9IHMuc3ViamVjdElkO1xuICAgIHRoaXMuZW1haWwgPSBzLmVtYWlsO1xuICAgIHRoaXMuY3JlYXRlZCA9IHMuY3JlYXRlZDtcbiAgICB0aGlzLnVwZGF0ZWQgPSBzLnVwZGF0ZWQ7XG4gICAgdGhpcy5sYXN0TG9naW4gPSBzLmxhc3RMb2dpbjtcbiAgICB0aGlzLnVzZXJJZCA9IHMudXNlcklkO1xuICAgIHJldHVybiB0aGlzLnJlYWRBdHRyaWJ1dGVzKHMuc3RydWN0QXR0cmlidXRlcyk7XG4gIH1cblxuICByZWFkQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBTdHJ1Y3RBdHRyaWJ1dGVJbnRlcmZhY2UpOiBCYXNlUGVyc29uYSB7XG4gICAgaWYgKCFhdHRyaWJ1dGVzKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4gICAgY29uc3QgYXR0cnMgPSBnZXRWYWx1ZUZyb21BdHRyaWJ1dGUoe3N0cnVjdEF0dHJpYnV0ZToge2F0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMuYXR0cmlidXRlc319KTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGF0dHJzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHlwZWRQZXJzb25hIGV4dGVuZHMgQmFzZVBlcnNvbmEge1xufVxuXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlZFBlcnNvbmEgZXh0ZW5kcyBCYXNlUGVyc29uYSB7XG4gIHBhcnRuZXJJZCA9ICcnO1xuXG4gIGZyb21QZXJzb25hKHA6IFBlcnNvbmEpOiBCYXNlUGVyc29uYSB7XG4gICAgdGhpcy5wYXJ0bmVySWQgPSBwLmNvbnRleHQubmFtZXNwYWNlZC5uYW1lc3BhY2U7XG4gICAgcmV0dXJuIHN1cGVyLmZyb21QZXJzb25hKHApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZUZyb21BdHRyaWJ1dGUoYXR0cjogQXR0cmlidXRlSW50ZXJmYWNlKTogYW55IHtcbiAgaWYgKHR5cGVvZiBhdHRyID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBhdHRyLnN0cmluZ0F0dHJpYnV0ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gYXR0ci5zdHJpbmdBdHRyaWJ1dGU7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGF0dHIuaW50QXR0cmlidXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBhdHRyLmludEF0dHJpYnV0ZTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgYXR0ci5kb3VibGVBdHRyaWJ1dGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGF0dHIuZG91YmxlQXR0cmlidXRlO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBhdHRyLmJvb2xBdHRyaWJ1dGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGF0dHIuYm9vbEF0dHJpYnV0ZTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgYXR0ci5saXN0QXR0cmlidXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnN0IHZhbHM6IGFueVtdID0gW107XG4gICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm4gKi9cbiAgICBpZiAodHlwZW9mIGF0dHIubGlzdEF0dHJpYnV0ZS5hdHRyaWJ1dGVzID09PSAndW5kZWZpbmVkJykge1xuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuICovXG4gICAgICByZXR1cm4gdmFscztcbiAgICB9XG4gICAgZm9yIChjb25zdCB2YWwgb2YgYXR0ci5saXN0QXR0cmlidXRlLmF0dHJpYnV0ZXMpIHtcbiAgICAgIHZhbHMucHVzaChnZXRWYWx1ZUZyb21BdHRyaWJ1dGUodmFsKSlcbiAgICB9XG4gICAgcmV0dXJuIHZhbHM7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGF0dHIudGltZXN0YW1wQXR0cmlidXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBhdHRyLnRpbWVzdGFtcEF0dHJpYnV0ZTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgYXR0ci5nZW9wb2ludEF0dHJpYnV0ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gYXR0ci5nZW9wb2ludEF0dHJpYnV0ZTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgYXR0ci5zdHJ1Y3RBdHRyaWJ1dGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGEgaW4gYXR0ci5zdHJ1Y3RBdHRyaWJ1dGUuYXR0cmlidXRlcykge1xuICAgICAgaWYgKCFhdHRyLnN0cnVjdEF0dHJpYnV0ZS5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGEpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzICovXG4gICAgICByZXN1bHRbQ2FtZWxDYXNlKGEpXSA9IGdldFZhbHVlRnJvbUF0dHJpYnV0ZShhdHRyLnN0cnVjdEF0dHJpYnV0ZS5hdHRyaWJ1dGVzW2FdKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0cltpXSA9PT0gJ18nKSB7XG4gICAgICByZXN1bHQgKz0gc3RyW2kgKyAxXS50b1VwcGVyQ2FzZSgpO1xuICAgICAgaSsrO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgKz0gc3RyW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { TypedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class DeveloperPersona extends TypedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.developer;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vaWFtX3Nkay9zcmMvbGliL3BlcnNvbmFzL2RldmVsb3Blci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBQWxEOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQy9CLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZWRQZXJzb25hfSBmcm9tICcuL2Jhc2UtcGVyc29uYXMnO1xuaW1wb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBEZXZlbG9wZXJQZXJzb25hIGV4dGVuZHMgVHlwZWRQZXJzb25hIHtcbiAgdHlwZSA9IFBlcnNvbmFUeXBlLmRldmVsb3Blcjtcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { TypedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class DigitalAgentPersona extends TypedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.digital_agent;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRhbC1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2lhbV9zZGsvc3JjL2xpYi9wZXJzb25hcy9kaWdpdGFsLWFnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7SUFBckQ7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFJbkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlZFBlcnNvbmF9IGZyb20gJy4vYmFzZS1wZXJzb25hcyc7XG5pbXBvcnQge1BlcnNvbmFUeXBlfSBmcm9tICcuL3BlcnNvbmEtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIERpZ2l0YWxBZ2VudFBlcnNvbmEgZXh0ZW5kcyBUeXBlZFBlcnNvbmEge1xuICB0eXBlID0gUGVyc29uYVR5cGUuZGlnaXRhbF9hZ2VudDtcblxuICBhY2Nlc3NpYmxlUGFydG5lcklkczogc3RyaW5nW107XG4gIHByb2ZpbGVQaWN0dXJlOiAgICAgICBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export { PersonaType } from './persona-type.enum';
2
+ export { DigitalAgentPersona } from './digital-agent';
3
+ export { PartnerPersona } from './partner';
4
+ export { PartnerAppPersona } from './partner-app';
5
+ export { SalespersonPersona, TitleChoice } from './salesperson';
6
+ export { SMBPersona } from './smb';
7
+ export { VendorPersona } from './vendor';
8
+ export { DeveloperPersona } from './developer';
9
+ export { BasePersona, TypedPersona, NamespacedPersona } from './base-personas';
10
+ export { AccountGroupPersona } from './account-group';
11
+ export { fromPersona } from './personas';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvcGVyc29uYXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDeEMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFBO0FBQy9DLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBMEIsTUFBTSxPQUFPLENBQUE7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDNUMsT0FBTyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUM1RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hLXR5cGUuZW51bSc7XG5leHBvcnQge0RpZ2l0YWxBZ2VudFBlcnNvbmF9IGZyb20gJy4vZGlnaXRhbC1hZ2VudCdcbmV4cG9ydCB7UGFydG5lclBlcnNvbmF9IGZyb20gJy4vcGFydG5lcidcbmV4cG9ydCB7UGFydG5lckFwcFBlcnNvbmF9IGZyb20gJy4vcGFydG5lci1hcHAnXG5leHBvcnQge1NhbGVzcGVyc29uUGVyc29uYSwgVGl0bGVDaG9pY2V9IGZyb20gJy4vc2FsZXNwZXJzb24nXG5leHBvcnQge1NNQlBlcnNvbmEsIEFjY291bnRBY2Nlc3NQZXJtaXNzaW9ufSBmcm9tICcuL3NtYidcbmV4cG9ydCB7VmVuZG9yUGVyc29uYX0gZnJvbSAnLi92ZW5kb3InXG5leHBvcnQge0RldmVsb3BlclBlcnNvbmF9IGZyb20gJy4vZGV2ZWxvcGVyJ1xuZXhwb3J0IHtCYXNlUGVyc29uYSwgVHlwZWRQZXJzb25hLCBOYW1lc3BhY2VkUGVyc29uYX0gZnJvbSAnLi9iYXNlLXBlcnNvbmFzJ1xuZXhwb3J0IHtBY2NvdW50R3JvdXBQZXJzb25hfSBmcm9tICcuL2FjY291bnQtZ3JvdXAnXG5leHBvcnQge2Zyb21QZXJzb25hfSBmcm9tICcuL3BlcnNvbmFzJ1xuIl19
@@ -0,0 +1,9 @@
1
+ import { NamespacedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class PartnerAppPersona extends NamespacedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.partner_app;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvcGVyc29uYXMvcGFydG5lci1hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFBeEQ7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUM7SUFDakMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYW1lc3BhY2VkUGVyc29uYX0gZnJvbSAnLi9iYXNlLXBlcnNvbmFzJztcbmltcG9ydCB7UGVyc29uYVR5cGV9IGZyb20gJy4vcGVyc29uYS10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgUGFydG5lckFwcFBlcnNvbmEgZXh0ZW5kcyBOYW1lc3BhY2VkUGVyc29uYSB7XG4gIHR5cGUgPSBQZXJzb25hVHlwZS5wYXJ0bmVyX2FwcDtcbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { TypedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class PartnerPersona extends TypedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.partner;
7
+ this.isSuperAdmin = false;
8
+ this.isAdmin = false;
9
+ this.canCustomizeWhitelabel = false;
10
+ this.canAccessBilling = false;
11
+ this.canAccessAccounts = false;
12
+ this.canAccessMarketing = false;
13
+ this.canAccessSales = false;
14
+ this.canAccessConcierge = false;
15
+ this.canAccessBrands = false;
16
+ this.canAccessDashboard = false;
17
+ this.canAccessOrders = false;
18
+ this.canAccessCompanyProfile = false;
19
+ this.canAccessAutomations = false;
20
+ this.canAccessMarketplace = false;
21
+ this.canEnableApps = false;
22
+ this.canAccessRetailBilling = false;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2lhbV9zZGsvc3JjL2xpYi9wZXJzb25hcy9wYXJ0bmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxZQUFZO0lBQWhEOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBUTNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZWRQZXJzb25hfSBmcm9tICcuL2Jhc2UtcGVyc29uYXMnO1xuaW1wb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyUGVyc29uYSBleHRlbmRzIFR5cGVkUGVyc29uYSB7XG4gIHR5cGUgPSBQZXJzb25hVHlwZS5wYXJ0bmVyO1xuICBybVVpZDogc3RyaW5nO1xuICBtc1VpZDogc3RyaW5nO1xuICBuYlVpZDogc3RyaW5nO1xuICBhcm1VaWQ6IHN0cmluZztcbiAgc21VaWQ6IHN0cmluZztcblxuICBhY2Nlc3NpYmxlTWFya2V0czogc3RyaW5nW107XG4gIGlzU3VwZXJBZG1pbiA9IGZhbHNlO1xuICBpc0FkbWluID0gZmFsc2U7XG5cbiAgY2FuQ3VzdG9taXplV2hpdGVsYWJlbCA9IGZhbHNlO1xuICBjYW5BY2Nlc3NCaWxsaW5nID0gZmFsc2U7XG4gIGNhbkFjY2Vzc0FjY291bnRzID0gZmFsc2U7XG4gIGNhbkFjY2Vzc01hcmtldGluZyA9IGZhbHNlO1xuICBjYW5BY2Nlc3NTYWxlcyA9IGZhbHNlO1xuICBjYW5BY2Nlc3NDb25jaWVyZ2UgPSBmYWxzZTtcbiAgY2FuQWNjZXNzQnJhbmRzID0gZmFsc2U7XG4gIGNhbkFjY2Vzc0Rhc2hib2FyZCA9IGZhbHNlO1xuICBjYW5BY2Nlc3NPcmRlcnMgPSBmYWxzZTtcbiAgY2FuQWNjZXNzQ29tcGFueVByb2ZpbGUgPSBmYWxzZTtcbiAgY2FuQWNjZXNzQXV0b21hdGlvbnMgPSBmYWxzZTtcbiAgY2FuQWNjZXNzTWFya2V0cGxhY2UgPSBmYWxzZTtcbiAgY2FuRW5hYmxlQXBwcyA9IGZhbHNlO1xuICBjYW5BY2Nlc3NSZXRhaWxCaWxsaW5nID0gZmFsc2U7XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export var PersonaType;
2
+ (function (PersonaType) {
3
+ PersonaType["partner"] = "partner";
4
+ PersonaType["partner_app"] = "partner_app";
5
+ PersonaType["sales_person"] = "sales_person";
6
+ PersonaType["smb"] = "smb";
7
+ PersonaType["vendor"] = "vendor";
8
+ PersonaType["digital_agent"] = "digital_agent";
9
+ PersonaType["developer"] = "developer";
10
+ PersonaType["success"] = "success";
11
+ PersonaType["account_group"] = "account_group";
12
+ })(PersonaType || (PersonaType = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYS10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvcGVyc29uYXMvcGVyc29uYS10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FVWDtBQVZELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBMkIsQ0FBQTtJQUMzQiw0Q0FBNkIsQ0FBQTtJQUM3QiwwQkFBVyxDQUFBO0lBQ1gsZ0NBQWlCLENBQUE7SUFDakIsOENBQStCLENBQUE7SUFDL0Isc0NBQXVCLENBQUE7SUFDdkIsa0NBQW1CLENBQUE7SUFDbkIsOENBQStCLENBQUE7QUFDakMsQ0FBQyxFQVZXLFdBQVcsS0FBWCxXQUFXLFFBVXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUGVyc29uYVR5cGUge1xuICBwYXJ0bmVyID0gJ3BhcnRuZXInLFxuICBwYXJ0bmVyX2FwcCA9ICdwYXJ0bmVyX2FwcCcsXG4gIHNhbGVzX3BlcnNvbiA9ICdzYWxlc19wZXJzb24nLFxuICBzbWIgPSAnc21iJyxcbiAgdmVuZG9yID0gJ3ZlbmRvcicsXG4gIGRpZ2l0YWxfYWdlbnQgPSAnZGlnaXRhbF9hZ2VudCcsXG4gIGRldmVsb3BlciA9ICdkZXZlbG9wZXInLFxuICBzdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICBhY2NvdW50X2dyb3VwID0gJ2FjY291bnRfZ3JvdXAnXG59XG4iXX0=
@@ -0,0 +1,57 @@
1
+ import { DeveloperPersona } from './developer';
2
+ import { PersonaType } from './persona-type.enum';
3
+ import { PartnerPersona } from './partner';
4
+ import { PartnerAppPersona } from './partner-app';
5
+ import { SalespersonPersona } from './salesperson';
6
+ import { SMBPersona } from './smb';
7
+ import { VendorPersona } from './vendor';
8
+ import { DigitalAgentPersona } from './digital-agent';
9
+ import { SuccessPersona } from './success';
10
+ import { AccountGroupPersona } from './account-group';
11
+ export function fromPersona(persona) {
12
+ const type = getTypeFromContext(persona.context);
13
+ if (type === null) {
14
+ return null;
15
+ }
16
+ const personaCls = getPersonaFromType(type);
17
+ personaCls.fromPersona(persona);
18
+ return personaCls;
19
+ }
20
+ export function getTypeFromContext(ctx) {
21
+ const type = (!!ctx.namespaced) ? ctx.namespaced.type : ctx.typed.type;
22
+ switch (type) {
23
+ case 'partner':
24
+ return PersonaType.partner;
25
+ case 'partner_app':
26
+ return PersonaType.partner_app;
27
+ case 'sales_person':
28
+ return PersonaType.sales_person;
29
+ case 'smb':
30
+ return PersonaType.smb;
31
+ case 'vendor':
32
+ return PersonaType.vendor;
33
+ case 'digital_agent':
34
+ return PersonaType.digital_agent;
35
+ case 'developer':
36
+ return PersonaType.developer;
37
+ case 'success':
38
+ return PersonaType.success;
39
+ case 'account_group':
40
+ return PersonaType.account_group;
41
+ }
42
+ return null;
43
+ }
44
+ export function getPersonaFromType(personaType) {
45
+ return new {
46
+ 'partner': PartnerPersona,
47
+ 'partner_app': PartnerAppPersona,
48
+ 'sales_person': SalespersonPersona,
49
+ 'smb': SMBPersona,
50
+ 'vendor': VendorPersona,
51
+ 'digital_agent': DigitalAgentPersona,
52
+ 'developer': DeveloperPersona,
53
+ 'success': SuccessPersona,
54
+ 'account_group': AccountGroupPersona
55
+ }[personaType]();
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvcGVyc29uYXMvcGVyc29uYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFnQjtJQUN4QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLFVBQVUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFZO0lBQzNDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3ZFLFFBQVEsSUFBSSxFQUFFO1FBQ1YsS0FBSyxTQUFTO1lBQ1YsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQy9CLEtBQUssYUFBYTtZQUNkLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxLQUFLLGNBQWM7WUFDZixPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFDcEMsS0FBSyxLQUFLO1lBQ04sT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDO1FBQzNCLEtBQUssUUFBUTtZQUNULE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUM5QixLQUFLLGVBQWU7WUFDaEIsT0FBTyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ3JDLEtBQUssV0FBVztZQUNaLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxLQUFLLFNBQVM7WUFDVixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDL0IsS0FBSyxlQUFlO1lBQ2hCLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQztLQUN4QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsV0FBd0I7SUFDdkQsT0FBTyxJQUFJO1FBQ1AsU0FBUyxFQUFFLGNBQWM7UUFDekIsYUFBYSxFQUFFLGlCQUFpQjtRQUNoQyxjQUFjLEVBQUUsa0JBQWtCO1FBQ2xDLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLGVBQWUsRUFBRSxtQkFBbUI7UUFDcEMsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixTQUFTLEVBQUUsY0FBYztRQUN6QixlQUFlLEVBQUUsbUJBQW1CO0tBQ3ZDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCwgUGVyc29uYSB9IGZyb20gJy4uL19pbnRlcm5hbC9vYmplY3RzL3N1YmplY3RzJztcbmltcG9ydCB7IERldmVsb3BlclBlcnNvbmEgfSBmcm9tICcuL2RldmVsb3Blcic7XG5pbXBvcnQgeyBQZXJzb25hVHlwZSB9IGZyb20gJy4vcGVyc29uYS10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFzZVBlcnNvbmEgfSBmcm9tICcuL2Jhc2UtcGVyc29uYXMnO1xuaW1wb3J0IHsgUGFydG5lclBlcnNvbmEgfSBmcm9tICcuL3BhcnRuZXInO1xuaW1wb3J0IHsgUGFydG5lckFwcFBlcnNvbmEgfSBmcm9tICcuL3BhcnRuZXItYXBwJztcbmltcG9ydCB7IFNhbGVzcGVyc29uUGVyc29uYSB9IGZyb20gJy4vc2FsZXNwZXJzb24nO1xuaW1wb3J0IHsgU01CUGVyc29uYSB9IGZyb20gJy4vc21iJztcbmltcG9ydCB7IFZlbmRvclBlcnNvbmEgfSBmcm9tICcuL3ZlbmRvcic7XG5pbXBvcnQgeyBEaWdpdGFsQWdlbnRQZXJzb25hIH0gZnJvbSAnLi9kaWdpdGFsLWFnZW50JztcbmltcG9ydCB7IFN1Y2Nlc3NQZXJzb25hIH0gZnJvbSAnLi9zdWNjZXNzJztcbmltcG9ydCB7IEFjY291bnRHcm91cFBlcnNvbmEgfSBmcm9tICcuL2FjY291bnQtZ3JvdXAnO1xuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVBlcnNvbmEocGVyc29uYTogUGVyc29uYSk6IEJhc2VQZXJzb25hIHwgbnVsbCB7XG4gICAgY29uc3QgdHlwZSA9IGdldFR5cGVGcm9tQ29udGV4dChwZXJzb25hLmNvbnRleHQpO1xuICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHBlcnNvbmFDbHMgPSBnZXRQZXJzb25hRnJvbVR5cGUodHlwZSk7XG4gICAgcGVyc29uYUNscy5mcm9tUGVyc29uYShwZXJzb25hKTtcbiAgICByZXR1cm4gcGVyc29uYUNscztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVGcm9tQ29udGV4dChjdHg6IENvbnRleHQpOiBQZXJzb25hVHlwZSB8IG51bGwge1xuICAgIGNvbnN0IHR5cGUgPSAoISFjdHgubmFtZXNwYWNlZCkgPyBjdHgubmFtZXNwYWNlZC50eXBlIDogY3R4LnR5cGVkLnR5cGU7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ3BhcnRuZXInOlxuICAgICAgICAgICAgcmV0dXJuIFBlcnNvbmFUeXBlLnBhcnRuZXI7XG4gICAgICAgIGNhc2UgJ3BhcnRuZXJfYXBwJzpcbiAgICAgICAgICAgIHJldHVybiBQZXJzb25hVHlwZS5wYXJ0bmVyX2FwcDtcbiAgICAgICAgY2FzZSAnc2FsZXNfcGVyc29uJzpcbiAgICAgICAgICAgIHJldHVybiBQZXJzb25hVHlwZS5zYWxlc19wZXJzb247XG4gICAgICAgIGNhc2UgJ3NtYic6XG4gICAgICAgICAgICByZXR1cm4gUGVyc29uYVR5cGUuc21iO1xuICAgICAgICBjYXNlICd2ZW5kb3InOlxuICAgICAgICAgICAgcmV0dXJuIFBlcnNvbmFUeXBlLnZlbmRvcjtcbiAgICAgICAgY2FzZSAnZGlnaXRhbF9hZ2VudCc6XG4gICAgICAgICAgICByZXR1cm4gUGVyc29uYVR5cGUuZGlnaXRhbF9hZ2VudDtcbiAgICAgICAgY2FzZSAnZGV2ZWxvcGVyJzpcbiAgICAgICAgICAgIHJldHVybiBQZXJzb25hVHlwZS5kZXZlbG9wZXI7XG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgcmV0dXJuIFBlcnNvbmFUeXBlLnN1Y2Nlc3M7XG4gICAgICAgIGNhc2UgJ2FjY291bnRfZ3JvdXAnOlxuICAgICAgICAgICAgcmV0dXJuIFBlcnNvbmFUeXBlLmFjY291bnRfZ3JvdXA7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGVyc29uYUZyb21UeXBlKHBlcnNvbmFUeXBlOiBQZXJzb25hVHlwZSk6IEJhc2VQZXJzb25hIHtcbiAgICByZXR1cm4gbmV3IHtcbiAgICAgICAgJ3BhcnRuZXInOiBQYXJ0bmVyUGVyc29uYSxcbiAgICAgICAgJ3BhcnRuZXJfYXBwJzogUGFydG5lckFwcFBlcnNvbmEsXG4gICAgICAgICdzYWxlc19wZXJzb24nOiBTYWxlc3BlcnNvblBlcnNvbmEsXG4gICAgICAgICdzbWInOiBTTUJQZXJzb25hLFxuICAgICAgICAndmVuZG9yJzogVmVuZG9yUGVyc29uYSxcbiAgICAgICAgJ2RpZ2l0YWxfYWdlbnQnOiBEaWdpdGFsQWdlbnRQZXJzb25hLFxuICAgICAgICAnZGV2ZWxvcGVyJzogRGV2ZWxvcGVyUGVyc29uYSxcbiAgICAgICAgJ3N1Y2Nlc3MnOiBTdWNjZXNzUGVyc29uYSxcbiAgICAgICAgJ2FjY291bnRfZ3JvdXAnOiBBY2NvdW50R3JvdXBQZXJzb25hXG4gICAgfVtwZXJzb25hVHlwZV0oKTtcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { NamespacedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export const TitleChoice = {
4
+ PARTNER_FOR_SMB: 'partnerForSmb',
5
+ REP_MAN_FOR_SMB: 'repManForSmb',
6
+ MARKET_FOR_SMB: 'marketForSmb'
7
+ };
8
+ export class SalespersonPersona extends NamespacedPersona {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.type = PersonaType.sales_person;
12
+ this.titleChoice = TitleChoice.PARTNER_FOR_SMB;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNwZXJzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvcGVyc29uYXMvc2FsZXNwZXJzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixlQUFlLEVBQUUsZUFBZTtJQUNoQyxlQUFlLEVBQUUsY0FBYztJQUMvQixjQUFjLEVBQUUsY0FBYztDQUMvQixDQUFDO0FBR0YsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUF6RDs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztRQWtCaEMsZ0JBQVcsR0FBZ0IsV0FBVyxDQUFDLGVBQWUsQ0FBQztJQUl6RCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hbWVzcGFjZWRQZXJzb25hfSBmcm9tICcuL2Jhc2UtcGVyc29uYXMnO1xuaW1wb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjb25zdCBUaXRsZUNob2ljZSA9IHtcbiAgUEFSVE5FUl9GT1JfU01COiAncGFydG5lckZvclNtYicsXG4gIFJFUF9NQU5fRk9SX1NNQjogJ3JlcE1hbkZvclNtYicsXG4gIE1BUktFVF9GT1JfU01COiAnbWFya2V0Rm9yU21iJ1xufTtcbmV4cG9ydCB0eXBlIFRpdGxlQ2hvaWNlID0gKHR5cGVvZiBUaXRsZUNob2ljZSlba2V5b2YgdHlwZW9mIFRpdGxlQ2hvaWNlXTtcblxuZXhwb3J0IGNsYXNzIFNhbGVzcGVyc29uUGVyc29uYSBleHRlbmRzIE5hbWVzcGFjZWRQZXJzb25hIHtcbiAgdHlwZSA9IFBlcnNvbmFUeXBlLnNhbGVzX3BlcnNvbjtcblxuICBlbWFpbExvd2VyOiBzdHJpbmc7XG5cbiAgam9iVGl0bGU6IHN0cmluZztcbiAgZGVwYXJ0bWVudDogc3RyaW5nO1xuICByZWdpb246IHN0cmluZztcbiAgc3VwZXJ2aXNvcjogc3RyaW5nO1xuICBtYXJrZXRJZDogc3RyaW5nO1xuXG4gIGlzU2FsZXNNYW5hZ2VyOiBib29sZWFuO1xuXG4gIHBob25lTnVtYmVyczogc3RyaW5nW107XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgY2l0eTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIHppcENvZGU6IHN0cmluZztcbiAgdGl0bGVDaG9pY2U6IFRpdGxlQ2hvaWNlID0gVGl0bGVDaG9pY2UuUEFSVE5FUl9GT1JfU01CO1xuICBwaWN0dXJlTmFtZTogc3RyaW5nO1xuICBwaWN0dXJlU2VydmluZ1VybDogc3RyaW5nO1xuICBwaWN0dXJlU2VydmluZ1VybFNlY3VyZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { NamespacedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class SMBPersona extends NamespacedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.smb;
7
+ this.notificationsEnabled = true;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vaWFtX3Nkay9zcmMvbGliL3BlcnNvbmFzL3NtYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFPaEQsTUFBTSxPQUFPLFVBQVcsU0FBUSxpQkFBaUI7SUFBakQ7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7UUFNdkIseUJBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmFtZXNwYWNlZFBlcnNvbmF9IGZyb20gJy4vYmFzZS1wZXJzb25hcyc7XG5pbXBvcnQge1BlcnNvbmFUeXBlfSBmcm9tICcuL3BlcnNvbmEtdHlwZS5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50QWNjZXNzUGVybWlzc2lvbiB7XG4gIGFjY291bnRHcm91cElkOiBzdHJpbmc7XG4gIGFjY291bnRJZHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgU01CUGVyc29uYSBleHRlbmRzIE5hbWVzcGFjZWRQZXJzb25hIHtcbiAgdHlwZSA9IFBlcnNvbmFUeXBlLnNtYjtcblxuICB3b3JrUGhvbmU6IHN0cmluZztcbiAgZGVmYXVsdEFjY291bnRHcm91cDogc3RyaW5nO1xuICBhY2NvdW50R3JvdXBBc3NvY2lhdGlvbnM6IHN0cmluZ1tdO1xuICBhY2NvdW50QWNjZXNzUGVybWlzc2lvbnM6IEFjY291bnRBY2Nlc3NQZXJtaXNzaW9uW107XG4gIG5vdGlmaWNhdGlvbnNFbmFibGVkID0gdHJ1ZTtcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { TypedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class SuccessPersona extends TypedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.success;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2lhbV9zZGsvc3JjL2xpYi9wZXJzb25hcy9zdWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxZQUFZO0lBQWhEOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZWRQZXJzb25hfSBmcm9tICcuL2Jhc2UtcGVyc29uYXMnO1xuaW1wb3J0IHtQZXJzb25hVHlwZX0gZnJvbSAnLi9wZXJzb25hLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBTdWNjZXNzUGVyc29uYSBleHRlbmRzIFR5cGVkUGVyc29uYSB7XG4gIHR5cGUgPSBQZXJzb25hVHlwZS5zdWNjZXNzO1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { TypedPersona } from './base-personas';
2
+ import { PersonaType } from './persona-type.enum';
3
+ export class VendorPersona extends TypedPersona {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.type = PersonaType.vendor;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vaWFtX3Nkay9zcmMvbGliL3BlcnNvbmFzL3ZlbmRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sT0FBTyxhQUFjLFNBQVEsWUFBWTtJQUEvQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUs1QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGVkUGVyc29uYX0gZnJvbSAnLi9iYXNlLXBlcnNvbmFzJztcbmltcG9ydCB7UGVyc29uYVR5cGV9IGZyb20gJy4vcGVyc29uYS10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgVmVuZG9yUGVyc29uYSBleHRlbmRzIFR5cGVkUGVyc29uYSB7XG4gIHR5cGUgPSBQZXJzb25hVHlwZS52ZW5kb3I7XG5cbiAgYXBwSWRzOiBzdHJpbmdbXTtcbiAgdmVuZG9yTmFtZTogc3RyaW5nO1xuICBpc0FkbWluOiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './lib';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2lhbV9zZGsvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZGFzdGEtaWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaWFtX3Nkay9zcmMvdmVuZGFzdGEtaWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=