@lenne.tech/ng-base 0.3.11 → 0.3.12
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/bundles/lenne.tech-ng-base-src-lib-base.umd.js +27 -9
- package/bundles/lenne.tech-ng-base-src-lib-base.umd.js.map +1 -1
- package/bundles/lenne.tech-ng-base.umd.js +26 -9
- package/bundles/lenne.tech-ng-base.umd.js.map +1 -1
- package/esm2015/lib/base/base.module.js +3 -2
- package/esm2015/lib/base/factories/apollo-options.factory.js +3 -3
- package/esm2015/lib/base/services/auth.service.js +9 -7
- package/esm2015/lib/base/services/ws.service.js +16 -0
- package/esm2015/src/lib/base/base.module.js +3 -2
- package/esm2015/src/lib/base/factories/apollo-options.factory.js +3 -3
- package/esm2015/src/lib/base/lenne.tech-ng-base-src-lib-base.js +2 -1
- package/esm2015/src/lib/base/services/auth.service.js +9 -7
- package/esm2015/src/lib/base/services/ws.service.js +16 -0
- package/fesm2015/lenne.tech-ng-base-src-lib-base.js +24 -10
- package/fesm2015/lenne.tech-ng-base-src-lib-base.js.map +1 -1
- package/fesm2015/lenne.tech-ng-base.js +23 -9
- package/fesm2015/lenne.tech-ng-base.js.map +1 -1
- package/lib/base/factories/apollo-options.factory.d.ts +2 -1
- package/lib/base/services/auth.service.d.ts +3 -3
- package/lib/base/services/ws.service.d.ts +5 -0
- package/package.json +1 -1
- package/src/lib/base/factories/apollo-options.factory.d.ts +2 -1
- package/src/lib/base/lenne.tech-ng-base-src-lib-base.d.ts +1 -0
- package/src/lib/base/lenne.tech-ng-base-src-lib-base.metadata.json +1 -1
- package/src/lib/base/services/auth.service.d.ts +3 -3
- package/src/lib/base/services/ws.service.d.ts +5 -0
|
@@ -146,6 +146,20 @@ StorageService.ctorParameters = () => [
|
|
|
146
146
|
{ type: undefined, decorators: [{ type: Inject, args: [BASE_MODULE_CONFIG,] }] }
|
|
147
147
|
];
|
|
148
148
|
|
|
149
|
+
class WsService {
|
|
150
|
+
reconnect() {
|
|
151
|
+
var _a, _b;
|
|
152
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.close();
|
|
153
|
+
(_b = this.client) === null || _b === void 0 ? void 0 : _b.connect();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
WsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function WsService_Factory() { return new WsService(); }, token: WsService, providedIn: "root" });
|
|
157
|
+
WsService.decorators = [
|
|
158
|
+
{ type: Injectable, args: [{
|
|
159
|
+
providedIn: 'root',
|
|
160
|
+
},] }
|
|
161
|
+
];
|
|
162
|
+
|
|
149
163
|
/**
|
|
150
164
|
* Authentication service
|
|
151
165
|
*/
|
|
@@ -153,9 +167,10 @@ class AuthService {
|
|
|
153
167
|
/**
|
|
154
168
|
* Constructor
|
|
155
169
|
*/
|
|
156
|
-
constructor(moduleConfig, storageService) {
|
|
170
|
+
constructor(moduleConfig, storageService, wsService) {
|
|
157
171
|
this.moduleConfig = moduleConfig;
|
|
158
172
|
this.storageService = storageService;
|
|
173
|
+
this.wsService = wsService;
|
|
159
174
|
// Subjects
|
|
160
175
|
this._currentUser = new BehaviorSubject(null);
|
|
161
176
|
this._token = new BehaviorSubject(null);
|
|
@@ -190,17 +205,15 @@ class AuthService {
|
|
|
190
205
|
return this._token.value;
|
|
191
206
|
}
|
|
192
207
|
set token(token) {
|
|
193
|
-
var _a, _b;
|
|
194
208
|
this._token.next(token);
|
|
195
209
|
this.storageService.save('token', token);
|
|
196
|
-
|
|
197
|
-
(_b = this.subscriptionClient) === null || _b === void 0 ? void 0 : _b.connect();
|
|
210
|
+
this.wsService.reconnect();
|
|
198
211
|
}
|
|
199
212
|
get tokenObservable() {
|
|
200
213
|
return this._token.asObservable();
|
|
201
214
|
}
|
|
202
215
|
}
|
|
203
|
-
AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(BASE_MODULE_CONFIG), i0.ɵɵinject(StorageService)); }, token: AuthService, providedIn: "root" });
|
|
216
|
+
AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(BASE_MODULE_CONFIG), i0.ɵɵinject(StorageService), i0.ɵɵinject(WsService)); }, token: AuthService, providedIn: "root" });
|
|
204
217
|
AuthService.decorators = [
|
|
205
218
|
{ type: Injectable, args: [{
|
|
206
219
|
providedIn: 'root',
|
|
@@ -208,13 +221,14 @@ AuthService.decorators = [
|
|
|
208
221
|
];
|
|
209
222
|
AuthService.ctorParameters = () => [
|
|
210
223
|
{ type: undefined, decorators: [{ type: Inject, args: [BASE_MODULE_CONFIG,] }] },
|
|
211
|
-
{ type: StorageService }
|
|
224
|
+
{ type: StorageService },
|
|
225
|
+
{ type: WsService }
|
|
212
226
|
];
|
|
213
227
|
|
|
214
228
|
/**
|
|
215
229
|
* Factory for apollo-angular options
|
|
216
230
|
*/
|
|
217
|
-
function apolloOptionsFactory(baseModuleConfig, httpLink, authService) {
|
|
231
|
+
function apolloOptionsFactory(baseModuleConfig, httpLink, authService, wsService) {
|
|
218
232
|
const links = [];
|
|
219
233
|
const defaultUrl = 'api.' + window.location.href + '/graphql';
|
|
220
234
|
const http = httpLink.create({
|
|
@@ -242,7 +256,7 @@ function apolloOptionsFactory(baseModuleConfig, httpLink, authService) {
|
|
|
242
256
|
},
|
|
243
257
|
});
|
|
244
258
|
// Set client for reconnection on logout/login
|
|
245
|
-
|
|
259
|
+
wsService.client = wsLink.subscriptionClient;
|
|
246
260
|
// using the ability to split links, you can send data to each link
|
|
247
261
|
// depending on what kind of operation is being sent
|
|
248
262
|
links.push(split(
|
|
@@ -1028,7 +1042,7 @@ class BaseModule {
|
|
|
1028
1042
|
providers.push({
|
|
1029
1043
|
provide: APOLLO_OPTIONS,
|
|
1030
1044
|
useFactory: apolloOptionsFactory,
|
|
1031
|
-
deps: [BASE_MODULE_CONFIG, HttpLink, AuthService],
|
|
1045
|
+
deps: [BASE_MODULE_CONFIG, HttpLink, AuthService, WsService],
|
|
1032
1046
|
});
|
|
1033
1047
|
}
|
|
1034
1048
|
else if (config.logging) {
|