@vendasta/iam 2.2.2 → 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.
- package/esm2020/lib/_generated/host.service.mjs +25 -0
- package/esm2020/lib/_generated/index.mjs +2 -0
- package/esm2020/lib/_internal/enums/api.enum.mjs +22 -0
- package/esm2020/lib/_internal/enums/index.mjs +12 -0
- package/esm2020/lib/_internal/enums/policies.enum.mjs +18 -0
- package/esm2020/lib/_internal/enums/resources.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/subjects.enum.mjs +17 -0
- package/esm2020/lib/_internal/enums/users.enum.mjs +13 -0
- package/esm2020/lib/_internal/iam.api.service.mjs +189 -0
- package/esm2020/lib/_internal/index.mjs +12 -0
- package/esm2020/lib/_internal/interfaces/annotations.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/attributes.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/policies.interface.mjs +3 -0
- package/esm2020/lib/_internal/interfaces/resources.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/security-logs.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/subjects.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/users.interface.mjs +2 -0
- package/esm2020/lib/_internal/objects/annotations.mjs +30 -0
- package/esm2020/lib/_internal/objects/api.mjs +1846 -0
- package/esm2020/lib/_internal/objects/attributes.mjs +158 -0
- package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
- package/esm2020/lib/_internal/objects/index.mjs +16 -0
- package/esm2020/lib/_internal/objects/policies.mjs +264 -0
- package/esm2020/lib/_internal/objects/resources.mjs +168 -0
- package/esm2020/lib/_internal/objects/security-logs.mjs +42 -0
- package/esm2020/lib/_internal/objects/subjects.mjs +352 -0
- package/esm2020/lib/_internal/objects/users.mjs +168 -0
- package/esm2020/lib/_internal/user-iam.api.service.mjs +65 -0
- package/esm2020/lib/http/http.interface.mjs +2 -0
- package/esm2020/lib/http/http.mjs +104 -0
- package/esm2020/lib/http/iam.http.api.service.mjs +67 -0
- package/esm2020/lib/iam.service.mjs +155 -0
- package/esm2020/lib/index.mjs +7 -0
- package/esm2020/lib/personas/account-group.mjs +9 -0
- package/esm2020/lib/personas/base-personas.mjs +93 -0
- package/esm2020/lib/personas/developer.mjs +9 -0
- package/esm2020/lib/personas/digital-agent.mjs +9 -0
- package/esm2020/lib/personas/index.mjs +12 -0
- package/esm2020/lib/personas/partner-app.mjs +9 -0
- package/esm2020/lib/personas/partner.mjs +25 -0
- package/esm2020/lib/personas/persona-type.enum.mjs +13 -0
- package/esm2020/lib/personas/personas.mjs +57 -0
- package/esm2020/lib/personas/salesperson.mjs +15 -0
- package/esm2020/lib/personas/smb.mjs +10 -0
- package/esm2020/lib/personas/success.mjs +9 -0
- package/esm2020/lib/personas/vendor.mjs +9 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/vendasta-iam.mjs +5 -0
- package/fesm2015/{vendasta-iam.js → vendasta-iam.mjs} +362 -386
- package/fesm2015/vendasta-iam.mjs.map +1 -0
- package/fesm2020/vendasta-iam.mjs +3937 -0
- package/fesm2020/vendasta-iam.mjs.map +1 -0
- package/lib/_generated/host.service.d.ts +4 -11
- package/lib/_internal/iam.api.service.d.ts +3 -2
- package/lib/_internal/user-iam.api.service.d.ts +3 -2
- package/lib/http/iam.http.api.service.d.ts +3 -2
- package/lib/iam.service.d.ts +2 -2
- package/package.json +27 -16
- package/{README.md → src/README.md} +0 -0
- package/CHANGELOG.md +0 -101
- package/bundles/vendasta-iam.umd.js +0 -4531
- package/bundles/vendasta-iam.umd.js.map +0 -1
- package/bundles/vendasta-iam.umd.min.js +0 -16
- package/bundles/vendasta-iam.umd.min.js.map +0 -1
- package/esm2015/lib/_generated/host.service.js +0 -64
- package/esm2015/lib/_generated/index.js +0 -2
- package/esm2015/lib/_internal/enums/api.enum.js +0 -22
- package/esm2015/lib/_internal/enums/index.js +0 -12
- package/esm2015/lib/_internal/enums/policies.enum.js +0 -18
- package/esm2015/lib/_internal/enums/resources.enum.js +0 -14
- package/esm2015/lib/_internal/enums/subjects.enum.js +0 -17
- package/esm2015/lib/_internal/enums/users.enum.js +0 -13
- package/esm2015/lib/_internal/iam.api.service.js +0 -188
- package/esm2015/lib/_internal/index.js +0 -12
- package/esm2015/lib/_internal/interfaces/annotations.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/attributes.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/index.js +0 -2
- package/esm2015/lib/_internal/interfaces/policies.interface.js +0 -3
- package/esm2015/lib/_internal/interfaces/resources.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/security-logs.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/subjects.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/users.interface.js +0 -2
- package/esm2015/lib/_internal/objects/annotations.js +0 -30
- package/esm2015/lib/_internal/objects/api.js +0 -1846
- package/esm2015/lib/_internal/objects/attributes.js +0 -158
- package/esm2015/lib/_internal/objects/field-mask.js +0 -27
- package/esm2015/lib/_internal/objects/index.js +0 -16
- package/esm2015/lib/_internal/objects/policies.js +0 -264
- package/esm2015/lib/_internal/objects/resources.js +0 -168
- package/esm2015/lib/_internal/objects/security-logs.js +0 -42
- package/esm2015/lib/_internal/objects/subjects.js +0 -352
- package/esm2015/lib/_internal/objects/users.js +0 -168
- package/esm2015/lib/_internal/user-iam.api.service.js +0 -64
- package/esm2015/lib/http/http.interface.js +0 -2
- package/esm2015/lib/http/http.js +0 -102
- package/esm2015/lib/http/iam.http.api.service.js +0 -65
- package/esm2015/lib/iam.service.js +0 -152
- package/esm2015/lib/index.js +0 -7
- package/esm2015/lib/personas/account-group.js +0 -9
- package/esm2015/lib/personas/base-personas.js +0 -89
- package/esm2015/lib/personas/developer.js +0 -9
- package/esm2015/lib/personas/digital-agent.js +0 -9
- package/esm2015/lib/personas/index.js +0 -12
- package/esm2015/lib/personas/partner-app.js +0 -9
- package/esm2015/lib/personas/partner.js +0 -25
- package/esm2015/lib/personas/persona-type.enum.js +0 -13
- package/esm2015/lib/personas/personas.js +0 -57
- package/esm2015/lib/personas/salesperson.js +0 -15
- package/esm2015/lib/personas/smb.js +0 -10
- package/esm2015/lib/personas/success.js +0 -9
- package/esm2015/lib/personas/vendor.js +0 -9
- package/esm2015/public_api.js +0 -2
- package/esm2015/vendasta-iam.js +0 -5
- package/fesm2015/vendasta-iam.js.map +0 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { PublicKey } from './subjects';
|
|
2
|
+
export function enumStringToValue(enumRef, value) {
|
|
3
|
+
if (typeof value === 'number') {
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
return enumRef[value];
|
|
7
|
+
}
|
|
8
|
+
export class Identifier {
|
|
9
|
+
constructor(kwargs) {
|
|
10
|
+
if (!kwargs) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
Object.assign(this, kwargs);
|
|
14
|
+
}
|
|
15
|
+
static fromProto(proto) {
|
|
16
|
+
let m = new Identifier();
|
|
17
|
+
m = Object.assign(m, proto);
|
|
18
|
+
return m;
|
|
19
|
+
}
|
|
20
|
+
toApiJson() {
|
|
21
|
+
const toReturn = {};
|
|
22
|
+
if (typeof this.subjectId !== 'undefined') {
|
|
23
|
+
toReturn['subjectId'] = this.subjectId;
|
|
24
|
+
}
|
|
25
|
+
if (typeof this.userId !== 'undefined') {
|
|
26
|
+
toReturn['userId'] = this.userId;
|
|
27
|
+
}
|
|
28
|
+
return toReturn;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class NamespacedEmail {
|
|
32
|
+
constructor(kwargs) {
|
|
33
|
+
if (!kwargs) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
Object.assign(this, kwargs);
|
|
37
|
+
}
|
|
38
|
+
static fromProto(proto) {
|
|
39
|
+
let m = new NamespacedEmail();
|
|
40
|
+
m = Object.assign(m, proto);
|
|
41
|
+
return m;
|
|
42
|
+
}
|
|
43
|
+
toApiJson() {
|
|
44
|
+
const toReturn = {};
|
|
45
|
+
if (typeof this.namespace !== 'undefined') {
|
|
46
|
+
toReturn['namespace'] = this.namespace;
|
|
47
|
+
}
|
|
48
|
+
if (typeof this.email !== 'undefined') {
|
|
49
|
+
toReturn['email'] = this.email;
|
|
50
|
+
}
|
|
51
|
+
return toReturn;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export class NamespacedSession {
|
|
55
|
+
constructor(kwargs) {
|
|
56
|
+
if (!kwargs) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
Object.assign(this, kwargs);
|
|
60
|
+
}
|
|
61
|
+
static fromProto(proto) {
|
|
62
|
+
let m = new NamespacedSession();
|
|
63
|
+
m = Object.assign(m, proto);
|
|
64
|
+
return m;
|
|
65
|
+
}
|
|
66
|
+
toApiJson() {
|
|
67
|
+
const toReturn = {};
|
|
68
|
+
if (typeof this.namespace !== 'undefined') {
|
|
69
|
+
toReturn['namespace'] = this.namespace;
|
|
70
|
+
}
|
|
71
|
+
if (typeof this.session !== 'undefined') {
|
|
72
|
+
toReturn['session'] = this.session;
|
|
73
|
+
}
|
|
74
|
+
return toReturn;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export class TypedExternalIdentifier {
|
|
78
|
+
constructor(kwargs) {
|
|
79
|
+
if (!kwargs) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
Object.assign(this, kwargs);
|
|
83
|
+
}
|
|
84
|
+
static fromProto(proto) {
|
|
85
|
+
let m = new TypedExternalIdentifier();
|
|
86
|
+
m = Object.assign(m, proto);
|
|
87
|
+
return m;
|
|
88
|
+
}
|
|
89
|
+
toApiJson() {
|
|
90
|
+
const toReturn = {};
|
|
91
|
+
if (typeof this.externalIdType !== 'undefined') {
|
|
92
|
+
toReturn['externalIdType'] = this.externalIdType;
|
|
93
|
+
}
|
|
94
|
+
if (typeof this.externalId !== 'undefined') {
|
|
95
|
+
toReturn['externalId'] = this.externalId;
|
|
96
|
+
}
|
|
97
|
+
return toReturn;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class User {
|
|
101
|
+
constructor(kwargs) {
|
|
102
|
+
if (!kwargs) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
Object.assign(this, kwargs);
|
|
106
|
+
}
|
|
107
|
+
static fromProto(proto) {
|
|
108
|
+
let m = new User();
|
|
109
|
+
m = Object.assign(m, proto);
|
|
110
|
+
if (proto.created) {
|
|
111
|
+
m.created = new Date(proto.created);
|
|
112
|
+
}
|
|
113
|
+
if (proto.updated) {
|
|
114
|
+
m.updated = new Date(proto.updated);
|
|
115
|
+
}
|
|
116
|
+
if (proto.lastLogin) {
|
|
117
|
+
m.lastLogin = new Date(proto.lastLogin);
|
|
118
|
+
}
|
|
119
|
+
if (proto.publicKeys) {
|
|
120
|
+
m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);
|
|
121
|
+
}
|
|
122
|
+
return m;
|
|
123
|
+
}
|
|
124
|
+
toApiJson() {
|
|
125
|
+
const toReturn = {};
|
|
126
|
+
if (typeof this.userId !== 'undefined') {
|
|
127
|
+
toReturn['userId'] = this.userId;
|
|
128
|
+
}
|
|
129
|
+
if (typeof this.namespace !== 'undefined') {
|
|
130
|
+
toReturn['namespace'] = this.namespace;
|
|
131
|
+
}
|
|
132
|
+
if (typeof this.email !== 'undefined') {
|
|
133
|
+
toReturn['email'] = this.email;
|
|
134
|
+
}
|
|
135
|
+
if (typeof this.created !== 'undefined' && this.created !== null) {
|
|
136
|
+
toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;
|
|
137
|
+
}
|
|
138
|
+
if (typeof this.updated !== 'undefined' && this.updated !== null) {
|
|
139
|
+
toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;
|
|
140
|
+
}
|
|
141
|
+
if (typeof this.firstName !== 'undefined') {
|
|
142
|
+
toReturn['firstName'] = this.firstName;
|
|
143
|
+
}
|
|
144
|
+
if (typeof this.greetingName !== 'undefined') {
|
|
145
|
+
toReturn['greetingName'] = this.greetingName;
|
|
146
|
+
}
|
|
147
|
+
if (typeof this.lastName !== 'undefined') {
|
|
148
|
+
toReturn['lastName'] = this.lastName;
|
|
149
|
+
}
|
|
150
|
+
if (typeof this.languageCode !== 'undefined') {
|
|
151
|
+
toReturn['languageCode'] = this.languageCode;
|
|
152
|
+
}
|
|
153
|
+
if (typeof this.emailVerified !== 'undefined') {
|
|
154
|
+
toReturn['emailVerified'] = this.emailVerified;
|
|
155
|
+
}
|
|
156
|
+
if (typeof this.roles !== 'undefined') {
|
|
157
|
+
toReturn['roles'] = this.roles;
|
|
158
|
+
}
|
|
159
|
+
if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {
|
|
160
|
+
toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;
|
|
161
|
+
}
|
|
162
|
+
if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {
|
|
163
|
+
toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;
|
|
164
|
+
}
|
|
165
|
+
return toReturn;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvdXNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd2QyxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQVVuQixZQUFZLE1BQThCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBWEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDekIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQVNELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3BGLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQUM7UUFDM0UsT0FBTyxRQUFRLENBQUM7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V0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FBQztRQUM3RixJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUFDO1FBQ2hHLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUM7UUFDeEUsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3JMLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFVBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FBQztRQUMzTCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tICcuL3N1YmplY3RzJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aWZpZXIgaW1wbGVtZW50cyBpLklkZW50aWZpZXJJbnRlcmZhY2Uge1xuICAgIHN1YmplY3RJZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogSWRlbnRpZmllciB7XG4gICAgICAgIGxldCBtID0gbmV3IElkZW50aWZpZXIoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLklkZW50aWZpZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdWJqZWN0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N1YmplY3RJZCddID0gdGhpcy5zdWJqZWN0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VySWQnXSA9IHRoaXMudXNlcklkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hbWVzcGFjZWRFbWFpbCBpbXBsZW1lbnRzIGkuTmFtZXNwYWNlZEVtYWlsSW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTmFtZXNwYWNlZEVtYWlsIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTmFtZXNwYWNlZEVtYWlsKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5OYW1lc3BhY2VkRW1haWxJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsJ10gPSB0aGlzLmVtYWlsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hbWVzcGFjZWRTZXNzaW9uIGltcGxlbWVudHMgaS5OYW1lc3BhY2VkU2Vzc2lvbkludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgc2Vzc2lvbjogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTmFtZXNwYWNlZFNlc3Npb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBOYW1lc3BhY2VkU2Vzc2lvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTmFtZXNwYWNlZFNlc3Npb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2Vzc2lvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2Vzc2lvbiddID0gdGhpcy5zZXNzaW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFR5cGVkRXh0ZXJuYWxJZGVudGlmaWVyIGltcGxlbWVudHMgaS5UeXBlZEV4dGVybmFsSWRlbnRpZmllckludGVyZmFjZSB7XG4gICAgZXh0ZXJuYWxJZFR5cGU6IHN0cmluZztcbiAgICBleHRlcm5hbElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUeXBlZEV4dGVybmFsSWRlbnRpZmllciB7XG4gICAgICAgIGxldCBtID0gbmV3IFR5cGVkRXh0ZXJuYWxJZGVudGlmaWVyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5UeXBlZEV4dGVybmFsSWRlbnRpZmllckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4dGVybmFsSWRUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydleHRlcm5hbElkVHlwZSddID0gdGhpcy5leHRlcm5hbElkVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5leHRlcm5hbElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydleHRlcm5hbElkJ10gPSB0aGlzLmV4dGVybmFsSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXNlciBpbXBsZW1lbnRzIGkuVXNlckludGVyZmFjZSB7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBjcmVhdGVkOiBEYXRlO1xuICAgIHVwZGF0ZWQ6IERhdGU7XG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gICAgZ3JlZXRpbmdOYW1lOiBzdHJpbmc7XG4gICAgbGFzdE5hbWU6IHN0cmluZztcbiAgICBsYW5ndWFnZUNvZGU6IHN0cmluZztcbiAgICBlbWFpbFZlcmlmaWVkOiBib29sZWFuO1xuICAgIHJvbGVzOiBzdHJpbmdbXTtcbiAgICBsYXN0TG9naW46IERhdGU7XG4gICAgcHVibGljS2V5czogUHVibGljS2V5W107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBVc2VyIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVXNlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLmxhc3RMb2dpbikge20ubGFzdExvZ2luID0gbmV3IERhdGUocHJvdG8ubGFzdExvZ2luKTt9XG4gICAgICAgIGlmIChwcm90by5wdWJsaWNLZXlzKSB7bS5wdWJsaWNLZXlzID0gcHJvdG8ucHVibGljS2V5cy5tYXAoUHVibGljS2V5LmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlVzZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVtYWlsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlbWFpbCddID0gdGhpcy5lbWFpbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlyc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaXJzdE5hbWUnXSA9IHRoaXMuZmlyc3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmdyZWV0aW5nTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZ3JlZXRpbmdOYW1lJ10gPSB0aGlzLmdyZWV0aW5nTmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGFzdE5hbWUnXSA9IHRoaXMubGFzdE5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGFuZ3VhZ2VDb2RlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsYW5ndWFnZUNvZGUnXSA9IHRoaXMubGFuZ3VhZ2VDb2RlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVtYWlsVmVyaWZpZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsVmVyaWZpZWQnXSA9IHRoaXMuZW1haWxWZXJpZmllZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yb2xlcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncm9sZXMnXSA9IHRoaXMucm9sZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGFzdExvZ2luICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmxhc3RMb2dpbiAhPT0gbnVsbCkge3RvUmV0dXJuWydsYXN0TG9naW4nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubGFzdExvZ2luID8gKHRoaXMubGFzdExvZ2luIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmxhc3RMb2dpbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wdWJsaWNLZXlzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnB1YmxpY0tleXMgIT09IG51bGwpIHt0b1JldHVyblsncHVibGljS2V5cyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wdWJsaWNLZXlzID8gKHRoaXMucHVibGljS2V5cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wdWJsaWNLZXlzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// *********************************
|
|
2
|
+
// Code generated by sdkgen
|
|
3
|
+
// DO NOT EDIT!.
|
|
4
|
+
//
|
|
5
|
+
// API Service.
|
|
6
|
+
// *********************************
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import { GetImpersonationTokenRequest, GetImpersonationTokenResponse, GetSessionTokenRequest, GetSubjectBySessionRequest, GetSubjectResponse, GetTokenRequest, GetTokenResponse, ListPersonasRequest, ListPersonasResponse, ResetPasswordWithTokenRequest, } from './objects/';
|
|
9
|
+
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
|
+
import { HostService } from '../_generated/host.service';
|
|
11
|
+
import { map } from 'rxjs/operators';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/common/http";
|
|
14
|
+
import * as i2 from "../_generated/host.service";
|
|
15
|
+
export class UserIAMApiService {
|
|
16
|
+
constructor(http, hostService) {
|
|
17
|
+
this.http = http;
|
|
18
|
+
this.hostService = hostService;
|
|
19
|
+
this._host = this.hostService.hostWithScheme;
|
|
20
|
+
}
|
|
21
|
+
apiOptions() {
|
|
22
|
+
return {
|
|
23
|
+
headers: new HttpHeaders({
|
|
24
|
+
'Content-Type': 'application/json'
|
|
25
|
+
}),
|
|
26
|
+
withCredentials: true
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
getSubjectBySession(r) {
|
|
30
|
+
const request = (r.toApiJson) ? r : new GetSubjectBySessionRequest(r);
|
|
31
|
+
return this.http.post(this._host + "/iam.v1.UserIAM/GetSubjectBySession", request.toApiJson(), this.apiOptions())
|
|
32
|
+
.pipe(map(resp => GetSubjectResponse.fromProto(resp)));
|
|
33
|
+
}
|
|
34
|
+
listPersonas(r) {
|
|
35
|
+
const request = (r.toApiJson) ? r : new ListPersonasRequest(r);
|
|
36
|
+
return this.http.post(this._host + "/iam.v1.UserIAM/ListPersonas", request.toApiJson(), this.apiOptions())
|
|
37
|
+
.pipe(map(resp => ListPersonasResponse.fromProto(resp)));
|
|
38
|
+
}
|
|
39
|
+
getToken(r) {
|
|
40
|
+
const request = (r.toApiJson) ? r : new GetTokenRequest(r);
|
|
41
|
+
return this.http.post(this._host + "/iam.v1.UserIAM/GetToken", request.toApiJson(), this.apiOptions())
|
|
42
|
+
.pipe(map(resp => GetTokenResponse.fromProto(resp)));
|
|
43
|
+
}
|
|
44
|
+
getSessionToken(r) {
|
|
45
|
+
const request = (r.toApiJson) ? r : new GetSessionTokenRequest(r);
|
|
46
|
+
return this.http.post(this._host + "/iam.v1.UserIAM/GetSessionToken", request.toApiJson(), this.apiOptions())
|
|
47
|
+
.pipe(map(resp => GetTokenResponse.fromProto(resp)));
|
|
48
|
+
}
|
|
49
|
+
resetPasswordWithToken(r) {
|
|
50
|
+
const request = (r.toApiJson) ? r : new ResetPasswordWithTokenRequest(r);
|
|
51
|
+
return this.http.post(this._host + "/iam.v1.UserIAM/ResetPasswordWithToken", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
|
|
52
|
+
}
|
|
53
|
+
getImpersonationToken(r) {
|
|
54
|
+
const request = (r.toApiJson) ? r : new GetImpersonationTokenRequest(r);
|
|
55
|
+
return this.http.post(this._host + "/iam.v1.UserIAM/GetImpersonationToken", request.toApiJson(), this.apiOptions())
|
|
56
|
+
.pipe(map(resp => GetImpersonationTokenResponse.fromProto(resp)));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
UserIAMApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: UserIAMApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
UserIAMApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: UserIAMApiService, providedIn: 'root' });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: UserIAMApiService, decorators: [{
|
|
62
|
+
type: Injectable,
|
|
63
|
+
args: [{ providedIn: 'root' }]
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pYW0uYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvX2ludGVybmFsL3VzZXItaWFtLmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLDZCQUE2QixHQUNwQyxNQUFNLFlBQVksQ0FBQztBQWFwQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHMUMsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixZQUFvQixJQUFnQixFQUFVLFdBQXdCO1FBQWxELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFHaEQsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLENBQW1FO1FBQ25GLE1BQU0sT0FB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LENBQUMsQ0FBQyxDQUFnQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBeUMsSUFBSSxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3RKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNWLENBQUM7OzhHQXJEUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgR2V0SW1wZXJzb25hdGlvblRva2VuUmVxdWVzdCxcbiAgICAgICAgR2V0SW1wZXJzb25hdGlvblRva2VuUmVzcG9uc2UsXG4gICAgICAgIEdldFNlc3Npb25Ub2tlblJlcXVlc3QsXG4gICAgICAgIEdldFN1YmplY3RCeVNlc3Npb25SZXF1ZXN0LFxuICAgICAgICBHZXRTdWJqZWN0UmVzcG9uc2UsXG4gICAgICAgIEdldFRva2VuUmVxdWVzdCxcbiAgICAgICAgR2V0VG9rZW5SZXNwb25zZSxcbiAgICAgICAgTGlzdFBlcnNvbmFzUmVxdWVzdCxcbiAgICAgICAgTGlzdFBlcnNvbmFzUmVzcG9uc2UsXG4gICAgICAgIFJlc2V0UGFzc3dvcmRXaXRoVG9rZW5SZXF1ZXN0LFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIEdldEltcGVyc29uYXRpb25Ub2tlblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEltcGVyc29uYXRpb25Ub2tlblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRTZXNzaW9uVG9rZW5SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRTdWJqZWN0QnlTZXNzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0U3ViamVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRUb2tlblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFRva2VuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQZXJzb25hc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQZXJzb25hc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZXNldFBhc3N3b3JkV2l0aFRva2VuUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2hhcmV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVXNlcklBTUFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRTdWJqZWN0QnlTZXNzaW9uKHI6IEdldFN1YmplY3RCeVNlc3Npb25SZXF1ZXN0IHwgR2V0U3ViamVjdEJ5U2Vzc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFN1YmplY3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0U3ViamVjdEJ5U2Vzc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0U3ViamVjdEJ5U2Vzc2lvblJlcXVlc3Q+cikgOiBuZXcgR2V0U3ViamVjdEJ5U2Vzc2lvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRTdWJqZWN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9pYW0udjEuVXNlcklBTS9HZXRTdWJqZWN0QnlTZXNzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0U3ViamVjdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSksXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0UGVyc29uYXMocjogTGlzdFBlcnNvbmFzUmVxdWVzdCB8IExpc3RQZXJzb25hc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RQZXJzb25hc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UGVyc29uYXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQZXJzb25hc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFBlcnNvbmFzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RQZXJzb25hc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvaWFtLnYxLlVzZXJJQU0vTGlzdFBlcnNvbmFzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFBlcnNvbmFzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFRva2VuKHI6IEdldFRva2VuUmVxdWVzdCB8IEdldFRva2VuUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0VG9rZW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0VG9rZW5SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFRva2VuUmVxdWVzdD5yKSA6IG5ldyBHZXRUb2tlblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRUb2tlblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvaWFtLnYxLlVzZXJJQU0vR2V0VG9rZW5cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRUb2tlblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSksXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRTZXNzaW9uVG9rZW4ocjogR2V0U2Vzc2lvblRva2VuUmVxdWVzdCB8IEdldFNlc3Npb25Ub2tlblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFNlc3Npb25Ub2tlblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0U2Vzc2lvblRva2VuUmVxdWVzdD5yKSA6IG5ldyBHZXRTZXNzaW9uVG9rZW5SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0VG9rZW5SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2lhbS52MS5Vc2VySUFNL0dldFNlc3Npb25Ub2tlblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFRva2VuUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHJlc2V0UGFzc3dvcmRXaXRoVG9rZW4ocjogUmVzZXRQYXNzd29yZFdpdGhUb2tlblJlcXVlc3QgfCBSZXNldFBhc3N3b3JkV2l0aFRva2VuUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXNldFBhc3N3b3JkV2l0aFRva2VuUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZXNldFBhc3N3b3JkV2l0aFRva2VuUmVxdWVzdD5yKSA6IG5ldyBSZXNldFBhc3N3b3JkV2l0aFRva2VuUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9pYW0udjEuVXNlcklBTS9SZXNldFBhc3N3b3JkV2l0aFRva2VuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRJbXBlcnNvbmF0aW9uVG9rZW4ocjogR2V0SW1wZXJzb25hdGlvblRva2VuUmVxdWVzdCB8IEdldEltcGVyc29uYXRpb25Ub2tlblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEltcGVyc29uYXRpb25Ub2tlblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRJbXBlcnNvbmF0aW9uVG9rZW5SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEltcGVyc29uYXRpb25Ub2tlblJlcXVlc3Q+cikgOiBuZXcgR2V0SW1wZXJzb25hdGlvblRva2VuUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEltcGVyc29uYXRpb25Ub2tlblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvaWFtLnYxLlVzZXJJQU0vR2V0SW1wZXJzb25hdGlvblRva2VuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0SW1wZXJzb25hdGlvblRva2VuUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvaHR0cC9odHRwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVxdWVzdEludGVyZmFjZSB7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwcm92aWRlcklkVG9rZW4/OiBzdHJpbmc7XG4gIHByb3ZpZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzcG9uc2VJbnRlcmZhY2Uge1xuICBzZXNzaW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nb3V0UmVzcG9uc2VJbnRlcmZhY2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNTT0xvZ2luUmVxdWVzdEludGVyZmFjZSB7XG4gIG5leHRVcmw/OiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export class LoginRequest {
|
|
2
|
+
constructor(kwargs) {
|
|
3
|
+
if (!kwargs) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
Object.assign(this, kwargs);
|
|
7
|
+
}
|
|
8
|
+
static fromProto(proto) {
|
|
9
|
+
if (!proto) {
|
|
10
|
+
return new LoginRequest();
|
|
11
|
+
}
|
|
12
|
+
let m = new LoginRequest();
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
14
|
+
m = Object.assign(m, proto);
|
|
15
|
+
return m;
|
|
16
|
+
}
|
|
17
|
+
toApiJson() {
|
|
18
|
+
if (typeof this.namespace === 'undefined' &&
|
|
19
|
+
typeof this.type === 'undefined' &&
|
|
20
|
+
typeof this.email === 'undefined' &&
|
|
21
|
+
typeof this.password === 'undefined' &&
|
|
22
|
+
typeof this.providerIdToken === 'undefined' &&
|
|
23
|
+
typeof this.provider === 'undefined') {
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
'namespace': (typeof this.namespace !== 'undefined') ? this.namespace : null,
|
|
28
|
+
'type': (typeof this.type !== 'undefined') ? this.type : null,
|
|
29
|
+
'email': (typeof this.email !== 'undefined') ? this.email : null,
|
|
30
|
+
'password': (typeof this.password !== 'undefined') ? this.password : null,
|
|
31
|
+
'provider_id_token': (typeof this.providerIdToken !== 'undefined') ? this.providerIdToken : null,
|
|
32
|
+
'provider': (typeof this.provider !== 'undefined') ? this.provider : null
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class LoginResponse {
|
|
37
|
+
constructor(kwargs) {
|
|
38
|
+
if (!kwargs) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
Object.assign(this, kwargs);
|
|
42
|
+
}
|
|
43
|
+
static fromProto(proto) {
|
|
44
|
+
/* eslint-disable */
|
|
45
|
+
const m = new LoginResponse();
|
|
46
|
+
m.sessionId = proto['session_id'];
|
|
47
|
+
return m;
|
|
48
|
+
}
|
|
49
|
+
toApiJson() {
|
|
50
|
+
if (typeof this.sessionId === 'undefined') {
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
'sessionId': (typeof this.sessionId !== 'undefined') ? this.sessionId : null
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export class LogoutResponse {
|
|
59
|
+
constructor(kwargs) {
|
|
60
|
+
if (!kwargs) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
Object.assign(this, kwargs);
|
|
64
|
+
}
|
|
65
|
+
static fromProto(proto) {
|
|
66
|
+
let m = new LogoutResponse();
|
|
67
|
+
m = Object.assign(m, proto);
|
|
68
|
+
return m;
|
|
69
|
+
}
|
|
70
|
+
toApiJson() {
|
|
71
|
+
if (typeof this.success === 'undefined') {
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
'success': (typeof this.success !== 'undefined') ? this.success : null
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export class SSOLoginRequest {
|
|
80
|
+
constructor(kwargs) {
|
|
81
|
+
if (!kwargs) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
Object.assign(this, kwargs);
|
|
85
|
+
}
|
|
86
|
+
static fromProto(proto) {
|
|
87
|
+
let m = new SSOLoginRequest();
|
|
88
|
+
m = Object.assign(m, proto);
|
|
89
|
+
return m;
|
|
90
|
+
}
|
|
91
|
+
toApiJson() {
|
|
92
|
+
if (typeof this.nextUrl === 'undefined' &&
|
|
93
|
+
typeof this.namespace === 'undefined' &&
|
|
94
|
+
typeof this.type === 'undefined') {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
'next_url': (typeof this.nextUrl !== 'undefined') ? this.nextUrl : null,
|
|
99
|
+
'namespace': (typeof this.namespace !== 'undefined') ? this.namespace : null,
|
|
100
|
+
'type': (typeof this.type !== 'undefined') ? this.type : null
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2lhbV9zZGsvc3JjL2xpYi9odHRwL2h0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLFlBQVk7SUFrQnZCLFlBQVksTUFBOEI7UUFDeEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFmRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsNkRBQTZEO1FBQzdELENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFTRCxTQUFTO1FBQ1AsSUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVztZQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVztZQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVztZQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVztZQUNwQyxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssV0FBVztZQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ3RDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPO1lBQ0wsV0FBVyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzVFLE1BQU0sRUFBRSxDQUFD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QUM5QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBU0QsU0FBUztRQUNQLElBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVc7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVc7WUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUN2RSxXQUFXLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDNUUsTUFBTSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQzlELENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMb2dpblJlcXVlc3RJbnRlcmZhY2UsIExvZ2luUmVzcG9uc2VJbnRlcmZhY2UsIExvZ291dFJlc3BvbnNlSW50ZXJmYWNlLCBTU09Mb2dpblJlcXVlc3RJbnRlcmZhY2Vcbn0gZnJvbSAnLi9odHRwLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBMb2dpblJlcXVlc3QgaW1wbGVtZW50cyBMb2dpblJlcXVlc3RJbnRlcmZhY2Uge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBwcm92aWRlcklkVG9rZW46IHN0cmluZztcbiAgcHJvdmlkZXI6IHN0cmluZztcblxuICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMb2dpblJlcXVlc3Qge1xuICAgIGlmICghcHJvdG8pIHtcbiAgICAgIHJldHVybiBuZXcgTG9naW5SZXF1ZXN0KCk7XG4gICAgfVxuICAgIGxldCBtID0gbmV3IExvZ2luUmVxdWVzdCgpO1xuICAgIC8qIGVzbGludC1kaXNhYmxlICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnQgKi9cbiAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgcmV0dXJuIG07XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBMb2dpblJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICBpZiAoIWt3YXJncykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gIH1cblxuICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdGhpcy5uYW1lc3BhY2UgPT09ICd1bmRlZmluZWQnICYmXG4gICAgICB0eXBlb2YgdGhpcy50eXBlID09PSAndW5kZWZpbmVkJyAmJlxuICAgICAgdHlwZW9mIHRoaXMuZW1haWwgPT09ICd1bmRlZmluZWQnICYmXG4gICAgICB0eXBlb2YgdGhpcy5wYXNzd29yZCA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHR5cGVvZiB0aGlzLnByb3ZpZGVySWRUb2tlbiA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHR5cGVvZiB0aGlzLnByb3ZpZGVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnbmFtZXNwYWNlJzogKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcpID8gdGhpcy5uYW1lc3BhY2UgOiBudWxsLFxuICAgICAgJ3R5cGUnOiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpID8gdGhpcy50eXBlIDogbnVsbCxcbiAgICAgICdlbWFpbCc6ICh0eXBlb2YgdGhpcy5lbWFpbCAhPT0gJ3VuZGVmaW5lZCcpID8gdGhpcy5lbWFpbCA6IG51bGwsXG4gICAgICAncGFzc3dvcmQnOiAodHlwZW9mIHRoaXMucGFzc3dvcmQgIT09ICd1bmRlZmluZWQnKSA/IHRoaXMucGFzc3dvcmQgOiBudWxsLFxuICAgICAgJ3Byb3ZpZGVyX2lkX3Rva2VuJzogKHR5cGVvZiB0aGlzLnByb3ZpZGVySWRUb2tlbiAhPT0gJ3VuZGVmaW5lZCcpID8gdGhpcy5wcm92aWRlcklkVG9rZW4gOiBudWxsLFxuICAgICAgJ3Byb3ZpZGVyJzogKHR5cGVvZiB0aGlzLnByb3ZpZGVyICE9PSAndW5kZWZpbmVkJykgPyB0aGlzLnByb3ZpZGVyIDogbnVsbFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTG9naW5SZXNwb25zZSBpbXBsZW1lbnRzIExvZ2luUmVzcG9uc2VJbnRlcmZhY2Uge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcblxuICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMb2dpblJlc3BvbnNlIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIGNvbnN0IG0gPSBuZXcgTG9naW5SZXNwb25zZSgpO1xuICAgIG0uc2Vzc2lvbklkID0gcHJvdG9bJ3Nlc3Npb25faWQnXTtcbiAgICByZXR1cm4gbTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGt3YXJncz86IExvZ2luUmVxdWVzdEludGVyZmFjZSkge1xuICAgIGlmICgha3dhcmdzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgfVxuXG4gIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLnNlc3Npb25JZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ3Nlc3Npb25JZCc6ICh0eXBlb2YgdGhpcy5zZXNzaW9uSWQgIT09ICd1bmRlZmluZWQnKSA/IHRoaXMuc2Vzc2lvbklkIDogbnVsbFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTG9nb3V0UmVzcG9uc2UgaW1wbGVtZW50cyBMb2dvdXRSZXNwb25zZUludGVyZmFjZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG5cbiAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTG9nb3V0UmVzcG9uc2Uge1xuICAgIGxldCBtID0gbmV3IExvZ291dFJlc3BvbnNlKCk7XG4gICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgIHJldHVybiBtO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioa3dhcmdzPzogTG9nb3V0UmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICBpZiAoIWt3YXJncykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gIH1cblxuICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdGhpcy5zdWNjZXNzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnc3VjY2Vzcyc6ICh0eXBlb2YgdGhpcy5zdWNjZXNzICE9PSAndW5kZWZpbmVkJykgPyB0aGlzLnN1Y2Nlc3MgOiBudWxsXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTU09Mb2dpblJlcXVlc3QgaW1wbGVtZW50cyBTU09Mb2dpblJlcXVlc3RJbnRlcmZhY2Uge1xuICBuZXh0VXJsOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG5cbiAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU1NPTG9naW5SZXF1ZXN0IHtcbiAgICBsZXQgbSA9IG5ldyBTU09Mb2dpblJlcXVlc3QoKTtcbiAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgcmV0dXJuIG07XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBTU09Mb2dpblJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICBpZiAoIWt3YXJncykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gIH1cblxuICB0b0FwaUpzb24oKTogYW55IHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdGhpcy5uZXh0VXJsID09PSAndW5kZWZpbmVkJyAmJlxuICAgICAgdHlwZW9mIHRoaXMubmFtZXNwYWNlID09PSAndW5kZWZpbmVkJyAmJlxuICAgICAgdHlwZW9mIHRoaXMudHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAnbmV4dF91cmwnOiAodHlwZW9mIHRoaXMubmV4dFVybCAhPT0gJ3VuZGVmaW5lZCcpID8gdGhpcy5uZXh0VXJsIDogbnVsbCxcbiAgICAgICduYW1lc3BhY2UnOiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJykgPyB0aGlzLm5hbWVzcGFjZSA6IG51bGwsXG4gICAgICAndHlwZSc6ICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykgPyB0aGlzLnR5cGUgOiBudWxsXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { map, share } from 'rxjs/operators';
|
|
5
|
+
import { HostService } from '../_generated/host.service';
|
|
6
|
+
import { LoginRequest, LoginResponse, LogoutResponse, SSOLoginRequest } from './http';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common/http";
|
|
9
|
+
import * as i2 from "../_generated/host.service";
|
|
10
|
+
export class IamHttpApiService {
|
|
11
|
+
constructor(http, hostService) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
this.hostService = hostService;
|
|
14
|
+
this._host = this.hostService.hostWithScheme;
|
|
15
|
+
}
|
|
16
|
+
apiOptions(includeCredentials) {
|
|
17
|
+
if (includeCredentials) {
|
|
18
|
+
return {
|
|
19
|
+
headers: new HttpHeaders({
|
|
20
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
21
|
+
}),
|
|
22
|
+
withCredentials: true,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
headers: new HttpHeaders({
|
|
27
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
login(r) {
|
|
32
|
+
const toApiJson = r.toApiJson;
|
|
33
|
+
const request = typeof toApiJson !== 'undefined' ? r : new LoginRequest(r);
|
|
34
|
+
return this.http
|
|
35
|
+
.post(this._host + '/_ajax/v1/login', request.toApiJson(), this.apiOptions())
|
|
36
|
+
.pipe(map((resp) => LoginResponse.fromProto(resp)), share());
|
|
37
|
+
}
|
|
38
|
+
logout() {
|
|
39
|
+
return this.http
|
|
40
|
+
.post(this._host + '/_ajax/v1/logout', {}, this.apiOptions(true))
|
|
41
|
+
.pipe(map((resp) => LogoutResponse.fromProto(resp)), share());
|
|
42
|
+
}
|
|
43
|
+
ssoLogin(r) {
|
|
44
|
+
const toApiJson = r.toApiJson;
|
|
45
|
+
const request = typeof toApiJson !== 'undefined' ? r : new SSOLoginRequest(r);
|
|
46
|
+
const params = new URLSearchParams();
|
|
47
|
+
const apiJson = request.toApiJson();
|
|
48
|
+
for (const key in apiJson) {
|
|
49
|
+
if (!apiJson.hasOwnProperty(key)) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const value = apiJson[key];
|
|
53
|
+
if (value === null) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
params.append(key, value);
|
|
57
|
+
}
|
|
58
|
+
window.location.href = `${this._host}/sso-login?${params.toString()}`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
IamHttpApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: IamHttpApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
IamHttpApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: IamHttpApiService, providedIn: 'root' });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: IamHttpApiService, decorators: [{
|
|
64
|
+
type: Injectable,
|
|
65
|
+
args: [{ providedIn: 'root' }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLmh0dHAuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9pYW1fc2RrL3NyYy9saWIvaHR0cC9pYW0uaHR0cC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7QUFHdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixJQUFnQixFQUFVLFdBQXdCO1FBQWxELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFFeUIsQ0FBQztJQUVsRSxVQUFVLENBQUMsa0JBQTRCO1FBSTdDLElBQUksa0JBQWtCLEVBQUU7WUFDdEIsT0FBTztnQkFDTCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7b0JBQ3ZCLGNBQWMsRUFBRSxtQ0FBbUM7aUJBQ3BELENBQUM7Z0JBQ0YsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztTQUNIO1FBQ0QsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsY0FBYyxFQUFFLG1DQUFtQzthQUNwRCxDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBdUM7UUFDM0MsTUFBTSxTQUFTLEdBQWtCLENBQUUsQ0FBQyxTQUFTLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxpQkFBaUIsRUFDOUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQTRCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDcEUsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FDSCxJQUFJLENBQUMsS0FBSyxHQUFHLGtCQUFrQixFQUMvQixFQUFFLEVBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FDdEI7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzdDLEtBQUssRUFBRSxDQUNSLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQTZDO1FBQ3BELE1BQU0sU0FBUyxHQUFxQixDQUFFLENBQUMsU0FBUyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFcEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLFNBQVM7YUFDVjtZQUNELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7Z0JBQ2xCLFNBQVM7YUFDVjtZQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNCO1FBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxjQUFjLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ3hFLENBQUM7OzhHQXRFVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07MkZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBIb3N0U2VydmljZSB9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIExvZ2luUmVxdWVzdEludGVyZmFjZSxcbiAgTG9naW5SZXNwb25zZUludGVyZmFjZSxcbiAgTG9nb3V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gIFNTT0xvZ2luUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9odHRwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dpblJlcXVlc3QsIExvZ2luUmVzcG9uc2UsIExvZ291dFJlc3BvbnNlLCBTU09Mb2dpblJlcXVlc3QgfSBmcm9tICcuL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIElhbUh0dHBBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge31cblxuICBwcml2YXRlIGFwaU9wdGlvbnMoaW5jbHVkZUNyZWRlbnRpYWxzPzogYm9vbGVhbik6IHtcbiAgICBoZWFkZXJzOiBIdHRwSGVhZGVycztcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICB9IHtcbiAgICBpZiAoaW5jbHVkZUNyZWRlbnRpYWxzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcbiAgICAgICAgfSksXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgbG9naW4ocjogTG9naW5SZXF1ZXN0IHwgTG9naW5SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMb2dpblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdG9BcGlKc29uID0gKDxMb2dpblJlcXVlc3Q+cikudG9BcGlKc29uO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0eXBlb2YgdG9BcGlKc29uICE9PSAndW5kZWZpbmVkJyA/IDxMb2dpblJlcXVlc3Q+ciA6IG5ldyBMb2dpblJlcXVlc3Qocik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8TG9naW5SZXNwb25zZUludGVyZmFjZT4oXG4gICAgICAgIHRoaXMuX2hvc3QgKyAnL19hamF4L3YxL2xvZ2luJyxcbiAgICAgICAgcmVxdWVzdC50b0FwaUpzb24oKSxcbiAgICAgICAgdGhpcy5hcGlPcHRpb25zKCksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwOiBMb2dpblJlc3BvbnNlSW50ZXJmYWNlKSA9PiBMb2dpblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgICApO1xuICB9XG5cbiAgbG9nb3V0KCk6IE9ic2VydmFibGU8TG9nb3V0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxMb2dvdXRSZXNwb25zZUludGVyZmFjZT4oXG4gICAgICAgIHRoaXMuX2hvc3QgKyAnL19hamF4L3YxL2xvZ291dCcsXG4gICAgICAgIHt9LFxuICAgICAgICB0aGlzLmFwaU9wdGlvbnModHJ1ZSksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwKSA9PiBMb2dvdXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpLFxuICAgICAgICBzaGFyZSgpLFxuICAgICAgKTtcbiAgfVxuXG4gIHNzb0xvZ2luKHI6IFNTT0xvZ2luUmVxdWVzdCB8IFNTT0xvZ2luUmVxdWVzdEludGVyZmFjZSk6IHZvaWQge1xuICAgIGNvbnN0IHRvQXBpSnNvbiA9ICg8U1NPTG9naW5SZXF1ZXN0PnIpLnRvQXBpSnNvbjtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHlwZW9mIHRvQXBpSnNvbiAhPT0gJ3VuZGVmaW5lZCcgPyA8U1NPTG9naW5SZXF1ZXN0PnIgOiBuZXcgU1NPTG9naW5SZXF1ZXN0KHIpO1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBjb25zdCBhcGlKc29uID0gcmVxdWVzdC50b0FwaUpzb24oKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGFwaUpzb24pIHtcbiAgICAgIGlmICghYXBpSnNvbi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSBhcGlKc29uW2tleV07XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBwYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5faG9zdH0vc3NvLWxvZ2luPyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgfVxufVxuIl19
|