@experteam-mx/ngx-services 15.0.0 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/{esm2020 → esm2022}/experteam-mx-ngx-services.mjs +4 -4
- package/{esm2020 → esm2022}/lib/apis/api-catalog.models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/apis/api-companies.service.mjs +255 -255
- package/{esm2020 → esm2022}/lib/apis/api-security.service.mjs +128 -128
- package/{esm2020 → esm2022}/lib/apis/models/api-companies.interfaces.mjs +1 -1
- package/{esm2020 → esm2022}/lib/apis/models/api-companies.types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/apis/models/api-security.interfaces.mjs +1 -1
- package/{esm2020 → esm2022}/lib/apis/models/api-security.types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/apis/models/api.models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/helpers/http.mjs +65 -65
- package/{esm2020 → esm2022}/lib/interceptors/api-headers.interceptor.mjs +34 -34
- package/{esm2020 → esm2022}/lib/interceptors/api-token.interceptor.mjs +35 -35
- package/{esm2020 → esm2022}/lib/interceptors/http-caching.interceptor.mjs +38 -38
- package/{esm2020 → esm2022}/lib/ngx-services.models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/ngx-services.module.mjs +37 -37
- package/{esm2020 → esm2022}/public-api.mjs +19 -19
- package/{fesm2020 → fesm2022}/experteam-mx-ngx-services.mjs +557 -557
- package/{fesm2020 → fesm2022}/experteam-mx-ngx-services.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/apis/api-catalog.models.d.ts +71 -71
- package/lib/apis/api-companies.service.d.ts +163 -163
- package/lib/apis/api-security.service.d.ts +79 -79
- package/lib/apis/models/api-companies.interfaces.d.ts +380 -380
- package/lib/apis/models/api-companies.types.d.ts +75 -75
- package/lib/apis/models/api-security.interfaces.d.ts +55 -55
- package/lib/apis/models/api-security.types.d.ts +30 -30
- package/lib/apis/models/api.models.d.ts +23 -23
- package/lib/helpers/http.d.ts +38 -38
- package/lib/interceptors/api-headers.interceptor.d.ts +16 -16
- package/lib/interceptors/api-token.interceptor.d.ts +19 -19
- package/lib/interceptors/http-caching.interceptor.d.ts +12 -12
- package/lib/ngx-services.models.d.ts +22 -22
- package/lib/ngx-services.module.d.ts +17 -17
- package/package.json +10 -16
- package/public-api.d.ts +12 -12
- package/fesm2015/experteam-mx-ngx-services.mjs +0 -593
- package/fesm2015/experteam-mx-ngx-services.mjs.map +0 -1
|
@@ -1,128 +1,128 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import { map, tap } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
import * as i2 from "ngx-cookie-service";
|
|
7
|
-
export class ApiSecurityService {
|
|
8
|
-
constructor(environments, http, cookie) {
|
|
9
|
-
this.environments = environments;
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.cookie = cookie;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Retrieves the API security URL from the environments configuration.
|
|
15
|
-
*
|
|
16
|
-
* @return {string} The API security URL.
|
|
17
|
-
*/
|
|
18
|
-
get url() {
|
|
19
|
-
return this.environments.apiSecurityUrl;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Authenticates a user with the provided credentials and role.
|
|
23
|
-
*
|
|
24
|
-
* @param {Object} param0 - The login input object.
|
|
25
|
-
* @param {string} param0.username - The username of the user.
|
|
26
|
-
* @param {string} param0.password - The password of the user.
|
|
27
|
-
* @param {string} param0.role - The role of the user.
|
|
28
|
-
* @return {Observable<LoginOut>} An observable emitting the login output object.
|
|
29
|
-
*/
|
|
30
|
-
login({ username, password, role, }) {
|
|
31
|
-
return this.http.post(`${this.url}/auth/login`, {
|
|
32
|
-
system_name: 'CRA',
|
|
33
|
-
username,
|
|
34
|
-
password,
|
|
35
|
-
role,
|
|
36
|
-
}).pipe(map(({ data }) => data), tap(({ access_token }) => this.cookie.set('tokenCRA', access_token, { path: '/' })));
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Logs out the current user by making a POST request to the logout endpoint.
|
|
40
|
-
*
|
|
41
|
-
* This method deletes all cookies after a successful logout.
|
|
42
|
-
*
|
|
43
|
-
* @return {Observable<{}>} An observable that emits the server's response to the logout request.
|
|
44
|
-
*/
|
|
45
|
-
logout() {
|
|
46
|
-
return this.http.post(`${this.url}/auth/logout`, null)
|
|
47
|
-
.pipe(map(({ data }) => data), tap(() => this.cookie.deleteAll('/')));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Creates a new session for a specified model.
|
|
51
|
-
*
|
|
52
|
-
* @param {Object} params - The parameters for creating the session.
|
|
53
|
-
* @param {string} params.modelType - The type of the model.
|
|
54
|
-
* @param {string} params.modelId - The ID of the model.
|
|
55
|
-
* @param {string} [params.token] - Optional authorization token.
|
|
56
|
-
*
|
|
57
|
-
* @return {Observable<CreateSessionOut>} An observable containing the created session details.
|
|
58
|
-
*/
|
|
59
|
-
createSession({ modelType, modelId, token, }) {
|
|
60
|
-
let headers = new HttpHeaders({});
|
|
61
|
-
if (token)
|
|
62
|
-
headers = headers.set('Authorization', `Bearer ${token}`);
|
|
63
|
-
return this.http.post(`${this.url}/sessions`, {
|
|
64
|
-
model_type: modelType,
|
|
65
|
-
model_id: modelId,
|
|
66
|
-
}, {
|
|
67
|
-
headers
|
|
68
|
-
}).pipe(map(({ data }) => data));
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Fetches the authenticated user's information.
|
|
72
|
-
* Sends a GET request to the endpoint '/auth/me' to retrieve information
|
|
73
|
-
* about the currently authenticated user.
|
|
74
|
-
*
|
|
75
|
-
* @return {Observable<MeOut>} An observable that emits the authenticated user's data.
|
|
76
|
-
*/
|
|
77
|
-
me() {
|
|
78
|
-
return this.http.get(`${this.url}/auth/me`)
|
|
79
|
-
.pipe(map(({ data }) => data));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Fetches the authenticated user's details from the server.
|
|
83
|
-
*
|
|
84
|
-
* @param token The JWT token used for authorization.
|
|
85
|
-
* @return An Observable that emits the user's details encapsulated in a MeOut object.
|
|
86
|
-
*/
|
|
87
|
-
otherMe(token) {
|
|
88
|
-
return this.http.get(`${this.url}/auth/me`, {
|
|
89
|
-
headers: {
|
|
90
|
-
Authorization: `Bearer ${token}`
|
|
91
|
-
}
|
|
92
|
-
}).pipe(map(({ data }) => data));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Fetches a user by their unique ID.
|
|
96
|
-
*
|
|
97
|
-
* @param {number} id - The unique identifier of the user to be fetched.
|
|
98
|
-
* @return {Observable<GetUserOut>} An observable containing the user information.
|
|
99
|
-
*/
|
|
100
|
-
user(id) {
|
|
101
|
-
return this.http.get(`${this.url}/users/${id}`)
|
|
102
|
-
.pipe(map(({ data }) => data));
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Changes the language for the authenticated user.
|
|
106
|
-
*
|
|
107
|
-
* @param {Object} params - The input parameters for changing the language.
|
|
108
|
-
* @param {string} params.languageId - The ID of the new language to be set.
|
|
109
|
-
* @return {Observable<ApiSuccess<MeOut>>} An observable that emits the result of the language change request.
|
|
110
|
-
*/
|
|
111
|
-
changeLanguage({ languageId }) {
|
|
112
|
-
return this.http.put(`${this.url}/auth/me`, {
|
|
113
|
-
language_id: languageId
|
|
114
|
-
}).pipe(map(({ data }) => data));
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
120
|
-
type: Injectable,
|
|
121
|
-
args: [{
|
|
122
|
-
providedIn: 'root'
|
|
123
|
-
}]
|
|
124
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
125
|
-
type: Inject,
|
|
126
|
-
args: ['env']
|
|
127
|
-
}] }, { type: i1.HttpClient }, { type: i2.CookieService }]; } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlY3VyaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0vbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktc2VjdXJpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQVlsRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFOUQsT0FBTyxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUN5QixZQUF5QixFQUN4QyxJQUFnQixFQUNoQixNQUFxQjtRQUZOLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUM1QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUE7SUFDekMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFFLEVBQ0wsUUFBUSxFQUNSLFFBQVEsRUFDUixJQUFJLEdBQ0k7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixHQUFHLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRTtZQUNwRSxXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRO1lBQ1IsUUFBUTtZQUNSLElBQUk7U0FDTCxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUN2QixHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDcEYsQ0FBQTtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxjQUFjLEVBQUUsSUFBSSxDQUFDO2FBQ25FLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDdkIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3RDLENBQUE7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsYUFBYSxDQUFFLEVBQ2IsU0FBUyxFQUNULE9BQU8sRUFDUCxLQUFLLEdBQ1c7UUFDaEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFakMsSUFBSSxLQUFLO1lBQ1AsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUUzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxHQUFHLFdBQVcsRUFBRTtZQUN0QixVQUFVLEVBQUUsU0FBUztZQUNyQixRQUFRLEVBQUUsT0FBTztTQUNsQixFQUFFO1lBQ0QsT0FBTztTQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsRUFBRTtRQUNBLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDO2FBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBRSxLQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFO1lBQzdELE9BQU8sRUFBRTtnQkFDUCxhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7YUFDakM7U0FDRixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFFLEVBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF5QixHQUFHLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxFQUFFLENBQUM7YUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBRSxFQUNkLFVBQVUsRUFDTztRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRTtZQUM3RCxXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQzs7Z0hBdklVLGtCQUFrQixrQkFFbkIsS0FBSztvSEFGSixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VMYW5ndWFnZUluLFxyXG4gIENyZWF0ZVNlc3Npb25JbixcclxuICBDcmVhdGVTZXNzaW9uT3V0LFxyXG4gIEdldFVzZXJJbmZvSW4sXHJcbiAgR2V0VXNlck91dCxcclxuICBMb2dpbkluLFxyXG4gIExvZ2luT3V0LFxyXG4gIE1lT3V0XHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLXNlY3VyaXR5LnR5cGVzJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaVNlY3VyaXR5U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjb29raWU6IENvb2tpZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIEFQSSBzZWN1cml0eSBVUkwgZnJvbSB0aGUgZW52aXJvbm1lbnRzIGNvbmZpZ3VyYXRpb24uXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBBUEkgc2VjdXJpdHkgVVJMLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpU2VjdXJpdHlVcmxcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF1dGhlbnRpY2F0ZXMgYSB1c2VyIHdpdGggdGhlIHByb3ZpZGVkIGNyZWRlbnRpYWxzIGFuZCByb2xlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtMCAtIFRoZSBsb2dpbiBpbnB1dCBvYmplY3QuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtMC51c2VybmFtZSAtIFRoZSB1c2VybmFtZSBvZiB0aGUgdXNlci5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW0wLnBhc3N3b3JkIC0gVGhlIHBhc3N3b3JkIG9mIHRoZSB1c2VyLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbTAucm9sZSAtIFRoZSByb2xlIG9mIHRoZSB1c2VyLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG9naW5PdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBsb2dpbiBvdXRwdXQgb2JqZWN0LlxyXG4gICAqL1xyXG4gIGxvZ2luICh7XHJcbiAgICB1c2VybmFtZSxcclxuICAgIHBhc3N3b3JkLFxyXG4gICAgcm9sZSxcclxuICB9OiBMb2dpbkluKTogT2JzZXJ2YWJsZTxMb2dpbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8TG9naW5PdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9sb2dpbmAsIHtcclxuICAgICAgc3lzdGVtX25hbWU6ICdDUkEnLFxyXG4gICAgICB1c2VybmFtZSxcclxuICAgICAgcGFzc3dvcmQsXHJcbiAgICAgIHJvbGUsXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSxcclxuICAgICAgdGFwKCh7IGFjY2Vzc190b2tlbiB9KSA9PiB0aGlzLmNvb2tpZS5zZXQoJ3Rva2VuQ1JBJywgYWNjZXNzX3Rva2VuLCB7IHBhdGg6ICcvJyB9KSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvZ3Mgb3V0IHRoZSBjdXJyZW50IHVzZXIgYnkgbWFraW5nIGEgUE9TVCByZXF1ZXN0IHRvIHRoZSBsb2dvdXQgZW5kcG9pbnQuXHJcbiAgICpcclxuICAgKiBUaGlzIG1ldGhvZCBkZWxldGVzIGFsbCBjb29raWVzIGFmdGVyIGEgc3VjY2Vzc2Z1bCBsb2dvdXQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPHt9Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzZXJ2ZXIncyByZXNwb25zZSB0byB0aGUgbG9nb3V0IHJlcXVlc3QuXHJcbiAgICovXHJcbiAgbG9nb3V0ICgpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9hdXRoL2xvZ291dGAsIG51bGwpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpLFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvb2tpZS5kZWxldGVBbGwoJy8nKSlcclxuICAgICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBzZXNzaW9uIGZvciBhIHNwZWNpZmllZCBtb2RlbC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgY3JlYXRpbmcgdGhlIHNlc3Npb24uXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tb2RlbFR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tb2RlbElkIC0gVGhlIElEIG9mIHRoZSBtb2RlbC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3BhcmFtcy50b2tlbl0gLSBPcHRpb25hbCBhdXRob3JpemF0aW9uIHRva2VuLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDcmVhdGVTZXNzaW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjcmVhdGVkIHNlc3Npb24gZGV0YWlscy5cclxuICAgKi9cclxuICBjcmVhdGVTZXNzaW9uICh7XHJcbiAgICBtb2RlbFR5cGUsXHJcbiAgICBtb2RlbElkLFxyXG4gICAgdG9rZW4sXHJcbiAgfTogQ3JlYXRlU2Vzc2lvbkluKTogT2JzZXJ2YWJsZTxDcmVhdGVTZXNzaW9uT3V0PiB7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7fSlcclxuXHJcbiAgICBpZiAodG9rZW4pXHJcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlbn1gKVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPENyZWF0ZVNlc3Npb25PdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L3Nlc3Npb25zYCwge1xyXG4gICAgICAgIG1vZGVsX3R5cGU6IG1vZGVsVHlwZSxcclxuICAgICAgICBtb2RlbF9pZDogbW9kZWxJZCxcclxuICAgICAgfSwge1xyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIGluZm9ybWF0aW9uLlxyXG4gICAqIFNlbmRzIGEgR0VUIHJlcXVlc3QgdG8gdGhlIGVuZHBvaW50ICcvYXV0aC9tZScgdG8gcmV0cmlldmUgaW5mb3JtYXRpb25cclxuICAgKiBhYm91dCB0aGUgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQgdXNlci5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIGRhdGEuXHJcbiAgICovXHJcbiAgbWUgKCk6IE9ic2VydmFibGU8TWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TWVPdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9tZWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgZGV0YWlscyBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gdG9rZW4gVGhlIEpXVCB0b2tlbiB1c2VkIGZvciBhdXRob3JpemF0aW9uLlxyXG4gICAqIEByZXR1cm4gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1c2VyJ3MgZGV0YWlscyBlbmNhcHN1bGF0ZWQgaW4gYSBNZU91dCBvYmplY3QuXHJcbiAgICovXHJcbiAgb3RoZXJNZSAodG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8TWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TWVPdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9tZWAsIHtcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXHJcbiAgICAgIH1cclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgdXNlciBieSB0aGVpciB1bmlxdWUgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHVzZXIgdG8gYmUgZmV0Y2hlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldFVzZXJPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVzZXIgaW5mb3JtYXRpb24uXHJcbiAgICovXHJcbiAgdXNlciAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8R2V0VXNlck91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxHZXRVc2VyT3V0Pj4oYCR7dGhpcy51cmx9L3VzZXJzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGFuZ2VzIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyBmb3IgY2hhbmdpbmcgdGhlIGxhbmd1YWdlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMubGFuZ3VhZ2VJZCAtIFRoZSBJRCBvZiB0aGUgbmV3IGxhbmd1YWdlIHRvIGJlIHNldC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEFwaVN1Y2Nlc3M8TWVPdXQ+Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGNoYW5nZUxhbmd1YWdlICh7XHJcbiAgICBsYW5ndWFnZUlkXHJcbiAgfTogQ2hhbmdlTGFuZ3VhZ2VJbik6IE9ic2VydmFibGU8TWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8TWVPdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9tZWAsIHtcclxuICAgICAgbGFuZ3VhZ2VfaWQ6IGxhbmd1YWdlSWRcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import { map, tap } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "ngx-cookie-service";
|
|
7
|
+
export class ApiSecurityService {
|
|
8
|
+
constructor(environments, http, cookie) {
|
|
9
|
+
this.environments = environments;
|
|
10
|
+
this.http = http;
|
|
11
|
+
this.cookie = cookie;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Retrieves the API security URL from the environments configuration.
|
|
15
|
+
*
|
|
16
|
+
* @return {string} The API security URL.
|
|
17
|
+
*/
|
|
18
|
+
get url() {
|
|
19
|
+
return this.environments.apiSecurityUrl;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Authenticates a user with the provided credentials and role.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} param0 - The login input object.
|
|
25
|
+
* @param {string} param0.username - The username of the user.
|
|
26
|
+
* @param {string} param0.password - The password of the user.
|
|
27
|
+
* @param {string} param0.role - The role of the user.
|
|
28
|
+
* @return {Observable<LoginOut>} An observable emitting the login output object.
|
|
29
|
+
*/
|
|
30
|
+
login({ username, password, role, }) {
|
|
31
|
+
return this.http.post(`${this.url}/auth/login`, {
|
|
32
|
+
system_name: 'CRA',
|
|
33
|
+
username,
|
|
34
|
+
password,
|
|
35
|
+
role,
|
|
36
|
+
}).pipe(map(({ data }) => data), tap(({ access_token }) => this.cookie.set('tokenCRA', access_token, { path: '/' })));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Logs out the current user by making a POST request to the logout endpoint.
|
|
40
|
+
*
|
|
41
|
+
* This method deletes all cookies after a successful logout.
|
|
42
|
+
*
|
|
43
|
+
* @return {Observable<{}>} An observable that emits the server's response to the logout request.
|
|
44
|
+
*/
|
|
45
|
+
logout() {
|
|
46
|
+
return this.http.post(`${this.url}/auth/logout`, null)
|
|
47
|
+
.pipe(map(({ data }) => data), tap(() => this.cookie.deleteAll('/')));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Creates a new session for a specified model.
|
|
51
|
+
*
|
|
52
|
+
* @param {Object} params - The parameters for creating the session.
|
|
53
|
+
* @param {string} params.modelType - The type of the model.
|
|
54
|
+
* @param {string} params.modelId - The ID of the model.
|
|
55
|
+
* @param {string} [params.token] - Optional authorization token.
|
|
56
|
+
*
|
|
57
|
+
* @return {Observable<CreateSessionOut>} An observable containing the created session details.
|
|
58
|
+
*/
|
|
59
|
+
createSession({ modelType, modelId, token, }) {
|
|
60
|
+
let headers = new HttpHeaders({});
|
|
61
|
+
if (token)
|
|
62
|
+
headers = headers.set('Authorization', `Bearer ${token}`);
|
|
63
|
+
return this.http.post(`${this.url}/sessions`, {
|
|
64
|
+
model_type: modelType,
|
|
65
|
+
model_id: modelId,
|
|
66
|
+
}, {
|
|
67
|
+
headers
|
|
68
|
+
}).pipe(map(({ data }) => data));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Fetches the authenticated user's information.
|
|
72
|
+
* Sends a GET request to the endpoint '/auth/me' to retrieve information
|
|
73
|
+
* about the currently authenticated user.
|
|
74
|
+
*
|
|
75
|
+
* @return {Observable<MeOut>} An observable that emits the authenticated user's data.
|
|
76
|
+
*/
|
|
77
|
+
me() {
|
|
78
|
+
return this.http.get(`${this.url}/auth/me`)
|
|
79
|
+
.pipe(map(({ data }) => data));
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Fetches the authenticated user's details from the server.
|
|
83
|
+
*
|
|
84
|
+
* @param token The JWT token used for authorization.
|
|
85
|
+
* @return An Observable that emits the user's details encapsulated in a MeOut object.
|
|
86
|
+
*/
|
|
87
|
+
otherMe(token) {
|
|
88
|
+
return this.http.get(`${this.url}/auth/me`, {
|
|
89
|
+
headers: {
|
|
90
|
+
Authorization: `Bearer ${token}`
|
|
91
|
+
}
|
|
92
|
+
}).pipe(map(({ data }) => data));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Fetches a user by their unique ID.
|
|
96
|
+
*
|
|
97
|
+
* @param {number} id - The unique identifier of the user to be fetched.
|
|
98
|
+
* @return {Observable<GetUserOut>} An observable containing the user information.
|
|
99
|
+
*/
|
|
100
|
+
user(id) {
|
|
101
|
+
return this.http.get(`${this.url}/users/${id}`)
|
|
102
|
+
.pipe(map(({ data }) => data));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Changes the language for the authenticated user.
|
|
106
|
+
*
|
|
107
|
+
* @param {Object} params - The input parameters for changing the language.
|
|
108
|
+
* @param {string} params.languageId - The ID of the new language to be set.
|
|
109
|
+
* @return {Observable<ApiSuccess<MeOut>>} An observable that emits the result of the language change request.
|
|
110
|
+
*/
|
|
111
|
+
changeLanguage({ languageId }) {
|
|
112
|
+
return this.http.put(`${this.url}/auth/me`, {
|
|
113
|
+
language_id: languageId
|
|
114
|
+
}).pipe(map(({ data }) => data));
|
|
115
|
+
}
|
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiSecurityService, deps: [{ token: 'env' }, { token: i1.HttpClient }, { token: i2.CookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
117
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiSecurityService, providedIn: 'root' }); }
|
|
118
|
+
}
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiSecurityService, decorators: [{
|
|
120
|
+
type: Injectable,
|
|
121
|
+
args: [{
|
|
122
|
+
providedIn: 'root'
|
|
123
|
+
}]
|
|
124
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
125
|
+
type: Inject,
|
|
126
|
+
args: ['env']
|
|
127
|
+
}] }, { type: i1.HttpClient }, { type: i2.CookieService }]; } });
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlY3VyaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0vbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktc2VjdXJpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQVlsRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFOUQsT0FBTyxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUN5QixZQUF5QixFQUN4QyxJQUFnQixFQUNoQixNQUFxQjtRQUZOLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUM1QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUE7SUFDekMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFFLEVBQ0wsUUFBUSxFQUNSLFFBQVEsRUFDUixJQUFJLEdBQ0k7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixHQUFHLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRTtZQUNwRSxXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRO1lBQ1IsUUFBUTtZQUNSLElBQUk7U0FDTCxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUN2QixHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFB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LE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VMYW5ndWFnZUluLFxyXG4gIENyZWF0ZVNlc3Npb25JbixcclxuICBDcmVhdGVTZXNzaW9uT3V0LFxyXG4gIEdldFVzZXJJbmZvSW4sXHJcbiAgR2V0VXNlck91dCxcclxuICBMb2dpbkluLFxyXG4gIExvZ2luT3V0LFxyXG4gIE1lT3V0XHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLXNlY3VyaXR5LnR5cGVzJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaVNlY3VyaXR5U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjb29raWU6IENvb2tpZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIEFQSSBzZWN1cml0eSBVUkwgZnJvbSB0aGUgZW52aXJvbm1lbnRzIGNvbmZpZ3VyYXRpb24uXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBBUEkgc2VjdXJpdHkgVVJMLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpU2VjdXJpdHlVcmxcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF1dGhlbnRpY2F0ZXMgYSB1c2VyIHdpdGggdGhlIHByb3ZpZGVkIGNyZWRlbnRpYWxzIGFuZCByb2xlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtMCAtIFRoZSBsb2dpbiBpbnB1dCBvYmplY3QuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtMC51c2VybmFtZSAtIFRoZSB1c2VybmFtZSBvZiB0aGUgdXNlci5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW0wLnBhc3N3b3JkIC0gVGhlIHBhc3N3b3JkIG9mIHRoZSB1c2VyLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbTAucm9sZSAtIFRoZSByb2xlIG9mIHRoZSB1c2VyLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG9naW5PdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBsb2dpbiBvdXRwdXQgb2JqZWN0LlxyXG4gICAqL1xyXG4gIGxvZ2luICh7XHJcbiAgICB1c2VybmFtZSxcclxuICAgIHBhc3N3b3JkLFxyXG4gICAgcm9sZSxcclxuICB9OiBMb2dpbkluKTogT2JzZXJ2YWJsZTxMb2dpbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8TG9naW5PdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9sb2dpbmAsIHtcclxuICAgICAgc3lzdGVtX25hbWU6ICdDUkEnLFxyXG4gICAgICB1c2VybmFtZSxcclxuICAgICAgcGFzc3dvcmQsXHJcbiAgICAgIHJvbGUsXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSxcclxuICAgICAgdGFwKCh7IGFjY2Vzc190b2tlbiB9KSA9PiB0aGlzLmNvb2tpZS5zZXQoJ3Rva2VuQ1JBJywgYWNjZXNzX3Rva2VuLCB7IHBhdGg6ICcvJyB9KSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvZ3Mgb3V0IHRoZSBjdXJyZW50IHVzZXIgYnkgbWFraW5nIGEgUE9TVCByZXF1ZXN0IHRvIHRoZSBsb2dvdXQgZW5kcG9pbnQuXHJcbiAgICpcclxuICAgKiBUaGlzIG1ldGhvZCBkZWxldGVzIGFsbCBjb29raWVzIGFmdGVyIGEgc3VjY2Vzc2Z1bCBsb2dvdXQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPHt9Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzZXJ2ZXIncyByZXNwb25zZSB0byB0aGUgbG9nb3V0IHJlcXVlc3QuXHJcbiAgICovXHJcbiAgbG9nb3V0ICgpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9hdXRoL2xvZ291dGAsIG51bGwpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpLFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvb2tpZS5kZWxldGVBbGwoJy8nKSlcclxuICAgICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBzZXNzaW9uIGZvciBhIHNwZWNpZmllZCBtb2RlbC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgY3JlYXRpbmcgdGhlIHNlc3Npb24uXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tb2RlbFR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tb2RlbElkIC0gVGhlIElEIG9mIHRoZSBtb2RlbC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3BhcmFtcy50b2tlbl0gLSBPcHRpb25hbCBhdXRob3JpemF0aW9uIHRva2VuLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDcmVhdGVTZXNzaW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjcmVhdGVkIHNlc3Npb24gZGV0YWlscy5cclxuICAgKi9cclxuICBjcmVhdGVTZXNzaW9uICh7XHJcbiAgICBtb2RlbFR5cGUsXHJcbiAgICBtb2RlbElkLFxyXG4gICAgdG9rZW4sXHJcbiAgfTogQ3JlYXRlU2Vzc2lvbkluKTogT2JzZXJ2YWJsZTxDcmVhdGVTZXNzaW9uT3V0PiB7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7fSlcclxuXHJcbiAgICBpZiAodG9rZW4pXHJcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlbn1gKVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPENyZWF0ZVNlc3Npb25PdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L3Nlc3Npb25zYCwge1xyXG4gICAgICAgIG1vZGVsX3R5cGU6IG1vZGVsVHlwZSxcclxuICAgICAgICBtb2RlbF9pZDogbW9kZWxJZCxcclxuICAgICAgfSwge1xyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIGluZm9ybWF0aW9uLlxyXG4gICAqIFNlbmRzIGEgR0VUIHJlcXVlc3QgdG8gdGhlIGVuZHBvaW50ICcvYXV0aC9tZScgdG8gcmV0cmlldmUgaW5mb3JtYXRpb25cclxuICAgKiBhYm91dCB0aGUgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQgdXNlci5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIGRhdGEuXHJcbiAgICovXHJcbiAgbWUgKCk6IE9ic2VydmFibGU8TWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TWVPdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9tZWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgZGV0YWlscyBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gdG9rZW4gVGhlIEpXVCB0b2tlbiB1c2VkIGZvciBhdXRob3JpemF0aW9uLlxyXG4gICAqIEByZXR1cm4gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1c2VyJ3MgZGV0YWlscyBlbmNhcHN1bGF0ZWQgaW4gYSBNZU91dCBvYmplY3QuXHJcbiAgICovXHJcbiAgb3RoZXJNZSAodG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8TWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TWVPdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9tZWAsIHtcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXHJcbiAgICAgIH1cclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgdXNlciBieSB0aGVpciB1bmlxdWUgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHVzZXIgdG8gYmUgZmV0Y2hlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldFVzZXJPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVzZXIgaW5mb3JtYXRpb24uXHJcbiAgICovXHJcbiAgdXNlciAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8R2V0VXNlck91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxHZXRVc2VyT3V0Pj4oYCR7dGhpcy51cmx9L3VzZXJzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGFuZ2VzIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyBmb3IgY2hhbmdpbmcgdGhlIGxhbmd1YWdlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMubGFuZ3VhZ2VJZCAtIFRoZSBJRCBvZiB0aGUgbmV3IGxhbmd1YWdlIHRvIGJlIHNldC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEFwaVN1Y2Nlc3M8TWVPdXQ+Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGNoYW5nZUxhbmd1YWdlICh7XHJcbiAgICBsYW5ndWFnZUlkXHJcbiAgfTogQ2hhbmdlTGFuZ3VhZ2VJbik6IE9ic2VydmFibGU8TWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8TWVPdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9tZWAsIHtcclxuICAgICAgbGFuZ3VhZ2VfaWQ6IGxhbmd1YWdlSWRcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhbmllcy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtL25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wYW5pZXMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFyYXZlbE1vZGVsIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBDdXJyZW5jeSwgU3RhdGUgfSBmcm9tICcuLi9hcGktY2F0YWxvZy5tb2RlbHMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnQgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG51bWJlcjogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIGFjY291bnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBhbnkgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGlkOiBudW1iZXJcclxuICBjcmVhdGVkX2F0OiBzdHJpbmdcclxuICB1cGRhdGVkX2F0OiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb250YWN0X25hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfZW1haWw6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmU6IHN0cmluZ1xyXG4gIHN0YXRlOiBzdHJpbmdcclxuICBjaXR5OiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGFkZHJlc3MxOiBzdHJpbmdcclxuICBhZGRyZXNzMjogc3RyaW5nXHJcbiAgYWRkcmVzczM6IHN0cmluZ1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBhbnlDb3VudHJ5IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb21wYW55X2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBoZWFkcXVhcnRlcnNfY2l0eV9jb2RlOiBzdHJpbmdcclxuICBscF9jb2RlOiBzdHJpbmdcclxuICBjb21wYW55OiBDb21wYW55XHJcbiAgY29udGFjdF9uYW1lOiBzdHJpbmdcclxuICBjb250YWN0X2VtYWlsOiBzdHJpbmdcclxuICBjb250YWN0X3Bob25lX2NvZGU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBzdGF0ZTogc3RyaW5nXHJcbiAgY2l0eTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGNvdW50eV9uYW1lOiBzdHJpbmdcclxuICBhZGRyZXNzMTogc3RyaW5nXHJcbiAgYWRkcmVzczI6IHN0cmluZ1xyXG4gIGFkZHJlc3MzOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wYW55Q291bnRyeVRheCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgcGVyY2VudGFnZTogbnVtYmVyXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxuICBzaGlwbWVudF9zY29wZXM6IG51bWJlcltdXHJcbiAgYmFzZV9wZXJjZW50YWdlOiBudW1iZXJcclxuICB0YXhfdHlwZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeUN1cnJlbmN5UmF0ZSBleHRlbmRzIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSB7XHJcbiAgcmF0ZTogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeVJlZmVyZW5jZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbGFuZ3VhZ2VfaWQ6IG51bWJlclxyXG4gIGRlY2ltYWxfcG9pbnQ6IG51bWJlclxyXG4gIGRlY2ltYWxfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB0aG91c2FuZHNfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB1c2VfYmlsbGluZzogYm9vbGVhblxyXG4gIHVzZV9wYXltZW50czogYm9vbGVhblxyXG4gIHJlc3RyaWN0ZWRfaW1wb3J0X2NvdW50cmllczogbnVtYmVyW11cclxuICBjdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgbWF4X3F1YW50aXR5X2RvY3VtZW50X3BpZWNlOiBudW1iZXJcclxuICBtYXhfcXVhbnRpdHlfcGFja2FnZV9waWVjZTogbnVtYmVyXHJcbiAgd2VpZ2h0X3Jlc3RyaWN0aW9uX3BpZWNlOiBudW1iZXJcclxuICByZXN0cmljdGlvbl9zaGlwbWVudDogbnVtYmVyXHJcbiAgcmVzdHJpY3Rpb25fZGltZW5zaW9uOiBudW1iZXJcclxuICBtYXhfZGVjbGFyZWRfdmFsdWU6IG51bWJlclxyXG4gIHRlcnJpdG9yaWVzOiBudW1iZXJbXVxyXG4gIHNvbWVfb3BlbmluZ3M6IGJvb2xlYW5cclxuICBsb2NhbGU6IHN0cmluZ1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGxhYmVsX3ByaW50ZXJfbmFtZTogc3RyaW5nXHJcbiAgcmVjZWlwdF9wcmludGVyX25hbWU6IHN0cmluZ1xyXG4gIG90aGVyc19wcmludGVyX25hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIGlzX2xvY2FsOiBib29sZWFuXHJcbiAgY2FuX3RyYW5zYWN0OiBib29sZWFuXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG4gIGlzX2RlY2xhcmVkX2luc3VyZWQ6IGJvb2xlYW5cclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbXBsb3llZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbGFzdF9uYW1lOiBzdHJpbmdcclxuICBudW1iZXI6IHN0cmluZ1xyXG4gIGNvbXBhbnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGV4dGVybmFsOiBib29sZWFuXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxuICBwYXNzd29yZDogc3RyaW5nXHJcbiAgcm9sZXM6IHN0cmluZ1tdXHJcbiAgbG9jYXRpb25zOiBMb2NhdGlvbltdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhjaGFuZ2UgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvbXBhbnlfY291bnRyeV9jdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgdmFsaWRfc2luY2U6IHN0cmluZ1xyXG4gIHZhbGlkX3VudGlsOiBzdHJpbmcgfCBudWxsXHJcbiAgdmFsdWU6IG51bWJlclxyXG4gIHR5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbGxhdGlvbiBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgc3lzdGVtX2lkOiBudW1iZXJcclxuICBtYWNfYWRkcmVzczogc3RyaW5nXHJcbiAgaXBfYWRkcmVzczogc3RyaW5nXHJcbiAgbG9jYXRpb25faWQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb250YWN0X25hbWU6IHN0cmluZ1xyXG4gIGVtYWlsOiBzdHJpbmdcclxuICBmYWNpbGl0eV9jb2RlOiBzdHJpbmdcclxuICBsb2NhdGlvbl9jb2RlOiBzdHJpbmdcclxuICB0eXBlOiBzdHJpbmdcclxuICBzdGF0ZV9uYW1lOiBzdHJpbmdcclxuICBzdGF0ZV9pZDogbnVtYmVyXHJcbiAgc3RhdGVfY29kZTogc3RyaW5nXHJcbiAgY2l0eV9uYW1lOiBzdHJpbmdcclxuICB6aXBfY29kZTogc3RyaW5nXHJcbiAgY291bnR5X25hbWU6IHN0cmluZ1xyXG4gIGFkZHJlc3MxOiBzdHJpbmdcclxuICBhZGRyZXNzMjogc3RyaW5nXHJcbiAgYWRkcmVzczM6IHN0cmluZ1xyXG4gIHNlcnZpY2VfYXJlYV9jb2RlOiBzdHJpbmdcclxuICBpYXRhX2NvZGU6IHN0cmluZ1xyXG4gIHBob25lX2NvZGU6IHN0cmluZ1xyXG4gIHBob25lX251bWJlcjogc3RyaW5nXHJcbiAgZ210X29mZnNldDogc3RyaW5nXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxuICBjb3VudHJ5X3pvbmVfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfcmVnaW9uX2lkOiBudW1iZXJcclxuICBtYW5hZ2VtZW50X2FyZWFfaWQ6IG51bWJlclxyXG4gIGdvb2dsZV9tYXBzX2lkOiBzdHJpbmdcclxuICByb3V0ZV9udW1iZXI6IHN0cmluZ1xyXG4gIGxvY2tlcl9lbmFibGVkOiBib29sZWFuXHJcbiAgcXVldWVfbWFuYWdlcl9lbmFibGVkOiBib29sZWFuXHJcbiAgY29tbWlzc2lvbl9hY2NvdW50OiBzdHJpbmdcclxuICBzZXJ2aWNlX3BvaW50X2lkOiBzdHJpbmdcclxuICBpc19vY2N1cnM6IGJvb2xlYW5cclxuICBhY2NvdW50czogQWNjb3VudFtdXHJcbiAgY29tcGFueV9jb3VudHJ5OiBDb21wYW55Q291bnRyeVxyXG4gIHN0YXRlOiBTdGF0ZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uRW1wbG95ZWUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGxvY2F0aW9uX2lkOiBudW1iZXJcclxuICBlbXBsb3llZV9pZDogbnVtYmVyXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbiAgaXNfc3VwZXJ2aXNvcjogYm9vbGVhblxyXG4gIGVtcGxveWVlOiBFbXBsb3llZVxyXG4gIGxvY2F0aW9uOiBMb2NhdGlvblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlciB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgdmFsdWU6IGFueVxyXG4gIHN0YXR1cz86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBseUVudGl0eSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGVuYWJsZWRfZm9yX2Ryb3BvZmY6IGJvb2xlYW5cclxuICBzdXBwbHlfdHlwZTogU3VwcGx5VHlwZVxyXG4gIHN1cHBseV9wYWNraW5nOiBTdXBwbHlQYWNraW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5UGFja2luZyBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgdmFsdWU6IG51bWJlclxyXG4gIHdlaWdodDogbnVtYmVyXHJcbiAgaGVpZ2h0OiBudW1iZXJcclxuICBkZXB0aDogbnVtYmVyXHJcbiAgd2lkdGg6IG51bWJlclxyXG4gIGVtb2JpbGVfY29kZTogc3RyaW5nIHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBseVR5cGUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93IHtcclxuICBwYWdlOiBzdHJpbmdcclxuICBlbmFibGVkOiBib29sZWFuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbkVtcGxveWVlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBsb2NhdGlvbl9pZDogbnVtYmVyXHJcbiAgZW1wbG95ZWVfaWQ6IG51bWJlclxyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG4gIGlzX3N1cGVydmlzb3I6IGJvb2xlYW5cclxuICBlbXBsb3llZTogRW1wbG95ZWVcclxuICBsb2NhdGlvbjogTG9jYXRpb25cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbXBsb3llZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbGFzdF9uYW1lOiBzdHJpbmdcclxuICBudW1iZXI6IHN0cmluZ1xyXG4gIGNvbXBhbnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGV4dGVybmFsOiBib29sZWFuXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxuICBwYXNzd29yZDogc3RyaW5nXHJcbiAgcm9sZXM6IHN0cmluZ1tdXHJcbiAgbG9jYXRpb25zOiBMb2NhdGlvbltdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24gZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfbmFtZTogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIGZhY2lsaXR5X2NvZGU6IHN0cmluZ1xyXG4gIGxvY2F0aW9uX2NvZGU6IHN0cmluZ1xyXG4gIHR5cGU6IHN0cmluZ1xyXG4gIHN0YXRlX25hbWU6IHN0cmluZ1xyXG4gIHN0YXRlX2lkOiBudW1iZXJcclxuICBzdGF0ZV9jb2RlOiBzdHJpbmdcclxuICBjaXR5X25hbWU6IHN0cmluZ1xyXG4gIHppcF9jb2RlOiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgYWRkcmVzczE6IHN0cmluZ1xyXG4gIGFkZHJlc3MyOiBzdHJpbmdcclxuICBhZGRyZXNzMzogc3RyaW5nXHJcbiAgc2VydmljZV9hcmVhX2NvZGU6IHN0cmluZ1xyXG4gIGlhdGFfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBnbXRfb2Zmc2V0OiBzdHJpbmdcclxuICBjb21wYW55X2NvdW50cnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfem9uZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9yZWdpb25faWQ6IG51bWJlclxyXG4gIG1hbmFnZW1lbnRfYXJlYV9pZDogbnVtYmVyXHJcbiAgZ29vZ2xlX21hcHNfaWQ6IHN0cmluZ1xyXG4gIHJvdXRlX251bWJlcjogc3RyaW5nXHJcbiAgbG9ja2VyX2VuYWJsZWQ6IGJvb2xlYW5cclxuICBxdWV1ZV9tYW5hZ2VyX2VuYWJsZWQ6IGJvb2xlYW5cclxuICBjb21taXNzaW9uX2FjY291bnQ6IHN0cmluZ1xyXG4gIHNlcnZpY2VfcG9pbnRfaWQ6IHN0cmluZ1xyXG4gIGlzX29jY3VyczogYm9vbGVhblxyXG4gIGFjY291bnRzOiBBY2NvdW50W11cclxuICBjb21wYW55X2NvdW50cnk6IENvbXBhbnlDb3VudHJ5XHJcbiAgc3RhdGU6IFN0YXRlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFueSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgaWQ6IG51bWJlclxyXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xyXG4gIHVwZGF0ZWRfYXQ6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfbmFtZTogc3RyaW5nXHJcbiAgY29udGFjdF9lbWFpbDogc3RyaW5nXHJcbiAgY29udGFjdF9waG9uZTogc3RyaW5nXHJcbiAgc3RhdGU6IHN0cmluZ1xyXG4gIGNpdHk6IHN0cmluZ1xyXG4gIGNvdW50eV9uYW1lOiBzdHJpbmdcclxuICB6aXBfY29kZTogc3RyaW5nXHJcbiAgYWRkcmVzczE6IHN0cmluZ1xyXG4gIGFkZHJlc3MyOiBzdHJpbmdcclxuICBhZGRyZXNzMzogc3RyaW5nXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFueUNvdW50cnkgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvbXBhbnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGhlYWRxdWFydGVyc19jaXR5X2NvZGU6IHN0cmluZ1xyXG4gIGxwX2NvZGU6IHN0cmluZ1xyXG4gIGNvbXBhbnk6IENvbXBhbnlcclxuICBjb250YWN0X25hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfZW1haWw6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgY29udGFjdF9waG9uZV9udW1iZXI6IHN0cmluZ1xyXG4gIHN0YXRlOiBzdHJpbmdcclxuICBjaXR5OiBzdHJpbmdcclxuICB6aXBfY29kZTogc3RyaW5nXHJcbiAgY291bnR5X25hbWU6IHN0cmluZ1xyXG4gIGFkZHJlc3MxOiBzdHJpbmdcclxuICBhZGRyZXNzMjogc3RyaW5nXHJcbiAgYWRkcmVzczM6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbGxhdGlvbiBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgc3lzdGVtX2lkOiBudW1iZXJcclxuICBtYWNfYWRkcmVzczogc3RyaW5nXHJcbiAgaXBfYWRkcmVzczogc3RyaW5nXHJcbiAgbG9jYXRpb25faWQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBseUVudGl0eSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGVuYWJsZWRfZm9yX2Ryb3BvZmY6IGJvb2xlYW5cclxuICBzdXBwbHlfdHlwZTogU3VwcGx5VHlwZVxyXG4gIHN1cHBseV9wYWNraW5nOiBTdXBwbHlQYWNraW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5UGFja2luZyBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgdmFsdWU6IG51bWJlclxyXG4gIHdlaWdodDogbnVtYmVyXHJcbiAgaGVpZ2h0OiBudW1iZXJcclxuICBkZXB0aDogbnVtYmVyXHJcbiAgd2lkdGg6IG51bWJlclxyXG4gIGVtb2JpbGVfY29kZTogc3RyaW5nIHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVtcGxveWVlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBsYXN0X25hbWU6IHN0cmluZ1xyXG4gIG51bWJlcjogc3RyaW5nXHJcbiAgY29tcGFueV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgZXh0ZXJuYWw6IGJvb2xlYW5cclxuICBwaG9uZV9jb2RlOiBzdHJpbmdcclxuICBwaG9uZV9udW1iZXI6IHN0cmluZ1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG4gIHBhc3N3b3JkOiBzdHJpbmdcclxuICByb2xlczogc3RyaW5nW11cclxuICBsb2NhdGlvbnM6IExvY2F0aW9uW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY3kgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGN1cnJlbmN5X2lkOiBudW1iZXJcclxuICBpc19sb2NhbDogYm9vbGVhblxyXG4gIGNhbl90cmFuc2FjdDogYm9vbGVhblxyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGlzX2RlZmF1bHQ6IGJvb2xlYW5cclxuICBpc19kZWNsYXJlZF9pbnN1cmVkOiBib29sZWFuXHJcbiAgY3VycmVuY3k6IEN1cnJlbmN5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFueUNvdW50cnlUYXggZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHBlcmNlbnRhZ2U6IG51bWJlclxyXG4gIGNvbXBhbnlfY291bnRyeV9pZDogbnVtYmVyXHJcbiAgc2hpcG1lbnRfc2NvcGVzOiBudW1iZXJbXVxyXG4gIGJhc2VfcGVyY2VudGFnZTogbnVtYmVyXHJcbiAgdGF4X3R5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2hhbmdlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb21wYW55X2NvdW50cnlfY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIHZhbGlkX3NpbmNlOiBzdHJpbmdcclxuICB2YWxpZF91bnRpbDogc3RyaW5nIHwgbnVsbFxyXG4gIHZhbHVlOiBudW1iZXJcclxuICB0eXBlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXIge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHZhbHVlOiBhbnlcclxuICBzdGF0dXM/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5UmVmZXJlbmNlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBsYW5ndWFnZV9pZDogbnVtYmVyXHJcbiAgZGVjaW1hbF9wb2ludDogbnVtYmVyXHJcbiAgZGVjaW1hbF9zZXBhcmF0b3I6IHN0cmluZ1xyXG4gIHRob3VzYW5kc19zZXBhcmF0b3I6IHN0cmluZ1xyXG4gIHVzZV9iaWxsaW5nOiBib29sZWFuXHJcbiAgdXNlX3BheW1lbnRzOiBib29sZWFuXHJcbiAgcmVzdHJpY3RlZF9pbXBvcnRfY291bnRyaWVzOiBudW1iZXJbXVxyXG4gIGN1cnJlbmN5X2lkOiBudW1iZXJcclxuICBtYXhfcXVhbnRpdHlfZG9jdW1lbnRfcGllY2U6IG51bWJlclxyXG4gIG1heF9xdWFudGl0eV9wYWNrYWdlX3BpZWNlOiBudW1iZXJcclxuICB3ZWlnaHRfcmVzdHJpY3Rpb25fcGllY2U6IG51bWJlclxyXG4gIHJlc3RyaWN0aW9uX3NoaXBtZW50OiBudW1iZXJcclxuICByZXN0cmljdGlvbl9kaW1lbnNpb246IG51bWJlclxyXG4gIG1heF9kZWNsYXJlZF92YWx1ZTogbnVtYmVyXHJcbiAgdGVycml0b3JpZXM6IG51bWJlcltdXHJcbiAgc29tZV9vcGVuaW5nczogYm9vbGVhblxyXG4gIGxvY2FsZTogc3RyaW5nXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgbGFiZWxfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxuICByZWNlaXB0X3ByaW50ZXJfbmFtZTogc3RyaW5nXHJcbiAgb3RoZXJzX3ByaW50ZXJfbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3cge1xyXG4gIHBhZ2U6IHN0cmluZ1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW5cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhbmllcy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktY29tcGFuaWVzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFjY291bnQsXHJcbiAgQ29tcGFueUNvdW50cnksXHJcbiAgQ29tcGFueUNvdW50cnlUYXgsXHJcbiAgQ291bnRyeVJlZmVyZW5jZSxcclxuICBDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY3ksXHJcbiAgRW1wbG95ZWUsXHJcbiAgRXhjaGFuZ2UsXHJcbiAgSW5zdGFsbGF0aW9uLFxyXG4gIExvY2F0aW9uLFxyXG4gIExvY2F0aW9uRW1wbG95ZWUsXHJcbiAgUGFyYW1ldGVyLFxyXG4gIFN1cHBseUVudGl0eSxcclxuICBXb3JrZmxvd1xyXG59IGZyb20gJy4vYXBpLWNvbXBhbmllcy5pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0IHR5cGUgTG9jYXRpb25FbXBsb3llZXNEYXRhID0ge1xyXG4gIGxvY2F0aW9uX2VtcGxveWVlczogTG9jYXRpb25FbXBsb3llZVtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJbnN0YWxsYXRpb25zRGF0YSA9IHtcclxuICBpbnN0YWxsYXRpb25zOiBJbnN0YWxsYXRpb25bXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSW5zdGFsbGF0aW9uRGF0YSA9IHtcclxuICBpbnN0YWxsYXRpb246IEluc3RhbGxhdGlvblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBMb2NhdGlvbnNEYXRhID0ge1xyXG4gIGxvY2F0aW9uczogTG9jYXRpb25bXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTG9jYXRpb25EYXRhID0ge1xyXG4gIGxvY2F0aW9uOiBMb2NhdGlvblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdXBwbHlFbnRpdGllc0RhdGEgPSB7XHJcbiAgc3VwcGx5X2VudGl0aWVzOiBTdXBwbHlFbnRpdHlbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRW1wbG95ZWVzRGF0YSA9IHtcclxuICBlbXBsb3llZXM6IEVtcGxveWVlW11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEVtcGxveWVlRGF0YSA9IHtcclxuICBlbXBsb3llZTogRW1wbG95ZWVcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29tcGFueUNvdW50cmllc0RhdGEgPSB7XHJcbiAgY29tcGFueV9jb3VudHJpZXM6IENvbXBhbnlDb3VudHJ5W11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbXBhbnlDb3VudHJ5RGF0YSA9IHtcclxuICBjb21wYW55X2NvdW50cnk6IENvbXBhbnlDb3VudHJ5XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jaWVzRGF0YSA9IHtcclxuICBjb3VudHJ5X3JlZmVyZW5jZV9jdXJyZW5jaWVzOiBDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY3lbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29tcGFueUNvdW50cnlUYXhlc0RhdGEgPSB7XHJcbiAgY29tcGFueV9jb3VudHJ5X3RheGVzOiBDb21wYW55Q291bnRyeVRheFtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFeGNoYW5nZXNEYXRhID0ge1xyXG4gIGV4Y2hhbmdlczogRXhjaGFuZ2VbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQWNjb3VudEVudGl0aWVzRGF0YSA9IHtcclxuICBhY2NvdW50X2VudGl0aWVzOiBBY2NvdW50W11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhcmFtZXRlcnNQcm9wcyA9IHtcclxuICBwYXJhbU5hbWVzOiBzdHJpbmdbXVxyXG59XHJcbmV4cG9ydCB0eXBlIFBhcmFtZXRlcnNEYXRhID0ge1xyXG4gIHBhcmFtZXRlcnM6IFBhcmFtZXRlcltdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYXJhbWV0ZXJWYWx1ZVByb3BzID0ge1xyXG4gIHBhcmFtTmFtZTogc3RyaW5nXHJcbn1cclxuZXhwb3J0IHR5cGUgUGFyYW1ldGVyVmFsdWVEYXRhID0ge1xyXG4gIHZhbHVlOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeVJlZmVyZW5jZXNEYXRhID0ge1xyXG4gIGNvdW50cnlfcmVmZXJlbmNlczogQ291bnRyeVJlZmVyZW5jZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlSZWZlcmVuY2VEYXRhID0ge1xyXG4gIGNvdW50cnlfcmVmZXJlbmNlOiBDb3VudHJ5UmVmZXJlbmNlXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFdvcmtmbG93c0RhdGEgPSB7XHJcbiAgd29ya2Zsb3c6IFdvcmtmbG93W11cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlY3VyaXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0vbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9tb2RlbHMvYXBpLXNlY3VyaXR5LmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhcmF2ZWxNb2RlbCB9IGZyb20gJy4vYXBpLm1vZGVscydcclxuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi9hcGktY2F0YWxvZy5tb2RlbHMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb24gZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHVzZXJuYW1lOiBzdHJpbmdcclxuICBlbWFpbDogc3RyaW5nXHJcbiAgbW9kZWxfdHlwZTogc3RyaW5nXHJcbiAgbW9kZWxfaWQ6IG51bWJlclxyXG4gIGF1dGhfdHlwZTogc3RyaW5nXHJcbiAgbGFuZ3VhZ2VfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGxvY2F0aW9uX2lkOiBudW1iZXJcclxuICBpbnN0YWxsYXRpb25faWQ6IG51bWJlclxyXG4gIGNvbXBhbnlfY291bnRyeV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9yZWZlcmVuY2VfY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIG9wZW5pbmdfaWQ6IG51bWJlclxyXG4gIGxvY2FsZTogc3RyaW5nXHJcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdXHJcbiAgcm9sZXM6IFJvbGVbXVxyXG4gIHNlc3Npb246IFNlc3Npb25cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb2xlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBndWFyZF9uYW1lOiBzdHJpbmdcclxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbltdXHJcbiAgcm9sZV90eXBlX2lkOiBudW1iZXJcclxuICByb2xlX3R5cGU6IFJvbGVUeXBlXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb2xlVHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbGV2ZWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb24gZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGd1YXJkX25hbWU6IHN0cmluZ1xyXG4gIHBpdm90OiB7XHJcbiAgICByb2xlX2lkOiBudW1iZXJcclxuICAgIHBlcm1pc3Npb25faWQ6IG51bWJlclxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICB1c2VybmFtZTogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIG1vZGVsX3R5cGU6IHN0cmluZ1xyXG4gIG1vZGVsX2lkOiBudW1iZXJcclxuICBhdXRoX3R5cGU6IHN0cmluZ1xyXG4gIGxhbmd1YWdlX2lkOiBudW1iZXJcclxuICBwZXJtaXNzaW9uczogc3RyaW5nW11cclxuICByb2xlOiBSb2xlXHJcbiAgc2Vzc2lvbjogU2Vzc2lvblxyXG4gIGxhbmd1YWdlOiBMYW5ndWFnZVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlY3VyaXR5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtL25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1zZWN1cml0eS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vzc2lvbiwgVXNlciB9IGZyb20gJy4vYXBpLXNlY3VyaXR5LmludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgdHlwZSBMb2dpbkluID0ge1xyXG4gIHVzZXJuYW1lOiBzdHJpbmdcclxuICBwYXNzd29yZDogc3RyaW5nXHJcbiAgcm9sZT86IHN0cmluZ1xyXG59XHJcbmV4cG9ydCB0eXBlIExvZ2luT3V0ID0ge1xyXG4gIGFjY2Vzc190b2tlbjogc3RyaW5nXHJcbiAgdG9rZW5fdHlwZTogc3RyaW5nXHJcbiAgZXhwaXJlc19pbjogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVNlc3Npb25JbiA9IHtcclxuICBtb2RlbFR5cGU6IHN0cmluZ1xyXG4gIG1vZGVsSWQ6IG51bWJlclxyXG4gIHRva2VuPzogc3RyaW5nXHJcbn1cclxuZXhwb3J0IHR5cGUgQ3JlYXRlU2Vzc2lvbk91dCA9IHtcclxuICBzZXNzaW9uOiBTZXNzaW9uXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEdldFVzZXJPdXQgPSB7XHJcbiAgdXNlcjogVXNlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lT3V0IGV4dGVuZHMgR2V0VXNlck91dCB7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEdldFVzZXJJbmZvSW4gPSB7XHJcbiAgdG9rZW46IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDaGFuZ2VMYW5ndWFnZUluID0ge1xyXG4gIGxhbmd1YWdlSWQ6IG51bWJlclxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGkubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFwaVJlc3BvbnNlIHtcclxuICBzdGF0dXM6ICdzdWNjZXNzJyB8ICdmYWlsJyB8ICdlcnJvcidcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcGlTdWNjZXNzPFQ+IGV4dGVuZHMgQXBpUmVzcG9uc2Uge1xyXG4gIHN0YXR1czogJ3N1Y2Nlc3MnXHJcbiAgZGF0YTogVFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwaU1vZGVsIHtcclxuICBpZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGFyYXZlbE1vZGVsIGV4dGVuZHMgQXBpTW9kZWwge1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG4gIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmdcclxuICB1cGRhdGVkX2F0OiBEYXRlIHwgc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3ltZm9ueU1vZGVsIGV4dGVuZHMgQXBpTW9kZWwge1xyXG4gIGlzQWN0aXZlOiBib29sZWFuXHJcbiAgY3JlYXRlZEF0OiBEYXRlIHwgc3RyaW5nXHJcbiAgdXBkYXRlZEF0OiBEYXRlIHwgc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlQYXJhbXMge1xyXG4gIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxufVxyXG4iXX0=
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
2
|
-
/**
|
|
3
|
-
* Convert an object of key-value pairs into a URL query string.
|
|
4
|
-
*
|
|
5
|
-
* @param {Object} params - The key-value pairs to converted into a query string.
|
|
6
|
-
*
|
|
7
|
-
* @return {string} - The generated query string.
|
|
8
|
-
*/
|
|
9
|
-
export const queryString = (params) => {
|
|
10
|
-
let queryElements = [];
|
|
11
|
-
Object.entries(params).forEach(([key, value]) => {
|
|
12
|
-
if (Array.isArray(value)) {
|
|
13
|
-
const arrayQuery = value
|
|
14
|
-
.map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item)}`)
|
|
15
|
-
.join('&');
|
|
16
|
-
queryElements.push(arrayQuery);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
20
|
-
queryElements.push(encodedQuery);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
const queryString = queryElements.join('&');
|
|
24
|
-
return queryString.length ? `?${queryString}` : '';
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Creates an instance of HttpParams using the provided params object.
|
|
28
|
-
*
|
|
29
|
-
* @param {Object} params - The object containing the params to the HttpParams constructor.
|
|
30
|
-
*
|
|
31
|
-
* @returns {HttpParams} - An instance of HttpParams created from the params object.
|
|
32
|
-
*/
|
|
33
|
-
export const httpParams = (params) => new HttpParams({
|
|
34
|
-
fromObject: params
|
|
35
|
-
});
|
|
36
|
-
/**
|
|
37
|
-
* Returns the headers for generating PDF files.
|
|
38
|
-
*
|
|
39
|
-
* @param {string} format - The format of the headers, 'object' or 'http_header'.
|
|
40
|
-
*
|
|
41
|
-
* @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.
|
|
42
|
-
*/
|
|
43
|
-
export const pdfHeaders = (format = 'object') => {
|
|
44
|
-
const headers = {
|
|
45
|
-
'Accept': 'application/pdf'
|
|
46
|
-
};
|
|
47
|
-
return format === 'object'
|
|
48
|
-
? headers
|
|
49
|
-
: new HttpHeaders(headers);
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Returns the headers for generating XML files.
|
|
53
|
-
*
|
|
54
|
-
* @param {string} format - The format of the headers, 'object' or 'http_header'.
|
|
55
|
-
*
|
|
56
|
-
* @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.
|
|
57
|
-
*/
|
|
58
|
-
export const xmlHeaders = (format = 'object') => {
|
|
59
|
-
const headers = {
|
|
60
|
-
'Accept': 'application/xml',
|
|
61
|
-
};
|
|
62
|
-
return format === 'object'
|
|
63
|
-
? headers
|
|
64
|
-
: new HttpHeaders(headers);
|
|
65
|
-
};
|
|
1
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
2
|
+
/**
|
|
3
|
+
* Convert an object of key-value pairs into a URL query string.
|
|
4
|
+
*
|
|
5
|
+
* @param {Object} params - The key-value pairs to converted into a query string.
|
|
6
|
+
*
|
|
7
|
+
* @return {string} - The generated query string.
|
|
8
|
+
*/
|
|
9
|
+
export const queryString = (params) => {
|
|
10
|
+
let queryElements = [];
|
|
11
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
const arrayQuery = value
|
|
14
|
+
.map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item)}`)
|
|
15
|
+
.join('&');
|
|
16
|
+
queryElements.push(arrayQuery);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
20
|
+
queryElements.push(encodedQuery);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const queryString = queryElements.join('&');
|
|
24
|
+
return queryString.length ? `?${queryString}` : '';
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Creates an instance of HttpParams using the provided params object.
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} params - The object containing the params to the HttpParams constructor.
|
|
30
|
+
*
|
|
31
|
+
* @returns {HttpParams} - An instance of HttpParams created from the params object.
|
|
32
|
+
*/
|
|
33
|
+
export const httpParams = (params) => new HttpParams({
|
|
34
|
+
fromObject: params
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Returns the headers for generating PDF files.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} format - The format of the headers, 'object' or 'http_header'.
|
|
40
|
+
*
|
|
41
|
+
* @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.
|
|
42
|
+
*/
|
|
43
|
+
export const pdfHeaders = (format = 'object') => {
|
|
44
|
+
const headers = {
|
|
45
|
+
'Accept': 'application/pdf'
|
|
46
|
+
};
|
|
47
|
+
return format === 'object'
|
|
48
|
+
? headers
|
|
49
|
+
: new HttpHeaders(headers);
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Returns the headers for generating XML files.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} format - The format of the headers, 'object' or 'http_header'.
|
|
55
|
+
*
|
|
56
|
+
* @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.
|
|
57
|
+
*/
|
|
58
|
+
export const xmlHeaders = (format = 'object') => {
|
|
59
|
+
const headers = {
|
|
60
|
+
'Accept': 'application/xml',
|
|
61
|
+
};
|
|
62
|
+
return format === 'object'
|
|
63
|
+
? headers
|
|
64
|
+
: new HttpHeaders(headers);
|
|
65
|
+
};
|
|
66
66
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS9uZ3gtc2VydmljZXMvc3JjL2xpYi9oZWxwZXJzL2h0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUc5RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFtQixFQUFVLEVBQUU7SUFDekQsSUFBSSxhQUFhLEdBQWEsRUFBRSxDQUFBO0lBRWhDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUM5QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxVQUFVLEdBQUcsS0FBSztpQkFDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLElBQWlDLENBQUMsRUFBRSxDQUFDO2lCQUNwRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFWixhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1NBQy9CO2FBQU07WUFDTCxNQUFNLFlBQVksR0FBRyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQWtDLENBQUMsRUFBRSxDQUFBO1lBRTNHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7U0FDakM7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFM0MsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDcEQsQ0FBQyxDQUFBO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLE1BQW1CLEVBQ1AsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDO0lBQzlCLFVBQVUsRUFBRSxNQUFNO0NBQ25CLENBQUMsQ0FBQTtBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQW1DLFFBQVEsRUFBeUQsRUFBRTtJQUMvSCxNQUFNLE9BQU8sR0FBRztRQUNkLFFBQVEsRUFBRSxpQkFBaUI7S0FDNUIsQ0FBQTtJQUVELE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFDeEIsQ0FBQyxDQUFDLE9BQU87UUFDVCxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDOUIsQ0FBQyxDQUFBO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBbUMsUUFBUSxFQUF5RCxFQUFFO0lBQy9ILE1BQU0sT0FBTyxHQUFHO1FBQ2QsUUFBUSxFQUFFLGlCQUFpQjtLQUM1QixDQUFBO0lBRUQsT0FBTyxNQUFNLEtBQUssUUFBUTtRQUN4QixDQUFDLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUM5QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBRdWVyeVBhcmFtcyB9IGZyb20gJy4uL2FwaXMvbW9kZWxzL2FwaS5tb2RlbHMnXHJcblxyXG4vKipcclxuICogQ29udmVydCBhbiBvYmplY3Qgb2Yga2V5LXZhbHVlIHBhaXJzIGludG8gYSBVUkwgcXVlcnkgc3RyaW5nLlxyXG4gKlxyXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjb252ZXJ0ZWQgaW50byBhIHF1ZXJ5IHN0cmluZy5cclxuICpcclxuICogQHJldHVybiB7c3RyaW5nfSAtIFRoZSBnZW5lcmF0ZWQgcXVlcnkgc3RyaW5nLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHF1ZXJ5U3RyaW5nID0gKHBhcmFtczogUXVlcnlQYXJhbXMpOiBzdHJpbmcgPT4ge1xyXG4gIGxldCBxdWVyeUVsZW1lbnRzOiBzdHJpbmdbXSA9IFtdXHJcblxyXG4gIE9iamVjdC5lbnRyaWVzKHBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgY29uc3QgYXJyYXlRdWVyeSA9IHZhbHVlXHJcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0gYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YClcclxuICAgICAgICAuam9pbignJicpXHJcblxyXG4gICAgICBxdWVyeUVsZW1lbnRzLnB1c2goYXJyYXlRdWVyeSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVuY29kZWRRdWVyeSA9IGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKX1gXHJcblxyXG4gICAgICBxdWVyeUVsZW1lbnRzLnB1c2goZW5jb2RlZFF1ZXJ5KVxyXG4gICAgfVxyXG4gIH0pXHJcblxyXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcXVlcnlFbGVtZW50cy5qb2luKCcmJylcclxuXHJcbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nLmxlbmd0aCA/IGA/JHtxdWVyeVN0cmluZ31gIDogJydcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgSHR0cFBhcmFtcyB1c2luZyB0aGUgcHJvdmlkZWQgcGFyYW1zIG9iamVjdC5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgcGFyYW1zIHRvIHRoZSBIdHRwUGFyYW1zIGNvbnN0cnVjdG9yLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7SHR0cFBhcmFtc30gLSBBbiBpbnN0YW5jZSBvZiBIdHRwUGFyYW1zIGNyZWF0ZWQgZnJvbSB0aGUgcGFyYW1zIG9iamVjdC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBodHRwUGFyYW1zID0gKFxyXG4gIHBhcmFtczogUXVlcnlQYXJhbXNcclxuKTogSHR0cFBhcmFtcyA9PiBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgZnJvbU9iamVjdDogcGFyYW1zXHJcbn0pXHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgaGVhZGVycyBmb3IgZ2VuZXJhdGluZyBQREYgZmlsZXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXQgLSBUaGUgZm9ybWF0IG9mIHRoZSBoZWFkZXJzLCAnb2JqZWN0JyBvciAnaHR0cF9oZWFkZXInLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7SHR0cEhlYWRlcnMgfCB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH19IC0gVGhlIGhlYWRlcnMgZm9yIGdlbmVyYXRpbmcgUERGIGZpbGVzLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHBkZkhlYWRlcnMgPSAoZm9ybWF0OiAnb2JqZWN0JyB8ICdodHRwX2hlYWRlcicgPSAnb2JqZWN0Jyk6IEh0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9ID0+IHtcclxuICBjb25zdCBoZWFkZXJzID0ge1xyXG4gICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9wZGYnXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZm9ybWF0ID09PSAnb2JqZWN0J1xyXG4gICAgPyBoZWFkZXJzXHJcbiAgICA6IG5ldyBIdHRwSGVhZGVycyhoZWFkZXJzKVxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgaGVhZGVycyBmb3IgZ2VuZXJhdGluZyBYTUwgZmlsZXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXQgLSBUaGUgZm9ybWF0IG9mIHRoZSBoZWFkZXJzLCAnb2JqZWN0JyBvciAnaHR0cF9oZWFkZXInLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7SHR0cEhlYWRlcnMgfCB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH19IC0gVGhlIGhlYWRlcnMgZm9yIGdlbmVyYXRpbmcgWE1MIGZpbGVzLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHhtbEhlYWRlcnMgPSAoZm9ybWF0OiAnb2JqZWN0JyB8ICdodHRwX2hlYWRlcicgPSAnb2JqZWN0Jyk6IEh0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9ID0+IHtcclxuICBjb25zdCBoZWFkZXJzID0ge1xyXG4gICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi94bWwnLFxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZvcm1hdCA9PT0gJ29iamVjdCdcclxuICAgID8gaGVhZGVyc1xyXG4gICAgOiBuZXcgSHR0cEhlYWRlcnMoaGVhZGVycylcclxufVxyXG4iXX0=
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ApiHeadersInterceptor {
|
|
5
|
-
/**
|
|
6
|
-
* Intercepts HTTP requests and adds common headers.
|
|
7
|
-
*
|
|
8
|
-
* @param {HttpRequest<unknown>} request - The HTTP request intercepted.
|
|
9
|
-
* @param {HttpHandler} next - The next handler in the chain.
|
|
10
|
-
*
|
|
11
|
-
* @returns {Observable<HttpEvent<unknown>>} - Observable of the HTTP event after interception.
|
|
12
|
-
*/
|
|
13
|
-
intercept(request, next) {
|
|
14
|
-
let headers = new HttpHeaders({
|
|
15
|
-
'cache-control': 'max-age=0, no-cache, no-store, must-revalidate',
|
|
16
|
-
'expires': '0',
|
|
17
|
-
'pragma': 'no-cache'
|
|
18
|
-
});
|
|
19
|
-
if (!request.headers.has('Content-Type'))
|
|
20
|
-
headers = headers.set('Content-Type', 'application/json');
|
|
21
|
-
if (!request.headers.has('Accept'))
|
|
22
|
-
headers = headers.set('Accept', 'application/json');
|
|
23
|
-
if (!request.headers.has('Accept-Language'))
|
|
24
|
-
headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en');
|
|
25
|
-
request = request.clone({ headers });
|
|
26
|
-
return next.handle(request);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
-
type: Injectable
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ApiHeadersInterceptor {
|
|
5
|
+
/**
|
|
6
|
+
* Intercepts HTTP requests and adds common headers.
|
|
7
|
+
*
|
|
8
|
+
* @param {HttpRequest<unknown>} request - The HTTP request intercepted.
|
|
9
|
+
* @param {HttpHandler} next - The next handler in the chain.
|
|
10
|
+
*
|
|
11
|
+
* @returns {Observable<HttpEvent<unknown>>} - Observable of the HTTP event after interception.
|
|
12
|
+
*/
|
|
13
|
+
intercept(request, next) {
|
|
14
|
+
let headers = new HttpHeaders({
|
|
15
|
+
'cache-control': 'max-age=0, no-cache, no-store, must-revalidate',
|
|
16
|
+
'expires': '0',
|
|
17
|
+
'pragma': 'no-cache'
|
|
18
|
+
});
|
|
19
|
+
if (!request.headers.has('Content-Type'))
|
|
20
|
+
headers = headers.set('Content-Type', 'application/json');
|
|
21
|
+
if (!request.headers.has('Accept'))
|
|
22
|
+
headers = headers.set('Accept', 'application/json');
|
|
23
|
+
if (!request.headers.has('Accept-Language'))
|
|
24
|
+
headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en');
|
|
25
|
+
request = request.clone({ headers });
|
|
26
|
+
return next.handle(request);
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiHeadersInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiHeadersInterceptor }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiHeadersInterceptor, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWhlYWRlcnMuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0vbmd4LXNlcnZpY2VzL3NyYy9saWIvaW50ZXJjZXB0b3JzL2FwaS1oZWFkZXJzLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUEwQixXQUFXLEVBQWdDLE1BQU0sc0JBQXNCLENBQUE7O0FBSXhHLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FBRSxPQUE2QixFQUFFLElBQWlCO1FBQ3pELElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLGVBQWUsRUFBRSxnREFBZ0Q7WUFDakUsU0FBUyxFQUFFLEdBQUc7WUFDZCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBRTNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUE7UUFFckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDO1lBQ3pDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUE7UUFFaEYsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBRXBDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM3QixDQUFDOytHQTVCVSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSGVhZGVycywgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwaUhlYWRlcnNJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgLyoqXHJcbiAgICogSW50ZXJjZXB0cyBIVFRQIHJlcXVlc3RzIGFuZCBhZGRzIGNvbW1vbiBoZWFkZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtIdHRwUmVxdWVzdDx1bmtub3duPn0gcmVxdWVzdCAtIFRoZSBIVFRQIHJlcXVlc3QgaW50ZXJjZXB0ZWQuXHJcbiAgICogQHBhcmFtIHtIdHRwSGFuZGxlcn0gbmV4dCAtIFRoZSBuZXh0IGhhbmRsZXIgaW4gdGhlIGNoYWluLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+Pn0gLSBPYnNlcnZhYmxlIG9mIHRoZSBIVFRQIGV2ZW50IGFmdGVyIGludGVyY2VwdGlvbi5cclxuICAgKi9cclxuICBpbnRlcmNlcHQgKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdjYWNoZS1jb250cm9sJzogJ21heC1hZ2U9MCwgbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUnLFxyXG4gICAgICAnZXhwaXJlcyc6ICcwJyxcclxuICAgICAgJ3ByYWdtYSc6ICduby1jYWNoZSdcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdDb250ZW50LVR5cGUnKSlcclxuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpXHJcblxyXG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdBY2NlcHQnKSlcclxuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCAnYXBwbGljYXRpb24vanNvbicpXHJcblxyXG4gICAgaWYgKCFyZXF1ZXN0LmhlYWRlcnMuaGFzKCdBY2NlcHQtTGFuZ3VhZ2UnKSlcclxuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQtTGFuZ3VhZ2UnLCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZycpID8/ICdlbicpXHJcblxyXG4gICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzIH0pXHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|