@doolehealth/service-lib 0.0.4 → 0.0.6
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/README.md +112 -13
- package/esm2022/lib/configuration.mjs +1 -1
- package/esm2022/lib/models/notifications/notification-options.mjs +192 -0
- package/esm2022/lib/models/shared-care-plan.mjs +223 -0
- package/esm2022/lib/models/user.mjs +1 -1
- package/esm2022/lib/service-lib.component.mjs +5 -5
- package/esm2022/lib/service-lib.module.mjs +4 -4
- package/esm2022/lib/services/analytics.service.mjs +20 -11
- package/esm2022/lib/services/api-endpoints.service.mjs +22 -6
- package/esm2022/lib/services/authentication.service.mjs +74 -52
- package/esm2022/lib/services/change-endpoints.service.mjs +46 -22
- package/esm2022/lib/services/date.service.mjs +106 -45
- package/esm2022/lib/services/doole.service.mjs +658 -221
- package/esm2022/lib/services/encryption.service.mjs +3 -3
- package/esm2022/lib/services/error.service.mjs +3 -3
- package/esm2022/lib/services/events.service.mjs +5 -5
- package/esm2022/lib/services/firebase/auth/firebase-auth.service.mjs +154 -0
- package/esm2022/lib/services/firebase/auth/firebase-profile.model.mjs +7 -0
- package/esm2022/lib/services/health.service.mjs +303 -0
- package/esm2022/lib/services/highcharts.service.mjs +37 -67
- package/esm2022/lib/services/http.service.mjs +14 -14
- package/esm2022/lib/services/language.model.mjs +3 -0
- package/esm2022/lib/services/language.service.mjs +6 -6
- package/esm2022/lib/services/loading.service.mjs +3 -3
- package/esm2022/lib/services/logging.service.mjs +4 -4
- package/esm2022/lib/services/navigation.service.mjs +108 -9
- package/esm2022/lib/services/network.service.mjs +7 -7
- package/esm2022/lib/services/notification.service.mjs +10 -96
- package/esm2022/lib/services/opentok.service.mjs +10 -7
- package/esm2022/lib/services/permission.service.mjs +94 -0
- package/esm2022/lib/services/roles.service.mjs +9 -8
- package/esm2022/lib/services/shared-care-plan/shared-care-plan.service.mjs +103 -0
- package/esm2022/lib/services/storage.service.mjs +3 -3
- package/esm2022/lib/services/token.service.mjs +7 -7
- package/esm2022/lib/utils/chatParameters.mjs +17 -0
- package/esm2022/lib/utils/data-store.mjs +62 -0
- package/esm2022/lib/utils/query-string-parameters.mjs +11 -0
- package/esm2022/lib/utils/url-builder.mjs +15 -0
- package/esm2022/public-api.mjs +8 -9
- package/fesm2022/doolehealth-service-lib.mjs +2055 -1228
- package/fesm2022/doolehealth-service-lib.mjs.map +1 -1
- package/lib/configuration.d.ts +4 -2
- package/lib/{util → models/notifications}/notification-options.d.ts +0 -32
- package/lib/models/shared-care-plan.d.ts +206 -0
- package/lib/models/user.d.ts +2 -0
- package/lib/service-lib.component.d.ts +1 -1
- package/lib/services/analytics.service.d.ts +6 -3
- package/lib/services/api-endpoints.service.d.ts +3 -0
- package/lib/services/authentication.service.d.ts +27 -25
- package/lib/services/change-endpoints.service.d.ts +1 -0
- package/lib/services/date.service.d.ts +15 -8
- package/lib/services/doole.service.d.ts +64 -23
- package/lib/services/{auth → firebase/auth}/firebase-auth.service.d.ts +1 -1
- package/lib/services/{auth → firebase/auth}/firebase-profile.model.d.ts +1 -1
- package/lib/services/health.service.d.ts +49 -0
- package/lib/services/highcharts.service.d.ts +1 -2
- package/lib/services/http.service.d.ts +1 -1
- package/lib/services/language.service.d.ts +1 -1
- package/lib/services/navigation.service.d.ts +6 -1
- package/lib/services/notification.service.d.ts +2 -7
- package/lib/services/permission.service.d.ts +33 -0
- package/lib/services/roles.service.d.ts +3 -2
- package/lib/services/shared-care-plan/shared-care-plan.service.d.ts +20 -0
- package/lib/{util → utils}/data-store.d.ts +3 -1
- package/package.json +2 -15
- package/public-api.d.ts +7 -8
- package/esm2022/lib/services/auth/firebase-auth.service.mjs +0 -155
- package/esm2022/lib/services/auth/firebase-profile.model.mjs +0 -7
- package/esm2022/lib/services/pusher/pusher-alarm.service.mjs +0 -39
- package/esm2022/lib/services/pusher/pusher-challenge-notifications.service.mjs +0 -110
- package/esm2022/lib/services/pusher/pusher-connection.service.mjs +0 -73
- package/esm2022/lib/services/pusher/pusher-message.service.mjs +0 -27
- package/esm2022/lib/services/pusher/pusher-notification.service.mjs +0 -116
- package/esm2022/lib/util/chatParameters.mjs +0 -17
- package/esm2022/lib/util/data-store.mjs +0 -54
- package/esm2022/lib/util/environment.mjs +0 -29
- package/esm2022/lib/util/language.model.mjs +0 -3
- package/esm2022/lib/util/notification-options.mjs +0 -245
- package/esm2022/lib/util/query-string-parameters.mjs +0 -11
- package/esm2022/lib/util/url-builder.mjs +0 -15
- package/lib/services/pusher/pusher-alarm.service.d.ts +0 -16
- package/lib/services/pusher/pusher-challenge-notifications.service.d.ts +0 -40
- package/lib/services/pusher/pusher-connection.service.d.ts +0 -24
- package/lib/services/pusher/pusher-message.service.d.ts +0 -13
- package/lib/services/pusher/pusher-notification.service.d.ts +0 -32
- package/lib/util/environment.d.ts +0 -18
- /package/lib/{util → services}/language.model.d.ts +0 -0
- /package/lib/{util → utils}/chatParameters.d.ts +0 -0
- /package/lib/{util → utils}/query-string-parameters.d.ts +0 -0
- /package/lib/{util → utils}/url-builder.d.ts +0 -0
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { Subject, from, of } from 'rxjs';
|
|
3
|
-
import { FirebaseProfileModel } from './firebase-profile.model';
|
|
4
|
-
import { filter, map } from 'rxjs/operators';
|
|
5
|
-
import firebase from "firebase/compat/app";
|
|
6
|
-
//import { cfaSignIn, cfaSignOut } from 'capacitor-firebase-auth';
|
|
7
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
8
|
-
import { DataStore } from '../../util/data-store';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/fire/compat/auth";
|
|
11
|
-
import * as i2 from "@ionic/angular";
|
|
12
|
-
export class FirebaseAuthService {
|
|
13
|
-
constructor(angularFire, platform, platformId) {
|
|
14
|
-
this.angularFire = angularFire;
|
|
15
|
-
this.platform = platform;
|
|
16
|
-
this.platformId = platformId;
|
|
17
|
-
this.redirectResult = new Subject();
|
|
18
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
19
|
-
this.angularFire.onAuthStateChanged((user) => {
|
|
20
|
-
if (user) {
|
|
21
|
-
// User is signed in.
|
|
22
|
-
this.currentUser = user;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
// No user is signed in.
|
|
26
|
-
this.currentUser = null;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
if (!this.platform.is('capacitor')) {
|
|
30
|
-
// when using signInWithRedirect, this listens for the redirect results
|
|
31
|
-
this.angularFire.getRedirectResult()
|
|
32
|
-
.then((result) => {
|
|
33
|
-
// result.credential.accessToken gives you the Provider Access Token. You can use it to access the Provider API.
|
|
34
|
-
if (result.user) {
|
|
35
|
-
this.userProviderAdditionalInfo = result.additionalUserInfo.profile;
|
|
36
|
-
this.redirectResult.next(result);
|
|
37
|
-
}
|
|
38
|
-
}, (error) => {
|
|
39
|
-
this.redirectResult.next({ error: error.code });
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
getRedirectResult() {
|
|
45
|
-
return this.redirectResult.asObservable();
|
|
46
|
-
}
|
|
47
|
-
getPhotoURL(signInProviderId, photoURL) {
|
|
48
|
-
// Default imgs are too small and our app needs a bigger image
|
|
49
|
-
switch (signInProviderId) {
|
|
50
|
-
case 'facebook.com':
|
|
51
|
-
return photoURL + '?height=400';
|
|
52
|
-
case 'password':
|
|
53
|
-
return 'https://s3-us-west-2.amazonaws.com/ionicthemes/otros/avatar-placeholder.png';
|
|
54
|
-
case 'twitter.com':
|
|
55
|
-
return photoURL.replace('_normal', '_400x400');
|
|
56
|
-
case 'google.com':
|
|
57
|
-
return photoURL.split('=')[0];
|
|
58
|
-
default:
|
|
59
|
-
return photoURL;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
signOut() {
|
|
63
|
-
if (this.platform.is('capacitor')) {
|
|
64
|
-
//return cfaSignOut();
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return from(this.angularFire.signOut());
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
signInWithEmail(email, password) {
|
|
72
|
-
return this.angularFire.signInWithEmailAndPassword(email, password);
|
|
73
|
-
}
|
|
74
|
-
signUpWithEmail(email, password) {
|
|
75
|
-
return this.angularFire.createUserWithEmailAndPassword(email, password);
|
|
76
|
-
}
|
|
77
|
-
socialSignIn(providerName, scopes) {
|
|
78
|
-
if (this.platform.is('capacitor')) {
|
|
79
|
-
//return cfaSignIn(providerName);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
const provider = new firebase.auth.OAuthProvider(providerName);
|
|
83
|
-
//console.log("provider. ", provider);
|
|
84
|
-
if (scopes) {
|
|
85
|
-
scopes.forEach(scope => {
|
|
86
|
-
provider.addScope(scope);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
if (this.platform.is('desktop')) {
|
|
90
|
-
return from(this.angularFire.signInWithPopup(provider));
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
// web but not desktop, for example mobile PWA
|
|
94
|
-
return from(this.angularFire.signInWithRedirect(provider));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
signInWithGoogle() {
|
|
100
|
-
const provider = new firebase.auth.GoogleAuthProvider();
|
|
101
|
-
//console.log("provider: ", provider);
|
|
102
|
-
const scopes = ['profile', 'email'];
|
|
103
|
-
return this.socialSignIn(provider.providerId, scopes);
|
|
104
|
-
}
|
|
105
|
-
signInWithTwitter() {
|
|
106
|
-
const provider = new firebase.auth.TwitterAuthProvider();
|
|
107
|
-
return this.socialSignIn(provider.providerId);
|
|
108
|
-
}
|
|
109
|
-
getProfileDataSource() {
|
|
110
|
-
// we need to do this differentiation because there is a bug in
|
|
111
|
-
// platform capacitor ios when executing this.angularFire.user
|
|
112
|
-
if (this.platform.is('capacitor')) {
|
|
113
|
-
return of(this.setUserModelForProfile());
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
return this.angularFire.user
|
|
117
|
-
.pipe(filter((user) => user != null), map((user) => {
|
|
118
|
-
return this.setUserModelForProfile();
|
|
119
|
-
}));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
setUserModelForProfile() {
|
|
123
|
-
const userModel = new FirebaseProfileModel();
|
|
124
|
-
const provierData = this.currentUser.providerData[0];
|
|
125
|
-
const userData = this.userProviderAdditionalInfo ? this.userProviderAdditionalInfo : provierData;
|
|
126
|
-
userModel.image = this.getPhotoURL(provierData.providerId, provierData.photoURL);
|
|
127
|
-
userModel.name = userData.name || userData.displayName || 'What\'s your name?';
|
|
128
|
-
userModel.role = 'How would you describe yourself?';
|
|
129
|
-
userModel.description = userData.description || 'Anything else you would like to share with the world?';
|
|
130
|
-
userModel.phoneNumber = userData.phoneNumber || 'Is there a number where I can reach you?';
|
|
131
|
-
userModel.email = userData.email || 'Where can I send you emails?';
|
|
132
|
-
userModel.provider = (provierData.providerId !== 'password') ? provierData.providerId : 'Credentials';
|
|
133
|
-
return userModel;
|
|
134
|
-
}
|
|
135
|
-
getProfileStore(dataSource) {
|
|
136
|
-
// Initialize the model specifying that it is a shell model
|
|
137
|
-
const shellModel = new FirebaseProfileModel();
|
|
138
|
-
this.profileDataStore = new DataStore(shellModel);
|
|
139
|
-
// Trigger the loading mechanism (with shell) in the dataStore
|
|
140
|
-
this.profileDataStore.load(dataSource);
|
|
141
|
-
return this.profileDataStore;
|
|
142
|
-
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FirebaseAuthService, deps: [{ token: i1.AngularFireAuth }, { token: i2.Platform }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
144
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FirebaseAuthService, providedIn: 'root' }); }
|
|
145
|
-
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FirebaseAuthService, decorators: [{
|
|
147
|
-
type: Injectable,
|
|
148
|
-
args: [{
|
|
149
|
-
providedIn: 'root'
|
|
150
|
-
}]
|
|
151
|
-
}], ctorParameters: () => [{ type: i1.AngularFireAuth }, { type: i2.Platform }, { type: undefined, decorators: [{
|
|
152
|
-
type: Inject,
|
|
153
|
-
args: [PLATFORM_ID]
|
|
154
|
-
}] }] });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VydmljZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL2ZpcmViYXNlLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDM0Msa0VBQWtFO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUtsRCxNQUFNLE9BQU8sbUJBQW1CO0lBUTlCLFlBQ1MsV0FBNEIsRUFDNUIsUUFBa0IsRUFDSSxVQUFrQjtRQUZ4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNJLGVBQVUsR0FBVixVQUFVLENBQVE7UUFOakQsbUJBQWMsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQVFoRCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDVCxxQkFBcUI7b0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sd0JBQXdCO29CQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDMUIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLHVFQUF1RTtnQkFDdkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtxQkFDbkMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2YsZ0hBQWdIO29CQUNoSCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDaEIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7d0JBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNuQyxDQUFDO2dCQUNILENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLGdCQUF3QixFQUFFLFFBQWdCO1FBQ3BELDhEQUE4RDtRQUM5RCxRQUFRLGdCQUFnQixFQUFFLENBQUM7WUFDekIsS0FBSyxjQUFjO2dCQUNqQixPQUFPLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDbEMsS0FBSyxVQUFVO2dCQUNiLE9BQU8sNkVBQTZFLENBQUM7WUFDdkYsS0FBSyxhQUFhO2dCQUNoQixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELEtBQUssWUFBWTtnQkFDZixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEM7Z0JBQ0UsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2xDLHNCQUFzQjtZQUN0QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFlBQVksQ0FBQyxZQUFvQixFQUFFLE1BQXNCO1FBQ3ZELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxpQ0FBaUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFFTixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELHNDQUFzQztZQUN0QyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUdELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sOENBQThDO2dCQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4RCxzQ0FBc0M7UUFDdEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QiwrREFBK0Q7UUFDL0QsOERBQThEO1FBQzlELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7aUJBQzNCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFDcEMsR0FBRyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2pHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRixTQUFTLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFdBQVcsSUFBSSxvQkFBb0IsQ0FBQztRQUMvRSxTQUFTLENBQUMsSUFBSSxHQUFHLGtDQUFrQyxDQUFDO1FBQ3BELFNBQVMsQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsSUFBSSx1REFBdUQsQ0FBQztRQUN4RyxTQUFTLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLElBQUksMENBQTBDLENBQUM7UUFDM0YsU0FBUyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxJQUFJLDhCQUE4QixDQUFDO1FBQ25FLFNBQVMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFdEcsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxVQUE0QztRQUNqRSwyREFBMkQ7UUFDM0QsTUFBTSxVQUFVLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsOERBQThEO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQzsrR0F2SlUsbUJBQW1CLHlFQVdwQixXQUFXO21IQVhWLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFZSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUF1dGggfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdC9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaXJlYmFzZVByb2ZpbGVNb2RlbCB9IGZyb20gJy4vZmlyZWJhc2UtcHJvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgZmlyZWJhc2UgZnJvbSBcImZpcmViYXNlL2NvbXBhdC9hcHBcIjtcbi8vaW1wb3J0IHsgY2ZhU2lnbkluLCBjZmFTaWduT3V0IH0gZnJvbSAnY2FwYWNpdG9yLWZpcmViYXNlLWF1dGgnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXNlciwgQXV0aCB9IGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuaW1wb3J0IHsgRGF0YVN0b3JlIH0gZnJvbSAnLi4vLi4vdXRpbC9kYXRhLXN0b3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlyZWJhc2VBdXRoU2VydmljZSB7XG5cbiAgY3VycmVudFVzZXI6IFVzZXI7XG4gIHVzZXJQcm92aWRlckFkZGl0aW9uYWxJbmZvOiBhbnk7XG4gIHByb2ZpbGVEYXRhU3RvcmU6IERhdGFTdG9yZTxGaXJlYmFzZVByb2ZpbGVNb2RlbD47XG4gIHJlZGlyZWN0UmVzdWx0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYW5ndWxhckZpcmU6IEFuZ3VsYXJGaXJlQXV0aCxcbiAgICBwdWJsaWMgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0XG4gICkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJGaXJlLm9uQXV0aFN0YXRlQ2hhbmdlZCgodXNlcikgPT4ge1xuICAgICAgICBpZiAodXNlcikge1xuICAgICAgICAgIC8vIFVzZXIgaXMgc2lnbmVkIGluLlxuICAgICAgICAgIHRoaXMuY3VycmVudFVzZXIgPSB1c2VyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vIHVzZXIgaXMgc2lnbmVkIGluLlxuICAgICAgICAgIHRoaXMuY3VycmVudFVzZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKCF0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKSkge1xuICAgICAgICAvLyB3aGVuIHVzaW5nIHNpZ25JbldpdGhSZWRpcmVjdCwgdGhpcyBsaXN0ZW5zIGZvciB0aGUgcmVkaXJlY3QgcmVzdWx0c1xuICAgICAgICB0aGlzLmFuZ3VsYXJGaXJlLmdldFJlZGlyZWN0UmVzdWx0KClcbiAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIC8vIHJlc3VsdC5jcmVkZW50aWFsLmFjY2Vzc1Rva2VuIGdpdmVzIHlvdSB0aGUgUHJvdmlkZXIgQWNjZXNzIFRva2VuLiBZb3UgY2FuIHVzZSBpdCB0byBhY2Nlc3MgdGhlIFByb3ZpZGVyIEFQSS5cbiAgICAgICAgICBpZiAocmVzdWx0LnVzZXIpIHtcbiAgICAgICAgICAgIHRoaXMudXNlclByb3ZpZGVyQWRkaXRpb25hbEluZm8gPSByZXN1bHQuYWRkaXRpb25hbFVzZXJJbmZvLnByb2ZpbGU7XG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0UmVzdWx0Lm5leHQocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMucmVkaXJlY3RSZXN1bHQubmV4dCh7ZXJyb3I6IGVycm9yLmNvZGV9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVkaXJlY3RSZXN1bHQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFJlc3VsdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldFBob3RvVVJMKHNpZ25JblByb3ZpZGVySWQ6IHN0cmluZywgcGhvdG9VUkw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gRGVmYXVsdCBpbWdzIGFyZSB0b28gc21hbGwgYW5kIG91ciBhcHAgbmVlZHMgYSBiaWdnZXIgaW1hZ2VcbiAgICBzd2l0Y2ggKHNpZ25JblByb3ZpZGVySWQpIHtcbiAgICAgIGNhc2UgJ2ZhY2Vib29rLmNvbSc6XG4gICAgICAgIHJldHVybiBwaG90b1VSTCArICc/aGVpZ2h0PTQwMCc7XG4gICAgICBjYXNlICdwYXNzd29yZCc6XG4gICAgICAgIHJldHVybiAnaHR0cHM6Ly9zMy11cy13ZXN0LTIuYW1hem9uYXdzLmNvbS9pb25pY3RoZW1lcy9vdHJvcy9hdmF0YXItcGxhY2Vob2xkZXIucG5nJztcbiAgICAgIGNhc2UgJ3R3aXR0ZXIuY29tJzpcbiAgICAgICAgcmV0dXJuIHBob3RvVVJMLnJlcGxhY2UoJ19ub3JtYWwnLCAnXzQwMHg0MDAnKTtcbiAgICAgIGNhc2UgJ2dvb2dsZS5jb20nOlxuICAgICAgICByZXR1cm4gcGhvdG9VUkwuc3BsaXQoJz0nKVswXTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBwaG90b1VSTDtcbiAgICB9XG4gIH1cblxuICBzaWduT3V0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHRoaXMucGxhdGZvcm0uaXMoJ2NhcGFjaXRvcicpKSB7XG4gICAgICAvL3JldHVybiBjZmFTaWduT3V0KCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5hbmd1bGFyRmlyZS5zaWduT3V0KCkpO1xuICAgIH1cbiAgfVxuXG4gIHNpZ25JbldpdGhFbWFpbChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxmaXJlYmFzZS5hdXRoLlVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpcmUuc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIHNpZ25VcFdpdGhFbWFpbChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxmaXJlYmFzZS5hdXRoLlVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpcmUuY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBzb2NpYWxTaWduSW4ocHJvdmlkZXJOYW1lOiBzdHJpbmcsIHNjb3Blcz86IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKSkge1xuICAgICAgLy9yZXR1cm4gY2ZhU2lnbkluKHByb3ZpZGVyTmFtZSk7XG4gICAgfSBlbHNlIHtcblxuICAgICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgZmlyZWJhc2UuYXV0aC5PQXV0aFByb3ZpZGVyKHByb3ZpZGVyTmFtZSk7XG4gICAgICAvL2NvbnNvbGUubG9nKFwicHJvdmlkZXIuIFwiLCBwcm92aWRlcik7XG4gICAgICBpZiAoc2NvcGVzKSB7XG4gICAgICAgIHNjb3Blcy5mb3JFYWNoKHNjb3BlID0+IHtcbiAgICAgICAgICBwcm92aWRlci5hZGRTY29wZShzY29wZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG5cbiAgICAgIGlmICh0aGlzLnBsYXRmb3JtLmlzKCdkZXNrdG9wJykpIHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5hbmd1bGFyRmlyZS5zaWduSW5XaXRoUG9wdXAocHJvdmlkZXIpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHdlYiBidXQgbm90IGRlc2t0b3AsIGZvciBleGFtcGxlIG1vYmlsZSBQV0FcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5hbmd1bGFyRmlyZS5zaWduSW5XaXRoUmVkaXJlY3QocHJvdmlkZXIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzaWduSW5XaXRoR29vZ2xlKCkge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IGZpcmViYXNlLmF1dGguR29vZ2xlQXV0aFByb3ZpZGVyKCk7XG4gICAgLy9jb25zb2xlLmxvZyhcInByb3ZpZGVyOiBcIiwgcHJvdmlkZXIpO1xuICAgIGNvbnN0IHNjb3BlcyA9IFsncHJvZmlsZScsICdlbWFpbCddO1xuICAgIHJldHVybiB0aGlzLnNvY2lhbFNpZ25Jbihwcm92aWRlci5wcm92aWRlcklkLCBzY29wZXMpO1xuICB9XG5cbiAgc2lnbkluV2l0aFR3aXR0ZXIoKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgZmlyZWJhc2UuYXV0aC5Ud2l0dGVyQXV0aFByb3ZpZGVyKCk7XG4gICAgcmV0dXJuIHRoaXMuc29jaWFsU2lnbkluKHByb3ZpZGVyLnByb3ZpZGVySWQpO1xuICB9XG5cbiAgcHVibGljIGdldFByb2ZpbGVEYXRhU291cmNlKCk6IE9ic2VydmFibGU8RmlyZWJhc2VQcm9maWxlTW9kZWw+IHtcbiAgICAvLyB3ZSBuZWVkIHRvIGRvIHRoaXMgZGlmZmVyZW50aWF0aW9uIGJlY2F1c2UgdGhlcmUgaXMgYSBidWcgaW5cbiAgICAvLyBwbGF0Zm9ybSBjYXBhY2l0b3IgaW9zIHdoZW4gZXhlY3V0aW5nIHRoaXMuYW5ndWxhckZpcmUudXNlclxuICAgIGlmICh0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuc2V0VXNlck1vZGVsRm9yUHJvZmlsZSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpcmUudXNlclxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodXNlcjogVXNlcikgPT4gdXNlciAhPSBudWxsKSxcbiAgICAgICAgbWFwKCh1c2VyOiBVc2VyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2V0VXNlck1vZGVsRm9yUHJvZmlsZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFVzZXJNb2RlbEZvclByb2ZpbGUoKTogRmlyZWJhc2VQcm9maWxlTW9kZWwge1xuICAgIGNvbnN0IHVzZXJNb2RlbCA9IG5ldyBGaXJlYmFzZVByb2ZpbGVNb2RlbCgpO1xuICAgIGNvbnN0IHByb3ZpZXJEYXRhID0gdGhpcy5jdXJyZW50VXNlci5wcm92aWRlckRhdGFbMF07XG4gICAgY29uc3QgdXNlckRhdGEgPSB0aGlzLnVzZXJQcm92aWRlckFkZGl0aW9uYWxJbmZvID8gdGhpcy51c2VyUHJvdmlkZXJBZGRpdGlvbmFsSW5mbyA6IHByb3ZpZXJEYXRhO1xuICAgIHVzZXJNb2RlbC5pbWFnZSA9IHRoaXMuZ2V0UGhvdG9VUkwocHJvdmllckRhdGEucHJvdmlkZXJJZCwgcHJvdmllckRhdGEucGhvdG9VUkwpO1xuICAgIHVzZXJNb2RlbC5uYW1lID0gdXNlckRhdGEubmFtZSB8fCB1c2VyRGF0YS5kaXNwbGF5TmFtZSB8fCAnV2hhdFxcJ3MgeW91ciBuYW1lPyc7XG4gICAgdXNlck1vZGVsLnJvbGUgPSAnSG93IHdvdWxkIHlvdSBkZXNjcmliZSB5b3Vyc2VsZj8nO1xuICAgIHVzZXJNb2RlbC5kZXNjcmlwdGlvbiA9IHVzZXJEYXRhLmRlc2NyaXB0aW9uIHx8ICdBbnl0aGluZyBlbHNlIHlvdSB3b3VsZCBsaWtlIHRvIHNoYXJlIHdpdGggdGhlIHdvcmxkPyc7XG4gICAgdXNlck1vZGVsLnBob25lTnVtYmVyID0gdXNlckRhdGEucGhvbmVOdW1iZXIgfHwgJ0lzIHRoZXJlIGEgbnVtYmVyIHdoZXJlIEkgY2FuIHJlYWNoIHlvdT8nO1xuICAgIHVzZXJNb2RlbC5lbWFpbCA9IHVzZXJEYXRhLmVtYWlsIHx8ICdXaGVyZSBjYW4gSSBzZW5kIHlvdSBlbWFpbHM/JztcbiAgICB1c2VyTW9kZWwucHJvdmlkZXIgPSAocHJvdmllckRhdGEucHJvdmlkZXJJZCAhPT0gJ3Bhc3N3b3JkJykgPyBwcm92aWVyRGF0YS5wcm92aWRlcklkIDogJ0NyZWRlbnRpYWxzJztcblxuICAgIHJldHVybiB1c2VyTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvZmlsZVN0b3JlKGRhdGFTb3VyY2U6IE9ic2VydmFibGU8RmlyZWJhc2VQcm9maWxlTW9kZWw+KTogRGF0YVN0b3JlPEZpcmViYXNlUHJvZmlsZU1vZGVsPiB7XG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgbW9kZWwgc3BlY2lmeWluZyB0aGF0IGl0IGlzIGEgc2hlbGwgbW9kZWxcbiAgICBjb25zdCBzaGVsbE1vZGVsOiBGaXJlYmFzZVByb2ZpbGVNb2RlbCA9IG5ldyBGaXJlYmFzZVByb2ZpbGVNb2RlbCgpO1xuICAgIHRoaXMucHJvZmlsZURhdGFTdG9yZSA9IG5ldyBEYXRhU3RvcmUoc2hlbGxNb2RlbCk7XG4gICAgLy8gVHJpZ2dlciB0aGUgbG9hZGluZyBtZWNoYW5pc20gKHdpdGggc2hlbGwpIGluIHRoZSBkYXRhU3RvcmVcbiAgICB0aGlzLnByb2ZpbGVEYXRhU3RvcmUubG9hZChkYXRhU291cmNlKTtcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlRGF0YVN0b3JlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ShellModel } from '../../util/data-store';
|
|
2
|
-
export class FirebaseProfileModel extends ShellModel {
|
|
3
|
-
constructor() {
|
|
4
|
-
super();
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtcHJvZmlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlcnZpY2UtbGliL3NyYy9saWIvc2VydmljZXMvYXV0aC9maXJlYmFzZS1wcm9maWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBVTtJQVNsRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hlbGxNb2RlbCB9IGZyb20gJy4uLy4uL3V0aWwvZGF0YS1zdG9yZSc7XG5cbmV4cG9ydCBjbGFzcyBGaXJlYmFzZVByb2ZpbGVNb2RlbCBleHRlbmRzIFNoZWxsTW9kZWwge1xuICBpbWFnZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHJvbGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcHJvdmlkZXI6IHN0cmluZztcbiAgcGhvbmVOdW1iZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../notification.service";
|
|
4
|
-
const NAME_BIND = 'App\\Events\\ScreenMessage';
|
|
5
|
-
export class PusherAlarmService {
|
|
6
|
-
constructor(notification) {
|
|
7
|
-
this.notification = notification;
|
|
8
|
-
}
|
|
9
|
-
subscribeChannel(pusherService, idUser) {
|
|
10
|
-
this.idUser = idUser;
|
|
11
|
-
console.log('[PusherAlarmService] idUser()', this.idUser);
|
|
12
|
-
this.nameChanel = 'private-ScreenMessage.User.' + this.idUser;
|
|
13
|
-
this.pusher = pusherService;
|
|
14
|
-
this.channel = this.pusher.subscribe(this.nameChanel);
|
|
15
|
-
console.log('[PusherAlarmService] subscribeChannel()', this.channel);
|
|
16
|
-
}
|
|
17
|
-
init() {
|
|
18
|
-
this.channel?.bind(NAME_BIND, (data) => {
|
|
19
|
-
console.log('[PusherAlarmService] getPusherAlarm()', data);
|
|
20
|
-
if (data?.message)
|
|
21
|
-
this.notification.confirmAllNotification(data?.message);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
unsubscribeChannel(pusherService) {
|
|
25
|
-
console.log('[PusherAlarmService] subscribeChannel()', this.channel);
|
|
26
|
-
}
|
|
27
|
-
unsubscribePusher() {
|
|
28
|
-
this.channel = this.pusher.unsubscribe(this.nameChanel);
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherAlarmService, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherAlarmService, providedIn: 'root' }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherAlarmService, decorators: [{
|
|
34
|
-
type: Injectable,
|
|
35
|
-
args: [{
|
|
36
|
-
providedIn: 'root'
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.NotificationService }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaGVyLWFsYXJtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZXJ2aWNlLWxpYi9zcmMvbGliL3NlcnZpY2VzL3B1c2hlci9wdXNoZXItYWxhcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxTQUFTLEdBQUcsNEJBQTRCLENBQUE7QUFLOUMsTUFBTSxPQUFPLGtCQUFrQjtJQUs5QixZQUNXLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUczQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE1BQWE7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLEVBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsRUFBSSxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFHLElBQUksRUFBRSxPQUFPO2dCQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHSyxrQkFBa0IsQ0FBQyxhQUFhO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLEVBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFHTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekQsQ0FBQzsrR0FwQ1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSdcblxuZGVjbGFyZSBjb25zdCBQdXNoZXI6IGFueTtcbmNvbnN0IE5BTUVfQklORCA9ICdBcHBcXFxcRXZlbnRzXFxcXFNjcmVlbk1lc3NhZ2UnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFB1c2hlckFsYXJtU2VydmljZSB7XG4gIGlkVXNlcjpzdHJpbmc7XG4gIG5hbWVDaGFuZWw6c3RyaW5nOyAvLydwcml2YXRlLUxldmVsQWNjb21wbGlzaG1lbnRDb21wbGV0ZWQuMTUxODknIC8vXG4gIGNoYW5uZWw7XG4gIHB1c2hlclxuIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuXG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlQ2hhbm5lbChwdXNoZXJTZXJ2aWNlLCBpZFVzZXI6c3RyaW5nKXtcbiAgICB0aGlzLmlkVXNlciA9IGlkVXNlcjtcbiAgICBjb25zb2xlLmxvZygnW1B1c2hlckFsYXJtU2VydmljZV0gaWRVc2VyKCknLCAgdGhpcy5pZFVzZXIpO1xuICAgIHRoaXMubmFtZUNoYW5lbCA9ICdwcml2YXRlLVNjcmVlbk1lc3NhZ2UuVXNlci4nICsgdGhpcy5pZFVzZXJcbiAgICB0aGlzLnB1c2hlciA9IHB1c2hlclNlcnZpY2VcbiAgICB0aGlzLmNoYW5uZWwgPSB0aGlzLnB1c2hlci5zdWJzY3JpYmUodGhpcy5uYW1lQ2hhbmVsKVxuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyQWxhcm1TZXJ2aWNlXSBzdWJzY3JpYmVDaGFubmVsKCknLCAgdGhpcy5jaGFubmVsKTtcbiAgfVxuXG4gICBwdWJsaWMgaW5pdCgpe1xuICAgIHRoaXMuY2hhbm5lbD8uYmluZChOQU1FX0JJTkQsIChkYXRhKSA9PiB7XG4gICAgICAgICBjb25zb2xlLmxvZygnW1B1c2hlckFsYXJtU2VydmljZV0gZ2V0UHVzaGVyQWxhcm0oKScgLCAgZGF0YSk7XG4gICAgICAgICBpZihkYXRhPy5tZXNzYWdlKVxuICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uY29uZmlybUFsbE5vdGlmaWNhdGlvbihkYXRhPy5tZXNzYWdlKVxuICAgICAgIH0pO1xuICAgfVxuXG5cbiAgcHVibGljIHVuc3Vic2NyaWJlQ2hhbm5lbChwdXNoZXJTZXJ2aWNlKXtcbiAgICBjb25zb2xlLmxvZygnW1B1c2hlckFsYXJtU2VydmljZV0gc3Vic2NyaWJlQ2hhbm5lbCgpJywgIHRoaXMuY2hhbm5lbCk7XG4gIH1cblxuXG4gIHB1YmxpYyB1bnN1YnNjcmliZVB1c2hlcigpe1xuICAgIHRoaXMuY2hhbm5lbCA9IHRoaXMucHVzaGVyLnVuc3Vic2NyaWJlKHRoaXMubmFtZUNoYW5lbClcbiAgfVxufVxuIl19
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@ionic/angular";
|
|
4
|
-
import * as i2 from "@ngx-translate/core";
|
|
5
|
-
const NAME_BIND = 'App\\Events\\LevelAccomplishmentCompleted';
|
|
6
|
-
export class PusherChallengeNotificationsService {
|
|
7
|
-
constructor(alertController, translate) {
|
|
8
|
-
this.alertController = alertController;
|
|
9
|
-
this.translate = translate;
|
|
10
|
-
this.handlerMessage = '';
|
|
11
|
-
this.roleMessage = '';
|
|
12
|
-
this.isModalShowing = false;
|
|
13
|
-
}
|
|
14
|
-
subscribeChannel(pusherService, idUser) {
|
|
15
|
-
this.idUser = idUser;
|
|
16
|
-
this.nameChanel = 'private-LevelAccomplishmentCompleted.' + this.idUser;
|
|
17
|
-
console.log('[PusherChallengeNotificationsService] this.nameChanel()', this.nameChanel);
|
|
18
|
-
this.pusher = pusherService;
|
|
19
|
-
this.channel = this.pusher.subscribe(this.nameChanel);
|
|
20
|
-
console.log('[PusherChallengeNotificationsService] subscribeChannel()', this.channel);
|
|
21
|
-
}
|
|
22
|
-
unsubscribePusher() {
|
|
23
|
-
this.channel = this.pusher?.unsubscribe(this.nameChanel);
|
|
24
|
-
}
|
|
25
|
-
init() {
|
|
26
|
-
console.log('[PusherChallengeNotificationsService] init()');
|
|
27
|
-
this.channel?.bind(NAME_BIND, (data) => {
|
|
28
|
-
console.log('[PusherChallengeNotificationsService] getPusher()', data);
|
|
29
|
-
if (!this.isModalShowing) {
|
|
30
|
-
this.presentChallengeNotification(data);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.pendingNotification = { show: true, data: data };
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
// async presentChallengeNotification() {
|
|
38
|
-
// let message = '';
|
|
39
|
-
// message = `<div class="pyro">
|
|
40
|
-
// <div class="before"></div>
|
|
41
|
-
// <ion-row><ion-col class="text-align-center"><img src="assets/images/duly_champ.gif" class="card-alert"></img><ion-text>`+ this.translate.instant('health_path.level_accomplished') + `</ion-text></ion-col></ion-row>
|
|
42
|
-
// <div class="after"></div>
|
|
43
|
-
// </div>`;
|
|
44
|
-
// const alert = await this.alertController.create({
|
|
45
|
-
// header: this.translate.instant('health_path.level_congratulations'),
|
|
46
|
-
// cssClass: 'challenge-alert',
|
|
47
|
-
// message: message,
|
|
48
|
-
// buttons: [
|
|
49
|
-
// {
|
|
50
|
-
// text: this.translate.instant('info.button'),
|
|
51
|
-
// role: 'confirm',
|
|
52
|
-
// handler: () => {
|
|
53
|
-
// this.handlerMessage = 'Alert confirmed';
|
|
54
|
-
// },
|
|
55
|
-
// },
|
|
56
|
-
// ],
|
|
57
|
-
// });
|
|
58
|
-
// this.pendingNotification = { show: false, data: null };
|
|
59
|
-
// await alert.present();
|
|
60
|
-
// const { role } = await alert.onDidDismiss();
|
|
61
|
-
// this.roleMessage = `Dismissed with role: ${role}`;
|
|
62
|
-
// }
|
|
63
|
-
async presentChallengeNotification(notification) {
|
|
64
|
-
let message = '';
|
|
65
|
-
let header = '';
|
|
66
|
-
if (notification?.isChallengeCompleted) {
|
|
67
|
-
message = `<div class="pyro">
|
|
68
|
-
<div class="before"></div>
|
|
69
|
-
<ion-row><ion-col class="text-align-center"><img src="assets/images/trofeo.png" class="card-alert"></img></ion-col></ion-row>
|
|
70
|
-
<div class="after"></div>
|
|
71
|
-
</div>`;
|
|
72
|
-
header = this.translate.instant('health_path.congratulation');
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
message = `<div class="pyro">
|
|
76
|
-
<div class="before"></div>
|
|
77
|
-
<ion-row><ion-col class="text-align-center"><img src="assets/images/duly_champ.gif" class="card-alert"></img></ion-col></ion-row>
|
|
78
|
-
<div class="after"></div>
|
|
79
|
-
</div>`;
|
|
80
|
-
let name_level = notification?.levelDetail?.name ? notification?.levelDetail?.name : '';
|
|
81
|
-
header = this.translate.instant('health_path.congratulation_level') + ' ' + name_level;
|
|
82
|
-
}
|
|
83
|
-
const alert = await this.alertController.create({
|
|
84
|
-
header: header,
|
|
85
|
-
cssClass: 'challenge-alert',
|
|
86
|
-
message: message,
|
|
87
|
-
buttons: [
|
|
88
|
-
{
|
|
89
|
-
text: this.translate.instant('info.button'),
|
|
90
|
-
role: 'confirm',
|
|
91
|
-
handler: () => {
|
|
92
|
-
this.handlerMessage = 'Alert confirmed';
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
});
|
|
97
|
-
await alert.present();
|
|
98
|
-
const { role } = await alert.onDidDismiss();
|
|
99
|
-
this.roleMessage = `Dismissed with role: ${role}`;
|
|
100
|
-
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherChallengeNotificationsService, deps: [{ token: i1.AlertController }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
102
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherChallengeNotificationsService, providedIn: 'root' }); }
|
|
103
|
-
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherChallengeNotificationsService, decorators: [{
|
|
105
|
-
type: Injectable,
|
|
106
|
-
args: [{
|
|
107
|
-
providedIn: 'root'
|
|
108
|
-
}]
|
|
109
|
-
}], ctorParameters: () => [{ type: i1.AlertController }, { type: i2.TranslateService }] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaGVyLWNoYWxsZW5nZS1ub3RpZmljYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZXJ2aWNlLWxpYi9zcmMvbGliL3NlcnZpY2VzL3B1c2hlci9wdXNoZXItY2hhbGxlbmdlLW5vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBS25ELE1BQU0sU0FBUyxHQUFHLDJDQUEyQyxDQUFBO0FBdUI3RCxNQUFNLE9BQU8sbUNBQW1DO0lBUzlDLFlBQ1UsZUFBZ0MsRUFDakMsU0FBMkI7UUFEMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBUHBDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBT2hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsTUFBYztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLHVDQUF1QyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUE7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJ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O2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IFB1c2hlcjogYW55O1xuY29uc3QgTkFNRV9CSU5EID0gJ0FwcFxcXFxFdmVudHNcXFxcTGV2ZWxBY2NvbXBsaXNobWVudENvbXBsZXRlZCdcbmV4cG9ydCBpbnRlcmZhY2UgY2hhbGxlbmdlTm90aWZpY2F0aW9uIHtcbiAgXCJ1c2VyXCI6IHtcbiAgICBcImlkXCI6IHN0cmluZyxcbiAgICBcIm5hbWVcIjogc3RyaW5nXG4gIH0sXG4gIFwibGV2ZWxEZXRhaWxcIjoge1xuICAgIFwiaWRcIjogc3RyaW5nLFxuICAgIFwibmFtZVwiOiBzdHJpbmdcbiAgfSxcbiAgXCJjb2luXCI6IHtcbiAgICBcImlkXCI6IHN0cmluZyxcbiAgICBcIm5hbWVcIjogc3RyaW5nLFxuICAgIFwiaWNvblwiOiBzdHJpbmdcbiAgfSxcbiAgXCJtZXNzYWdlXCI6IHN0cmluZyxcbiAgXCJhY3Rpb25cIjogc3RyaW5nLFxuICBcImlzQ2hhbGxlbmdlQ29tcGxldGVkXCI6IGJvb2xlYW5cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHVzaGVyQ2hhbGxlbmdlTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xuICBpZFVzZXI6IHN0cmluZztcbiAgbmFtZUNoYW5lbDogc3RyaW5nO1xuICBjaGFubmVsO1xuICBoYW5kbGVyTWVzc2FnZSA9ICcnO1xuICByb2xlTWVzc2FnZSA9ICcnO1xuICBpc01vZGFsU2hvd2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwZW5kaW5nTm90aWZpY2F0aW9uOiBhbnk7XG4gIHB1c2hlclxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcblxuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZUNoYW5uZWwocHVzaGVyU2VydmljZSwgaWRVc2VyOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlkVXNlciA9IGlkVXNlclxuICAgIHRoaXMubmFtZUNoYW5lbCA9ICdwcml2YXRlLUxldmVsQWNjb21wbGlzaG1lbnRDb21wbGV0ZWQuJyArIHRoaXMuaWRVc2VyO1xuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyQ2hhbGxlbmdlTm90aWZpY2F0aW9uc1NlcnZpY2VdIHRoaXMubmFtZUNoYW5lbCgpJywgdGhpcy5uYW1lQ2hhbmVsKTtcbiAgICB0aGlzLnB1c2hlciA9IHB1c2hlclNlcnZpY2VcbiAgICB0aGlzLmNoYW5uZWwgPSB0aGlzLnB1c2hlci5zdWJzY3JpYmUodGhpcy5uYW1lQ2hhbmVsKVxuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyQ2hhbGxlbmdlTm90aWZpY2F0aW9uc1NlcnZpY2VdIHN1YnNjcmliZUNoYW5uZWwoKScsIHRoaXMuY2hhbm5lbCk7XG4gIH1cblxuICBwdWJsaWMgdW5zdWJzY3JpYmVQdXNoZXIoKSB7XG4gICAgdGhpcy5jaGFubmVsID0gdGhpcy5wdXNoZXI/LnVuc3Vic2NyaWJlKHRoaXMubmFtZUNoYW5lbClcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCkge1xuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyQ2hhbGxlbmdlTm90aWZpY2F0aW9uc1NlcnZpY2VdIGluaXQoKScpO1xuICAgIHRoaXMuY2hhbm5lbD8uYmluZChOQU1FX0JJTkQsIChkYXRhKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnW1B1c2hlckNoYWxsZW5nZU5vdGlmaWNhdGlvbnNTZXJ2aWNlXSBnZXRQdXNoZXIoKScsIGRhdGEpO1xuXG4gICAgICBpZiAoIXRoaXMuaXNNb2RhbFNob3dpbmcpIHtcbiAgICAgICAgdGhpcy5wcmVzZW50Q2hhbGxlbmdlTm90aWZpY2F0aW9uKGRhdGEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nTm90aWZpY2F0aW9uID0geyBzaG93OiB0cnVlLCBkYXRhOiBkYXRhIH1cbiAgICAgIH1cblxuICAgIH0pO1xuICB9XG5cbiAgLy8gYXN5bmMgcHJlc2VudENoYWxsZW5nZU5vdGlmaWNhdGlvbigpIHtcblxuICAvLyAgIGxldCBtZXNzYWdlID0gJyc7XG5cbiAgLy8gICBtZXNzYWdlID0gYDxkaXYgY2xhc3M9XCJweXJvXCI+XG4gIC8vICAgPGRpdiBjbGFzcz1cImJlZm9yZVwiPjwvZGl2PlxuICAvLyAgIDxpb24tcm93Pjxpb24tY29sIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj48aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvZHVseV9jaGFtcC5naWZcIiBjbGFzcz1cImNhcmQtYWxlcnRcIj48L2ltZz48aW9uLXRleHQ+YCsgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnaGVhbHRoX3BhdGgubGV2ZWxfYWNjb21wbGlzaGVkJykgKyBgPC9pb24tdGV4dD48L2lvbi1jb2w+PC9pb24tcm93PlxuICAvLyAgIDxkaXYgY2xhc3M9XCJhZnRlclwiPjwvZGl2PlxuICAvLyA8L2Rpdj5gO1xuXG4gIC8vICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xuICAvLyAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdoZWFsdGhfcGF0aC5sZXZlbF9jb25ncmF0dWxhdGlvbnMnKSxcbiAgLy8gICAgIGNzc0NsYXNzOiAnY2hhbGxlbmdlLWFsZXJ0JyxcbiAgLy8gICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gIC8vICAgICBidXR0b25zOiBbXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdpbmZvLmJ1dHRvbicpLFxuICAvLyAgICAgICAgIHJvbGU6ICdjb25maXJtJyxcbiAgLy8gICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gIC8vICAgICAgICAgICB0aGlzLmhhbmRsZXJNZXNzYWdlID0gJ0FsZXJ0IGNvbmZpcm1lZCc7XG5cbiAgLy8gICAgICAgICB9LFxuICAvLyAgICAgICB9LFxuICAvLyAgICAgXSxcbiAgLy8gICB9KTtcbiAgLy8gICB0aGlzLnBlbmRpbmdOb3RpZmljYXRpb24gPSB7IHNob3c6IGZhbHNlLCBkYXRhOiBudWxsIH07XG4gIC8vICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xuXG4gIC8vICAgY29uc3QgeyByb2xlIH0gPSBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKTtcbiAgLy8gICB0aGlzLnJvbGVNZXNzYWdlID0gYERpc21pc3NlZCB3aXRoIHJvbGU6ICR7cm9sZX1gO1xuXG4gIC8vIH1cblxuICBhc3luYyBwcmVzZW50Q2hhbGxlbmdlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikge1xuXG4gICAgbGV0IG1lc3NhZ2UgPSAnJztcbiAgICBsZXQgaGVhZGVyID0gJyc7XG4gICAgaWYobm90aWZpY2F0aW9uPy5pc0NoYWxsZW5nZUNvbXBsZXRlZCl7XG4gICAgICBtZXNzYWdlID0gIGA8ZGl2IGNsYXNzPVwicHlyb1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImJlZm9yZVwiPjwvZGl2PlxuICAgICAgPGlvbi1yb3c+PGlvbi1jb2wgY2xhc3M9XCJ0ZXh0LWFsaWduLWNlbnRlclwiPjxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy90cm9mZW8ucG5nXCIgY2xhc3M9XCJjYXJkLWFsZXJ0XCI+PC9pbWc+PC9pb24tY29sPjwvaW9uLXJvdz5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZnRlclwiPjwvZGl2PlxuICAgICAgPC9kaXY+YDtcbiAgICAgIGhlYWRlciA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2hlYWx0aF9wYXRoLmNvbmdyYXR1bGF0aW9uJylcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIG1lc3NhZ2UgPSBgPGRpdiBjbGFzcz1cInB5cm9cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJiZWZvcmVcIj48L2Rpdj5cbiAgICAgIDxpb24tcm93Pjxpb24tY29sIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj48aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvZHVseV9jaGFtcC5naWZcIiBjbGFzcz1cImNhcmQtYWxlcnRcIj48L2ltZz48L2lvbi1jb2w+PC9pb24tcm93PlxuICAgICAgPGRpdiBjbGFzcz1cImFmdGVyXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5gO1xuICAgICAgbGV0IG5hbWVfbGV2ZWwgPSBub3RpZmljYXRpb24/LmxldmVsRGV0YWlsPy5uYW1lPyBub3RpZmljYXRpb24/LmxldmVsRGV0YWlsPy5uYW1lOicnXG4gICAgICBoZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdoZWFsdGhfcGF0aC5jb25ncmF0dWxhdGlvbl9sZXZlbCcpICsgJyAnICsgbmFtZV9sZXZlbFxuICAgIH1cblxuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hbGVydENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogaGVhZGVyLFxuICAgICAgY3NzQ2xhc3M6J2NoYWxsZW5nZS1hbGVydCcsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnaW5mby5idXR0b24nKSxcbiAgICAgICAgICByb2xlOiAnY29uZmlybScsXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyTWVzc2FnZSA9ICdBbGVydCBjb25maXJtZWQnO1xuXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xuXG4gICAgY29uc3QgeyByb2xlIH0gPSBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKTtcbiAgICAgIHRoaXMucm9sZU1lc3NhZ2UgPSBgRGlzbWlzc2VkIHdpdGggcm9sZTogJHtyb2xlfWA7XG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../change-endpoints.service";
|
|
4
|
-
import * as i2 from "./pusher-notification.service";
|
|
5
|
-
import * as i3 from "./pusher-alarm.service";
|
|
6
|
-
import * as i4 from "./pusher-challenge-notifications.service";
|
|
7
|
-
export class PusherConnectionService {
|
|
8
|
-
constructor(endpoints, pusherNotification, pusherAlarm, pusherChallenge) {
|
|
9
|
-
this.endpoints = endpoints;
|
|
10
|
-
this.pusherNotification = pusherNotification;
|
|
11
|
-
this.pusherAlarm = pusherAlarm;
|
|
12
|
-
this.pusherChallenge = pusherChallenge;
|
|
13
|
-
}
|
|
14
|
-
subscribePusher(token, idUser) {
|
|
15
|
-
this.setPusher(token);
|
|
16
|
-
//Subscribo todos los pusher excepto los de mensajería
|
|
17
|
-
//porque se requiere el id del canal de mensajería y no el id del usuario
|
|
18
|
-
this.pusherNotification.subscribeChannel(this.pusher, idUser);
|
|
19
|
-
this.pusherAlarm.subscribeChannel(this.pusher, idUser);
|
|
20
|
-
this.pusherChallenge.subscribeChannel(this.pusher, idUser);
|
|
21
|
-
}
|
|
22
|
-
setPusher(token) {
|
|
23
|
-
let params = this.endpoints._ENVIROMENT.pusher_key;
|
|
24
|
-
this.pusher = new Pusher(params.key, {
|
|
25
|
-
cluster: params.cluster,
|
|
26
|
-
authEndpoint: this.endpoints.API_ENDPOINT + '/broadcasting/auth',
|
|
27
|
-
auth: {
|
|
28
|
-
headers: {
|
|
29
|
-
Authorization: `Bearer ${token}`
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
encrypted: true,
|
|
33
|
-
});
|
|
34
|
-
console.log('[PusherConnectionService] setPusher()', this.pusher);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* setChannel
|
|
38
|
-
*/
|
|
39
|
-
setChannel(nameChanel) {
|
|
40
|
-
return this.pusher.subscribe(nameChanel);
|
|
41
|
-
}
|
|
42
|
-
// public unsubscribePusher(){
|
|
43
|
-
// this.pusherAlarm.unsubscribePusher()
|
|
44
|
-
// this.pusherNotification.unsubscribePusher()
|
|
45
|
-
// this.pusher?.disconnect();
|
|
46
|
-
// }
|
|
47
|
-
isConnectedPusher() {
|
|
48
|
-
console.log('[PusherConnectionService] isConnectedPusher()', this.pusher);
|
|
49
|
-
if (this.pusher?.connection?.state === "connected")
|
|
50
|
-
return true;
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
isNullPusher() {
|
|
54
|
-
if (this.pusher)
|
|
55
|
-
return false;
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
unsubscribePusher() {
|
|
59
|
-
this.pusher?.unsubscribe(this.pusherAlarm.nameChanel);
|
|
60
|
-
this.pusher?.unsubscribe(this.pusherNotification.nameChanel);
|
|
61
|
-
this.pusher?.unsubscribe(this.pusherChallenge.nameChanel);
|
|
62
|
-
this.pusher?.disconnect();
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherConnectionService, deps: [{ token: i1.ChangeEndpointsService }, { token: i2.PusherNotificationService }, { token: i3.PusherAlarmService }, { token: i4.PusherChallengeNotificationsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherConnectionService, providedIn: 'root' }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherConnectionService, decorators: [{
|
|
68
|
-
type: Injectable,
|
|
69
|
-
args: [{
|
|
70
|
-
providedIn: 'root'
|
|
71
|
-
}]
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.ChangeEndpointsService }, { type: i2.PusherNotificationService }, { type: i3.PusherAlarmService }, { type: i4.PusherChallengeNotificationsService }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaGVyLWNvbm5lY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlcnZpY2UtbGliL3NyYy9saWIvc2VydmljZXMvcHVzaGVyL3B1c2hlci1jb25uZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVTNDLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFDVSxTQUFpQyxFQUNqQyxrQkFBNkMsRUFDN0MsV0FBK0IsRUFDL0IsZUFBb0Q7UUFIcEQsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEyQjtRQUM3QyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQXFDO0lBQzFELENBQUM7SUFFRSxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQWE7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyQixzREFBc0Q7UUFDdEQseUVBQXlFO1FBQ3ZFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFLO1FBQ3BCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDbkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRSxvQkFBb0I7WUFDL0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRTtvQkFDUCxhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7aUJBQ2pDO2FBQ0Y7WUFDRCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsVUFBVTtRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCw4QkFBOEI7SUFDOUIseUNBQXlDO0lBQ3pDLGdEQUFnRDtJQUNoRCwrQkFBK0I7SUFDL0IsSUFBSTtJQUVHLGlCQUFpQjtRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssS0FBSyxXQUFXO1lBQy9DLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFHLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFDNUIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDckQsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzVELElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDekQsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQS9EVSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRW5kcG9pbnRzU2VydmljZSB9IGZyb20gJy4uL2NoYW5nZS1lbmRwb2ludHMuc2VydmljZSdcbmltcG9ydCB7IFB1c2hlckFsYXJtU2VydmljZSB9IGZyb20gJy4vcHVzaGVyLWFsYXJtLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHVzaGVyTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vcHVzaGVyLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFB1c2hlckNoYWxsZW5nZU5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wdXNoZXItY2hhbGxlbmdlLW5vdGlmaWNhdGlvbnMuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3QgUHVzaGVyOiBhbnk7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQdXNoZXJDb25uZWN0aW9uU2VydmljZSB7XG4gIHB1c2hlclxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVuZHBvaW50czogQ2hhbmdlRW5kcG9pbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHB1c2hlck5vdGlmaWNhdGlvbjogUHVzaGVyTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHB1c2hlckFsYXJtOiBQdXNoZXJBbGFybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwdXNoZXJDaGFsbGVuZ2U6IFB1c2hlckNoYWxsZW5nZU5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICApIHsgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVQdXNoZXIodG9rZW4sIGlkVXNlcjpzdHJpbmcpe1xuICAgIHRoaXMuc2V0UHVzaGVyKHRva2VuKVxuICAgIC8vU3Vic2NyaWJvIHRvZG9zIGxvcyBwdXNoZXIgZXhjZXB0byBsb3MgZGUgbWVuc2FqZXLDrWFcbiAgICAvL3BvcnF1ZSBzZSByZXF1aWVyZSBlbCBpZCBkZWwgY2FuYWwgZGUgbWVuc2FqZXLDrWEgeSBubyBlbCBpZCBkZWwgdXN1YXJpb1xuICAgICAgdGhpcy5wdXNoZXJOb3RpZmljYXRpb24uc3Vic2NyaWJlQ2hhbm5lbCh0aGlzLnB1c2hlciwgaWRVc2VyKVxuICAgICAgdGhpcy5wdXNoZXJBbGFybS5zdWJzY3JpYmVDaGFubmVsKHRoaXMucHVzaGVyLCBpZFVzZXIpXG4gICAgICB0aGlzLnB1c2hlckNoYWxsZW5nZS5zdWJzY3JpYmVDaGFubmVsKHRoaXMucHVzaGVyLCBpZFVzZXIpXG4gIH1cblxuICBwdWJsaWMgc2V0UHVzaGVyKHRva2VuKXtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5lbmRwb2ludHMuX0VOVklST01FTlQucHVzaGVyX2tleTtcbiAgICB0aGlzLnB1c2hlciA9IG5ldyBQdXNoZXIocGFyYW1zLmtleSwge1xuICAgICAgY2x1c3RlcjogcGFyYW1zLmNsdXN0ZXIsXG4gICAgICBhdXRoRW5kcG9pbnQ6IHRoaXMuZW5kcG9pbnRzLkFQSV9FTkRQT0lOVCsgJy9icm9hZGNhc3RpbmcvYXV0aCcsXG4gICAgICBhdXRoOiB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5jcnlwdGVkOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyQ29ubmVjdGlvblNlcnZpY2VdIHNldFB1c2hlcigpJywgdGhpcy5wdXNoZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIHNldENoYW5uZWxcbiAgICovXG4gIHB1YmxpYyBzZXRDaGFubmVsKG5hbWVDaGFuZWwpIHtcbiAgICByZXR1cm4gdGhpcy5wdXNoZXIuc3Vic2NyaWJlKG5hbWVDaGFuZWwpXG4gIH1cblxuICAvLyBwdWJsaWMgdW5zdWJzY3JpYmVQdXNoZXIoKXtcbiAgLy8gICB0aGlzLnB1c2hlckFsYXJtLnVuc3Vic2NyaWJlUHVzaGVyKClcbiAgLy8gICB0aGlzLnB1c2hlck5vdGlmaWNhdGlvbi51bnN1YnNjcmliZVB1c2hlcigpXG4gIC8vICAgdGhpcy5wdXNoZXI/LmRpc2Nvbm5lY3QoKTtcbiAgLy8gfVxuXG4gIHB1YmxpYyBpc0Nvbm5lY3RlZFB1c2hlcigpOiBib29sZWFue1xuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyQ29ubmVjdGlvblNlcnZpY2VdIGlzQ29ubmVjdGVkUHVzaGVyKCknLCB0aGlzLnB1c2hlcik7XG4gICAgaWYodGhpcy5wdXNoZXI/LmNvbm5lY3Rpb24/LnN0YXRlID09PSBcImNvbm5lY3RlZFwiKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGlzTnVsbFB1c2hlcigpOiBib29sZWFuIHtcbiAgICBpZih0aGlzLnB1c2hlcikgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHB1YmxpYyB1bnN1YnNjcmliZVB1c2hlcigpe1xuICAgIHRoaXMucHVzaGVyPy51bnN1YnNjcmliZSh0aGlzLnB1c2hlckFsYXJtLm5hbWVDaGFuZWwpXG4gICAgdGhpcy5wdXNoZXI/LnVuc3Vic2NyaWJlKHRoaXMucHVzaGVyTm90aWZpY2F0aW9uLm5hbWVDaGFuZWwpXG4gICAgdGhpcy5wdXNoZXI/LnVuc3Vic2NyaWJlKHRoaXMucHVzaGVyQ2hhbGxlbmdlLm5hbWVDaGFuZWwpXG4gICAgdGhpcy5wdXNoZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./pusher-connection.service";
|
|
4
|
-
const NAME_BIND = 'App\\Events\\MessageCreated';
|
|
5
|
-
export class PusherMessageService {
|
|
6
|
-
constructor(pusherConnection) {
|
|
7
|
-
this.pusherConnection = pusherConnection;
|
|
8
|
-
this.nameChanel = 'presence-MessageCreated.';
|
|
9
|
-
}
|
|
10
|
-
init(idChannel) {
|
|
11
|
-
this.channel = this.pusherConnection.setChannel(this.nameChanel + idChannel);
|
|
12
|
-
console.log('[PusherMessageService] init()', this.channel);
|
|
13
|
-
return this.channel;
|
|
14
|
-
}
|
|
15
|
-
unsubscribePusher(idChannel) {
|
|
16
|
-
this.channel.unsubscribe(this.nameChanel + idChannel);
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherMessageService, deps: [{ token: i1.PusherConnectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherMessageService, providedIn: 'root' }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherMessageService, decorators: [{
|
|
22
|
-
type: Injectable,
|
|
23
|
-
args: [{
|
|
24
|
-
providedIn: 'root'
|
|
25
|
-
}]
|
|
26
|
-
}], ctorParameters: () => [{ type: i1.PusherConnectionService }] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaGVyLW1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlcnZpY2UtbGliL3NyYy9saWIvc2VydmljZXMvcHVzaGVyL3B1c2hlci1tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSTNDLE1BQU0sU0FBUyxHQUFHLDZCQUE2QixDQUFBO0FBSy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFDVSxnQkFBeUM7UUFBekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUpuRCxlQUFVLEdBQUcsMEJBQTBCLENBQUE7SUFLcEMsQ0FBQztJQUVJLElBQUksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQTtRQUM1RSxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFNBQVM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQTtJQUN2RCxDQUFDOytHQWpCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHVzaGVyQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuL3B1c2hlci1jb25uZWN0aW9uLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IFB1c2hlcjogYW55O1xuY29uc3QgTkFNRV9CSU5EID0gJ0FwcFxcXFxFdmVudHNcXFxcTWVzc2FnZUNyZWF0ZWQnIFxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQdXNoZXJNZXNzYWdlU2VydmljZSB7XG5cbiAgbmFtZUNoYW5lbCA9ICdwcmVzZW5jZS1NZXNzYWdlQ3JlYXRlZC4nXG4gIHB1c2hlclxuICBjaGFubmVsXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHVzaGVyQ29ubmVjdGlvbjogUHVzaGVyQ29ubmVjdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gICBwdWJsaWMgaW5pdChpZENoYW5uZWw6IFN0cmluZyl7XG4gICAgdGhpcy5jaGFubmVsID0gdGhpcy5wdXNoZXJDb25uZWN0aW9uLnNldENoYW5uZWwodGhpcy5uYW1lQ2hhbmVsICsgaWRDaGFubmVsKVxuICAgIGNvbnNvbGUubG9nKCdbUHVzaGVyTWVzc2FnZVNlcnZpY2VdIGluaXQoKScsIHRoaXMuY2hhbm5lbCk7XG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbDtcbiB9XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlUHVzaGVyKGlkQ2hhbm5lbCl7XG4gICAgdGhpcy5jaGFubmVsLnVuc3Vic2NyaWJlKHRoaXMubmFtZUNoYW5lbCArIGlkQ2hhbm5lbClcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@ionic/angular";
|
|
4
|
-
import * as i2 from "../authentication.service";
|
|
5
|
-
import * as i3 from "@ngx-translate/core";
|
|
6
|
-
import * as i4 from "@angular/router";
|
|
7
|
-
import * as i5 from "./pusher-challenge-notifications.service";
|
|
8
|
-
const NAME_BIND = 'Illuminate\\Notifications\\Events\\BroadcastNotificationCreated';
|
|
9
|
-
export class PusherNotificationService {
|
|
10
|
-
constructor(alertController, authService, translate, router, modalCtrl, pusherChallenge, _zone) {
|
|
11
|
-
this.alertController = alertController;
|
|
12
|
-
this.authService = authService;
|
|
13
|
-
this.translate = translate;
|
|
14
|
-
this.router = router;
|
|
15
|
-
this.modalCtrl = modalCtrl;
|
|
16
|
-
this.pusherChallenge = pusherChallenge;
|
|
17
|
-
this._zone = _zone;
|
|
18
|
-
this.NAME_BIND = 'Illuminate\\Notifications\\Events\\BroadcastNotificationCreated';
|
|
19
|
-
this.handlerMessage = '';
|
|
20
|
-
this.roleMessage = '';
|
|
21
|
-
}
|
|
22
|
-
subscribeChannel(pusherService, idUser) {
|
|
23
|
-
this.idUser = idUser;
|
|
24
|
-
this.nameChanel = 'private-App.User.' + this.idUser;
|
|
25
|
-
console.log('[PusherNotificationService] this.nameChanel ()', this.nameChanel);
|
|
26
|
-
this.pusher = pusherService;
|
|
27
|
-
this.channel = this.pusher.subscribe(this.nameChanel);
|
|
28
|
-
console.log('[PusherNotificationService] subscribeChannel()', this.channel);
|
|
29
|
-
}
|
|
30
|
-
unsubscribePusher() {
|
|
31
|
-
this.channel = this.pusher?.unsubscribe(this.nameChanel);
|
|
32
|
-
}
|
|
33
|
-
init() {
|
|
34
|
-
return this.channel;
|
|
35
|
-
}
|
|
36
|
-
// public init2(){
|
|
37
|
-
// this.channel?.bind(NAME_BIND, (data) => {
|
|
38
|
-
// console.log('[PusherNotificationService] getPusher()', data);
|
|
39
|
-
// this.presentPromoteNotification(data);
|
|
40
|
-
// });
|
|
41
|
-
// }
|
|
42
|
-
async presentPromoteNotification(data) {
|
|
43
|
-
let [message, component] = this.getNotificationMessage(data);
|
|
44
|
-
if (message) {
|
|
45
|
-
message = `<ion-row><ion-col class="text-align-center"><img src="assets/images/duly_reading.gif" class="card-alert"></img><ion-text>` + message + `</ion-text></ion-col></ion-row>`;
|
|
46
|
-
const alert = await this.alertController.create({
|
|
47
|
-
cssClass: 'challenge-alert',
|
|
48
|
-
message: message,
|
|
49
|
-
buttons: [
|
|
50
|
-
{
|
|
51
|
-
text: this.translate.instant('alert.button_not_now'),
|
|
52
|
-
role: 'cancel',
|
|
53
|
-
handler: () => {
|
|
54
|
-
this.handlerMessage = 'Alert canceled';
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
text: this.translate.instant('alert.button_ok'),
|
|
59
|
-
role: 'confirm',
|
|
60
|
-
handler: () => {
|
|
61
|
-
this.openModal(data, component);
|
|
62
|
-
},
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
});
|
|
66
|
-
await alert.present();
|
|
67
|
-
const { role } = await alert.onDidDismiss();
|
|
68
|
-
this.roleMessage = `Dismissed with role: ${role}`;
|
|
69
|
-
}
|
|
70
|
-
else
|
|
71
|
-
console.error("Notification type not found");
|
|
72
|
-
}
|
|
73
|
-
getNotificationMessage(data) {
|
|
74
|
-
let message = '';
|
|
75
|
-
let component = null;
|
|
76
|
-
switch (data?.type) {
|
|
77
|
-
case "App\\Notifications\\AdviceCreated":
|
|
78
|
-
message = this.translate.instant('health_path.advice') + '<b>' + data?.advice?.name + '</b>';
|
|
79
|
-
//component = AdvicesDetailPage;
|
|
80
|
-
break;
|
|
81
|
-
case "App\\Notifications\\NewsNotification":
|
|
82
|
-
message = this.translate.instant('health_path.news') + '<b>' + data?.news?.name + '</b>';
|
|
83
|
-
//component = NewDetailPage;
|
|
84
|
-
break;
|
|
85
|
-
case "App\\Notifications\\DietCreated":
|
|
86
|
-
message = this.translate.instant('health_path.diet') + '<b>' + data?.diet?.name + '</b>';
|
|
87
|
-
//component = DietsDetailPage;
|
|
88
|
-
//TODO
|
|
89
|
-
break;
|
|
90
|
-
case "App\\Notifications\\GameCreated":
|
|
91
|
-
message = this.translate.instant('health_path.game') + '<b>' + data?.game?.name + '</b>';
|
|
92
|
-
break;
|
|
93
|
-
default:
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
return [message, component];
|
|
97
|
-
}
|
|
98
|
-
async openModal(data, pageComponent) {
|
|
99
|
-
console.log('model component:', pageComponent);
|
|
100
|
-
const modal = await this.modalCtrl.create({
|
|
101
|
-
component: pageComponent,
|
|
102
|
-
componentProps: { id: data?.model_id },
|
|
103
|
-
cssClass: "modal-custom-class"
|
|
104
|
-
});
|
|
105
|
-
await modal.present();
|
|
106
|
-
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherNotificationService, deps: [{ token: i1.AlertController }, { token: i2.AuthenticationService }, { token: i3.TranslateService }, { token: i4.Router }, { token: i1.ModalController }, { token: i5.PusherChallengeNotificationsService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
108
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherNotificationService, providedIn: 'root' }); }
|
|
109
|
-
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PusherNotificationService, decorators: [{
|
|
111
|
-
type: Injectable,
|
|
112
|
-
args: [{
|
|
113
|
-
providedIn: 'root'
|
|
114
|
-
}]
|
|
115
|
-
}], ctorParameters: () => [{ type: i1.AlertController }, { type: i2.AuthenticationService }, { type: i3.TranslateService }, { type: i4.Router }, { type: i1.ModalController }, { type: i5.PusherChallengeNotificationsService }, { type: i0.NgZone }] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaGVyLW5vdGlmaWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VydmljZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9wdXNoZXIvcHVzaGVyLW5vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFZbkQsTUFBTSxTQUFTLEdBQUksaUVBQWlFLENBQUE7QUFLcEYsTUFBTSxPQUFPLHlCQUF5QjtJQVFwQyxZQUNVLGVBQWdDLEVBQ2hDLFdBQWtDLEVBQ25DLFNBQTJCLEVBQzFCLE1BQWMsRUFDZCxTQUEwQixFQUMxQixlQUFvRCxFQUNwRCxLQUFhO1FBTmIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNuQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQXFDO1FBQ3BELFVBQUssR0FBTCxLQUFLLENBQVE7UUFkZCxjQUFTLEdBQUksaUVBQWlFLENBQUE7UUFJdkYsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFZakIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxNQUFhO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxFQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFTSxJQUFJO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JCLENBQUM7SUFFRixrQkFBa0I7SUFDbEIsK0NBQStDO0lBQy9DLHlFQUF5RTtJQUN6RSxpREFBaUQ7SUFDakQsWUFBWTtJQUNaLElBQUk7SUFFTixLQUFLLENBQUMsMEJBQTBCLENBQUMsSUFBSTtRQUVuQyxJQUFJLENBQUMsT0FBTyxFQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUUzRCxJQUFHLE9BQU8sRUFBQyxDQUFDO1lBQ1YsT0FBTyxHQUFHLDJIQUEySCxHQUFFLE9BQU8sR0FBRSxpQ0FBaUMsQ0FBQztZQUVsTCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2dCQUM5QyxRQUFRLEVBQUMsaUJBQWlCO2dCQUMxQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFO29CQUNQO3dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDcEQsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFLEdBQUcsRUFBRTs0QkFDWixJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDO3dCQUN6QyxDQUFDO3FCQUNGO29CQUNEO3dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDL0MsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFLEdBQUcsRUFBRTs0QkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDbEMsQ0FBQztxQkFDRjtpQkFDRjthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXRCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLHdCQUF3QixJQUFJLEVBQUUsQ0FBQztRQUN0RCxDQUFDOztZQUNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUVqRCxDQUFDO0lBRU0sc0JBQXNCLENBQUMsSUFBSTtRQUVoQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxTQUFTLEdBQUUsSUFBSSxDQUFDO1FBRXBCLFFBQVEsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDO1lBQ2xCLEtBQUssbUNBQW1DO2dCQUN0QyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFBO2dCQUM1RixnQ0FBZ0M7Z0JBQ2hDLE1BQU07WUFDUixLQUFLLHNDQUFzQztnQkFDdkMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQTtnQkFDeEYsNEJBQTRCO2dCQUM1QixNQUFNO1lBQ1YsS0FBSyxpQ0FBaUM7Z0JBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBRSxNQUFNLENBQUE7Z0JBQ3ZGLDhCQUE4QjtnQkFDOUIsTUFBTTtnQkFDTixNQUFNO1lBQ1IsS0FBSyxpQ0FBaUM7Z0JBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBRSxNQUFNLENBQUE7Z0JBQ3ZGLE1BQU07WUFFUjtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztRQUNELE9BQU8sQ0FBQyxPQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGFBQWE7UUFFakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3hDLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3RDLFFBQVEsRUFBRSxvQkFBb0I7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F4SFkseUJBQXlCO21IQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciwgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG4vL2ltcG9ydCB7IERpZXRzRGV0YWlsUGFnZSB9IGZyb20gJ2RpYXJ5LWxpYic7XG5cbi8vaW1wb3J0IHsgQWR2aWNlc0RldGFpbFBhZ2UgfSBmcm9tICdzcmMvYXBwL3BhZ2VzL2hvbWUvYWR2aWNlcy1kZXRhaWwvYWR2aWNlcy1kZXRhaWwucGFnZSc7XG4vL2ltcG9ydCB7IE5ld0RldGFpbFBhZ2UgfSBmcm9tICdzcmMvYXBwL3BhZ2VzL2hvbWUvbmV3LWRldGFpbC9uZXctZGV0YWlsLnBhZ2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aGVudGljYXRpb24uc2VydmljZSdcbmltcG9ydCB7IFB1c2hlckNoYWxsZW5nZU5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wdXNoZXItY2hhbGxlbmdlLW5vdGlmaWNhdGlvbnMuc2VydmljZSc7XG5kZWNsYXJlIGNvbnN0IFB1c2hlcjogYW55O1xuY29uc3QgTkFNRV9CSU5EID0gICdJbGx1bWluYXRlXFxcXE5vdGlmaWNhdGlvbnNcXFxcRXZlbnRzXFxcXEJyb2FkY2FzdE5vdGlmaWNhdGlvbkNyZWF0ZWQnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFB1c2hlck5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICByZWFkb25seSBOQU1FX0JJTkQgPSAgJ0lsbHVtaW5hdGVcXFxcTm90aWZpY2F0aW9uc1xcXFxFdmVudHNcXFxcQnJvYWRjYXN0Tm90aWZpY2F0aW9uQ3JlYXRlZCdcbiAgaWRVc2VyOnN0cmluZztcbiAgbmFtZUNoYW5lbDpzdHJpbmc7XG4gIGNoYW5uZWw7XG4gIGhhbmRsZXJNZXNzYWdlID0gJyc7XG4gIHJvbGVNZXNzYWdlID0gJyc7XG4gIHB1c2hlclxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHB1c2hlckNoYWxsZW5nZTogUHVzaGVyQ2hhbGxlbmdlTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lKSB7XG5cblxuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZUNoYW5uZWwocHVzaGVyU2VydmljZSwgaWRVc2VyOnN0cmluZyl7XG4gICAgdGhpcy5pZFVzZXIgPSBpZFVzZXJcbiAgICB0aGlzLm5hbWVDaGFuZWwgPSAncHJpdmF0ZS1BcHAuVXNlci4nICsgdGhpcy5pZFVzZXJcbiAgICBjb25zb2xlLmxvZygnW1B1c2hlck5vdGlmaWNhdGlvblNlcnZpY2VdIHRoaXMubmFtZUNoYW5lbCAoKScsIHRoaXMubmFtZUNoYW5lbCk7XG4gICAgdGhpcy5wdXNoZXIgPSBwdXNoZXJTZXJ2aWNlXG4gICAgdGhpcy5jaGFubmVsID0gdGhpcy5wdXNoZXIuc3Vic2NyaWJlKHRoaXMubmFtZUNoYW5lbClcbiAgICBjb25zb2xlLmxvZygnW1B1c2hlck5vdGlmaWNhdGlvblNlcnZpY2VdIHN1YnNjcmliZUNoYW5uZWwoKScsICB0aGlzLmNoYW5uZWwpO1xuICB9XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlUHVzaGVyKCl7XG4gICAgdGhpcy5jaGFubmVsID0gdGhpcy5wdXNoZXI/LnVuc3Vic2NyaWJlKHRoaXMubmFtZUNoYW5lbClcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCl7XG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbDtcbiAgIH1cblxuICAvLyBwdWJsaWMgaW5pdDIoKXtcbiAgLy8gICAgdGhpcy5jaGFubmVsPy5iaW5kKE5BTUVfQklORCwgKGRhdGEpID0+IHtcbiAgLy8gICAgICAgICBjb25zb2xlLmxvZygnW1B1c2hlck5vdGlmaWNhdGlvblNlcnZpY2VdIGdldFB1c2hlcigpJywgIGRhdGEpO1xuICAvLyAgICAgICAgIHRoaXMucHJlc2VudFByb21vdGVOb3RpZmljYXRpb24oZGF0YSk7XG4gIC8vICAgICAgIH0pO1xuICAvLyB9XG5cbmFzeW5jIHByZXNlbnRQcm9tb3RlTm90aWZpY2F0aW9uKGRhdGEpIHtcblxuICBsZXQgW21lc3NhZ2UsY29tcG9uZW50XSA9IHRoaXMuZ2V0Tm90aWZpY2F0aW9uTWVzc2FnZShkYXRhKVxuXG4gIGlmKG1lc3NhZ2Upe1xuICAgIG1lc3NhZ2UgPSBgPGlvbi1yb3c+PGlvbi1jb2wgY2xhc3M9XCJ0ZXh0LWFsaWduLWNlbnRlclwiPjxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy9kdWx5X3JlYWRpbmcuZ2lmXCIgY2xhc3M9XCJjYXJkLWFsZXJ0XCI+PC9pbWc+PGlvbi10ZXh0PmArIG1lc3NhZ2UgK2A8L2lvbi10ZXh0PjwvaW9uLWNvbD48L2lvbi1yb3c+YDtcblxuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hbGVydENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNzc0NsYXNzOidjaGFsbGVuZ2UtYWxlcnQnLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2FsZXJ0LmJ1dHRvbl9ub3Rfbm93JyksXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyTWVzc2FnZSA9ICdBbGVydCBjYW5jZWxlZCc7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2FsZXJ0LmJ1dHRvbl9vaycpLFxuICAgICAgICAgIHJvbGU6ICdjb25maXJtJyxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Nb2RhbChkYXRhLCBjb21wb25lbnQpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xuXG4gICAgY29uc3QgeyByb2xlIH0gPSBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKTtcbiAgICAgIHRoaXMucm9sZU1lc3NhZ2UgPSBgRGlzbWlzc2VkIHdpdGggcm9sZTogJHtyb2xlfWA7XG4gIH1lbHNlXG4gICAgY29uc29sZS5lcnJvcihcIk5vdGlmaWNhdGlvbiB0eXBlIG5vdCBmb3VuZFwiKTtcblxufVxuXG5wdWJsaWMgZ2V0Tm90aWZpY2F0aW9uTWVzc2FnZShkYXRhKXtcblxuICBsZXQgbWVzc2FnZSA9ICcnO1xuICBsZXQgY29tcG9uZW50PSBudWxsO1xuXG4gIHN3aXRjaCAoZGF0YT8udHlwZSl7XG4gICAgY2FzZSBcIkFwcFxcXFxOb3RpZmljYXRpb25zXFxcXEFkdmljZUNyZWF0ZWRcIjpcbiAgICAgIG1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdoZWFsdGhfcGF0aC5hZHZpY2UnKSArICc8Yj4nICsgZGF0YT8uYWR2aWNlPy5uYW1lICsgJzwvYj4nXG4gICAgICAvL2NvbXBvbmVudCA9IEFkdmljZXNEZXRhaWxQYWdlO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcIkFwcFxcXFxOb3RpZmljYXRpb25zXFxcXE5ld3NOb3RpZmljYXRpb25cIjpcbiAgICAgICAgbWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2hlYWx0aF9wYXRoLm5ld3MnKSArICc8Yj4nICsgZGF0YT8ubmV3cz8ubmFtZSArICc8L2I+J1xuICAgICAgICAvL2NvbXBvbmVudCA9IE5ld0RldGFpbFBhZ2U7XG4gICAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJBcHBcXFxcTm90aWZpY2F0aW9uc1xcXFxEaWV0Q3JlYXRlZFwiOlxuICAgICAgbWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2hlYWx0aF9wYXRoLmRpZXQnKSArICc8Yj4nICsgZGF0YT8uZGlldD8ubmFtZSsgJzwvYj4nXG4gICAgICAvL2NvbXBvbmVudCA9IERpZXRzRGV0YWlsUGFnZTtcbiAgICAgIC8vVE9ET1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcIkFwcFxcXFxOb3RpZmljYXRpb25zXFxcXEdhbWVDcmVhdGVkXCI6XG4gICAgICBtZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnaGVhbHRoX3BhdGguZ2FtZScpICsgJzxiPicgKyBkYXRhPy5nYW1lPy5uYW1lKyAnPC9iPidcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiBbbWVzc2FnZSxjb21wb25lbnRdO1xuXG59XG5cbmFzeW5jIG9wZW5Nb2RhbChkYXRhLCBwYWdlQ29tcG9uZW50KSB7XG5cbiAgY29uc29sZS5sb2coJ21vZGVsIGNvbXBvbmVudDonLCBwYWdlQ29tcG9uZW50KTtcbiAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ3RybC5jcmVhdGUoe1xuICAgIGNvbXBvbmVudDogcGFnZUNvbXBvbmVudCxcbiAgICBjb21wb25lbnRQcm9wczogeyBpZDogZGF0YT8ubW9kZWxfaWQgfSxcbiAgICBjc3NDbGFzczogXCJtb2RhbC1jdXN0b20tY2xhc3NcIlxuICB9KTtcblxuICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG59XG59XG5cbiJdfQ==
|