taxtank-core 0.17.12 → 0.17.15

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.
@@ -20,4 +20,7 @@ __decorate([
20
20
  __decorate([
21
21
  Type(() => User)
22
22
  ], Chat.prototype, "client", void 0);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvY2hhdC9jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6QyxNQUFNLE9BQU8sSUFBSyxTQUFRLFFBQVE7SUFPaEMsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQiw0QkFBNEI7SUFFNUI7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBZkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NDQUNGO0FBR2Y7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO29DQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdCBhcyBDaGF0QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9maXJtL2NoYXQnO1xyXG5pbXBvcnQgeyBDaGF0U3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2NoYXQtc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci91c2VyJztcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGF0IGV4dGVuZHMgQ2hhdEJhc2Uge1xyXG4gIEBUeXBlKCgpID0+IFVzZXIpXHJcbiAgZW1wbG95ZWU6IFVzZXI7XHJcblxyXG4gIEBUeXBlKCgpID0+IFVzZXIpXHJcbiAgY2xpZW50OiBVc2VyO1xyXG5cclxuICAvLyBAVE9ETyB0ZW1wb3JhcnkgZGlzYWJsZWRcclxuICAvLyBAVHlwZSgoKSA9PiBVc2VyKVxyXG4gIC8vIHR5cGluZ1VzZXJzOiBVc2VyW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhdCBpcyBhY3RpdmVcclxuICAgKi9cclxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gQ2hhdFN0YXR1c0VudW0uQUNUSVZFO1xyXG4gIH1cclxufVxyXG4iXX0=
23
+ __decorate([
24
+ Type(() => Date)
25
+ ], Chat.prototype, "updatedAt", void 0);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvY2hhdC9jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6QyxNQUFNLE9BQU8sSUFBSyxTQUFRLFFBQVE7SUFVaEMsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQiw0QkFBNEI7SUFFNUI7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBbEJDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztzQ0FDRjtBQUdmO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztvQ0FDSjtBQUdiO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt1Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXQgYXMgQ2hhdEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvZmlybS9jaGF0JztcclxuaW1wb3J0IHsgQ2hhdFN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hhdCBleHRlbmRzIENoYXRCYXNlIHtcclxuICBAVHlwZSgoKSA9PiBVc2VyKVxyXG4gIGVtcGxveWVlOiBVc2VyO1xyXG5cclxuICBAVHlwZSgoKSA9PiBVc2VyKVxyXG4gIGNsaWVudDogVXNlcjtcclxuXHJcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcclxuICB1cGRhdGVkQXQ6IERhdGU7XHJcblxyXG4gIC8vIEBUT0RPIHRlbXBvcmFyeSBkaXNhYmxlZFxyXG4gIC8vIEBUeXBlKCgpID0+IFVzZXIpXHJcbiAgLy8gdHlwaW5nVXNlcnM6IFVzZXJbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGF0IGlzIGFjdGl2ZVxyXG4gICAqL1xyXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBDaGF0U3RhdHVzRW51bS5BQ1RJVkU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -10,38 +10,39 @@ export var AppEventTypeEnum;
10
10
  AppEventTypeEnum[AppEventTypeEnum["CLIENT_INVITE_ACCEPTED"] = 7] = "CLIENT_INVITE_ACCEPTED";
11
11
  AppEventTypeEnum[AppEventTypeEnum["CLIENT_OPEN_CHAT"] = 8] = "CLIENT_OPEN_CHAT";
12
12
  AppEventTypeEnum[AppEventTypeEnum["CLIENT_TRANSFER_TO_OTHER_EMPLOYEE"] = 9] = "CLIENT_TRANSFER_TO_OTHER_EMPLOYEE";
13
- AppEventTypeEnum[AppEventTypeEnum["DEPRECIATION_DELETED"] = 10] = "DEPRECIATION_DELETED";
14
- AppEventTypeEnum[AppEventTypeEnum["DEPRECIATIONS_CREATED"] = 11] = "DEPRECIATIONS_CREATED";
15
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_CREATED"] = 12] = "INCOME_SOURCES_CREATED";
16
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_UPDATED"] = 13] = "INCOME_SOURCES_UPDATED";
17
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_CREATED"] = 14] = "INCOME_SOURCES_FORECASTS_CREATED";
18
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_UPDATED"] = 15] = "INCOME_SOURCES_FORECASTS_UPDATED";
19
- AppEventTypeEnum[AppEventTypeEnum["LOAN_UPDATED"] = 16] = "LOAN_UPDATED";
20
- AppEventTypeEnum[AppEventTypeEnum["LOAN_PAYOUT_UPDATED"] = 17] = "LOAN_PAYOUT_UPDATED";
21
- AppEventTypeEnum[AppEventTypeEnum["MESSAGE_CREATED"] = 18] = "MESSAGE_CREATED";
22
- AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_CREATED"] = 19] = "MESSAGE_FILE_CREATED";
23
- AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_DELETED"] = 20] = "MESSAGE_FILE_DELETED";
24
- AppEventTypeEnum[AppEventTypeEnum["NOTIFICATION_ADDED"] = 21] = "NOTIFICATION_ADDED";
25
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_UPDATED_WITH_DOCUMENT"] = 22] = "PROPERTY_UPDATED_WITH_DOCUMENT";
26
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DOCUMENT_ADDED"] = 23] = "PROPERTY_DOCUMENT_ADDED";
27
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_CREATED"] = 24] = "PROPERTY_MOVEMENT_CREATED";
28
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_UPDATED"] = 25] = "PROPERTY_MOVEMENT_UPDATED";
29
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_DELETED"] = 26] = "PROPERTY_MOVEMENT_DELETED";
30
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SHARE_UPDATED"] = 27] = "PROPERTY_SHARE_UPDATED";
31
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 28] = "PROPERTY_SUBSCRIPTION_ADDED";
32
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 29] = "PROPERTY_SUBSCRIPTION_DELETED";
33
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 30] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
34
- AppEventTypeEnum[AppEventTypeEnum["SERVICE_SUBSCRIPTION_UPDATED"] = 31] = "SERVICE_SUBSCRIPTION_UPDATED";
35
- AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 32] = "TAX_REVIEW_UPDATED";
36
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 33] = "TRANSACTION_CREATED";
37
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 34] = "TRANSACTION_DELETED";
38
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 35] = "TRANSACTION_UPDATED";
39
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 36] = "TRANSACTIONS_CREATED";
40
- AppEventTypeEnum[AppEventTypeEnum["USER_UPDATED"] = 37] = "USER_UPDATED";
41
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 38] = "VEHICLE_CLAIM_UPDATED";
42
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 39] = "VEHICLE_CLAIM_CREATED";
43
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 40] = "VEHICLE_LOGBOOK_CREATED";
44
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 41] = "VEHICLE_LOGBOOK_UPDATED";
45
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 42] = "VEHICLE_LOGBOOK_DELETED";
13
+ AppEventTypeEnum[AppEventTypeEnum["CURRENT_USER_GET_FAILED"] = 10] = "CURRENT_USER_GET_FAILED";
14
+ AppEventTypeEnum[AppEventTypeEnum["DEPRECIATION_DELETED"] = 11] = "DEPRECIATION_DELETED";
15
+ AppEventTypeEnum[AppEventTypeEnum["DEPRECIATIONS_CREATED"] = 12] = "DEPRECIATIONS_CREATED";
16
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_CREATED"] = 13] = "INCOME_SOURCES_CREATED";
17
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_UPDATED"] = 14] = "INCOME_SOURCES_UPDATED";
18
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_CREATED"] = 15] = "INCOME_SOURCES_FORECASTS_CREATED";
19
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_UPDATED"] = 16] = "INCOME_SOURCES_FORECASTS_UPDATED";
20
+ AppEventTypeEnum[AppEventTypeEnum["LOAN_UPDATED"] = 17] = "LOAN_UPDATED";
21
+ AppEventTypeEnum[AppEventTypeEnum["LOAN_PAYOUT_UPDATED"] = 18] = "LOAN_PAYOUT_UPDATED";
22
+ AppEventTypeEnum[AppEventTypeEnum["MESSAGE_CREATED"] = 19] = "MESSAGE_CREATED";
23
+ AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_CREATED"] = 20] = "MESSAGE_FILE_CREATED";
24
+ AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_DELETED"] = 21] = "MESSAGE_FILE_DELETED";
25
+ AppEventTypeEnum[AppEventTypeEnum["NOTIFICATION_ADDED"] = 22] = "NOTIFICATION_ADDED";
26
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_UPDATED_WITH_DOCUMENT"] = 23] = "PROPERTY_UPDATED_WITH_DOCUMENT";
27
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DOCUMENT_ADDED"] = 24] = "PROPERTY_DOCUMENT_ADDED";
28
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_CREATED"] = 25] = "PROPERTY_MOVEMENT_CREATED";
29
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_UPDATED"] = 26] = "PROPERTY_MOVEMENT_UPDATED";
30
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_DELETED"] = 27] = "PROPERTY_MOVEMENT_DELETED";
31
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SHARE_UPDATED"] = 28] = "PROPERTY_SHARE_UPDATED";
32
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 29] = "PROPERTY_SUBSCRIPTION_ADDED";
33
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 30] = "PROPERTY_SUBSCRIPTION_DELETED";
34
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 31] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
35
+ AppEventTypeEnum[AppEventTypeEnum["SERVICE_SUBSCRIPTION_UPDATED"] = 32] = "SERVICE_SUBSCRIPTION_UPDATED";
36
+ AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 33] = "TAX_REVIEW_UPDATED";
37
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 34] = "TRANSACTION_CREATED";
38
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 35] = "TRANSACTION_DELETED";
39
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 36] = "TRANSACTION_UPDATED";
40
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 37] = "TRANSACTIONS_CREATED";
41
+ AppEventTypeEnum[AppEventTypeEnum["USER_UPDATED"] = 38] = "USER_UPDATED";
42
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 39] = "VEHICLE_CLAIM_UPDATED";
43
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 40] = "VEHICLE_CLAIM_CREATED";
44
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 41] = "VEHICLE_LOGBOOK_CREATED";
45
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 42] = "VEHICLE_LOGBOOK_UPDATED";
46
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 43] = "VEHICLE_LOGBOOK_DELETED";
46
47
  })(AppEventTypeEnum || (AppEventTypeEnum = {}));
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV2ZW50LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkE0Q1g7QUE1Q0QsV0FBWSxnQkFBZ0I7SUFDMUIsMkZBQXNCLENBQUE7SUFDdEIseUZBQXFCLENBQUE7SUFDckIsdUZBQW9CLENBQUE7SUFDcEIsdUZBQW9CLENBQUE7SUFDcEIsbUdBQTBCLENBQUE7SUFDMUIseUZBQXFCLENBQUE7SUFDckIsK0ZBQXdCLENBQUE7SUFDeEIsMkZBQXNCLENBQUE7SUFDdEIsK0VBQWdCLENBQUE7SUFDaEIsaUhBQWlDLENBQUE7SUFDakMsd0ZBQW9CLENBQUE7SUFDcEIsMEZBQXFCLENBQUE7SUFDckIsNEZBQXNCLENBQUE7SUFDdEIsNEZBQXNCLENBQUE7SUFDdEIsZ0hBQWdDLENBQUE7SUFDaEMsZ0hBQWdDLENBQUE7SUFDaEMsd0VBQVksQ0FBQTtJQUNaLHNGQUFtQixDQUFBO0lBQ25CLDhFQUFlLENBQUE7SUFDZix3RkFBb0IsQ0FBQTtJQUNwQix3RkFBb0IsQ0FBQTtJQUNwQixvRkFBa0IsQ0FBQTtJQUNsQiw0R0FBOEIsQ0FBQTtJQUM5Qiw4RkFBdUIsQ0FBQTtJQUN2QixrR0FBeUIsQ0FBQTtJQUN6QixrR0FBeUIsQ0FBQTtJQUN6QixrR0FBeUIsQ0FBQTtJQUN6Qiw0RkFBc0IsQ0FBQTtJQUN0QixzR0FBMkIsQ0FBQTtJQUMzQiwwR0FBNkIsQ0FBQTtJQUM3QixzSEFBbUMsQ0FBQTtJQUNuQyx3R0FBNEIsQ0FBQTtJQUM1QixvRkFBa0IsQ0FBQTtJQUNsQixzRkFBbUIsQ0FBQTtJQUNuQixzRkFBbUIsQ0FBQTtJQUNuQixzRkFBbUIsQ0FBQTtJQUNuQix3RkFBb0IsQ0FBQTtJQUNwQix3RUFBWSxDQUFBO0lBQ1osMEZBQXFCLENBQUE7SUFDckIsMEZBQXFCLENBQUE7SUFDckIsOEZBQXVCLENBQUE7SUFDdkIsOEZBQXVCLENBQUE7SUFDdkIsOEZBQXVCLENBQUE7QUFDekIsQ0FBQyxFQTVDVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBNEMzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFwcEV2ZW50VHlwZUVudW0ge1xuICBDTElFTlRfTU9WRU1FTlRfQ0xPU0VELFxuICBCQU5LX0NPTk5FQ1RJT05fQURERUQsXG4gIEJBTktfQUNDT1VOVF9DUkVBVEVELFxuICBCQU5LX0FDQ09VTlRfVVBEQVRFRCxcbiAgQkFOS19UUkFOU0FDVElPTl9BTExPQ0FURUQsXG4gIEJBU0lRX0NPTlNFTlRfVVBEQVRFRCxcbiAgQkFTSVFfQ09OTkVDVElPTl9VUERBVEVELFxuICBDTElFTlRfSU5WSVRFX0FDQ0VQVEVELFxuICBDTElFTlRfT1BFTl9DSEFULFxuICBDTElFTlRfVFJBTlNGRVJfVE9fT1RIRVJfRU1QTE9ZRUUsXG4gIERFUFJFQ0lBVElPTl9ERUxFVEVELFxuICBERVBSRUNJQVRJT05TX0NSRUFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX0NSRUFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX1VQREFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19DUkVBVEVELFxuICBJTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfVVBEQVRFRCxcbiAgTE9BTl9VUERBVEVELFxuICBMT0FOX1BBWU9VVF9VUERBVEVELFxuICBNRVNTQUdFX0NSRUFURUQsXG4gIE1FU1NBR0VfRklMRV9DUkVBVEVELFxuICBNRVNTQUdFX0ZJTEVfREVMRVRFRCxcbiAgTk9USUZJQ0FUSU9OX0FEREVELFxuICBQUk9QRVJUWV9VUERBVEVEX1dJVEhfRE9DVU1FTlQsXG4gIFBST1BFUlRZX0RPQ1VNRU5UX0FEREVELFxuICBQUk9QRVJUWV9NT1ZFTUVOVF9DUkVBVEVELFxuICBQUk9QRVJUWV9NT1ZFTUVOVF9VUERBVEVELFxuICBQUk9QRVJUWV9NT1ZFTUVOVF9ERUxFVEVELFxuICBQUk9QRVJUWV9TSEFSRV9VUERBVEVELFxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05fQURERUQsXG4gIFBST1BFUlRZX1NVQlNDUklQVElPTl9ERUxFVEVELFxuICBQUk9QRVJUWV9WQUxVQVRJT05fRE9DVU1FTlRfQ1JFQVRFRCxcbiAgU0VSVklDRV9TVUJTQ1JJUFRJT05fVVBEQVRFRCxcbiAgVEFYX1JFVklFV19VUERBVEVELFxuICBUUkFOU0FDVElPTl9DUkVBVEVELFxuICBUUkFOU0FDVElPTl9ERUxFVEVELFxuICBUUkFOU0FDVElPTl9VUERBVEVELFxuICBUUkFOU0FDVElPTlNfQ1JFQVRFRCxcbiAgVVNFUl9VUERBVEVELFxuICBWRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gIFZFSElDTEVfQ0xBSU1fQ1JFQVRFRCxcbiAgVkVISUNMRV9MT0dCT09LX0NSRUFURUQsXG4gIFZFSElDTEVfTE9HQk9PS19VUERBVEVELFxuICBWRUhJQ0xFX0xPR0JPT0tfREVMRVRFRFxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV2ZW50LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkE2Q1g7QUE3Q0QsV0FBWSxnQkFBZ0I7SUFDMUIsMkZBQXNCLENBQUE7SUFDdEIseUZBQXFCLENBQUE7SUFDckIsdUZBQW9CLENBQUE7SUFDcEIsdUZBQW9CLENBQUE7SUFDcEIsbUdBQTBCLENBQUE7SUFDMUIseUZBQXFCLENBQUE7SUFDckIsK0ZBQXdCLENBQUE7SUFDeEIsMkZBQXNCLENBQUE7SUFDdEIsK0VBQWdCLENBQUE7SUFDaEIsaUhBQWlDLENBQUE7SUFDakMsOEZBQXVCLENBQUE7SUFDdkIsd0ZBQW9CLENBQUE7SUFDcEIsMEZBQXFCLENBQUE7SUFDckIsNEZBQXNCLENBQUE7SUFDdEIsNEZBQXNCLENBQUE7SUFDdEIsZ0hBQWdDLENBQUE7SUFDaEMsZ0hBQWdDLENBQUE7SUFDaEMsd0VBQVksQ0FBQTtJQUNaLHNGQUFtQixDQUFBO0lBQ25CLDhFQUFlLENBQUE7SUFDZix3RkFBb0IsQ0FBQTtJQUNwQix3RkFBb0IsQ0FBQTtJQUNwQixvRkFBa0IsQ0FBQTtJQUNsQiw0R0FBOEIsQ0FBQTtJQUM5Qiw4RkFBdUIsQ0FBQTtJQUN2QixrR0FBeUIsQ0FBQTtJQUN6QixrR0FBeUIsQ0FBQTtJQUN6QixrR0FBeUIsQ0FBQTtJQUN6Qiw0RkFBc0IsQ0FBQTtJQUN0QixzR0FBMkIsQ0FBQTtJQUMzQiwwR0FBNkIsQ0FBQTtJQUM3QixzSEFBbUMsQ0FBQTtJQUNuQyx3R0FBNEIsQ0FBQTtJQUM1QixvRkFBa0IsQ0FBQTtJQUNsQixzRkFBbUIsQ0FBQTtJQUNuQixzRkFBbUIsQ0FBQTtJQUNuQixzRkFBbUIsQ0FBQTtJQUNuQix3RkFBb0IsQ0FBQTtJQUNwQix3RUFBWSxDQUFBO0lBQ1osMEZBQXFCLENBQUE7SUFDckIsMEZBQXFCLENBQUE7SUFDckIsOEZBQXVCLENBQUE7SUFDdkIsOEZBQXVCLENBQUE7SUFDdkIsOEZBQXVCLENBQUE7QUFDekIsQ0FBQyxFQTdDVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBNkMzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFwcEV2ZW50VHlwZUVudW0ge1xuICBDTElFTlRfTU9WRU1FTlRfQ0xPU0VELFxuICBCQU5LX0NPTk5FQ1RJT05fQURERUQsXG4gIEJBTktfQUNDT1VOVF9DUkVBVEVELFxuICBCQU5LX0FDQ09VTlRfVVBEQVRFRCxcbiAgQkFOS19UUkFOU0FDVElPTl9BTExPQ0FURUQsXG4gIEJBU0lRX0NPTlNFTlRfVVBEQVRFRCxcbiAgQkFTSVFfQ09OTkVDVElPTl9VUERBVEVELFxuICBDTElFTlRfSU5WSVRFX0FDQ0VQVEVELFxuICBDTElFTlRfT1BFTl9DSEFULFxuICBDTElFTlRfVFJBTlNGRVJfVE9fT1RIRVJfRU1QTE9ZRUUsXG4gIENVUlJFTlRfVVNFUl9HRVRfRkFJTEVELFxuICBERVBSRUNJQVRJT05fREVMRVRFRCxcbiAgREVQUkVDSUFUSU9OU19DUkVBVEVELFxuICBJTkNPTUVfU09VUkNFU19DUkVBVEVELFxuICBJTkNPTUVfU09VUkNFU19VUERBVEVELFxuICBJTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfQ1JFQVRFRCxcbiAgSU5DT01FX1NPVVJDRVNfRk9SRUNBU1RTX1VQREFURUQsXG4gIExPQU5fVVBEQVRFRCxcbiAgTE9BTl9QQVlPVVRfVVBEQVRFRCxcbiAgTUVTU0FHRV9DUkVBVEVELFxuICBNRVNTQUdFX0ZJTEVfQ1JFQVRFRCxcbiAgTUVTU0FHRV9GSUxFX0RFTEVURUQsXG4gIE5PVElGSUNBVElPTl9BRERFRCxcbiAgUFJPUEVSVFlfVVBEQVRFRF9XSVRIX0RPQ1VNRU5ULFxuICBQUk9QRVJUWV9ET0NVTUVOVF9BRERFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfVVBEQVRFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfREVMRVRFRCxcbiAgUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCxcbiAgUFJPUEVSVFlfU1VCU0NSSVBUSU9OX0FEREVELFxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05fREVMRVRFRCxcbiAgUFJPUEVSVFlfVkFMVUFUSU9OX0RPQ1VNRU5UX0NSRUFURUQsXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OX1VQREFURUQsXG4gIFRBWF9SRVZJRVdfVVBEQVRFRCxcbiAgVFJBTlNBQ1RJT05fQ1JFQVRFRCxcbiAgVFJBTlNBQ1RJT05fREVMRVRFRCxcbiAgVFJBTlNBQ1RJT05fVVBEQVRFRCxcbiAgVFJBTlNBQ1RJT05TX0NSRUFURUQsXG4gIFVTRVJfVVBEQVRFRCxcbiAgVkVISUNMRV9DTEFJTV9VUERBVEVELFxuICBWRUhJQ0xFX0NMQUlNX0NSRUFURUQsXG4gIFZFSElDTEVfTE9HQk9PS19DUkVBVEVELFxuICBWRUhJQ0xFX0xPR0JPT0tfVVBEQVRFRCxcbiAgVkVISUNMRV9MT0dCT09LX0RFTEVURURcbn1cbiJdfQ==
@@ -1,16 +1,32 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
  import { Inject, Injectable } from '@angular/core';
3
3
  import { map } from 'rxjs/operators';
4
+ import { AppEventTypeEnum } from "../../models/event/app-event-type.enum";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common/http";
6
7
  import * as i2 from "./jwt.service";
8
+ import * as i3 from "../event/event-dispatcher.service";
7
9
  export class AuthService {
8
- constructor(http, jwtService, environment) {
10
+ constructor(http, jwtService, eventDispatcherService, environment) {
9
11
  this.http = http;
10
12
  this.jwtService = jwtService;
13
+ this.eventDispatcherService = eventDispatcherService;
11
14
  this.environment = environment;
15
+ this.listenEvents();
12
16
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
13
17
  }
18
+ /**
19
+ * Listen to Event Dispatcher events
20
+ */
21
+ listenEvents() {
22
+ this.listenUserGetFailed();
23
+ }
24
+ /**
25
+ * User logout if failed current user get
26
+ */
27
+ listenUserGetFailed() {
28
+ this.eventDispatcherService.on(AppEventTypeEnum.CURRENT_USER_GET_FAILED).subscribe(() => this.logoutFront());
29
+ }
14
30
  setAuth(response) {
15
31
  this.jwtService.saveTokens(response);
16
32
  this.isLoggedInSubject.next(true);
@@ -32,15 +48,15 @@ export class AuthService {
32
48
  location.replace(url);
33
49
  }
34
50
  }
35
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
51
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
52
  AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, providedIn: 'root' });
37
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, decorators: [{
38
54
  type: Injectable,
39
55
  args: [{
40
56
  providedIn: 'root'
41
57
  }]
42
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: undefined, decorators: [{
58
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: i3.EventDispatcherService }, { type: undefined, decorators: [{
43
59
  type: Inject,
44
60
  args: ['environment']
45
61
  }] }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3JDLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDQyxXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckYsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLFFBQVE7UUFDaEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7eUdBckNVLFdBQVcsc0VBTVosYUFBYTs2R0FOWixXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi9qd3Quc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgaXNMb2dnZWRJblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCF0aGlzLmp3dFNlcnZpY2UuaXNUb2tlbkV4cGlyZWQoKSk7XG4gIH1cblxuICBzZXRBdXRoKHJlc3BvbnNlOiBhbnkpIHtcbiAgICB0aGlzLmp3dFNlcnZpY2Uuc2F2ZVRva2VucyhyZXNwb25zZSk7XG4gICAgdGhpcy5pc0xvZ2dlZEluU3ViamVjdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9sb2dpbl9jaGVja2AsIHt1c2VybmFtZSwgcGFzc3dvcmR9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlZnJlc2gocmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdG9rZW4vcmVmcmVzaGAsIHsgcmVmcmVzaFRva2VuIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXRBdXRoKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbG9nb3V0RnJvbnQodXJsOiBzdHJpbmcgPSAnL2xvZ2luJyk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIGxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR25DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQUt4RSxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNVLElBQWdCLEVBQ2hCLFVBQXNCLEVBQ3RCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUh2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWE7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxjQUFjLEVBQUUsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZGLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsWUFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxnQkFBZ0IsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNyRixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWMsUUFBUTtRQUNoQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDOzt5R0FyRFUsV0FBVyw0R0FPWixhQUFhOzZHQVBaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Snd0U2VydmljZX0gZnJvbSAnLi9qd3Quc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJRXZlbnRMaXN0ZW5lcn0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQge0V2ZW50RGlzcGF0Y2hlclNlcnZpY2V9IGZyb20gXCIuLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7QXBwRXZlbnRUeXBlRW51bX0gZnJvbSBcIi4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXJ7XG4gIGlzTG9nZ2VkSW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCghdGhpcy5qd3RTZXJ2aWNlLmlzVG9rZW5FeHBpcmVkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudCBEaXNwYXRjaGVyIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVXNlckdldEZhaWxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZXIgbG9nb3V0IGlmIGZhaWxlZCBjdXJyZW50IHVzZXIgZ2V0XG4gICAqL1xuICBsaXN0ZW5Vc2VyR2V0RmFpbGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkNVUlJFTlRfVVNFUl9HRVRfRkFJTEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2dvdXRGcm9udCgpKTtcbiAgfVxuXG4gIHNldEF1dGgocmVzcG9uc2U6IGFueSkge1xuICAgIHRoaXMuand0U2VydmljZS5zYXZlVG9rZW5zKHJlc3BvbnNlKTtcbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2xvZ2luX2NoZWNrYCwge3VzZXJuYW1lLCBwYXNzd29yZH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXRBdXRoKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVmcmVzaChyZWZyZXNoVG9rZW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS90b2tlbi9yZWZyZXNoYCwgeyByZWZyZXNoVG9rZW4gfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBsb2dvdXRGcm9udCh1cmw6IHN0cmluZyA9ICcvbG9naW4nKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgbG9jYXRpb24ucmVwbGFjZSh1cmwpO1xuICB9XG59XG4iXX0=
@@ -4,6 +4,7 @@ import cloneDeep from 'lodash/cloneDeep';
4
4
  import { replace } from '../../../functions/array';
5
5
  import { plainToClass } from 'class-transformer';
6
6
  import { Chat } from '../../../models/chat/chat';
7
+ import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@angular/common/http";
9
10
  import * as i2 from "../../event/event-dispatcher.service";
@@ -24,6 +25,7 @@ export class ChatService extends RestService {
24
25
  this.url = 'chats';
25
26
  this.isHydra = true;
26
27
  this.listenChats();
28
+ this.listenMessages();
27
29
  }
28
30
  /**
29
31
  * Listen chats events
@@ -58,6 +60,19 @@ export class ChatService extends RestService {
58
60
  this.updateCache();
59
61
  });
60
62
  }
63
+ /**
64
+ * Update chat's 'updatedAt' field with the last chat's message date for chat list sorting
65
+ */
66
+ listenMessages() {
67
+ this.eventDispatcherService.on(AppEventTypeEnum.MESSAGE_CREATED).subscribe((message) => {
68
+ const cache = cloneDeep(this.cache);
69
+ const updatedChat = cache.find((chat) => chat.id === message.chat.id);
70
+ updatedChat.updatedAt = message.createdAt;
71
+ replace(cache, updatedChat);
72
+ this.cache = cache;
73
+ this.updateCache();
74
+ });
75
+ }
61
76
  }
62
77
  ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
63
78
  ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, providedIn: 'root' });
@@ -70,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
70
85
  type: Inject,
71
86
  args: ['environment']
72
87
  }] }, { type: i3.ToastService }, { type: i4.SseService }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFJakQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTJCO0lBSzFELFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCLEVBQzVCLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTnJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGhDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLFFBQUcsR0FBVyxPQUFPLENBQUM7UUFDdEIsWUFBTyxHQUFZLElBQUksQ0FBQztRQVV0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWtCLEVBQVEsRUFBRTtZQUNqRSxJQUFJLEtBQUssR0FBVyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLDJCQUEyQjtZQUMzQixNQUFNLFNBQVMsR0FBUyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELDJCQUEyQjtZQUMzQixNQUFNLFVBQVUsR0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVSxFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV2RixRQUFRLElBQUksRUFBRTtnQkFDWixlQUFlO2dCQUNmLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQztvQkFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDdEIsTUFBTTtnQkFFUiwwQkFBMEI7Z0JBQzFCLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO29CQUN4QixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3hFLE1BQU07Z0JBRVIsdUNBQXVDO2dCQUN2QyxLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkQsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztvQkFDMUIsTUFBTTtnQkFFUiwyRkFBMkY7Z0JBQzNGLGdDQUFnQztnQkFDaEMsV0FBVztnQkFDVCwrREFBK0Q7Z0JBQy9ELHVDQUF1QzthQUMxQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQXJEVSxXQUFXLGtGQVFaLGFBQWE7NkdBUlosV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhdCBhcyBDaGF0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2NoYXQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9zc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENoYXQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhdC9jaGF0JztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3Igd29yayB3aXRoIGNoYXRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2hhdEJhc2UsIENoYXQ+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIENoYXQgPSBDaGF0O1xuICB1cmw6IHN0cmluZyA9ICdjaGF0cyc7XG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3NlU2VydmljZTogU3NlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCwgdG9hc3RTZXJ2aWNlKTtcbiAgICB0aGlzLmxpc3RlbkNoYXRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGNoYXRzIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuQ2hhdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBjaGF0c2ApLnN1YnNjcmliZSgoY2hhdEJhc2U6IENoYXRCYXNlKTogdm9pZCA9PiB7XG4gICAgICBsZXQgY2FjaGU6IENoYXRbXSA9IGNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBldmVudFxuICAgICAgY29uc3QgZXZlbnRDaGF0OiBDaGF0ID0gcGxhaW5Ub0NsYXNzKENoYXQsIGNoYXRCYXNlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBjYWNoZVxuICAgICAgY29uc3QgY2FjaGVkQ2hhdDogQ2hhdCA9IGNhY2hlLmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IGV2ZW50Q2hhdC5pZCk7XG5cbiAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAvLyBhZGQgbmV3IGNoYXRcbiAgICAgICAgY2FzZSAoIWNhY2hlZENoYXQpOlxuICAgICAgICAgIGNhY2hlLnB1c2goZXZlbnRDaGF0KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyByZW1vdmUgZGVhY3RpdmF0ZWQgY2hhdFxuICAgICAgICBjYXNlICFldmVudENoYXQuaXNBY3RpdmUoKTpcbiAgICAgICAgICBjYWNoZSA9IGNhY2hlLmZpbHRlcigoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdC5pZCAhPT0gZXZlbnRDaGF0LmlkKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyB1cGRhdGUgY2hhdCB3aXRoIG5ldyBmaXJtIChyZWFzc2lnbilcbiAgICAgICAgY2FzZSBldmVudENoYXQuZW1wbG95ZWUuaWQgIT09IGNhY2hlZENoYXQuZW1wbG95ZWUuaWQ6XG4gICAgICAgICAgcmVwbGFjZShjYWNoZSwgZXZlbnRDaGF0KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBAVE9ETyB0eXBpbmcgd29ya3MgYmFkIHdpdGggbWF0LXRhYnMgb24gdXNlci1hcmVhLiBOZWVkIHRvIHJlZmFjdG9yIHR5cGluZyBmdW5jdGlvbmFsaXR5XG4gICAgICAgIC8vIHVwZGF0ZSBjYWNoZSB3aXRoIHR5cGluZyB1c2VyXG4gICAgICAgIC8vIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gY2FjaGVkQ2hhdC50eXBpbmdVc2Vycy5wdXNoKG5ldyBVc2VyKGV2ZW50Q2hhdC50eXBpbmdVc2VyKSk7XG4gICAgICAgICAgLy8gcmVwbGFjZShjYWNoZSwgXy5jbG9uZShjYWNoZWRDaGF0KSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2FjaGUgPSBjYWNoZTtcbiAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFFN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTJCO0lBSzFELFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCLEVBQzVCLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTnJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGhDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLFFBQUcsR0FBVyxPQUFPLENBQUM7UUFDdEIsWUFBTyxHQUFZLElBQUksQ0FBQztRQVV0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFRLEVBQUU7WUFDakUsSUFBSSxLQUFLLEdBQVcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQywyQkFBMkI7WUFDM0IsTUFBTSxTQUFTLEdBQVMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRCwyQkFBMkI7WUFDM0IsTUFBTSxVQUFVLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFdkYsUUFBUSxJQUFJLEVBQUU7Z0JBQ1osZUFBZTtnQkFDZixLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsMEJBQTBCO2dCQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtvQkFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN4RSxNQUFNO2dCQUVSLHVDQUF1QztnQkFDdkMsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25ELE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQzFCLE1BQU07Z0JBRVIsMkZBQTJGO2dCQUMzRixnQ0FBZ0M7Z0JBQ2hDLFdBQVc7Z0JBQ1gsK0RBQStEO2dCQUMvRCx1Q0FBdUM7YUFDeEM7WUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQzlGLE1BQU0sS0FBSyxHQUFXLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsTUFBTSxXQUFXLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNGLFdBQVcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUUxQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQXJFVSxXQUFXLGtGQVFaLGFBQWE7NkdBUlosV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhdCBhcyBDaGF0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2NoYXQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9zc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENoYXQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhdC9jaGF0JztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBjaGF0c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENoYXRCYXNlLCBDaGF0PiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDaGF0ID0gQ2hhdDtcbiAgdXJsOiBzdHJpbmcgPSAnY2hhdHMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByb3RlY3RlZCB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQsIHRvYXN0U2VydmljZSk7XG4gICAgdGhpcy5saXN0ZW5DaGF0cygpO1xuICAgIHRoaXMubGlzdGVuTWVzc2FnZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gY2hhdHMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5DaGF0cygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYGNoYXRzYCkuc3Vic2NyaWJlKChjaGF0QmFzZTogQ2hhdEJhc2UpOiB2b2lkID0+IHtcbiAgICAgIGxldCBjYWNoZTogQ2hhdFtdID0gY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgLy8gY2hhdCBpbnN0YW5jZSBmcm9tIGV2ZW50XG4gICAgICBjb25zdCBldmVudENoYXQ6IENoYXQgPSBwbGFpblRvQ2xhc3MoQ2hhdCwgY2hhdEJhc2UpO1xuICAgICAgLy8gY2hhdCBpbnN0YW5jZSBmcm9tIGNhY2hlXG4gICAgICBjb25zdCBjYWNoZWRDaGF0OiBDaGF0ID0gY2FjaGUuZmluZCgoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdC5pZCA9PT0gZXZlbnRDaGF0LmlkKTtcblxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIC8vIGFkZCBuZXcgY2hhdFxuICAgICAgICBjYXNlICghY2FjaGVkQ2hhdCk6XG4gICAgICAgICAgY2FjaGUucHVzaChldmVudENoYXQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHJlbW92ZSBkZWFjdGl2YXRlZCBjaGF0XG4gICAgICAgIGNhc2UgIWV2ZW50Q2hhdC5pc0FjdGl2ZSgpOlxuICAgICAgICAgIGNhY2hlID0gY2FjaGUuZmlsdGVyKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0LmlkICE9PSBldmVudENoYXQuaWQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBjaGF0IHdpdGggbmV3IGZpcm0gKHJlYXNzaWduKVxuICAgICAgICBjYXNlIGV2ZW50Q2hhdC5lbXBsb3llZS5pZCAhPT0gY2FjaGVkQ2hhdC5lbXBsb3llZS5pZDpcbiAgICAgICAgICByZXBsYWNlKGNhY2hlLCBldmVudENoYXQpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIEBUT0RPIHR5cGluZyB3b3JrcyBiYWQgd2l0aCBtYXQtdGFicyBvbiB1c2VyLWFyZWEuIE5lZWQgdG8gcmVmYWN0b3IgdHlwaW5nIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgLy8gdXBkYXRlIGNhY2hlIHdpdGggdHlwaW5nIHVzZXJcbiAgICAgICAgLy8gZGVmYXVsdDpcbiAgICAgICAgLy8gY2FjaGVkQ2hhdC50eXBpbmdVc2Vycy5wdXNoKG5ldyBVc2VyKGV2ZW50Q2hhdC50eXBpbmdVc2VyKSk7XG4gICAgICAgIC8vIHJlcGxhY2UoY2FjaGUsIF8uY2xvbmUoY2FjaGVkQ2hhdCkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNhY2hlID0gY2FjaGU7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNoYXQncyAndXBkYXRlZEF0JyBmaWVsZCB3aXRoIHRoZSBsYXN0IGNoYXQncyBtZXNzYWdlIGRhdGUgZm9yIGNoYXQgbGlzdCBzb3J0aW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk1FU1NBR0VfQ1JFQVRFRCkuc3Vic2NyaWJlKChtZXNzYWdlOiBNZXNzYWdlKSA9PiB7XG4gICAgICBjb25zdCBjYWNoZTogQ2hhdFtdID0gY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgY29uc3QgdXBkYXRlZENoYXQ6IENoYXQgPSBjYWNoZS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0LmlkID09PSBtZXNzYWdlLmNoYXQuaWQpO1xuICAgICAgdXBkYXRlZENoYXQudXBkYXRlZEF0ID0gbWVzc2FnZS5jcmVhdGVkQXQ7XG5cbiAgICAgIHJlcGxhY2UoY2FjaGUsIHVwZGF0ZWRDaGF0KTtcbiAgICAgIHRoaXMuY2FjaGUgPSBjYWNoZTtcbiAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -30,7 +30,12 @@ export class UserService {
30
30
  }
31
31
  get() {
32
32
  if (!this.cache) {
33
- this.fetch().subscribe();
33
+ this.fetch().subscribe(() => { }, (error) => {
34
+ // force logout user (clear localStorage) when get current user return error
35
+ if (error.status === 500) {
36
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CURRENT_USER_GET_FAILED, null));
37
+ }
38
+ });
34
39
  }
35
40
  return this.cacheSubject.asObservable();
36
41
  }
@@ -160,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
160
165
  type: Inject,
161
166
  args: ['environment']
162
167
  }] }]; } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFLakM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLElBQWdCLEVBQ2hCLFVBQXNCLEVBQ3RCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUNDLFdBQWdCO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVBqRCxpQkFBWSxHQUF3QixJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQVM3RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJB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TCxDQUFDOzt5R0F2S1UsV0FBVyxzSUFTWixhQUFhOzZHQVRaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyIGFzIFVzZXJCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnd0U2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgvand0LnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSc7XG5pbXBvcnQge1NlcnZpY2VTdWJzY3JpcHRpb259IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQge1NzZVNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50L3NzZS5zZXJ2aWNlJztcbmltcG9ydCB7SUV2ZW50TGlzdGVuZXJ9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCB1c2VyXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogVXNlcjtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFVzZXI+ID0gbmV3IFJlcGxheVN1YmplY3Q8VXNlcj4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpO1xuICAgIHRoaXMubGlzdGVuQmFzaXFDb25jZW50VXBkYXRlZCgpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCB1c2VyXG4gICAqL1xuICBmZXRjaCgpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jdXJyZW50YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVzZXI6IFVzZXIgPSBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIHVzZXIuaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgLy8gQFRPRE8gcmVtb3ZlXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZpbmFuY2lhbFllYXInLCB1c2VyLmZpbmFuY2lhbFllYXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcblxuICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBuZXcgdXNlclxuICAgKi9cbiAgcmVnaXN0ZXIoZGF0YTogb2JqZWN0KTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcmVnaXN0cmF0aW9uYCwgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHVzZXJcbiAgICovXG4gIHVwZGF0ZSh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvJHt1c2VyLmlkfWAsIHVzZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVVNFUl9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKGN1cnJlbnRQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9jaGFuZ2VgLCB7Y3VycmVudFBhc3N3b3JkLCBuZXdQYXNzd29yZH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY292ZXJ5IHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIHJlY292ZXJ5UGFzc3dvcmQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGFzc3dvcmQvcmVjb3ZlcnlgLCB7ZW1haWx9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB1c2VyIHBhc3N3b3JkXG4gICAqL1xuICByZXNldFBhc3N3b3JkKG5ld1Bhc3N3b3JkOiBzdHJpbmcsIHJlc2V0VG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGFzc3dvcmQvcmVzZXRgLCB7bmV3UGFzc3dvcmQsIHJlc2V0VG9rZW59KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jb25maXJtYXRpb25gLCB7dmVyaWZpY2F0aW9uQ29kZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3NlYXJjaD9lbWFpbD0ke2VtYWlsfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluaXNoIG9uYm9hcmRpbmcgcHJvY2Vzc1xuICAgKi9cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvc3RhdHVzYCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB1c2VyO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB1c2VyIHBob3RvXG4gICAqL1xuICB1cGRhdGVQaG90byhwaG90bzogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBob3RvVXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge3Bob3RvOiBwaG90b1VybH0pKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gZm9yZWNhc3QgdXBkYXRlIHNjcmlwdCBvbiBiYWNrZW5kIHdoZW4gdXNlciBzd2l0Y2hlZCBmaW5hbmNpYWwgeWVhclxuICAgKi9cbiAgc3dpdGNoRmluYW5jaWFsWWVhcigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2ZpbmFuY2lhbC15ZWFyL3N3aXRjaGApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHVzZXIncyBzZXJ2aWNlIHN1YnNjcmlwdGlvbiBpcyB1cGRhdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlcnZpY2VTdWJzY3JpcHRpb25VcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNFUlZJQ0VfU1VCU0NSSVBUSU9OX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkJhc2lxQ29uY2VudFVwZGF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfQ09OU0VOVF9VUERBVEVEKS5zdWJzY3JpYmUoKGlzQ29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoIWlzQ29uZmlybWVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlciA9IGNsb25lKHRoaXMuY2FjaGUpO1xuICAgICAgdXNlci5jbGllbnREZXRhaWxzLmJhc2lxQ29uc2VudEV4aXN0ID0gdHJ1ZTtcblxuICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFNakM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLElBQWdCLEVBQ2hCLFVBQXNCLEVBQ3RCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUNDLFdBQWdCO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVBqRCxpQkFBWSxHQUF3QixJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQVM3RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsR0FBRztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxLQUF3QixFQUFFLEVBQUU7Z0JBQzVELDRFQUE0RTtnQkFDNUUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNwRztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLENBQUM7YUFDNUQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixNQUFNLElBQUksR0FBUyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRWhELFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRCxlQUFlO1lBQ2YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDckUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxlQUF1QixFQUFFLFdBQW1CO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssd0JBQXdCLEVBQUUsRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssMEJBQTBCLEVBQUUsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxXQUFtQixFQUFFLFVBQWtCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssdUJBQXVCLEVBQUUsRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZ0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUsscUJBQXFCLEVBQUUsRUFBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyx1QkFBdUIsS0FBSyxFQUFFLENBQUM7YUFDMUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLElBQVU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLEVBQUUsSUFBSSxDQUFDO2FBQ2pFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLDBCQUEwQixFQUFFLEtBQUssQ0FBQzthQUM5RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssd0JBQXdCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNLLGdDQUFnQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQW9CLEVBQUUsRUFBRTtZQUN4RyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixPQUFPO2FBQ1I7WUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBRTVDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQTVLVSxXQUFXLHNJQVNaLGFBQWE7NkdBVFosV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXIgYXMgVXNlckJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9qd3Quc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJztcbmltcG9ydCB7U2VydmljZVN1YnNjcmlwdGlvbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7U3NlU2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQvc3NlLnNlcnZpY2UnO1xuaW1wb3J0IHtJRXZlbnRMaXN0ZW5lcn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggdXNlclxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2FjaGU6IFVzZXI7XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxVc2VyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFVzZXI+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3NlU2VydmljZTogU3NlU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU2VydmljZVN1YnNjcmlwdGlvblVwZGF0ZWQoKTtcbiAgICB0aGlzLmxpc3RlbkJhc2lxQ29uY2VudFVwZGF0ZWQoKTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKCkgPT4ge30sIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgLy8gZm9yY2UgbG9nb3V0IHVzZXIgKGNsZWFyIGxvY2FsU3RvcmFnZSkgd2hlbiBnZXQgY3VycmVudCB1c2VyIHJldHVybiBlcnJvclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDApIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQ1VSUkVOVF9VU0VSX0dFVF9GQUlMRUQsIG51bGwpKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCB1c2VyXG4gICAqL1xuICBmZXRjaCgpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jdXJyZW50YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVzZXI6IFVzZXIgPSBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIHVzZXIuaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgLy8gQFRPRE8gcmVtb3ZlXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZpbmFuY2lhbFllYXInLCB1c2VyLmZpbmFuY2lhbFllYXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcblxuICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBuZXcgdXNlclxuICAgKi9cbiAgcmVnaXN0ZXIoZGF0YTogb2JqZWN0KTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcmVnaXN0cmF0aW9uYCwgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHVzZXJcbiAgICovXG4gIHVwZGF0ZSh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvJHt1c2VyLmlkfWAsIHVzZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVVNFUl9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKGN1cnJlbnRQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9jaGFuZ2VgLCB7Y3VycmVudFBhc3N3b3JkLCBuZXdQYXNzd29yZH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY292ZXJ5IHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIHJlY292ZXJ5UGFzc3dvcmQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGFzc3dvcmQvcmVjb3ZlcnlgLCB7ZW1haWx9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB1c2VyIHBhc3N3b3JkXG4gICAqL1xuICByZXNldFBhc3N3b3JkKG5ld1Bhc3N3b3JkOiBzdHJpbmcsIHJlc2V0VG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGFzc3dvcmQvcmVzZXRgLCB7bmV3UGFzc3dvcmQsIHJlc2V0VG9rZW59KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jb25maXJtYXRpb25gLCB7dmVyaWZpY2F0aW9uQ29kZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3NlYXJjaD9lbWFpbD0ke2VtYWlsfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluaXNoIG9uYm9hcmRpbmcgcHJvY2Vzc1xuICAgKi9cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvc3RhdHVzYCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB1c2VyO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB1c2VyIHBob3RvXG4gICAqL1xuICB1cGRhdGVQaG90byhwaG90bzogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBob3RvVXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge3Bob3RvOiBwaG90b1VybH0pKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gZm9yZWNhc3QgdXBkYXRlIHNjcmlwdCBvbiBiYWNrZW5kIHdoZW4gdXNlciBzd2l0Y2hlZCBmaW5hbmNpYWwgeWVhclxuICAgKi9cbiAgc3dpdGNoRmluYW5jaWFsWWVhcigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2ZpbmFuY2lhbC15ZWFyL3N3aXRjaGApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHVzZXIncyBzZXJ2aWNlIHN1YnNjcmlwdGlvbiBpcyB1cGRhdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlcnZpY2VTdWJzY3JpcHRpb25VcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNFUlZJQ0VfU1VCU0NSSVBUSU9OX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkJhc2lxQ29uY2VudFVwZGF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfQ09OU0VOVF9VUERBVEVEKS5zdWJzY3JpYmUoKGlzQ29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoIWlzQ29uZmlybWVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlciA9IGNsb25lKHRoaXMuY2FjaGUpO1xuICAgICAgdXNlci5jbGllbnREZXRhaWxzLmJhc2lxQ29uc2VudEV4aXN0ID0gdHJ1ZTtcblxuICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -4,8 +4,8 @@ import * as i1$1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/common/http';
6
6
  import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
7
- import { ReplaySubject, BehaviorSubject, throwError, Subject, combineLatest, of, Observable, forkJoin } from 'rxjs';
8
- import { map, catchError, filter, take, switchMap, finalize, mergeMap } from 'rxjs/operators';
7
+ import { ReplaySubject, Subject, BehaviorSubject, throwError, combineLatest, of, Observable, forkJoin } from 'rxjs';
8
+ import { map, filter, catchError, take, switchMap, finalize, mergeMap } from 'rxjs/operators';
9
9
  import { plainToClass, Exclude, Type, Transform, Expose, classToPlain } from 'class-transformer';
10
10
  import { JwtHelperService } from '@auth0/angular-jwt';
11
11
  import get from 'lodash/get';
@@ -180,13 +180,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
180
180
  }]
181
181
  }] });
182
182
 
183
+ var AppEventTypeEnum;
184
+ (function (AppEventTypeEnum) {
185
+ AppEventTypeEnum[AppEventTypeEnum["CLIENT_MOVEMENT_CLOSED"] = 0] = "CLIENT_MOVEMENT_CLOSED";
186
+ AppEventTypeEnum[AppEventTypeEnum["BANK_CONNECTION_ADDED"] = 1] = "BANK_CONNECTION_ADDED";
187
+ AppEventTypeEnum[AppEventTypeEnum["BANK_ACCOUNT_CREATED"] = 2] = "BANK_ACCOUNT_CREATED";
188
+ AppEventTypeEnum[AppEventTypeEnum["BANK_ACCOUNT_UPDATED"] = 3] = "BANK_ACCOUNT_UPDATED";
189
+ AppEventTypeEnum[AppEventTypeEnum["BANK_TRANSACTION_ALLOCATED"] = 4] = "BANK_TRANSACTION_ALLOCATED";
190
+ AppEventTypeEnum[AppEventTypeEnum["BASIQ_CONSENT_UPDATED"] = 5] = "BASIQ_CONSENT_UPDATED";
191
+ AppEventTypeEnum[AppEventTypeEnum["BASIQ_CONNECTION_UPDATED"] = 6] = "BASIQ_CONNECTION_UPDATED";
192
+ AppEventTypeEnum[AppEventTypeEnum["CLIENT_INVITE_ACCEPTED"] = 7] = "CLIENT_INVITE_ACCEPTED";
193
+ AppEventTypeEnum[AppEventTypeEnum["CLIENT_OPEN_CHAT"] = 8] = "CLIENT_OPEN_CHAT";
194
+ AppEventTypeEnum[AppEventTypeEnum["CLIENT_TRANSFER_TO_OTHER_EMPLOYEE"] = 9] = "CLIENT_TRANSFER_TO_OTHER_EMPLOYEE";
195
+ AppEventTypeEnum[AppEventTypeEnum["CURRENT_USER_GET_FAILED"] = 10] = "CURRENT_USER_GET_FAILED";
196
+ AppEventTypeEnum[AppEventTypeEnum["DEPRECIATION_DELETED"] = 11] = "DEPRECIATION_DELETED";
197
+ AppEventTypeEnum[AppEventTypeEnum["DEPRECIATIONS_CREATED"] = 12] = "DEPRECIATIONS_CREATED";
198
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_CREATED"] = 13] = "INCOME_SOURCES_CREATED";
199
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_UPDATED"] = 14] = "INCOME_SOURCES_UPDATED";
200
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_CREATED"] = 15] = "INCOME_SOURCES_FORECASTS_CREATED";
201
+ AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_UPDATED"] = 16] = "INCOME_SOURCES_FORECASTS_UPDATED";
202
+ AppEventTypeEnum[AppEventTypeEnum["LOAN_UPDATED"] = 17] = "LOAN_UPDATED";
203
+ AppEventTypeEnum[AppEventTypeEnum["LOAN_PAYOUT_UPDATED"] = 18] = "LOAN_PAYOUT_UPDATED";
204
+ AppEventTypeEnum[AppEventTypeEnum["MESSAGE_CREATED"] = 19] = "MESSAGE_CREATED";
205
+ AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_CREATED"] = 20] = "MESSAGE_FILE_CREATED";
206
+ AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_DELETED"] = 21] = "MESSAGE_FILE_DELETED";
207
+ AppEventTypeEnum[AppEventTypeEnum["NOTIFICATION_ADDED"] = 22] = "NOTIFICATION_ADDED";
208
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_UPDATED_WITH_DOCUMENT"] = 23] = "PROPERTY_UPDATED_WITH_DOCUMENT";
209
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DOCUMENT_ADDED"] = 24] = "PROPERTY_DOCUMENT_ADDED";
210
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_CREATED"] = 25] = "PROPERTY_MOVEMENT_CREATED";
211
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_UPDATED"] = 26] = "PROPERTY_MOVEMENT_UPDATED";
212
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_DELETED"] = 27] = "PROPERTY_MOVEMENT_DELETED";
213
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SHARE_UPDATED"] = 28] = "PROPERTY_SHARE_UPDATED";
214
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 29] = "PROPERTY_SUBSCRIPTION_ADDED";
215
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 30] = "PROPERTY_SUBSCRIPTION_DELETED";
216
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 31] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
217
+ AppEventTypeEnum[AppEventTypeEnum["SERVICE_SUBSCRIPTION_UPDATED"] = 32] = "SERVICE_SUBSCRIPTION_UPDATED";
218
+ AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 33] = "TAX_REVIEW_UPDATED";
219
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 34] = "TRANSACTION_CREATED";
220
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 35] = "TRANSACTION_DELETED";
221
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 36] = "TRANSACTION_UPDATED";
222
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 37] = "TRANSACTIONS_CREATED";
223
+ AppEventTypeEnum[AppEventTypeEnum["USER_UPDATED"] = 38] = "USER_UPDATED";
224
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 39] = "VEHICLE_CLAIM_UPDATED";
225
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 40] = "VEHICLE_CLAIM_CREATED";
226
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 41] = "VEHICLE_LOGBOOK_CREATED";
227
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 42] = "VEHICLE_LOGBOOK_UPDATED";
228
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 43] = "VEHICLE_LOGBOOK_DELETED";
229
+ })(AppEventTypeEnum || (AppEventTypeEnum = {}));
230
+
231
+ class EventDispatcherService {
232
+ constructor() {
233
+ this.eventSubject = new Subject();
234
+ }
235
+ /**
236
+ * subscription to specific event type
237
+ */
238
+ on(eventType) {
239
+ return this.eventSubject.pipe(filter((event) => [].concat(eventType).includes(event.type)), map((event) => event.payload));
240
+ }
241
+ /**
242
+ * deliver new event
243
+ */
244
+ dispatch(event) {
245
+ this.eventSubject.next(event);
246
+ }
247
+ }
248
+ EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
249
+ EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, decorators: [{
251
+ type: Injectable,
252
+ args: [{
253
+ providedIn: 'root'
254
+ }]
255
+ }] });
256
+
183
257
  class AuthService {
184
- constructor(http, jwtService, environment) {
258
+ constructor(http, jwtService, eventDispatcherService, environment) {
185
259
  this.http = http;
186
260
  this.jwtService = jwtService;
261
+ this.eventDispatcherService = eventDispatcherService;
187
262
  this.environment = environment;
263
+ this.listenEvents();
188
264
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
189
265
  }
266
+ /**
267
+ * Listen to Event Dispatcher events
268
+ */
269
+ listenEvents() {
270
+ this.listenUserGetFailed();
271
+ }
272
+ /**
273
+ * User logout if failed current user get
274
+ */
275
+ listenUserGetFailed() {
276
+ this.eventDispatcherService.on(AppEventTypeEnum.CURRENT_USER_GET_FAILED).subscribe(() => this.logoutFront());
277
+ }
190
278
  setAuth(response) {
191
279
  this.jwtService.saveTokens(response);
192
280
  this.isLoggedInSubject.next(true);
@@ -208,14 +296,14 @@ class AuthService {
208
296
  location.replace(url);
209
297
  }
210
298
  }
211
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
299
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
212
300
  AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, providedIn: 'root' });
213
301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, decorators: [{
214
302
  type: Injectable,
215
303
  args: [{
216
304
  providedIn: 'root'
217
305
  }]
218
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: JwtService }, { type: undefined, decorators: [{
306
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: JwtService }, { type: EventDispatcherService }, { type: undefined, decorators: [{
219
307
  type: Inject,
220
308
  args: ['environment']
221
309
  }] }]; } });
@@ -5521,6 +5609,9 @@ __decorate([
5521
5609
  __decorate([
5522
5610
  Type(() => User)
5523
5611
  ], Chat.prototype, "client", void 0);
5612
+ __decorate([
5613
+ Type(() => Date)
5614
+ ], Chat.prototype, "updatedAt", void 0);
5524
5615
 
5525
5616
  var ChatViewTypeEnum;
5526
5617
  (function (ChatViewTypeEnum) {
@@ -5945,53 +6036,6 @@ class AppEvent {
5945
6036
  }
5946
6037
  }
5947
6038
 
5948
- var AppEventTypeEnum;
5949
- (function (AppEventTypeEnum) {
5950
- AppEventTypeEnum[AppEventTypeEnum["CLIENT_MOVEMENT_CLOSED"] = 0] = "CLIENT_MOVEMENT_CLOSED";
5951
- AppEventTypeEnum[AppEventTypeEnum["BANK_CONNECTION_ADDED"] = 1] = "BANK_CONNECTION_ADDED";
5952
- AppEventTypeEnum[AppEventTypeEnum["BANK_ACCOUNT_CREATED"] = 2] = "BANK_ACCOUNT_CREATED";
5953
- AppEventTypeEnum[AppEventTypeEnum["BANK_ACCOUNT_UPDATED"] = 3] = "BANK_ACCOUNT_UPDATED";
5954
- AppEventTypeEnum[AppEventTypeEnum["BANK_TRANSACTION_ALLOCATED"] = 4] = "BANK_TRANSACTION_ALLOCATED";
5955
- AppEventTypeEnum[AppEventTypeEnum["BASIQ_CONSENT_UPDATED"] = 5] = "BASIQ_CONSENT_UPDATED";
5956
- AppEventTypeEnum[AppEventTypeEnum["BASIQ_CONNECTION_UPDATED"] = 6] = "BASIQ_CONNECTION_UPDATED";
5957
- AppEventTypeEnum[AppEventTypeEnum["CLIENT_INVITE_ACCEPTED"] = 7] = "CLIENT_INVITE_ACCEPTED";
5958
- AppEventTypeEnum[AppEventTypeEnum["CLIENT_OPEN_CHAT"] = 8] = "CLIENT_OPEN_CHAT";
5959
- AppEventTypeEnum[AppEventTypeEnum["CLIENT_TRANSFER_TO_OTHER_EMPLOYEE"] = 9] = "CLIENT_TRANSFER_TO_OTHER_EMPLOYEE";
5960
- AppEventTypeEnum[AppEventTypeEnum["DEPRECIATION_DELETED"] = 10] = "DEPRECIATION_DELETED";
5961
- AppEventTypeEnum[AppEventTypeEnum["DEPRECIATIONS_CREATED"] = 11] = "DEPRECIATIONS_CREATED";
5962
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_CREATED"] = 12] = "INCOME_SOURCES_CREATED";
5963
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_UPDATED"] = 13] = "INCOME_SOURCES_UPDATED";
5964
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_CREATED"] = 14] = "INCOME_SOURCES_FORECASTS_CREATED";
5965
- AppEventTypeEnum[AppEventTypeEnum["INCOME_SOURCES_FORECASTS_UPDATED"] = 15] = "INCOME_SOURCES_FORECASTS_UPDATED";
5966
- AppEventTypeEnum[AppEventTypeEnum["LOAN_UPDATED"] = 16] = "LOAN_UPDATED";
5967
- AppEventTypeEnum[AppEventTypeEnum["LOAN_PAYOUT_UPDATED"] = 17] = "LOAN_PAYOUT_UPDATED";
5968
- AppEventTypeEnum[AppEventTypeEnum["MESSAGE_CREATED"] = 18] = "MESSAGE_CREATED";
5969
- AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_CREATED"] = 19] = "MESSAGE_FILE_CREATED";
5970
- AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_DELETED"] = 20] = "MESSAGE_FILE_DELETED";
5971
- AppEventTypeEnum[AppEventTypeEnum["NOTIFICATION_ADDED"] = 21] = "NOTIFICATION_ADDED";
5972
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_UPDATED_WITH_DOCUMENT"] = 22] = "PROPERTY_UPDATED_WITH_DOCUMENT";
5973
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DOCUMENT_ADDED"] = 23] = "PROPERTY_DOCUMENT_ADDED";
5974
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_CREATED"] = 24] = "PROPERTY_MOVEMENT_CREATED";
5975
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_UPDATED"] = 25] = "PROPERTY_MOVEMENT_UPDATED";
5976
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_DELETED"] = 26] = "PROPERTY_MOVEMENT_DELETED";
5977
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SHARE_UPDATED"] = 27] = "PROPERTY_SHARE_UPDATED";
5978
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 28] = "PROPERTY_SUBSCRIPTION_ADDED";
5979
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 29] = "PROPERTY_SUBSCRIPTION_DELETED";
5980
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 30] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
5981
- AppEventTypeEnum[AppEventTypeEnum["SERVICE_SUBSCRIPTION_UPDATED"] = 31] = "SERVICE_SUBSCRIPTION_UPDATED";
5982
- AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 32] = "TAX_REVIEW_UPDATED";
5983
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 33] = "TRANSACTION_CREATED";
5984
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 34] = "TRANSACTION_DELETED";
5985
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 35] = "TRANSACTION_UPDATED";
5986
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 36] = "TRANSACTIONS_CREATED";
5987
- AppEventTypeEnum[AppEventTypeEnum["USER_UPDATED"] = 37] = "USER_UPDATED";
5988
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 38] = "VEHICLE_CLAIM_UPDATED";
5989
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 39] = "VEHICLE_CLAIM_CREATED";
5990
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 40] = "VEHICLE_LOGBOOK_CREATED";
5991
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 41] = "VEHICLE_LOGBOOK_UPDATED";
5992
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 42] = "VEHICLE_LOGBOOK_DELETED";
5993
- })(AppEventTypeEnum || (AppEventTypeEnum = {}));
5994
-
5995
6039
  var ExportFormatEnum;
5996
6040
  (function (ExportFormatEnum) {
5997
6041
  ExportFormatEnum["PDF"] = "PDF";
@@ -7113,32 +7157,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
7113
7157
  args: ['environment']
7114
7158
  }] }]; } });
7115
7159
 
7116
- class EventDispatcherService {
7117
- constructor() {
7118
- this.eventSubject = new Subject();
7119
- }
7120
- /**
7121
- * subscription to specific event type
7122
- */
7123
- on(eventType) {
7124
- return this.eventSubject.pipe(filter((event) => [].concat(eventType).includes(event.type)), map((event) => event.payload));
7125
- }
7126
- /**
7127
- * deliver new event
7128
- */
7129
- dispatch(event) {
7130
- this.eventSubject.next(event);
7131
- }
7132
- }
7133
- EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7134
- EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
7135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, decorators: [{
7136
- type: Injectable,
7137
- args: [{
7138
- providedIn: 'root'
7139
- }]
7140
- }] });
7141
-
7142
7160
  /**
7143
7161
  * popup notifications service (toast, snackbar).
7144
7162
  */
@@ -8856,6 +8874,7 @@ class ChatService extends RestService {
8856
8874
  this.url = 'chats';
8857
8875
  this.isHydra = true;
8858
8876
  this.listenChats();
8877
+ this.listenMessages();
8859
8878
  }
8860
8879
  /**
8861
8880
  * Listen chats events
@@ -8890,6 +8909,19 @@ class ChatService extends RestService {
8890
8909
  this.updateCache();
8891
8910
  });
8892
8911
  }
8912
+ /**
8913
+ * Update chat's 'updatedAt' field with the last chat's message date for chat list sorting
8914
+ */
8915
+ listenMessages() {
8916
+ this.eventDispatcherService.on(AppEventTypeEnum.MESSAGE_CREATED).subscribe((message) => {
8917
+ const cache = cloneDeep$1(this.cache);
8918
+ const updatedChat = cache.find((chat) => chat.id === message.chat.id);
8919
+ updatedChat.updatedAt = message.createdAt;
8920
+ replace(cache, updatedChat);
8921
+ this.cache = cache;
8922
+ this.updateCache();
8923
+ });
8924
+ }
8893
8925
  }
8894
8926
  ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
8895
8927
  ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, providedIn: 'root' });
@@ -11101,7 +11133,12 @@ class UserService {
11101
11133
  }
11102
11134
  get() {
11103
11135
  if (!this.cache) {
11104
- this.fetch().subscribe();
11136
+ this.fetch().subscribe(() => { }, (error) => {
11137
+ // force logout user (clear localStorage) when get current user return error
11138
+ if (error.status === 500) {
11139
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CURRENT_USER_GET_FAILED, null));
11140
+ }
11141
+ });
11105
11142
  }
11106
11143
  return this.cacheSubject.asObservable();
11107
11144
  }