@posiwise/common-services 0.1.87 → 0.1.89
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/fesm2022/posiwise-common-services.mjs +268 -226
- package/fesm2022/posiwise-common-services.mjs.map +1 -1
- package/lib/common-services.interface.d.ts +5 -0
- package/lib/user.service.d.ts +15 -1
- package/package.json +8 -10
- package/esm2022/index.mjs +0 -47
- package/esm2022/lib/ab-test.service.mjs +0 -55
- package/esm2022/lib/ahoy.service.mjs +0 -93
- package/esm2022/lib/auth.service.mjs +0 -322
- package/esm2022/lib/base-http.service.mjs +0 -98
- package/esm2022/lib/brain-api-http.service.mjs +0 -26
- package/esm2022/lib/brain.service.mjs +0 -21
- package/esm2022/lib/common-services.interface.mjs +0 -2
- package/esm2022/lib/common-services.module.mjs +0 -23
- package/esm2022/lib/common.service.mjs +0 -134
- package/esm2022/lib/custom-preloading.service.mjs +0 -38
- package/esm2022/lib/dashboard.service.mjs +0 -21
- package/esm2022/lib/data.service.mjs +0 -21
- package/esm2022/lib/date-formatter.service.mjs +0 -82
- package/esm2022/lib/effects/user.effects.mjs +0 -27
- package/esm2022/lib/form-helper.service.mjs +0 -27
- package/esm2022/lib/geo.service.mjs +0 -40
- package/esm2022/lib/google-analytics.service.mjs +0 -121
- package/esm2022/lib/group.service.mjs +0 -122
- package/esm2022/lib/hopscotch.service.mjs +0 -48
- package/esm2022/lib/integrations-api-http.service.mjs +0 -28
- package/esm2022/lib/link-loader.service.mjs +0 -50
- package/esm2022/lib/local-storage.service.mjs +0 -32
- package/esm2022/lib/logo-caching.service.mjs +0 -65
- package/esm2022/lib/mailbox.service.mjs +0 -66
- package/esm2022/lib/main-api-http.service.mjs +0 -26
- package/esm2022/lib/notification.service.mjs +0 -70
- package/esm2022/lib/number-picker.service.mjs +0 -43
- package/esm2022/lib/permission.service.mjs +0 -252
- package/esm2022/lib/primeNgHelper.mjs +0 -18
- package/esm2022/lib/product.service.mjs +0 -78
- package/esm2022/lib/profile.service.mjs +0 -64
- package/esm2022/lib/qualification.service.mjs +0 -29
- package/esm2022/lib/script-loader.service.mjs +0 -79
- package/esm2022/lib/secure-token-storage.service.mjs +0 -264
- package/esm2022/lib/sentry.service.mjs +0 -384
- package/esm2022/lib/seo.service.mjs +0 -43
- package/esm2022/lib/socket.service.mjs +0 -29
- package/esm2022/lib/subscription.service.mjs +0 -129
- package/esm2022/lib/tag.service.mjs +0 -101
- package/esm2022/lib/tips.service.mjs +0 -38
- package/esm2022/lib/toast.service.mjs +0 -85
- package/esm2022/lib/user.service.mjs +0 -115
- package/esm2022/lib/validation.service.mjs +0 -36
- package/esm2022/lib/window.service.mjs +0 -20
- package/esm2022/posiwise-common-services.mjs +0 -5
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import { Inject, Injectable } from '@angular/core';
|
|
4
|
-
import { Router } from '@angular/router';
|
|
5
|
-
import { AppConfigService } from '@posiwise/app-config-service';
|
|
6
|
-
import { CAPTCHA_VALIDATION_PATH, NEWSLETTER_CONFIRMATION_PATH, NEWSLETTER_UNSUBSCRIBE_PATH, SOCIAL_LOGIN_PATH, TOKEN_HEADER_KEY, TOKEN_KEY } from '@posiwise/common-utilities';
|
|
7
|
-
import { BehaviorSubject } from 'rxjs';
|
|
8
|
-
import { map, switchMap } from 'rxjs/operators';
|
|
9
|
-
import swal from 'sweetalert2';
|
|
10
|
-
import { IntegrationsApiHttpService } from './integrations-api-http.service';
|
|
11
|
-
import { LocalStorage } from './local-storage.service';
|
|
12
|
-
import { MainApiHttpService } from './main-api-http.service';
|
|
13
|
-
import { SecureTokenStorageService } from './secure-token-storage.service';
|
|
14
|
-
import { CustomToastService } from './toast.service';
|
|
15
|
-
import { UserService } from './user.service';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "./local-storage.service";
|
|
18
|
-
import * as i2 from "./secure-token-storage.service";
|
|
19
|
-
import * as i3 from "@angular/router";
|
|
20
|
-
import * as i4 from "./main-api-http.service";
|
|
21
|
-
import * as i5 from "./user.service";
|
|
22
|
-
import * as i6 from "./toast.service";
|
|
23
|
-
import * as i7 from "@posiwise/app-config-service";
|
|
24
|
-
import * as i8 from "./integrations-api-http.service";
|
|
25
|
-
export class AuthService {
|
|
26
|
-
constructor(localStorage, secureTokenStorage, router, http, userService, toastr, appConfigService, integrationsApi, document) {
|
|
27
|
-
this.localStorage = localStorage;
|
|
28
|
-
this.secureTokenStorage = secureTokenStorage;
|
|
29
|
-
this.router = router;
|
|
30
|
-
this.http = http;
|
|
31
|
-
this.userService = userService;
|
|
32
|
-
this.toastr = toastr;
|
|
33
|
-
this.appConfigService = appConfigService;
|
|
34
|
-
this.integrationsApi = integrationsApi;
|
|
35
|
-
this.document = document;
|
|
36
|
-
this.platformSubject = new BehaviorSubject('');
|
|
37
|
-
this.twitterEndpoint = '/twitter';
|
|
38
|
-
this.header_key = 'browser';
|
|
39
|
-
this.platform = '';
|
|
40
|
-
this.platform$ = this.platformSubject.asObservable();
|
|
41
|
-
// Set Header Key
|
|
42
|
-
this.setHeaderKey();
|
|
43
|
-
}
|
|
44
|
-
getToken() {
|
|
45
|
-
if (this.secureTokenStorage.getImpersonatedToken()) {
|
|
46
|
-
this.isUserPersonated = true;
|
|
47
|
-
return this.secureTokenStorage.getImpersonatedToken();
|
|
48
|
-
}
|
|
49
|
-
if (this.secureTokenStorage.getPhonegapToken()) {
|
|
50
|
-
this.isUserPersonated = true;
|
|
51
|
-
return this.secureTokenStorage.getPhonegapToken();
|
|
52
|
-
}
|
|
53
|
-
this.isUserPersonated = false;
|
|
54
|
-
return this.secureTokenStorage.getToken();
|
|
55
|
-
}
|
|
56
|
-
getImpersonatedToken() {
|
|
57
|
-
return (this.secureTokenStorage.getImpersonatedToken() ||
|
|
58
|
-
this.secureTokenStorage.getPhonegapToken());
|
|
59
|
-
}
|
|
60
|
-
setHeaderKey() {
|
|
61
|
-
// Mobile: app
|
|
62
|
-
// Website: browser
|
|
63
|
-
this.getHeaderKey().subscribe({
|
|
64
|
-
next: (key) => {
|
|
65
|
-
if (key === null) {
|
|
66
|
-
this.header_key = 'browser';
|
|
67
|
-
this.platformSubject.next('browser');
|
|
68
|
-
}
|
|
69
|
-
else if (key === 'app') {
|
|
70
|
-
this.header_key = key;
|
|
71
|
-
this.platformSubject.next(key);
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
error: () => {
|
|
75
|
-
this.header_key = 'browser';
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
signUpUser(values) {
|
|
80
|
-
const formData = new FormData();
|
|
81
|
-
formData.append('confirmation_path', values.confirmation_path);
|
|
82
|
-
formData.append('contact_name', values.contact_name);
|
|
83
|
-
formData.append('email', values.email);
|
|
84
|
-
formData.append('user_signup_url', values.user_signup_url);
|
|
85
|
-
formData.append('organisation', values.organisation);
|
|
86
|
-
formData.append('product_id', values.product_id.toString());
|
|
87
|
-
formData.append('units', values.units.toString());
|
|
88
|
-
formData.append('stripe_token', values.stripe_token);
|
|
89
|
-
formData.append('master_subscription_id', values.master_subscription_id.toString());
|
|
90
|
-
return this.http.post('signups', formData);
|
|
91
|
-
}
|
|
92
|
-
trialSignUp(data) {
|
|
93
|
-
return this.http.post('signups/trial_signup', data);
|
|
94
|
-
}
|
|
95
|
-
validateEmail(email) {
|
|
96
|
-
const params = {
|
|
97
|
-
email
|
|
98
|
-
};
|
|
99
|
-
return this.http.getWithParams('users/validate_email', params);
|
|
100
|
-
}
|
|
101
|
-
forgotPassword(email, reset_path) {
|
|
102
|
-
const params = {
|
|
103
|
-
email,
|
|
104
|
-
reset_path
|
|
105
|
-
};
|
|
106
|
-
return this.http.getWithParams('password', params);
|
|
107
|
-
}
|
|
108
|
-
resetPassword(password, confirm_password, password_reset_token) {
|
|
109
|
-
const formData = new FormData();
|
|
110
|
-
formData.append('password', password);
|
|
111
|
-
formData.append('password_confirmation', confirm_password);
|
|
112
|
-
formData.append('reset_password_token', password_reset_token);
|
|
113
|
-
return this.http.put('password', formData);
|
|
114
|
-
}
|
|
115
|
-
header() {
|
|
116
|
-
if (this.header_key === 'browser') {
|
|
117
|
-
const headers = new HttpHeaders({
|
|
118
|
-
[TOKEN_HEADER_KEY]: btoa(this.auth_token)
|
|
119
|
-
});
|
|
120
|
-
return headers;
|
|
121
|
-
}
|
|
122
|
-
const headers = new HttpHeaders({
|
|
123
|
-
'X-Phonegap-Token': btoa(this.auth_token)
|
|
124
|
-
});
|
|
125
|
-
return headers;
|
|
126
|
-
}
|
|
127
|
-
getHeaderKey() {
|
|
128
|
-
return this.localStorage.getItem$('platform');
|
|
129
|
-
}
|
|
130
|
-
getPlatform() {
|
|
131
|
-
return this.localStorage.getItem$('platform');
|
|
132
|
-
}
|
|
133
|
-
signInUser(email, password) {
|
|
134
|
-
const formData = new FormData();
|
|
135
|
-
formData.append('email', email);
|
|
136
|
-
formData.append('password', password);
|
|
137
|
-
return this.http.post('session', formData);
|
|
138
|
-
}
|
|
139
|
-
signInUserWith2Fa(email, password, google_code) {
|
|
140
|
-
const formData = new FormData();
|
|
141
|
-
formData.append('email', email);
|
|
142
|
-
formData.append('password', password);
|
|
143
|
-
formData.append('google_code', google_code);
|
|
144
|
-
return this.http.post('session', formData);
|
|
145
|
-
}
|
|
146
|
-
storeToken(token) {
|
|
147
|
-
return this.secureTokenStorage.storeToken(token);
|
|
148
|
-
}
|
|
149
|
-
storePlatform(plat) {
|
|
150
|
-
return this.localStorage.setItem$('platform', plat);
|
|
151
|
-
}
|
|
152
|
-
logout() {
|
|
153
|
-
const options = {
|
|
154
|
-
headers: this.header()
|
|
155
|
-
};
|
|
156
|
-
if (this.header_key !== 'browser') {
|
|
157
|
-
options['params'] = {
|
|
158
|
-
phonegap: true
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
// Clear all tokens securely
|
|
162
|
-
this.secureTokenStorage.clearTokens().subscribe();
|
|
163
|
-
return this.http.delete('session', options);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Clear all authentication tokens
|
|
167
|
-
*/
|
|
168
|
-
clearTokens() {
|
|
169
|
-
return this.secureTokenStorage.clearTokens();
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Remove only impersonation tokens (not all tokens)
|
|
173
|
-
*/
|
|
174
|
-
removeImpersonationTokens() {
|
|
175
|
-
return this.secureTokenStorage.removeImpersonatedTokens();
|
|
176
|
-
}
|
|
177
|
-
getToken$() {
|
|
178
|
-
return this.secureTokenStorage.getToken$();
|
|
179
|
-
}
|
|
180
|
-
getNewsletterSubscription(token) {
|
|
181
|
-
return this.http.get(`${NEWSLETTER_CONFIRMATION_PATH}?token=${token}`);
|
|
182
|
-
}
|
|
183
|
-
unsubscribeNewsletter(token) {
|
|
184
|
-
return this.http.get(`${NEWSLETTER_UNSUBSCRIBE_PATH}?token=${token}`);
|
|
185
|
-
}
|
|
186
|
-
validateReCaptcha(token) {
|
|
187
|
-
return this.http.get(`${CAPTCHA_VALIDATION_PATH}=${token}`);
|
|
188
|
-
}
|
|
189
|
-
socialLogin(data) {
|
|
190
|
-
return this.http.post(SOCIAL_LOGIN_PATH, data);
|
|
191
|
-
}
|
|
192
|
-
twitterLogin() {
|
|
193
|
-
return this.http.get(`${this.twitterEndpoint}/get_authorize_url`);
|
|
194
|
-
}
|
|
195
|
-
twitterAuthCallback(data) {
|
|
196
|
-
return this.http.post(`${this.twitterEndpoint}/authorization_callback`, data);
|
|
197
|
-
}
|
|
198
|
-
microsoftLogin() {
|
|
199
|
-
return this.http.get(`microsoft/get_authorize_url`);
|
|
200
|
-
}
|
|
201
|
-
cognitoLogin() {
|
|
202
|
-
return this.http.get(`cognito/get_authorize_url`);
|
|
203
|
-
}
|
|
204
|
-
microsoftAuthCallback(data) {
|
|
205
|
-
return this.http.post(`microsoft/authorization_callback`, data);
|
|
206
|
-
}
|
|
207
|
-
googleLogin() {
|
|
208
|
-
return this.http.get(`google/get_authorize_url`);
|
|
209
|
-
}
|
|
210
|
-
googleAuthCallback(data) {
|
|
211
|
-
return this.http.post(`google/authorization_callback`, data);
|
|
212
|
-
}
|
|
213
|
-
facebookLogin() {
|
|
214
|
-
return this.http.get(`facebook/get_authorize_url`);
|
|
215
|
-
}
|
|
216
|
-
facebookAuthCallback(data) {
|
|
217
|
-
return this.http.post(`facebook/authorization_callback`, data);
|
|
218
|
-
}
|
|
219
|
-
appleLogin() {
|
|
220
|
-
return this.http.get(`apple/get_authorize_url`);
|
|
221
|
-
}
|
|
222
|
-
appleAuthCallback(data) {
|
|
223
|
-
return this.http.post(`apple/authorization_callback`, data);
|
|
224
|
-
}
|
|
225
|
-
cognitoAuthCallback(data) {
|
|
226
|
-
return this.http.post(`cognito/authorization_callback`, data);
|
|
227
|
-
}
|
|
228
|
-
linkedinLogin() {
|
|
229
|
-
return this.appConfigService.appConfig$.pipe(switchMap(config => {
|
|
230
|
-
return this.http.get(`/linkedin/get_authorize_url?redirect_url=${config['links'].frontend_link}/linkedin-confirmation`);
|
|
231
|
-
}));
|
|
232
|
-
}
|
|
233
|
-
linkedInAuthCallback(data) {
|
|
234
|
-
return this.http.post('linkedin/authorization_callback', data);
|
|
235
|
-
}
|
|
236
|
-
postLogin(response) {
|
|
237
|
-
this.localStorage.removeItem$('product_id').subscribe();
|
|
238
|
-
this.setHeaderKey();
|
|
239
|
-
// this.setPlatform(); call it from cloudolive repo.
|
|
240
|
-
// Saves the token into the localStorage and fetches the user information
|
|
241
|
-
const sequence$ = this.storeToken(response[TOKEN_KEY]).pipe(switchMap(() => {
|
|
242
|
-
return this.userService.getUserInfo();
|
|
243
|
-
}));
|
|
244
|
-
sequence$.subscribe(resp => {
|
|
245
|
-
localStorage.setItem('name', resp.first_name);
|
|
246
|
-
this.router.navigate(['home']);
|
|
247
|
-
if ($('.cc-dismiss').length > 0) {
|
|
248
|
-
$('.cc-dismiss')[0].click();
|
|
249
|
-
}
|
|
250
|
-
return true;
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
impersonateUser(data) {
|
|
254
|
-
if (!data.phonegap) {
|
|
255
|
-
delete data.phonegap;
|
|
256
|
-
}
|
|
257
|
-
return this.http.post('/session/impersonate_user', data).pipe(map(x => {
|
|
258
|
-
if (x?.auth_token) {
|
|
259
|
-
this.secureTokenStorage.storeImpersonatedToken(x.auth_token);
|
|
260
|
-
}
|
|
261
|
-
if (x?.phonegap_token) {
|
|
262
|
-
this.secureTokenStorage.storePhonegapToken(x.phonegap_token);
|
|
263
|
-
}
|
|
264
|
-
return x;
|
|
265
|
-
}));
|
|
266
|
-
}
|
|
267
|
-
postSocialLogin(response) {
|
|
268
|
-
const alreadySigned = !!response[TOKEN_KEY];
|
|
269
|
-
const isNewSignUp = !!response.subscription;
|
|
270
|
-
if (isNewSignUp) {
|
|
271
|
-
this.router.navigate(['confirmation'], {
|
|
272
|
-
queryParams: {
|
|
273
|
-
ref: response.reference_number,
|
|
274
|
-
subscription: response.subscription,
|
|
275
|
-
users: response.users
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
else if (alreadySigned) {
|
|
280
|
-
this.storeToken(response[TOKEN_KEY]).subscribe({
|
|
281
|
-
next: () => {
|
|
282
|
-
this.router.navigate(['home']);
|
|
283
|
-
},
|
|
284
|
-
error: error => {
|
|
285
|
-
this.toastr.showToast(error);
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
swal.fire({
|
|
291
|
-
toast: true,
|
|
292
|
-
position: 'bottom',
|
|
293
|
-
html: `<strong class="text-danger"> ${response.error.message}</strong>`,
|
|
294
|
-
showCancelButton: true,
|
|
295
|
-
reverseButtons: true,
|
|
296
|
-
icon: 'error'
|
|
297
|
-
}).then(rep => {
|
|
298
|
-
if (rep.value) {
|
|
299
|
-
this.router.navigate(['register']);
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
registerTokenListener() {
|
|
305
|
-
window.addEventListener('storage', data => {
|
|
306
|
-
// logs out the other tabs when the token is changed.
|
|
307
|
-
// we assume that token doesn't refresh and backend updates the expiry time
|
|
308
|
-
if (data?.key === TOKEN_KEY && data?.oldValue !== data?.newValue) {
|
|
309
|
-
this.document.location.reload();
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthService, deps: [{ token: i1.LocalStorage }, { token: i2.SecureTokenStorageService }, { token: i3.Router }, { token: i4.MainApiHttpService }, { token: i5.UserService }, { token: i6.CustomToastService }, { token: i7.AppConfigService }, { token: i8.IntegrationsApiHttpService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
314
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthService }); }
|
|
315
|
-
}
|
|
316
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthService, decorators: [{
|
|
317
|
-
type: Injectable
|
|
318
|
-
}], ctorParameters: () => [{ type: i1.LocalStorage }, { type: i2.SecureTokenStorageService }, { type: i3.Router }, { type: i4.MainApiHttpService }, { type: i5.UserService }, { type: i6.CustomToastService }, { type: i7.AppConfigService }, { type: i8.IntegrationsApiHttpService }, { type: Document, decorators: [{
|
|
319
|
-
type: Inject,
|
|
320
|
-
args: [DOCUMENT]
|
|
321
|
-
}] }] });
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUNILHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsU0FBUyxFQUNaLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUcvQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxX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QUFTLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDdEMscURBQXFEO1lBQ3JELDJFQUEyRTtZQUMzRSxJQUFJLElBQUksRUFBRSxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksRUFBRSxRQUFRLEtBQUssSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXhXUSxXQUFXLHNSQXFCUixRQUFRO21IQXJCWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkFzQkYsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWNvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQ0FQVENIQV9WQUxJREFUSU9OX1BBVEgsXG4gICAgTkVXU0xFVFRFUl9DT05GSVJNQVRJT05fUEFUSCxcbiAgICBORVdTTEVUVEVSX1VOU1VCU0NSSUJFX1BBVEgsXG4gICAgU09DSUFMX0xPR0lOX1BBVEgsXG4gICAgVE9LRU5fSEVBREVSX0tFWSxcbiAgICBUT0tFTl9LRVlcbn0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5pbXBvcnQgeyBTaWduVXBWYWx1ZXMgfSBmcm9tICcuL2NvbW1vbi1zZXJ2aWNlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25zQXBpSHR0cFNlcnZpY2UgfSBmcm9tICcuL2ludGVncmF0aW9ucy1hcGktaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZSB9IGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1haW5BcGlIdHRwU2VydmljZSB9IGZyb20gJy4vbWFpbi1hcGktaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3VyZVRva2VuU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlY3VyZS10b2tlbi1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHR3aXR0ZXJFbmRwb2ludCA9ICcvdHdpdHRlcic7XG5cbiAgICBhdXRoX3Rva2VuOiBzdHJpbmc7XG4gICAgaGVhZGVyX2tleSA9ICdicm93c2VyJztcbiAgICBwbGF0Zm9ybSA9ICcnO1xuXG4gICAgcGxhdGZvcm0kID0gdGhpcy5wbGF0Zm9ybVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBpc1VzZXJQZXJzb25hdGVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlVG9rZW5TdG9yYWdlOiBTZWN1cmVUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IE1haW5BcGlIdHRwU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyOiBDdXN0b21Ub2FzdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvbnNBcGk6IEludGVncmF0aW9uc0FwaUh0dHBTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudFxuICAgICkge1xuICAgICAgICAvLyBTZXQgSGVhZGVyIEtleVxuICAgICAgICB0aGlzLnNldEhlYWRlcktleSgpO1xuICAgIH1cblxuICAgIGdldFRva2VuKCkge1xuICAgICAgICBpZiAodGhpcy5zZWN1cmVUb2tlblN0b3JhZ2UuZ2V0SW1wZXJzb25hdGVkVG9rZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5pc1VzZXJQZXJzb25hdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5nZXRJbXBlcnNvbmF0ZWRUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5nZXRQaG9uZWdhcFRva2VuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVc2VyUGVyc29uYXRlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWN1cmVUb2tlblN0b3JhZ2UuZ2V0UGhvbmVnYXBUb2tlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1VzZXJQZXJzb25hdGVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIGdldEltcGVyc29uYXRlZFRva2VuKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5zZWN1cmVUb2tlblN0b3JhZ2UuZ2V0SW1wZXJzb25hdGVkVG9rZW4oKSB8fFxuICAgICAgICAgICAgdGhpcy5zZWN1cmVUb2tlblN0b3JhZ2UuZ2V0UGhvbmVnYXBUb2tlbigpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2V0SGVhZGVyS2V5KCkge1xuICAgICAgICAvLyBNb2JpbGU6IGFwcFxuICAgICAgICAvLyBXZWJzaXRlOiBicm93c2VyXG4gICAgICAgIHRoaXMuZ2V0SGVhZGVyS2V5KCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJfa2V5ID0gJ2Jyb3dzZXInO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYXRmb3JtU3ViamVjdC5uZXh0KCdicm93c2VyJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdhcHAnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyX2tleSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGF0Zm9ybVN1YmplY3QubmV4dChrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyX2tleSA9ICdicm93c2VyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2lnblVwVXNlcih2YWx1ZXM6IFNpZ25VcFZhbHVlcykge1xuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvbmZpcm1hdGlvbl9wYXRoJywgdmFsdWVzLmNvbmZpcm1hdGlvbl9wYXRoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdjb250YWN0X25hbWUnLCB2YWx1ZXMuY29udGFjdF9uYW1lKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdlbWFpbCcsIHZhbHVlcy5lbWFpbCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgndXNlcl9zaWdudXBfdXJsJywgdmFsdWVzLnVzZXJfc2lnbnVwX3VybCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnb3JnYW5pc2F0aW9uJywgdmFsdWVzLm9yZ2FuaXNhdGlvbik7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgncHJvZHVjdF9pZCcsIHZhbHVlcy5wcm9kdWN0X2lkLnRvU3RyaW5nKCkpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3VuaXRzJywgdmFsdWVzLnVuaXRzLnRvU3RyaW5nKCkpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3N0cmlwZV90b2tlbicsIHZhbHVlcy5zdHJpcGVfdG9rZW4pO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ21hc3Rlcl9zdWJzY3JpcHRpb25faWQnLCB2YWx1ZXMubWFzdGVyX3N1YnNjcmlwdGlvbl9pZC50b1N0cmluZygpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJ3NpZ251cHMnLCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgdHJpYWxTaWduVXAoZGF0YTogb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCgnc2lnbnVwcy90cmlhbF9zaWdudXAnLCBkYXRhKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUVtYWlsKGVtYWlsOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgZW1haWxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldFdpdGhQYXJhbXMoJ3VzZXJzL3ZhbGlkYXRlX2VtYWlsJywgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBmb3Jnb3RQYXNzd29yZChlbWFpbDogc3RyaW5nLCByZXNldF9wYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgZW1haWwsXG4gICAgICAgICAgICByZXNldF9wYXRoXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXRXaXRoUGFyYW1zKCdwYXNzd29yZCcsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcmVzZXRQYXNzd29yZChwYXNzd29yZDogc3RyaW5nLCBjb25maXJtX3Bhc3N3b3JkOiBzdHJpbmcsIHBhc3N3b3JkX3Jlc2V0X3Rva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXNzd29yZCcsIHBhc3N3b3JkKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXNzd29yZF9jb25maXJtYXRpb24nLCBjb25maXJtX3Bhc3N3b3JkKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdyZXNldF9wYXNzd29yZF90b2tlbicsIHBhc3N3b3JkX3Jlc2V0X3Rva2VuKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCgncGFzc3dvcmQnLCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgaGVhZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5oZWFkZXJfa2V5ID09PSAnYnJvd3NlcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgIFtUT0tFTl9IRUFERVJfS0VZXTogYnRvYSh0aGlzLmF1dGhfdG9rZW4pXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIGhlYWRlcnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAnWC1QaG9uZWdhcC1Ub2tlbic6IGJ0b2EodGhpcy5hdXRoX3Rva2VuKVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gaGVhZGVycztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlYWRlcktleSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwbGF0Zm9ybScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGxhdGZvcm0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncGxhdGZvcm0nKTtcbiAgICB9XG5cbiAgICBzaWduSW5Vc2VyKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdlbWFpbCcsIGVtYWlsKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXNzd29yZCcsIHBhc3N3b3JkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJ3Nlc3Npb24nLCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgc2lnbkluVXNlcldpdGgyRmEoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgZ29vZ2xlX2NvZGUpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdlbWFpbCcsIGVtYWlsKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXNzd29yZCcsIHBhc3N3b3JkKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdnb29nbGVfY29kZScsIGdvb2dsZV9jb2RlKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJ3Nlc3Npb24nLCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgc3RvcmVUb2tlbih0b2tlbjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5zdG9yZVRva2VuKHRva2VuKTtcbiAgICB9XG5cbiAgICBzdG9yZVBsYXRmb3JtKHBsYXQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSQoJ3BsYXRmb3JtJywgcGxhdCk7XG4gICAgfVxuXG4gICAgbG9nb3V0KCkge1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXIoKVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLmhlYWRlcl9rZXkgIT09ICdicm93c2VyJykge1xuICAgICAgICAgICAgb3B0aW9uc1sncGFyYW1zJ10gPSB7XG4gICAgICAgICAgICAgICAgcGhvbmVnYXA6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDbGVhciBhbGwgdG9rZW5zIHNlY3VyZWx5XG4gICAgICAgIHRoaXMuc2VjdXJlVG9rZW5TdG9yYWdlLmNsZWFyVG9rZW5zKCkuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoJ3Nlc3Npb24nLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhciBhbGwgYXV0aGVudGljYXRpb24gdG9rZW5zXG4gICAgICovXG4gICAgY2xlYXJUb2tlbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5jbGVhclRva2VucygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBvbmx5IGltcGVyc29uYXRpb24gdG9rZW5zIChub3QgYWxsIHRva2VucylcbiAgICAgKi9cbiAgICByZW1vdmVJbXBlcnNvbmF0aW9uVG9rZW5zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWN1cmVUb2tlblN0b3JhZ2UucmVtb3ZlSW1wZXJzb25hdGVkVG9rZW5zKCk7XG4gICAgfVxuXG4gICAgZ2V0VG9rZW4kKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWN1cmVUb2tlblN0b3JhZ2UuZ2V0VG9rZW4kKCk7XG4gICAgfVxuXG4gICAgZ2V0TmV3c2xldHRlclN1YnNjcmlwdGlvbih0b2tlbjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke05FV1NMRVRURVJfQ09ORklSTUFUSU9OX1BBVEh9P3Rva2VuPSR7dG9rZW59YCk7XG4gICAgfVxuXG4gICAgdW5zdWJzY3JpYmVOZXdzbGV0dGVyKHRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7TkVXU0xFVFRFUl9VTlNVQlNDUklCRV9QQVRIfT90b2tlbj0ke3Rva2VufWApO1xuICAgIH1cblxuICAgIHZhbGlkYXRlUmVDYXB0Y2hhKHRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7Q0FQVENIQV9WQUxJREFUSU9OX1BBVEh9PSR7dG9rZW59YCk7XG4gICAgfVxuXG4gICAgc29jaWFsTG9naW4oZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoU09DSUFMX0xPR0lOX1BBVEgsIGRhdGEpO1xuICAgIH1cblxuICAgIHR3aXR0ZXJMb2dpbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50d2l0dGVyRW5kcG9pbnR9L2dldF9hdXRob3JpemVfdXJsYCk7XG4gICAgfVxuXG4gICAgdHdpdHRlckF1dGhDYWxsYmFjayhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnR3aXR0ZXJFbmRwb2ludH0vYXV0aG9yaXphdGlvbl9jYWxsYmFja2AsIGRhdGEpO1xuICAgIH1cblxuICAgIG1pY3Jvc29mdExvZ2luKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgbWljcm9zb2Z0L2dldF9hdXRob3JpemVfdXJsYCk7XG4gICAgfVxuXG4gICAgY29nbml0b0xvZ2luKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgY29nbml0by9nZXRfYXV0aG9yaXplX3VybGApO1xuICAgIH1cblxuICAgIG1pY3Jvc29mdEF1dGhDYWxsYmFjayhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgbWljcm9zb2Z0L2F1dGhvcml6YXRpb25fY2FsbGJhY2tgLCBkYXRhKTtcbiAgICB9XG5cbiAgICBnb29nbGVMb2dpbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGdvb2dsZS9nZXRfYXV0aG9yaXplX3VybGApO1xuICAgIH1cblxuICAgIGdvb2dsZUF1dGhDYWxsYmFjayhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgZ29vZ2xlL2F1dGhvcml6YXRpb25fY2FsbGJhY2tgLCBkYXRhKTtcbiAgICB9XG5cbiAgICBmYWNlYm9va0xvZ2luKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgZmFjZWJvb2svZ2V0X2F1dGhvcml6ZV91cmxgKTtcbiAgICB9XG5cbiAgICBmYWNlYm9va0F1dGhDYWxsYmFjayhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgZmFjZWJvb2svYXV0aG9yaXphdGlvbl9jYWxsYmFja2AsIGRhdGEpO1xuICAgIH1cblxuICAgIGFwcGxlTG9naW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBhcHBsZS9nZXRfYXV0aG9yaXplX3VybGApO1xuICAgIH1cblxuICAgIGFwcGxlQXV0aENhbGxiYWNrKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGBhcHBsZS9hdXRob3JpemF0aW9uX2NhbGxiYWNrYCwgZGF0YSk7XG4gICAgfVxuXG4gICAgY29nbml0b0F1dGhDYWxsYmFjayhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgY29nbml0by9hdXRob3JpemF0aW9uX2NhbGxiYWNrYCwgZGF0YSk7XG4gICAgfVxuXG4gICAgbGlua2VkaW5Mb2dpbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnU2VydmljZS5hcHBDb25maWckLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoY29uZmlnID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgICAgICAgICAgYC9saW5rZWRpbi9nZXRfYXV0aG9yaXplX3VybD9yZWRpcmVjdF91cmw9JHtjb25maWdbJ2xpbmtzJ10uZnJvbnRlbmRfbGlua30vbGlua2VkaW4tY29uZmlybWF0aW9uYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGxpbmtlZEluQXV0aENhbGxiYWNrKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KCdsaW5rZWRpbi9hdXRob3JpemF0aW9uX2NhbGxiYWNrJywgZGF0YSk7XG4gICAgfVxuXG4gICAgcG9zdExvZ2luKHJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0kKCdwcm9kdWN0X2lkJykuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc2V0SGVhZGVyS2V5KCk7XG4gICAgICAgIC8vIHRoaXMuc2V0UGxhdGZvcm0oKTsgY2FsbCBpdCBmcm9tIGNsb3Vkb2xpdmUgcmVwby5cblxuICAgICAgICAvLyBTYXZlcyB0aGUgdG9rZW4gaW50byB0aGUgbG9jYWxTdG9yYWdlIGFuZCBmZXRjaGVzIHRoZSB1c2VyIGluZm9ybWF0aW9uXG4gICAgICAgIGNvbnN0IHNlcXVlbmNlJCA9IHRoaXMuc3RvcmVUb2tlbihyZXNwb25zZVtUT0tFTl9LRVldKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRVc2VySW5mbygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBzZXF1ZW5jZSQuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ25hbWUnLCByZXNwLmZpcnN0X25hbWUpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydob21lJ10pO1xuICAgICAgICAgICAgaWYgKCQoJy5jYy1kaXNtaXNzJykubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICQoJy5jYy1kaXNtaXNzJylbMF0uY2xpY2soKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGltcGVyc29uYXRlVXNlcihkYXRhOiB7IGVtYWlsOiBzdHJpbmc7IHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyOyBwaG9uZWdhcD86IGJvb2xlYW4gfSkge1xuICAgICAgICBpZiAoIWRhdGEucGhvbmVnYXApIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnBob25lZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KCcvc2Vzc2lvbi9pbXBlcnNvbmF0ZV91c2VyJywgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcCh4ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoeD8uYXV0aF90b2tlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5zdG9yZUltcGVyc29uYXRlZFRva2VuKHguYXV0aF90b2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh4Py5waG9uZWdhcF90b2tlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY3VyZVRva2VuU3RvcmFnZS5zdG9yZVBob25lZ2FwVG9rZW4oeC5waG9uZWdhcF90b2tlbik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBvc3RTb2NpYWxMb2dpbihyZXNwb25zZSkge1xuICAgICAgICBjb25zdCBhbHJlYWR5U2lnbmVkID0gISFyZXNwb25zZVtUT0tFTl9LRVldO1xuICAgICAgICBjb25zdCBpc05ld1NpZ25VcCA9ICEhcmVzcG9uc2Uuc3Vic2NyaXB0aW9uO1xuXG4gICAgICAgIGlmIChpc05ld1NpZ25VcCkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjb25maXJtYXRpb24nXSwge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHJlZjogcmVzcG9uc2UucmVmZXJlbmNlX251bWJlcixcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uOiByZXNwb25zZS5zdWJzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHVzZXJzOiByZXNwb25zZS51c2Vyc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGFscmVhZHlTaWduZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmVUb2tlbihyZXNwb25zZVtUT0tFTl9LRVldKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydob21lJ10pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvd1RvYXN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICAgdG9hc3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIGh0bWw6IGA8c3Ryb25nIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4gJHtyZXNwb25zZS5lcnJvci5tZXNzYWdlfTwvc3Ryb25nPmAsXG4gICAgICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICByZXZlcnNlQnV0dG9uczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICAgICAgICB9KS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3JlZ2lzdGVyJ10pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJUb2tlbkxpc3RlbmVyKCkge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIGRhdGEgPT4ge1xuICAgICAgICAgICAgLy8gbG9ncyBvdXQgdGhlIG90aGVyIHRhYnMgd2hlbiB0aGUgdG9rZW4gaXMgY2hhbmdlZC5cbiAgICAgICAgICAgIC8vIHdlIGFzc3VtZSB0aGF0IHRva2VuIGRvZXNuJ3QgcmVmcmVzaCBhbmQgYmFja2VuZCB1cGRhdGVzIHRoZSBleHBpcnkgdGltZVxuICAgICAgICAgICAgaWYgKGRhdGE/LmtleSA9PT0gVE9LRU5fS0VZICYmIGRhdGE/Lm9sZFZhbHVlICE9PSBkYXRhPy5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import { Injectable, Injector } from '@angular/core';
|
|
4
|
-
import { throwError } from 'rxjs';
|
|
5
|
-
import { catchError } from 'rxjs/operators';
|
|
6
|
-
import { CustomToastService } from './toast.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common/http";
|
|
9
|
-
export class BaseHttpService {
|
|
10
|
-
constructor(http, injector) {
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.injector = injector;
|
|
13
|
-
this.baseUrl = '';
|
|
14
|
-
this.getConfig();
|
|
15
|
-
this.toast = injector.get(CustomToastService);
|
|
16
|
-
}
|
|
17
|
-
get(url) {
|
|
18
|
-
return this.http.get(`${this.baseUrl}${url}`).pipe(catchError(error => {
|
|
19
|
-
this.handleError(error);
|
|
20
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
21
|
-
}));
|
|
22
|
-
}
|
|
23
|
-
getWithParams(url, params) {
|
|
24
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
25
|
-
for (const k in params) {
|
|
26
|
-
// Sending a param as "null" or "undefined" makes the value a string called "null"
|
|
27
|
-
// or "undefined" which is not what we want. In such cases, just don't sent any param.
|
|
28
|
-
if ([null, undefined].includes(params[k])) {
|
|
29
|
-
delete params[k];
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return this.http.get(`${this.baseUrl}${url}`, { params }).pipe(catchError(error => {
|
|
33
|
-
this.handleError(error);
|
|
34
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
post(url, params = {}) {
|
|
38
|
-
return this.http.post(`${this.baseUrl}${url}`, params).pipe(catchError(error => {
|
|
39
|
-
this.handleError(error);
|
|
40
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
put(url, params = {}) {
|
|
44
|
-
return this.http.put(`${this.baseUrl}${url}`, params).pipe(catchError(error => {
|
|
45
|
-
this.handleError(error);
|
|
46
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
patch(url, params = {}) {
|
|
50
|
-
return this.http.patch(`${this.baseUrl}${url}`, params).pipe(catchError(error => {
|
|
51
|
-
this.handleError(error);
|
|
52
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
delete(url, option = {}) {
|
|
56
|
-
return this.http.delete(`${this.baseUrl}${url}`, option).pipe(catchError(error => {
|
|
57
|
-
this.handleError(error);
|
|
58
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
upload(url, file, param) {
|
|
62
|
-
const formData = new FormData();
|
|
63
|
-
formData.append(param, file);
|
|
64
|
-
const headers = new HttpHeaders({ enctype: 'multipart/form-data' });
|
|
65
|
-
return this.http.put(`${this.baseUrl}${url}`, formData, { headers }).pipe(catchError(error => {
|
|
66
|
-
this.handleError(error);
|
|
67
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
uploadWithData(url, data) {
|
|
71
|
-
const formData = new FormData();
|
|
72
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
73
|
-
for (const item in data) {
|
|
74
|
-
if (Object.hasOwn(data, item)) {
|
|
75
|
-
formData.append(item, data[item]);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
const headers = new HttpHeaders({ enctype: 'multipart/form-data' });
|
|
79
|
-
return this.http.post(`${this.baseUrl}${url}`, formData, { headers }).pipe(catchError(error => {
|
|
80
|
-
this.handleError(error);
|
|
81
|
-
return throwError(() => new HttpErrorResponse(error));
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
handleError(error) {
|
|
85
|
-
if (error?.error?.status_code !== 'unauthorized__REMOVED_X_TESTING') {
|
|
86
|
-
if (error?.error?.status === 401) {
|
|
87
|
-
this.toast.clear();
|
|
88
|
-
}
|
|
89
|
-
this.toast.showToast(error);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
93
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseHttpService }); }
|
|
94
|
-
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseHttpService, decorators: [{
|
|
96
|
-
type: Injectable
|
|
97
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2Jhc2UtaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFHckQsTUFBTSxPQUFnQixlQUFlO0lBT2pDLFlBQ1csSUFBZ0IsRUFDaEIsUUFBa0I7UUFEbEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUm5CLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFVbkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxHQUFHLENBQUksR0FBRztRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqRCxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLENB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RSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFcEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3RFLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXdCO1FBQ2hDLElBQUksS0FBSyxFQUFFLEtBQUssRUFBRSxXQUFXLEtBQUssaUNBQWlDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQzsrR0E5SGlCLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEN1c3RvbVRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlSHR0cFNlcnZpY2Uge1xuICAgIHByb3RlY3RlZCBiYXNlVXJsID0gJyc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0OiBDdXN0b21Ub2FzdFNlcnZpY2U7XG5cbiAgICBhYnN0cmFjdCBnZXRDb25maWcoKTogdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLmdldENvbmZpZygpO1xuICAgICAgICB0aGlzLnRvYXN0ID0gaW5qZWN0b3IuZ2V0KEN1c3RvbVRvYXN0U2VydmljZSk7XG4gICAgfVxuXG4gICAgZ2V0PFQ+KHVybCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KGAke3RoaXMuYmFzZVVybH0ke3VybH1gKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoZXJyb3IpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0V2l0aFBhcmFtczxUPih1cmwsIHBhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgICBmb3IgKGNvbnN0IGsgaW4gcGFyYW1zKSB7XG4gICAgICAgICAgICAvLyBTZW5kaW5nIGEgcGFyYW0gYXMgXCJudWxsXCIgb3IgXCJ1bmRlZmluZWRcIiBtYWtlcyB0aGUgdmFsdWUgYSBzdHJpbmcgY2FsbGVkIFwibnVsbFwiXG4gICAgICAgICAgICAvLyBvciBcInVuZGVmaW5lZFwiIHdoaWNoIGlzIG5vdCB3aGF0IHdlIHdhbnQuIEluIHN1Y2ggY2FzZXMsIGp1c3QgZG9uJ3Qgc2VudCBhbnkgcGFyYW0uXG4gICAgICAgICAgICBpZiAoW251bGwsIHVuZGVmaW5lZF0uaW5jbHVkZXMocGFyYW1zW2tdKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJhbXNba107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPihgJHt0aGlzLmJhc2VVcmx9JHt1cmx9YCwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEh0dHBFcnJvclJlc3BvbnNlKGVycm9yKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBvc3Q8VD4odXJsLCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPihgJHt0aGlzLmJhc2VVcmx9JHt1cmx9YCwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoZXJyb3IpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHV0PFQ+KHVybCwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPihgJHt0aGlzLmJhc2VVcmx9JHt1cmx9YCwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoZXJyb3IpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcGF0Y2g8VD4odXJsLCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4oYCR7dGhpcy5iYXNlVXJsfSR7dXJsfWAsIHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEh0dHBFcnJvclJlc3BvbnNlKGVycm9yKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZTxUPih1cmwsIG9wdGlvbiA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8VD4oYCR7dGhpcy5iYXNlVXJsfSR7dXJsfWAsIG9wdGlvbikucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEh0dHBFcnJvclJlc3BvbnNlKGVycm9yKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwbG9hZCh1cmwsIGZpbGU6IEZpbGUsIHBhcmFtKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKHBhcmFtLCBmaWxlKTtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7IGVuY3R5cGU6ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmJhc2VVcmx9JHt1cmx9YCwgZm9ybURhdGEsIHsgaGVhZGVycyB9KS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoZXJyb3IpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBsb2FkV2l0aERhdGEodXJsOiBzdHJpbmcsIGRhdGEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIGluIGRhdGEpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QuaGFzT3duKGRhdGEsIGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGl0ZW0sIGRhdGFbaXRlbV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7IGVuY3R5cGU6ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5iYXNlVXJsfSR7dXJsfWAsIGZvcm1EYXRhLCB7IGhlYWRlcnMgfSkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEh0dHBFcnJvclJlc3BvbnNlKGVycm9yKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge1xuICAgICAgICBpZiAoZXJyb3I/LmVycm9yPy5zdGF0dXNfY29kZSAhPT0gJ3VuYXV0aG9yaXplZF9fUkVNT1ZFRF9YX1RFU1RJTkcnKSB7XG4gICAgICAgICAgICBpZiAoZXJyb3I/LmVycm9yPy5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3QuY2xlYXIoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy50b2FzdC5zaG93VG9hc3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable, Injector, isDevMode } from '@angular/core';
|
|
3
|
-
import { AppConfigService } from '@posiwise/app-config-service';
|
|
4
|
-
import { BRAIN_API_PREFIX } from '@posiwise/common-utilities';
|
|
5
|
-
import { BaseHttpService } from './base-http.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
export class BrainApiHttpService extends BaseHttpService {
|
|
9
|
-
constructor(http, injector) {
|
|
10
|
-
super(http, injector);
|
|
11
|
-
}
|
|
12
|
-
getConfig() {
|
|
13
|
-
this.injector.get(AppConfigService).appConfig$.subscribe(config => {
|
|
14
|
-
this.baseUrl = isDevMode() ? BRAIN_API_PREFIX : config?.['links']['brain_api'] ?? '';
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BrainApiHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BrainApiHttpService, providedIn: 'root' }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BrainApiHttpService, decorators: [{
|
|
21
|
-
type: Injectable,
|
|
22
|
-
args: [{
|
|
23
|
-
providedIn: 'root'
|
|
24
|
-
}]
|
|
25
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW4tYXBpLWh0dHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvYnJhaW4tYXBpLWh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3RELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBQ3BELFlBQVksSUFBZ0IsRUFBRSxRQUFrQjtRQUM1QyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFUSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQVRRLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07OzRGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1jb25maWctc2VydmljZSc7XG5pbXBvcnQgeyBCUkFJTl9BUElfUFJFRklYIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtaHR0cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCcmFpbkFwaUh0dHBTZXJ2aWNlIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihodHRwOiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaHR0cCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldENvbmZpZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQXBwQ29uZmlnU2VydmljZSkuYXBwQ29uZmlnJC5zdWJzY3JpYmUoY29uZmlnID0+IHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVVybCA9IGlzRGV2TW9kZSgpID8gQlJBSU5fQVBJX1BSRUZJWCA6IGNvbmZpZz8uWydsaW5rcyddWydicmFpbl9hcGknXSA/PyAnJztcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BrainApiHttpService } from './brain-api-http.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./brain-api-http.service";
|
|
5
|
-
export class BrainApiService {
|
|
6
|
-
constructor(api) {
|
|
7
|
-
this.api = api;
|
|
8
|
-
}
|
|
9
|
-
invokeModel(payload) {
|
|
10
|
-
return this.api.post('/bedrock/invoke', payload);
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BrainApiService, deps: [{ token: i1.BrainApiHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BrainApiService, providedIn: 'root' }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BrainApiService, decorators: [{
|
|
16
|
-
type: Injectable,
|
|
17
|
-
args: [{
|
|
18
|
-
providedIn: 'root'
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: () => [{ type: i1.BrainApiHttpService }] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvYnJhaW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFLL0QsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFBNkIsR0FBd0I7UUFBeEIsUUFBRyxHQUFILEdBQUcsQ0FBcUI7SUFBRyxDQUFDO0lBRXpELFdBQVcsQ0FBQyxPQU1YO1FBQ0csT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQVhRLGVBQWU7bUhBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCcmFpbkFwaUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9icmFpbi1hcGktaHR0cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCcmFpbkFwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBpOiBCcmFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgaW52b2tlTW9kZWwocGF5bG9hZDoge1xuICAgICAgICBtb2RlbF9uYW1lOiAnY2xhdWRlJyB8ICdkZWVwc2Vlayc7XG4gICAgICAgIHByb21wdDogc3RyaW5nO1xuICAgICAgICBzZXNzaW9uX2lkPzogc3RyaW5nO1xuICAgICAgICBtYXhfdG9rZW5zPzogbnVtYmVyO1xuICAgICAgICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbiAgICB9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KCcvYmVkcm9jay9pbnZva2UnLCBwYXlsb2FkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNlcnZpY2VzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvY29tbW9uLXNlcnZpY2VzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5nLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURhdGEge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIHNlbmRfbWFya2V0aW5nX2VtYWlscz86IHN0cmluZ1tdO1xuICAgIGF2YXRhcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaW5kb3dEYXRhIHtcbiAgICBnYTogKGNvbW1hbmQ6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcsIGZpZWxkVmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlTZXJ2aWNlIHtcbiAgICBwb3N0KHVybDogc3RyaW5nLCBib2R5OiBvYmplY3QpOiBPYnNlcnZhYmxlPG9iamVjdD47XG59XG5cbi8vIERlZmluZSBhIHR5cGUgZm9yIGFjdGlvbiB0eXBlc1xudHlwZSBBY3Rpb25UeXBlID0gJ2FiX3Rlc3QnIHwgJ2Fub3RoZXJfYWN0aW9uX3R5cGUnO1xuXG4vLyBEZWZpbmUgYW4gaW50ZXJmYWNlIGZvciB0aGUgcGF5bG9hZFxuZXhwb3J0IGludGVyZmFjZSBFeHBlcmltZW50UGF5bG9hZCB7XG4gICAgdGVzdF9uYW1lOiBzdHJpbmc7XG4gICAgYWN0aW9uX3R5cGU6IEFjdGlvblR5cGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RQYXJhbXMge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnblVwVmFsdWVzIHtcbiAgICBjb25maXJtYXRpb25fcGF0aDogc3RyaW5nO1xuICAgIGNvbnRhY3RfbmFtZT86IHN0cmluZztcbiAgICBlbWFpbD86IHN0cmluZztcbiAgICB1c2VyX3NpZ251cF91cmw6IHN0cmluZztcbiAgICBvcmdhbmlzYXRpb24/OiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZDogbnVtYmVyO1xuICAgIHVuaXRzOiBudW1iZXI7XG4gICAgc3RyaXBlX3Rva2VuOiBzdHJpbmc7XG4gICAgbWFzdGVyX3N1YnNjcmlwdGlvbl9pZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEZhcVBhcmFtcyB7XG4gICAgc3Vic2NyaXB0aW9uX2lkPzogbnVtYmVyO1xuICAgIGZlYXR1cmVfa2V5Pzogc3RyaW5nO1xuICAgIHBhZ2U/OiBudW1iZXI7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkUHJvamVjdFBpY3R1cmVzRGF0YSB7XG4gICAgcHJvamVjdF9pZDogbnVtYmVyO1xuICAgIGltYWdlOiBGaWxlO1xufVxuZXhwb3J0IGludGVyZmFjZSBBaG95RXZlbnQge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwcm9wZXJ0aWVzOiBQYWdpbmc7XG4gICAgdGltZTogc3RyaW5nO1xuICAgIHZpc2l0X2lkOiBudW1iZXI7XG4gICAgdXNlcjogVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBaG95RXZlbnRSZXNwb25zZSB7XG4gICAgZXZlbnRzOiBBaG95RXZlbnRbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBBaG95TWVzc2FnZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIHRvOiBzdHJpbmc7XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIHVzZXJfdHlwZTogc3RyaW5nO1xuICAgIG1haWxlcjogc3RyaW5nO1xuICAgIHN1YmplY3Q6IHN0cmluZztcbiAgICB1dG1fc291cmNlOiBzdHJpbmc7XG4gICAgdXRtX21lZGl1bTogc3RyaW5nO1xuICAgIHV0bV90ZXJtOiBzdHJpbmc7XG4gICAgdXRtX2NvbnRlbnQ6IHN0cmluZztcbiAgICB1dG1fY2FtcGFpZ246IHN0cmluZztcbiAgICBzZW50X2F0OiBzdHJpbmc7XG4gICAgb3BlbmVkX2F0OiBzdHJpbmc7XG4gICAgY2xpY2tlZF9hdDogc3RyaW5nO1xuICAgIG9wZW5fY291bnQ6IG51bWJlcjtcbiAgICBjbGlja19jb3VudDogbnVtYmVyO1xuICAgIHVzZXI6IFVzZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWhveU1lc3NhZ2VSZXNwb25zZSB7XG4gICAgbWVzc2FnZXM6IEFob3lNZXNzYWdlW107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQWhveVZpc2l0IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHZpc2l0X3Rva2VuOiBzdHJpbmc7XG4gICAgdmlzaXRvcl90b2tlbjogc3RyaW5nO1xuICAgIHVzZXJfaWQ6IG51bWJlcjtcbiAgICBpcDogc3RyaW5nO1xuICAgIHVzZXJfYWdlbnQ6IHN0cmluZztcbiAgICByZWZlcnJlcjogc3RyaW5nO1xuICAgIHJlZmVycmluZ19kb21haW46IHN0cmluZztcbiAgICBsYW5kaW5nX3BhZ2U6IHN0cmluZztcbiAgICBicm93c2VyOiBzdHJpbmc7XG4gICAgb3M6IHN0cmluZztcbiAgICBkZXZpY2VfdHlwZTogc3RyaW5nO1xuICAgIGNvdW50cnk6IHN0cmluZztcbiAgICByZWdpb246IHN0cmluZztcbiAgICBjaXR5OiBzdHJpbmc7XG4gICAgcG9zdGFsX2NvZGU6IHN0cmluZztcbiAgICBsYXRpdHVkZTogc3RyaW5nO1xuICAgIGxvbmdpdHVkZTogc3RyaW5nO1xuICAgIHV0bV9zb3VyY2U6IHN0cmluZztcbiAgICB1dG1fbWVkaXVtOiBzdHJpbmc7XG4gICAgdXRtX3Rlcm06IHN0cmluZztcbiAgICB1dG1fY29udGVudDogc3RyaW5nO1xuICAgIHV0bV9jYW1wYWlnbjogc3RyaW5nO1xuICAgIHN0YXJ0ZWRfYXQ6IHN0cmluZztcbiAgICBwbGF0Zm9ybTogc3RyaW5nO1xuICAgIHVzZXI6IFVzZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWhveVZpc2l0UmVzcG9uc2Uge1xuICAgIHZpc2l0czogQWhveVZpc2l0W107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVHJhY2tFdmVudCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgcmVsYXRlZF9lbnRpdHlfaWQ6IG51bWJlcjtcbiAgICByZWxhdGVkX2VudGl0eV90eXBlOiBzdHJpbmc7XG4gICAgZXZlbnRfdHlwZTogc3RyaW5nO1xuICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgdXNlcjogVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja0V2ZW50UmVzcG9uc2Uge1xuICAgIGV2ZW50czogVHJhY2tFdmVudFtdO1xuICAgIG9iamVjdF9jb3VudDogbnVtYmVyO1xuICAgIHVuZmlsdGVyZWRfY291bnQ6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEF1dGhvciB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE9iamVjdERldGFpbHMge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGN1cnJlbnRfc2lnbl9pbl9hdDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQWhveVZlcnNpb24ge1xuICAgIGl0ZW1faWQ6IG51bWJlcjtcbiAgICBpdGVtX3R5cGU6IHN0cmluZztcbiAgICBldmVudDogc3RyaW5nO1xuICAgIG9iamVjdDogT2JqZWN0RGV0YWlscztcbiAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgdXBkYXRlZF9hdDogc3RyaW5nO1xuICAgIHdob0RvbmVJdDogbnVtYmVyO1xuICAgIGF1dGhvcjogQXV0aG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFob3lWZXJzaW9uUmVzcG9uc2Uge1xuICAgIHZlcnNpb25zOiBBaG95VmVyc2lvbltdO1xuICAgIG9iamVjdF9jb3VudDogbnVtYmVyO1xuICAgIHVuZmlsdGVyZWRfY291bnQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { appReducers } from '@posiwise/app-store';
|
|
4
|
-
import { EffectsModule } from '@ngrx/effects';
|
|
5
|
-
import { StoreModule } from '@ngrx/store';
|
|
6
|
-
import { AuthService } from './auth.service';
|
|
7
|
-
import { UserEffects } from './effects/user.effects';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@ngrx/effects";
|
|
10
|
-
import * as i2 from "@ngrx/store";
|
|
11
|
-
export class CommonServicesModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CommonServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: CommonServicesModule, imports: [CommonModule, i1.EffectsRootModule, i2.StoreRootModule] }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CommonServicesModule, providers: [AuthService], imports: [CommonModule, EffectsModule.forRoot([UserEffects]), StoreModule.forRoot(appReducers)] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CommonServicesModule, decorators: [{
|
|
17
|
-
type: NgModule,
|
|
18
|
-
args: [{
|
|
19
|
-
imports: [CommonModule, EffectsModule.forRoot([UserEffects]), StoreModule.forRoot(appReducers)],
|
|
20
|
-
providers: [AuthService]
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNlcnZpY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvY29tbW9uLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFNckQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsWUFIbkIsWUFBWTtnSEFHYixvQkFBb0IsYUFGbEIsQ0FBQyxXQUFXLENBQUMsWUFEZCxZQUFZLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7OzRGQUdyRixvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQy9GLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYXBwUmVkdWNlcnMgfSBmcm9tICdAcG9zaXdpc2UvYXBwLXN0b3JlJztcblxuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvdXNlci5lZmZlY3RzJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFZmZlY3RzTW9kdWxlLmZvclJvb3QoW1VzZXJFZmZlY3RzXSksIFN0b3JlTW9kdWxlLmZvclJvb3QoYXBwUmVkdWNlcnMpXSxcbiAgICBwcm92aWRlcnM6IFtBdXRoU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uU2VydmljZXNNb2R1bGUge31cbiJdfQ==
|