@senior-gestao-empresarial/angular-components 6.11.5 → 6.12.0-67d9099d-c888-4b61-a14e-4c7c373707d6

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.
Files changed (49) hide show
  1. package/bundles/senior-gestao-empresarial-angular-components.umd.js +513 -255
  2. package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +1 -1
  5. package/components/permissions/index.d.ts +1 -0
  6. package/components/permissions/verify-module-permissions-service.d.ts +18 -0
  7. package/components/permissions/verify-module-permissions.d.ts +16 -0
  8. package/components/utils/async-lock.d.ts +6 -0
  9. package/components/websocket/index.d.ts +2 -0
  10. package/components/websocket/models/index.d.ts +1 -0
  11. package/components/websocket/models/primitive-manager.d.ts +19 -0
  12. package/components/websocket/protocols/index.d.ts +2 -0
  13. package/components/websocket/protocols/on-event-options.d.ts +8 -0
  14. package/components/websocket/protocols/primitive-event.d.ts +10 -0
  15. package/components/websocket/user-information.service.d.ts +7 -0
  16. package/components/websocket/websocket.service.d.ts +78 -74
  17. package/esm2015/components/permissions/index.js +2 -1
  18. package/esm2015/components/permissions/verify-module-permissions-service.js +26 -0
  19. package/esm2015/components/permissions/verify-module-permissions.js +51 -0
  20. package/esm2015/components/utils/async-lock.js +34 -0
  21. package/esm2015/components/websocket/index.js +2 -1
  22. package/esm2015/components/websocket/models/index.js +2 -0
  23. package/esm2015/components/websocket/models/primitive-manager.js +39 -0
  24. package/esm2015/components/websocket/protocols/index.js +1 -0
  25. package/esm2015/components/websocket/protocols/on-event-options.js +1 -0
  26. package/esm2015/components/websocket/protocols/primitive-event.js +1 -0
  27. package/esm2015/components/websocket/user-information.service.js +34 -0
  28. package/esm2015/components/websocket/websocket.service.js +259 -195
  29. package/esm2015/senior-gestao-empresarial-angular-components.js +4 -2
  30. package/esm5/components/permissions/index.js +2 -1
  31. package/esm5/components/permissions/verify-module-permissions-service.js +28 -0
  32. package/esm5/components/permissions/verify-module-permissions.js +53 -0
  33. package/esm5/components/utils/async-lock.js +43 -0
  34. package/esm5/components/websocket/index.js +2 -1
  35. package/esm5/components/websocket/models/index.js +2 -0
  36. package/esm5/components/websocket/models/primitive-manager.js +58 -0
  37. package/esm5/components/websocket/protocols/index.js +1 -0
  38. package/esm5/components/websocket/protocols/on-event-options.js +1 -0
  39. package/esm5/components/websocket/protocols/primitive-event.js +1 -0
  40. package/esm5/components/websocket/user-information.service.js +38 -0
  41. package/esm5/components/websocket/websocket.service.js +317 -256
  42. package/esm5/senior-gestao-empresarial-angular-components.js +4 -2
  43. package/fesm2015/senior-gestao-empresarial-angular-components.js +417 -193
  44. package/fesm2015/senior-gestao-empresarial-angular-components.js.map +1 -1
  45. package/fesm5/senior-gestao-empresarial-angular-components.js +509 -255
  46. package/fesm5/senior-gestao-empresarial-angular-components.js.map +1 -1
  47. package/package.json +3 -3
  48. package/senior-gestao-empresarial-angular-components.d.ts +3 -1
  49. package/senior-gestao-empresarial-angular-components.metadata.json +1 -1
@@ -1,2 +1,3 @@
1
1
  export * from "./verify-module-permission";
2
+ export * from "./verify-module-permissions";
2
3
  export * from "./protocols/modules.enum";
@@ -0,0 +1,18 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { Observable } from "rxjs";
3
+ import { ModulesEnum } from "./protocols/modules.enum";
4
+ import { RecModulo } from "./protocols/rec-modulo";
5
+ export declare class VerifyModulePermissionsService {
6
+ private http;
7
+ private static QUERY_MODULES_URL;
8
+ constructor(http: HttpClient);
9
+ consultaModulos(request: ConsultaModulosInput): Observable<ConsultaModulosOutput>;
10
+ }
11
+ export declare type ConsultaModulosInput = {
12
+ modulo: ModulesEnum[];
13
+ somenteAtivo?: boolean;
14
+ empresa?: string;
15
+ };
16
+ export declare type ConsultaModulosOutput = {
17
+ modulos: RecModulo[];
18
+ };
@@ -0,0 +1,16 @@
1
+ import { Observable } from "rxjs";
2
+ import { ModulesEnum } from "./protocols/modules.enum";
3
+ import { VerifyModulePermissionsService } from "./verify-module-permissions-service";
4
+ import { RecModulo } from "./protocols/rec-modulo";
5
+ export declare class VerifyModulePermissions {
6
+ private readonly verifyModulePermissionsService;
7
+ constructor(verifyModulePermissionsService: VerifyModulePermissionsService);
8
+ private static readonly subjectsPerModuleMap;
9
+ /**
10
+ * Method to verify if user has permission on a specific module
11
+ * @param modules Modules to verify the permission
12
+ * @param requestPermission Indicative if must be call the primitive
13
+ * @returns An boolean Observable
14
+ */
15
+ hasPermissions(modules: ModulesEnum[], requestPermission?: boolean): Observable<RecModulo[]>;
16
+ }
@@ -0,0 +1,6 @@
1
+ export declare class AsyncLock {
2
+ private readonly queue;
3
+ private acquired;
4
+ acquire(): Promise<void>;
5
+ release(): Promise<void>;
6
+ }
@@ -1 +1,3 @@
1
1
  export * from "./websocket.service";
2
+ export * from "./models/index";
3
+ export * from './protocols/index';
@@ -0,0 +1 @@
1
+ export * from './primitive-manager';
@@ -0,0 +1,19 @@
1
+ import { StompSubscription } from "@stomp/stompjs";
2
+ import { Observable } from "rxjs";
3
+ import { PrimitiveEvent } from "../protocols/primitive-event";
4
+ export declare class PrimitiveManager<T> {
5
+ domain: string;
6
+ service: string;
7
+ primitive: string;
8
+ private readonly stompSubscriptions;
9
+ private readonly event$;
10
+ private readonly subscribed$;
11
+ constructor(domain: string, service: string, primitive: string);
12
+ unsubscribe(): void;
13
+ fireEvent(event: PrimitiveEvent<T>): void;
14
+ subscribe(...subscriptions: StompSubscription[]): void;
15
+ getEventObservable(): Observable<PrimitiveEvent<T>>;
16
+ getSubscriptionObservable(): Observable<boolean>;
17
+ hasObservers(): boolean;
18
+ getObserversCount(): number;
19
+ }
@@ -0,0 +1,2 @@
1
+ export * from './on-event-options';
2
+ export * from './primitive-event';
@@ -0,0 +1,8 @@
1
+ export interface OnEventOptions {
2
+ /** Domain that will emit the primitive. */
3
+ domain: string;
4
+ /** Service that will emit the primitive. */
5
+ service: string;
6
+ /** Primitive name. */
7
+ primitive: string;
8
+ }
@@ -0,0 +1,10 @@
1
+ export interface PrimitiveEvent<T> {
2
+ /** Domain that will emit the primitive. */
3
+ domain: string;
4
+ /** Service that will emit the primitive. */
5
+ service: string;
6
+ /** Primitive name. */
7
+ primitive: string;
8
+ /** Event data. */
9
+ data: T;
10
+ }
@@ -0,0 +1,7 @@
1
+ export declare class UserInformationService {
2
+ private static readonly BASE_URL_COOKIE_KEY;
3
+ private static readonly TOKEN_COOKIE_KEY;
4
+ getAuthToken(): any;
5
+ getTenantDomain(): any;
6
+ getWebSocketUrl(): string;
7
+ }
@@ -1,96 +1,100 @@
1
1
  import { FrameImpl } from '@stomp/stompjs';
2
2
  import { Observable } from 'rxjs';
3
+ import { UserInformationService } from './user-information.service';
4
+ import { OnEventOptions, PrimitiveEvent } from './protocols';
3
5
  export declare class WebsocketService {
4
- static readonly RECONNECT_INTERVAL = 3000;
5
- static CONNECTION_TIMEOUT: number;
6
- /** @private */
7
- private static BASE_URL_COOKIE;
8
- /** @private */
9
- private static TOKEN_COOKIE;
10
- /** @private */
11
- private static TOKEN;
12
- /** @private */
13
- private static WEBSOCKET_URL;
14
- /** @private */
15
- private _stompClient;
16
- /** @private */
17
- private wasConnected;
18
- /** @private */
19
- private isConnected;
20
- /** @private */
21
- private isConnecting;
22
- /** @private */
23
- private readonly primitiveManagers;
24
- /** @private */
6
+ private readonly userInformationService;
25
7
  private readonly connected$;
26
- /** @private */
27
- private disconnect$;
28
- /** @private */
29
- private reconnect$;
30
- /** @private */
31
- private error$;
8
+ private readonly disconnected$;
9
+ private readonly reconnected$;
10
+ private readonly error$;
32
11
  private readonly subscribed$;
12
+ private readonly primitiveManagers;
13
+ private readonly connectionLock;
14
+ private stompClient;
15
+ private debugEnable;
16
+ private lostConnection;
17
+ constructor(userInformationService: UserInformationService);
18
+ /**
19
+ * Enables stompjs debug logs and additional info
20
+ */
21
+ enableDebugLogs(): void;
22
+ /**
23
+ * Manually starts the connection
24
+ */
25
+ connect(): Promise<void>;
26
+ /**
27
+ * Manually disconnect the websocket. The reconnect loop will be stopped.
28
+ */
29
+ disconnect(): Promise<void>;
30
+ /**
31
+ * Check if the websocket is connected
32
+ * @return `boolean` representing if the websocket is connected
33
+ */
34
+ isConnected(): boolean;
35
+ /**
36
+ * Check if the websocket is tring to connect
37
+ * @return `boolean` representing if the websocket status
38
+ */
39
+ isConnecting(): boolean;
33
40
  /**
34
- * Observable responsável por emitir uma notificação quando a conexão websocket é estabelecida pela primeira vez.
35
- * @return Um `Observable<void>` que emite uma notificação quando a conexão websocket é estabelecida pela primeira vez.
41
+ * Event responsable to emit an event when the connection is established.
42
+ * Do not forget to unsubscribe the observable when you don't need it anymore.
43
+ * @return `Observable<boolean>`
36
44
  */
37
- onConnect(): Observable<void>;
45
+ onConnect(): Observable<boolean>;
38
46
  /**
39
- * Observable responsável por emitir uma notificação quando a conexão é desconectada.
40
- * @return Um `Observable<void>` que emite uma notificação quando a conexão é desconectada.
47
+ * Event responsable to emit an event when the connection is closed.
48
+ * Do not forget to unsubscribe the observable when you don't need it anymore.
49
+ * @return `Observable<void>`
41
50
  */
42
51
  onDisconnect(): Observable<void>;
43
52
  /**
44
- * Observable responsável por emitir uma notificação quando a conexão é reconectada.
45
- * @return Um `Observable<void>` que emite uma notificação quando a conexão é reconectada.
53
+ * Event responsable to emit an event when the connection is reestablished.
54
+ * Do not forget to unsubscribe the observable when you don't need it anymore.
55
+ * @return `Observable<void>`
46
56
  */
47
57
  onReconnect(): Observable<void>;
48
58
  /**
49
- * Observable responsável por emitir uma notificação após o subscribe do evento pela primeira vez.
50
- * @return Um `Observable<void>` que emite uma notificação após o subscribe do evento pela primeira vez.
59
+ * Event responsable to emit an event when an error ocurred.
60
+ * Do not forget to unsubscribe the observable when you don't need it anymore.
61
+ * @return `Observable<FrameImpl>`
51
62
  */
52
- onSubscribe({ domain, service, primitive }: {
53
- domain: string;
54
- service: string;
55
- primitive: string;
56
- }): Observable<void>;
63
+ onError(): Observable<FrameImpl>;
57
64
  /**
58
- * Observable responsável por emitir uma notificação quando ocorre algum erro.
59
- * @return Um `Observable<FrameImpl>` que emite uma notificação quando ocorre algum erro.
65
+ * Event responsible to emit an event when a primitive is called.
66
+ * Do not forget to unsubscribe the observable when you don't need it anymore.
67
+ * @typeParam `<T>` Object type that will be used in the observable for the `data` property.
68
+ * @param {OnEventOptions} options Configurations for the event.
69
+ * @return `Observable<PrimitiveEvent<T>>` Observable that emits an event when the service calls the primitive.
60
70
  */
61
- onError(): Observable<FrameImpl>;
71
+ onEvent<T>(options: OnEventOptions): Observable<PrimitiveEvent<T>>;
62
72
  /**
63
- * @typeParam `<T>` Tipo do objeto que o retorno do `observable` vai devolver.
64
- * @param {Object} options Objeto de configuração do evento.
65
- * @param {string} options.domain Domínio da primitiva.
66
- * @param {string} options.service Serviço da primitiva.
67
- * @param {string} options.primitive Primitiva que será "observada".
68
- * @return Um Observable<T> que emite notificações toda vez que o respectivo evento é publicado.
73
+ * Event responsible to emit an event when a subscription is created for the primitive.
74
+ * Do not forget to unsubscribe the observable when you don't need it anymore.
75
+ * @param {OnEventOptions} options Configurations for the event.
76
+ * Observable responsável por emitir uma notificação após o subscribe do evento pela primeira vez.
77
+ * @return `Observable<boolean>` Observable that emits an event when the service calls the primitive.
69
78
  */
70
- onEvent<T>(options: {
71
- domain: string;
72
- service: string;
73
- primitive: string;
74
- }): Observable<T>;
75
- /** @private */
76
- private createStompSubscriptions;
77
- /** @private */
78
- private connect;
79
- disconnect(): void;
80
- /** @private */
81
- private getSubscriptionUrlWithToken;
82
- /** @private */
83
- private getSubscriptionUrlWithoutToken;
84
- /** @private */
85
- private createStompSubscription;
86
- /** @private */
87
- private createStompClient;
88
- /** @private */
79
+ onSubscribe(options: OnEventOptions): Observable<boolean>;
80
+ private debug;
81
+ private info;
82
+ private handleOnConnected;
83
+ private handleOnDisconnect;
84
+ private handleOnWebSocketClose;
85
+ private handleOnStompError;
86
+ private isAuthenticationError;
87
+ private handleOnWebSocketError;
88
+ private handleError;
89
+ private handleReconnection;
89
90
  private reconnectPrimitives;
90
- /** @private */
91
+ private buildSubscriptionUrlWithToken;
92
+ private getSubscriptionUrlWithoutToken;
93
+ private buildPrimitiveManagerKey;
94
+ private unsubscribePrimitiveOnFinalize;
95
+ private disconnectIfNoMoreObservables;
91
96
  private getObserversCount;
92
- /** @private */
93
- private disconnectPrimitiveOnFinalize;
94
- /** @private */
95
- private getPrimitiveManagerKey;
97
+ private createStompSubscription;
98
+ private createStompSubscriptions;
99
+ private getSubscriptionUrl;
96
100
  }
@@ -1,3 +1,4 @@
1
1
  export * from "./verify-module-permission";
2
+ export * from "./verify-module-permissions";
2
3
  export * from "./protocols/modules.enum";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3Blcm1pc3Npb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3ZlcmlmeS1tb2R1bGUtcGVybWlzc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvdG9jb2xzL21vZHVsZXMuZW51bVwiO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3Blcm1pc3Npb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdmVyaWZ5LW1vZHVsZS1wZXJtaXNzaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJpZnktbW9kdWxlLXBlcm1pc3Npb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm90b2NvbHMvbW9kdWxlcy5lbnVtXCI7XG4iXX0=
@@ -0,0 +1,26 @@
1
+ var VerifyModulePermissionsService_1;
2
+ import { __decorate } from "tslib";
3
+ import { HttpClient } from "@angular/common/http";
4
+ import { Injectable } from "@angular/core";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ let VerifyModulePermissionsService = VerifyModulePermissionsService_1 = class VerifyModulePermissionsService {
8
+ constructor(http) {
9
+ this.http = http;
10
+ }
11
+ consultaModulos(request) {
12
+ return this.http.post(VerifyModulePermissionsService_1.QUERY_MODULES_URL, request);
13
+ }
14
+ };
15
+ VerifyModulePermissionsService.QUERY_MODULES_URL = "erpx_fnd/empresa/queries/consultaModulos";
16
+ VerifyModulePermissionsService.ctorParameters = () => [
17
+ { type: HttpClient }
18
+ ];
19
+ VerifyModulePermissionsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VerifyModulePermissionsService_Factory() { return new VerifyModulePermissionsService(i0.ɵɵinject(i1.HttpClient)); }, token: VerifyModulePermissionsService, providedIn: "any" });
20
+ VerifyModulePermissionsService = VerifyModulePermissionsService_1 = __decorate([
21
+ Injectable({
22
+ providedIn: "any"
23
+ })
24
+ ], VerifyModulePermissionsService);
25
+ export { VerifyModulePermissionsService };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LW1vZHVsZS1wZXJtaXNzaW9ucy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wZXJtaXNzaW9ucy92ZXJpZnktbW9kdWxlLXBlcm1pc3Npb25zLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNDLElBQWEsOEJBQThCLHNDQUEzQyxNQUFhLDhCQUE4QjtJQUl2QyxZQUNZLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDekIsQ0FBQztJQUVHLGVBQWUsQ0FBQyxPQUE2QjtRQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQixnQ0FBOEIsQ0FBQyxpQkFBaUIsRUFDaEQsT0FBTyxDQUNWLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQTtBQVprQixnREFBaUIsR0FBRywwQ0FBMEMsQ0FBQzs7WUFHNUQsVUFBVTs7O0FBTG5CLDhCQUE4QjtJQUgxQyxVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsS0FBSztLQUNwQixDQUFDO0dBQ1csOEJBQThCLENBYzFDO1NBZFksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IE1vZHVsZXNFbnVtIH0gZnJvbSBcIi4vcHJvdG9jb2xzL21vZHVsZXMuZW51bVwiO1xuaW1wb3J0IHsgUmVjTW9kdWxvIH0gZnJvbSBcIi4vcHJvdG9jb2xzL3JlYy1tb2R1bG9cIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwiYW55XCJcbn0pXG5leHBvcnQgY2xhc3MgVmVyaWZ5TW9kdWxlUGVybWlzc2lvbnNTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgc3RhdGljIFFVRVJZX01PRFVMRVNfVVJMID0gXCJlcnB4X2ZuZC9lbXByZXNhL3F1ZXJpZXMvY29uc3VsdGFNb2R1bG9zXCI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICAgKSB7fVxuXG4gICAgcHVibGljIGNvbnN1bHRhTW9kdWxvcyhyZXF1ZXN0OiBDb25zdWx0YU1vZHVsb3NJbnB1dCk6IE9ic2VydmFibGU8Q29uc3VsdGFNb2R1bG9zT3V0cHV0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDb25zdWx0YU1vZHVsb3NPdXRwdXQ+KFxuICAgICAgICAgICAgVmVyaWZ5TW9kdWxlUGVybWlzc2lvbnNTZXJ2aWNlLlFVRVJZX01PRFVMRVNfVVJMLFxuICAgICAgICAgICAgcmVxdWVzdFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29uc3VsdGFNb2R1bG9zSW5wdXQgPSB7XG4gICAgbW9kdWxvOiBNb2R1bGVzRW51bVtdO1xuICAgIHNvbWVudGVBdGl2bz86IGJvb2xlYW47XG4gICAgZW1wcmVzYT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENvbnN1bHRhTW9kdWxvc091dHB1dCA9IHtcbiAgICBtb2R1bG9zOiBSZWNNb2R1bG9bXTtcbn07XG4iXX0=
@@ -0,0 +1,51 @@
1
+ var VerifyModulePermissions_1;
2
+ import { __decorate } from "tslib";
3
+ import { Injectable } from "@angular/core";
4
+ import { ReplaySubject } from "rxjs";
5
+ import { take } from "rxjs/operators";
6
+ import { VerifyModulePermissionsService } from "./verify-module-permissions-service";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./verify-module-permissions-service";
9
+ let VerifyModulePermissions = VerifyModulePermissions_1 = class VerifyModulePermissions {
10
+ constructor(verifyModulePermissionsService) {
11
+ this.verifyModulePermissionsService = verifyModulePermissionsService;
12
+ }
13
+ /**
14
+ * Method to verify if user has permission on a specific module
15
+ * @param modules Modules to verify the permission
16
+ * @param requestPermission Indicative if must be call the primitive
17
+ * @returns An boolean Observable
18
+ */
19
+ hasPermissions(modules, requestPermission) {
20
+ const moduleSubject = VerifyModulePermissions_1.subjectsPerModuleMap.get(modules);
21
+ if (!moduleSubject || requestPermission) {
22
+ const newModuleSubject = new ReplaySubject(1);
23
+ VerifyModulePermissions_1.subjectsPerModuleMap.set(modules, newModuleSubject);
24
+ this.verifyModulePermissionsService
25
+ .consultaModulos({ modulo: modules, somenteAtivo: true })
26
+ .pipe(take(1))
27
+ .subscribe(response => {
28
+ const hasPermissions = (response === null || response === void 0 ? void 0 : response.modulos) || [];
29
+ newModuleSubject.next(hasPermissions);
30
+ }, (err) => {
31
+ VerifyModulePermissions_1.subjectsPerModuleMap.delete(modules);
32
+ newModuleSubject.error(err);
33
+ newModuleSubject.unsubscribe();
34
+ });
35
+ return newModuleSubject.asObservable();
36
+ }
37
+ return moduleSubject.asObservable();
38
+ }
39
+ };
40
+ VerifyModulePermissions.ctorParameters = () => [
41
+ { type: VerifyModulePermissionsService }
42
+ ];
43
+ VerifyModulePermissions.subjectsPerModuleMap = new Map();
44
+ VerifyModulePermissions.ɵprov = i0.ɵɵdefineInjectable({ factory: function VerifyModulePermissions_Factory() { return new VerifyModulePermissions(i0.ɵɵinject(i1.VerifyModulePermissionsService)); }, token: VerifyModulePermissions, providedIn: "root" });
45
+ VerifyModulePermissions = VerifyModulePermissions_1 = __decorate([
46
+ Injectable({
47
+ providedIn: "root"
48
+ })
49
+ ], VerifyModulePermissions);
50
+ export { VerifyModulePermissions };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LW1vZHVsZS1wZXJtaXNzaW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcGVybWlzc2lvbnMvdmVyaWZ5LW1vZHVsZS1wZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQU1yRixJQUFhLHVCQUF1QiwrQkFBcEMsTUFBYSx1QkFBdUI7SUFDaEMsWUFDcUIsOEJBQThEO1FBQTlELG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7SUFDaEYsQ0FBQztJQUlKOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFDLE9BQXNCLEVBQUUsaUJBQTJCO1FBQ3JFLE1BQU0sYUFBYSxHQUFHLHlCQUF1QixDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRixJQUFJLENBQUMsYUFBYSxJQUFHLGlCQUFpQixFQUFFO1lBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxhQUFhLENBQWMsQ0FBQyxDQUFDLENBQUM7WUFFM0QseUJBQXVCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRTVFLElBQUksQ0FBQyw4QkFBOEI7aUJBQzlCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNiLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbEIsTUFBTSxjQUFjLEdBQUcsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsT0FBTyxLQUFJLEVBQUUsQ0FBQztnQkFDL0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFDLENBQUMsRUFDRyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNKLHlCQUF1QixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDN0QsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxDQUFDLENBQ0osQ0FBQztZQUVOLE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDMUM7UUFFRCxPQUFPLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0osQ0FBQTs7WUF0Q3dELDhCQUE4Qjs7QUFHM0QsNENBQW9CLEdBQW1ELElBQUksR0FBRyxFQUFFLENBQUM7O0FBTGhHLHVCQUF1QjtJQUhuQyxVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0dBQ1csdUJBQXVCLENBd0NuQztTQXhDWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBNb2R1bGVzRW51bSB9IGZyb20gXCIuL3Byb3RvY29scy9tb2R1bGVzLmVudW1cIjtcbmltcG9ydCB7IFZlcmlmeU1vZHVsZVBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gXCIuL3ZlcmlmeS1tb2R1bGUtcGVybWlzc2lvbnMtc2VydmljZVwiO1xuaW1wb3J0IHsgUmVjTW9kdWxvIH0gZnJvbSBcIi4vcHJvdG9jb2xzL3JlYy1tb2R1bG9cIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIFZlcmlmeU1vZHVsZVBlcm1pc3Npb25zIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB2ZXJpZnlNb2R1bGVQZXJtaXNzaW9uc1NlcnZpY2U6IFZlcmlmeU1vZHVsZVBlcm1pc3Npb25zU2VydmljZVxuICAgICkge31cblxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHN1YmplY3RzUGVyTW9kdWxlTWFwOiBNYXA8TW9kdWxlc0VudW1bXSwgUmVwbGF5U3ViamVjdDxSZWNNb2R1bG9bXT4+ID0gbmV3IE1hcCgpO1xuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRvIHZlcmlmeSBpZiB1c2VyIGhhcyBwZXJtaXNzaW9uIG9uIGEgc3BlY2lmaWMgbW9kdWxlXG4gICAgICogQHBhcmFtIG1vZHVsZXMgTW9kdWxlcyB0byB2ZXJpZnkgdGhlIHBlcm1pc3Npb25cbiAgICAgKiBAcGFyYW0gcmVxdWVzdFBlcm1pc3Npb24gSW5kaWNhdGl2ZSBpZiBtdXN0IGJlIGNhbGwgdGhlIHByaW1pdGl2ZVxuICAgICAqIEByZXR1cm5zIEFuIGJvb2xlYW4gT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyBoYXNQZXJtaXNzaW9ucyhtb2R1bGVzOiBNb2R1bGVzRW51bVtdLCByZXF1ZXN0UGVybWlzc2lvbj86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlY01vZHVsb1tdPiB7XG4gICAgICAgIGNvbnN0IG1vZHVsZVN1YmplY3QgPSBWZXJpZnlNb2R1bGVQZXJtaXNzaW9ucy5zdWJqZWN0c1Blck1vZHVsZU1hcC5nZXQobW9kdWxlcyk7XG5cbiAgICAgICAgaWYgKCFtb2R1bGVTdWJqZWN0IHx8cmVxdWVzdFBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld01vZHVsZVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxSZWNNb2R1bG9bXT4oMSk7XG5cbiAgICAgICAgICAgIFZlcmlmeU1vZHVsZVBlcm1pc3Npb25zLnN1YmplY3RzUGVyTW9kdWxlTWFwLnNldChtb2R1bGVzLCBuZXdNb2R1bGVTdWJqZWN0KTtcblxuICAgICAgICAgICAgdGhpcy52ZXJpZnlNb2R1bGVQZXJtaXNzaW9uc1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuY29uc3VsdGFNb2R1bG9zKHsgbW9kdWxvOiBtb2R1bGVzLCBzb21lbnRlQXRpdm86IHRydWUgfSlcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXNQZXJtaXNzaW9ucyA9IHJlc3BvbnNlPy5tb2R1bG9zIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBuZXdNb2R1bGVTdWJqZWN0Lm5leHQoaGFzUGVybWlzc2lvbnMpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFZlcmlmeU1vZHVsZVBlcm1pc3Npb25zLnN1YmplY3RzUGVyTW9kdWxlTWFwLmRlbGV0ZShtb2R1bGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld01vZHVsZVN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld01vZHVsZVN1YmplY3QudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdNb2R1bGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vZHVsZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { __awaiter } from "tslib";
2
+ export class AsyncLock {
3
+ constructor() {
4
+ this.queue = [];
5
+ this.acquired = false;
6
+ }
7
+ acquire() {
8
+ return __awaiter(this, void 0, void 0, function* () {
9
+ if (!this.acquired) {
10
+ this.acquired = true;
11
+ return Promise.resolve();
12
+ }
13
+ else {
14
+ return new Promise((resolve, _) => {
15
+ this.queue.push(resolve);
16
+ });
17
+ }
18
+ });
19
+ }
20
+ release() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ if (this.queue.length === 0 && this.acquired) {
23
+ this.acquired = false;
24
+ return Promise.resolve();
25
+ }
26
+ const continuation = this.queue.shift();
27
+ return new Promise((res) => {
28
+ continuation();
29
+ res();
30
+ });
31
+ });
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtbG9jay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdXRpbHMvYXN5bmMtbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDcUIsVUFBSyxHQUFnQixFQUFFLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQXlCN0IsQ0FBQztJQXZCZ0IsT0FBTzs7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM1QjtpQkFBTTtnQkFDSCxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7YUFDTjtRQUNMLENBQUM7S0FBQTtJQUVZLE9BQU87O1lBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUMzQjtZQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQWMsRUFBRSxFQUFFO2dCQUNsQyxZQUFZLEVBQUUsQ0FBQztnQkFDZixHQUFHLEVBQUUsQ0FBQztZQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFF1ZXVlSXRlbSA9ICgpID0+IHZvaWQ7XG5cbmV4cG9ydCBjbGFzcyBBc3luY0xvY2sge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVldWU6IFF1ZXVlSXRlbVtdID0gW107XG4gICAgcHJpdmF0ZSBhY3F1aXJlZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIGFzeW5jIGFjcXVpcmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5hY3F1aXJlZCkge1xuICAgICAgICAgICAgdGhpcy5hY3F1aXJlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIF8pID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKHJlc29sdmUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVsZWFzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMucXVldWUubGVuZ3RoID09PSAwICYmIHRoaXMuYWNxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWNxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29udGludWF0aW9uID0gdGhpcy5xdWV1ZS5zaGlmdCgpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlczogUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICBjb250aW51YXRpb24oKTtcbiAgICAgICAgICAgIHJlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,3 @@
1
1
  export * from "./websocket.service";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vd2Vic29ja2V0LnNlcnZpY2VcIjtcbiJdfQ==
2
+ export * from "./models/index";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi93ZWJzb2NrZXQuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tICcuL3Byb3RvY29scy9pbmRleCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './primitive-manager';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJpbWl0aXZlLW1hbmFnZXInO1xuIl19
@@ -0,0 +1,39 @@
1
+ import { BehaviorSubject, Subject } from "rxjs";
2
+ export class PrimitiveManager {
3
+ constructor(domain, service, primitive) {
4
+ this.domain = domain;
5
+ this.service = service;
6
+ this.primitive = primitive;
7
+ this.stompSubscriptions = [];
8
+ this.event$ = new Subject();
9
+ this.subscribed$ = new BehaviorSubject(false);
10
+ }
11
+ unsubscribe() {
12
+ this.event$.complete();
13
+ for (const stompSubscription of this.stompSubscriptions) {
14
+ stompSubscription.unsubscribe();
15
+ }
16
+ this.subscribed$.complete();
17
+ }
18
+ fireEvent(event) {
19
+ this.event$.next(event);
20
+ }
21
+ subscribe(...subscriptions) {
22
+ this.stompSubscriptions.push(...subscriptions);
23
+ this.subscribed$.next(true);
24
+ }
25
+ getEventObservable() {
26
+ return this.event$.asObservable();
27
+ }
28
+ getSubscriptionObservable() {
29
+ return this.subscribed$.asObservable();
30
+ }
31
+ hasObservers() {
32
+ // @IMPORTANT: Replace .observers.length === 1 with .observed in rxjs 7.0+
33
+ return this.event$.observers.length !== 1;
34
+ }
35
+ getObserversCount() {
36
+ return this.event$.observers.length;
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLW1hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC9tb2RlbHMvcHJpbWl0aXZlLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUQsTUFBTSxPQUFPLGdCQUFnQjtJQVN6QixZQUFZLE1BQWMsRUFBRSxPQUFlLEVBQUUsU0FBaUI7UUFDMUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXZCLEtBQUssTUFBTSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDckQsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBd0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFHLGFBQWtDO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCx5QkFBeUI7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZO1FBQ1IsMEVBQTBFO1FBQzFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RvbXBTdWJzY3JpcHRpb24gfSBmcm9tIFwiQHN0b21wL3N0b21wanNcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQcmltaXRpdmVFdmVudCB9IGZyb20gXCIuLi9wcm90b2NvbHMvcHJpbWl0aXZlLWV2ZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBQcmltaXRpdmVNYW5hZ2VyPFQ+IHtcbiAgICBwdWJsaWMgZG9tYWluOiBzdHJpbmc7XG4gICAgcHVibGljIHNlcnZpY2U6IHN0cmluZztcbiAgICBwdWJsaWMgcHJpbWl0aXZlOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b21wU3Vic2NyaXB0aW9uczogU3RvbXBTdWJzY3JpcHRpb25bXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50JDogU3ViamVjdDxQcmltaXRpdmVFdmVudDxUPj47XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpYmVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IoZG9tYWluOiBzdHJpbmcsIHNlcnZpY2U6IHN0cmluZywgcHJpbWl0aXZlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kb21haW4gPSBkb21haW47XG4gICAgICAgIHRoaXMuc2VydmljZSA9IHNlcnZpY2U7XG4gICAgICAgIHRoaXMucHJpbWl0aXZlID0gcHJpbWl0aXZlO1xuXG4gICAgICAgIHRoaXMuc3RvbXBTdWJzY3JpcHRpb25zID0gW107XG4gICAgICAgIHRoaXMuZXZlbnQkID0gbmV3IFN1YmplY3Q8UHJpbWl0aXZlRXZlbnQ8VD4+KCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICB9XG5cbiAgICB1bnN1YnNjcmliZSgpIHtcbiAgICAgICAgdGhpcy5ldmVudCQuY29tcGxldGUoKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHN0b21wU3Vic2NyaXB0aW9uIG9mIHRoaXMuc3RvbXBTdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICBzdG9tcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpYmVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGZpcmVFdmVudChldmVudDogUHJpbWl0aXZlRXZlbnQ8VD4pIHtcbiAgICAgICAgdGhpcy5ldmVudCQubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlKC4uLnN1YnNjcmlwdGlvbnM6IFN0b21wU3Vic2NyaXB0aW9uW10pIHtcbiAgICAgICAgdGhpcy5zdG9tcFN1YnNjcmlwdGlvbnMucHVzaCguLi5zdWJzY3JpcHRpb25zKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVkJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIGdldEV2ZW50T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFByaW1pdGl2ZUV2ZW50PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBnZXRTdWJzY3JpcHRpb25PYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpYmVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBoYXNPYnNlcnZlcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIEBJTVBPUlRBTlQ6IFJlcGxhY2UgLm9ic2VydmVycy5sZW5ndGggPT09IDEgd2l0aCAub2JzZXJ2ZWQgaW4gcnhqcyA3LjArXG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50JC5vYnNlcnZlcnMubGVuZ3RoICE9PSAxO1xuICAgIH1cblxuICAgIGdldE9ic2VydmVyc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50JC5vYnNlcnZlcnMubGVuZ3RoO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC9wcm90b2NvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb24tZXZlbnQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3ByaW1pdGl2ZS1ldmVudCc7XG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZXZlbnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvd2Vic29ja2V0L3Byb3RvY29scy9vbi1ldmVudC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9uRXZlbnRPcHRpb25zIHtcbiAgICAvKiogRG9tYWluIHRoYXQgd2lsbCBlbWl0IHRoZSBwcmltaXRpdmUuICovXG4gICAgZG9tYWluOiBzdHJpbmc7XG4gICAgLyoqIFNlcnZpY2UgdGhhdCB3aWxsIGVtaXQgdGhlIHByaW1pdGl2ZS4gKi9cbiAgICBzZXJ2aWNlOiBzdHJpbmc7XG4gICAgLyoqIFByaW1pdGl2ZSBuYW1lLiAqL1xuICAgIHByaW1pdGl2ZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy93ZWJzb2NrZXQvcHJvdG9jb2xzL3ByaW1pdGl2ZS1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQcmltaXRpdmVFdmVudDxUPiB7XG4gICAgLyoqIERvbWFpbiB0aGF0IHdpbGwgZW1pdCB0aGUgcHJpbWl0aXZlLiAqL1xuICAgIGRvbWFpbjogc3RyaW5nO1xuICAgIC8qKiBTZXJ2aWNlIHRoYXQgd2lsbCBlbWl0IHRoZSBwcmltaXRpdmUuICovXG4gICAgc2VydmljZTogc3RyaW5nO1xuICAgIC8qKiBQcmltaXRpdmUgbmFtZS4gKi9cbiAgICBwcmltaXRpdmU6IHN0cmluZztcbiAgICAvKiogRXZlbnQgZGF0YS4gKi9cbiAgICBkYXRhOiBUO1xufVxuIl19
@@ -0,0 +1,34 @@
1
+ var UserInformationService_1;
2
+ import { __decorate } from "tslib";
3
+ import { Injectable } from "@angular/core";
4
+ import { get as getCookie } from 'js-cookie';
5
+ import * as i0 from "@angular/core";
6
+ let UserInformationService = UserInformationService_1 = class UserInformationService {
7
+ getAuthToken() {
8
+ const cookieValue = getCookie(UserInformationService_1.TOKEN_COOKIE_KEY) || '{}';
9
+ const authToken = JSON.parse(cookieValue);
10
+ return authToken.access_token;
11
+ }
12
+ getTenantDomain() {
13
+ const cookieValue = getCookie(UserInformationService_1.TOKEN_COOKIE_KEY) || '{}';
14
+ const authToken = JSON.parse(cookieValue);
15
+ return authToken.username.split('@')[1];
16
+ }
17
+ getWebSocketUrl() {
18
+ let baseUrl = getCookie(UserInformationService_1.BASE_URL_COOKIE_KEY);
19
+ if (baseUrl && !baseUrl.endsWith('/')) {
20
+ baseUrl += '/';
21
+ }
22
+ return baseUrl + 'websocket';
23
+ }
24
+ };
25
+ UserInformationService.BASE_URL_COOKIE_KEY = 'com.senior.base.url';
26
+ UserInformationService.TOKEN_COOKIE_KEY = 'com.senior.token';
27
+ UserInformationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserInformationService_Factory() { return new UserInformationService(); }, token: UserInformationService, providedIn: "root" });
28
+ UserInformationService = UserInformationService_1 = __decorate([
29
+ Injectable({
30
+ providedIn: 'root'
31
+ })
32
+ ], UserInformationService);
33
+ export { UserInformationService };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbmZvcm1hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy93ZWJzb2NrZXQvdXNlci1pbmZvcm1hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLN0MsSUFBYSxzQkFBc0IsOEJBQW5DLE1BQWEsc0JBQXNCO0lBSXhCLFlBQVk7UUFDZixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsd0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLGVBQWU7UUFDbEIsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLHdCQUFzQixDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDO1FBQy9FLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsd0JBQXNCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRSxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLEdBQUcsQ0FBQztTQUNsQjtRQUNELE9BQU8sT0FBTyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0NBQ0osQ0FBQTtBQXRCMkIsMENBQW1CLEdBQUcscUJBQXFCLENBQUM7QUFDNUMsdUNBQWdCLEdBQUcsa0JBQWtCLENBQUM7O0FBRnJELHNCQUFzQjtJQUhsQyxVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0dBQ1csc0JBQXNCLENBdUJsQztTQXZCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGdldCBhcyBnZXRDb29raWUgfSBmcm9tICdqcy1jb29raWUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJJbmZvcm1hdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEJBU0VfVVJMX0NPT0tJRV9LRVkgPSAnY29tLnNlbmlvci5iYXNlLnVybCc7XG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVE9LRU5fQ09PS0lFX0tFWSA9ICdjb20uc2VuaW9yLnRva2VuJztcblxuICAgIHB1YmxpYyBnZXRBdXRoVG9rZW4oKSB7XG4gICAgICAgIGNvbnN0IGNvb2tpZVZhbHVlID0gZ2V0Q29va2llKFVzZXJJbmZvcm1hdGlvblNlcnZpY2UuVE9LRU5fQ09PS0lFX0tFWSkgfHwgJ3t9JztcbiAgICAgICAgY29uc3QgYXV0aFRva2VuID0gSlNPTi5wYXJzZShjb29raWVWYWx1ZSk7XG4gICAgICAgIHJldHVybiBhdXRoVG9rZW4uYWNjZXNzX3Rva2VuO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZW5hbnREb21haW4oKSB7XG4gICAgICAgIGNvbnN0IGNvb2tpZVZhbHVlID0gZ2V0Q29va2llKFVzZXJJbmZvcm1hdGlvblNlcnZpY2UuVE9LRU5fQ09PS0lFX0tFWSkgfHwgJ3t9JztcbiAgICAgICAgY29uc3QgYXV0aFRva2VuID0gSlNPTi5wYXJzZShjb29raWVWYWx1ZSk7XG4gICAgICAgIHJldHVybiBhdXRoVG9rZW4udXNlcm5hbWUuc3BsaXQoJ0AnKVsxXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0V2ViU29ja2V0VXJsKCkge1xuICAgICAgICBsZXQgYmFzZVVybCA9IGdldENvb2tpZShVc2VySW5mb3JtYXRpb25TZXJ2aWNlLkJBU0VfVVJMX0NPT0tJRV9LRVkpO1xuICAgICAgICBpZiAoYmFzZVVybCAmJiAhYmFzZVVybC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBiYXNlVXJsICs9ICcvJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmFzZVVybCArICd3ZWJzb2NrZXQnO1xuICAgIH1cbn1cbiJdfQ==