@experteam-mx/ngx-services 18.9.20 → 20.0.0-beta
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 +80 -24
- package/fesm2022/experteam-mx-ngx-services.mjs +580 -438
- package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
- package/index.d.ts +7667 -3
- package/package.json +6 -8
- package/esm2022/experteam-mx-ngx-services.mjs +0 -5
- package/esm2022/lib/apis/api-billing-do.service.mjs +0 -41
- package/esm2022/lib/apis/api-billing-gt.service.mjs +0 -61
- package/esm2022/lib/apis/api-billing-mx.service.mjs +0 -62
- package/esm2022/lib/apis/api-billing-pa.service.mjs +0 -105
- package/esm2022/lib/apis/api-billing-sv.service.mjs +0 -83
- package/esm2022/lib/apis/api-cash-operations.service.mjs +0 -93
- package/esm2022/lib/apis/api-catalogs.service.mjs +0 -616
- package/esm2022/lib/apis/api-companies.service.mjs +0 -1031
- package/esm2022/lib/apis/api-composition.service.mjs +0 -55
- package/esm2022/lib/apis/api-customs.service.mjs +0 -157
- package/esm2022/lib/apis/api-discounts.service.mjs +0 -243
- package/esm2022/lib/apis/api-e-tools-auto-billing.service.mjs +0 -75
- package/esm2022/lib/apis/api-events.service.mjs +0 -53
- package/esm2022/lib/apis/api-external-ops.service.mjs +0 -87
- package/esm2022/lib/apis/api-inventories.service.mjs +0 -208
- package/esm2022/lib/apis/api-invoices.service.mjs +0 -453
- package/esm2022/lib/apis/api-notifications.service.mjs +0 -104
- package/esm2022/lib/apis/api-open-items.service.mjs +0 -62
- package/esm2022/lib/apis/api-quote.service.mjs +0 -87
- package/esm2022/lib/apis/api-reports.service.mjs +0 -172
- package/esm2022/lib/apis/api-security.service.mjs +0 -245
- package/esm2022/lib/apis/api-services.service.mjs +0 -103
- package/esm2022/lib/apis/api-shipments.service.mjs +0 -116
- package/esm2022/lib/apis/api-supplies.service.mjs +0 -133
- package/esm2022/lib/apis/models/api-billing-do.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-do.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-mx.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-mx.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-pa.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-pa.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-sv.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing-sv.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-billing.models.mjs +0 -2
- package/esm2022/lib/apis/models/api-cash-operations.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-cash-operations.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-catalog.enum.mjs +0 -9
- package/esm2022/lib/apis/models/api-catalog.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-catalog.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-companies.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-companies.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-composition.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-composition.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-customs.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-customs.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-discounts.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-discounts.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-events.enum.mjs +0 -7
- package/esm2022/lib/apis/models/api-events.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-events.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-external-ops.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-external-ops.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-inventories.enum.mjs +0 -22
- package/esm2022/lib/apis/models/api-inventories.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-inventories.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-invoices.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-invoices.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-notifications.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-notifications.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-open-items.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-open-items.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-quote.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-quote.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-reports.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-reports.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-security.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-security.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-services.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-services.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-shipments.enums.mjs +0 -8
- package/esm2022/lib/apis/models/api-shipments.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-shipments.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-supplies.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-supplies.types.mjs +0 -2
- package/esm2022/lib/apis/models/api.models.mjs +0 -2
- package/esm2022/lib/cypher/crypto.service.mjs +0 -93
- package/esm2022/lib/helpers/files.mjs +0 -9
- package/esm2022/lib/helpers/http.mjs +0 -66
- package/esm2022/lib/interceptors/api-headers.interceptor.mjs +0 -24
- package/esm2022/lib/interceptors/api-key.interceptor.mjs +0 -48
- package/esm2022/lib/interceptors/api-token.interceptor.mjs +0 -28
- package/esm2022/lib/interceptors/http-caching.interceptor.mjs +0 -37
- package/esm2022/lib/ngx-services.models.mjs +0 -11
- package/esm2022/lib/ngx-services.module.mjs +0 -33
- package/esm2022/lib/websockets/web-sockets.service.mjs +0 -115
- package/esm2022/public-api.mjs +0 -94
- package/lib/apis/api-billing-do.service.d.ts +0 -24
- package/lib/apis/api-billing-gt.service.d.ts +0 -38
- package/lib/apis/api-billing-mx.service.d.ts +0 -39
- package/lib/apis/api-billing-pa.service.d.ts +0 -68
- package/lib/apis/api-billing-sv.service.d.ts +0 -55
- package/lib/apis/api-cash-operations.service.d.ts +0 -62
- package/lib/apis/api-catalogs.service.d.ts +0 -451
- package/lib/apis/api-companies.service.d.ts +0 -714
- package/lib/apis/api-composition.service.d.ts +0 -35
- package/lib/apis/api-customs.service.d.ts +0 -110
- package/lib/apis/api-discounts.service.d.ts +0 -167
- package/lib/apis/api-e-tools-auto-billing.service.d.ts +0 -49
- package/lib/apis/api-events.service.d.ts +0 -33
- package/lib/apis/api-external-ops.service.d.ts +0 -54
- package/lib/apis/api-inventories.service.d.ts +0 -145
- package/lib/apis/api-invoices.service.d.ts +0 -317
- package/lib/apis/api-notifications.service.d.ts +0 -70
- package/lib/apis/api-open-items.service.d.ts +0 -41
- package/lib/apis/api-quote.service.d.ts +0 -65
- package/lib/apis/api-reports.service.d.ts +0 -120
- package/lib/apis/api-security.service.d.ts +0 -162
- package/lib/apis/api-services.service.d.ts +0 -67
- package/lib/apis/api-shipments.service.d.ts +0 -77
- package/lib/apis/api-supplies.service.d.ts +0 -93
- package/lib/apis/models/api-billing-do.interfaces.d.ts +0 -6
- package/lib/apis/models/api-billing-do.types.d.ts +0 -5
- package/lib/apis/models/api-billing-mx.interfaces.d.ts +0 -21
- package/lib/apis/models/api-billing-mx.types.d.ts +0 -13
- package/lib/apis/models/api-billing-pa.interfaces.d.ts +0 -26
- package/lib/apis/models/api-billing-pa.types.d.ts +0 -16
- package/lib/apis/models/api-billing-sv.interfaces.d.ts +0 -22
- package/lib/apis/models/api-billing-sv.types.d.ts +0 -21
- package/lib/apis/models/api-billing.models.d.ts +0 -27
- package/lib/apis/models/api-cash-operations.interfaces.d.ts +0 -40
- package/lib/apis/models/api-cash-operations.types.d.ts +0 -30
- package/lib/apis/models/api-catalog.enum.d.ts +0 -7
- package/lib/apis/models/api-catalog.interfaces.d.ts +0 -211
- package/lib/apis/models/api-catalog.types.d.ts +0 -213
- package/lib/apis/models/api-companies.interfaces.d.ts +0 -346
- package/lib/apis/models/api-companies.types.d.ts +0 -461
- package/lib/apis/models/api-composition.interfaces.d.ts +0 -272
- package/lib/apis/models/api-composition.types.d.ts +0 -9
- package/lib/apis/models/api-customs.interfaces.d.ts +0 -125
- package/lib/apis/models/api-customs.types.d.ts +0 -90
- package/lib/apis/models/api-discounts.interfaces.d.ts +0 -78
- package/lib/apis/models/api-discounts.types.d.ts +0 -89
- package/lib/apis/models/api-e-tools-auto-billing.interfaces.d.ts +0 -45
- package/lib/apis/models/api-e-tools-auto-billing.types.d.ts +0 -30
- package/lib/apis/models/api-events.enum.d.ts +0 -5
- package/lib/apis/models/api-events.interfaces.d.ts +0 -21
- package/lib/apis/models/api-events.types.d.ts +0 -14
- package/lib/apis/models/api-external-ops.interfaces.d.ts +0 -21
- package/lib/apis/models/api-external-ops.types.d.ts +0 -35
- package/lib/apis/models/api-inventories.enum.d.ts +0 -18
- package/lib/apis/models/api-inventories.interfaces.d.ts +0 -40
- package/lib/apis/models/api-inventories.types.d.ts +0 -62
- package/lib/apis/models/api-invoices.interfaces.d.ts +0 -277
- package/lib/apis/models/api-invoices.types.d.ts +0 -236
- package/lib/apis/models/api-notifications.interfaces.d.ts +0 -36
- package/lib/apis/models/api-notifications.types.d.ts +0 -34
- package/lib/apis/models/api-open-items.interfaces.d.ts +0 -32
- package/lib/apis/models/api-open-items.types.d.ts +0 -58
- package/lib/apis/models/api-quote.interfaces.d.ts +0 -13
- package/lib/apis/models/api-quote.types.d.ts +0 -17
- package/lib/apis/models/api-reports.interfaces.d.ts +0 -353
- package/lib/apis/models/api-reports.types.d.ts +0 -59
- package/lib/apis/models/api-security.interfaces.d.ts +0 -68
- package/lib/apis/models/api-security.types.d.ts +0 -72
- package/lib/apis/models/api-services.interfaces.d.ts +0 -49
- package/lib/apis/models/api-services.types.d.ts +0 -67
- package/lib/apis/models/api-shipments.enums.d.ts +0 -6
- package/lib/apis/models/api-shipments.interfaces.d.ts +0 -41
- package/lib/apis/models/api-shipments.types.d.ts +0 -121
- package/lib/apis/models/api-supplies.interfaces.d.ts +0 -40
- package/lib/apis/models/api-supplies.types.d.ts +0 -50
- package/lib/apis/models/api.models.d.ts +0 -36
- package/lib/cypher/crypto.service.d.ts +0 -15
- package/lib/helpers/files.d.ts +0 -2
- package/lib/helpers/http.d.ts +0 -38
- package/lib/interceptors/api-headers.interceptor.d.ts +0 -12
- package/lib/interceptors/api-key.interceptor.d.ts +0 -35
- package/lib/interceptors/api-token.interceptor.d.ts +0 -11
- package/lib/interceptors/http-caching.interceptor.d.ts +0 -12
- package/lib/ngx-services.models.d.ts +0 -63
- package/lib/ngx-services.module.d.ts +0 -16
- package/lib/websockets/web-sockets.service.d.ts +0 -49
- package/public-api.d.ts +0 -84
|
@@ -1,245 +0,0 @@
|
|
|
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 "ngx-cookie-service";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
export class ApiSecurityService {
|
|
8
|
-
environments;
|
|
9
|
-
cookie;
|
|
10
|
-
http;
|
|
11
|
-
constructor(environments, cookie, http) {
|
|
12
|
-
this.environments = environments;
|
|
13
|
-
this.cookie = cookie;
|
|
14
|
-
this.http = http;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Retrieves the API security URL from the environments configuration.
|
|
18
|
-
*
|
|
19
|
-
* @return {string} The API security URL.
|
|
20
|
-
*/
|
|
21
|
-
get url() {
|
|
22
|
-
return this.environments.apiSecurityUrl ?? '';
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Handles the login authentication request by sending the login data to the authentication endpoint.
|
|
26
|
-
*
|
|
27
|
-
* @param {AuthLoginIn} body The payload containing login credentials.
|
|
28
|
-
* @return {Observable<AuthLoginOut>} An observable emitting the authentication response data.
|
|
29
|
-
*/
|
|
30
|
-
postAuthLogin(body) {
|
|
31
|
-
return this.http.post(`${this.url}/auth/login`, body)
|
|
32
|
-
.pipe(map(({ data }) => data), tap(({ access_token }) => this.cookie.set(this.environments.authCookie, access_token, { path: '/' })));
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Handles the user login process by sending user credentials to the authentication endpoint.
|
|
36
|
-
*
|
|
37
|
-
* @param {AuthUserLoginIn} body - The request payload containing user login details such as username and password.
|
|
38
|
-
* @return {Observable<AuthLoginOut>} An observable that emits the authenticated user's login data upon successful login.
|
|
39
|
-
*/
|
|
40
|
-
postAuthUserLogin(body) {
|
|
41
|
-
return this.http.post(`${this.url}/auth/user-login`, body)
|
|
42
|
-
.pipe(map(({ data }) => data));
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Logs out the current user by making a POST request to the logout endpoint.
|
|
46
|
-
*
|
|
47
|
-
* This method deletes all cookies after a successful logout.
|
|
48
|
-
*
|
|
49
|
-
* @return {Observable<{}>} An observable that emits the server's response to the logout request.
|
|
50
|
-
*/
|
|
51
|
-
postAuthLogout() {
|
|
52
|
-
return this.http.post(`${this.url}/auth/logout`, null)
|
|
53
|
-
.pipe(map(({ data }) => data), tap(() => this.cookie.delete(this.environments.authCookie, '/')));
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Creates a new session for a specified model.
|
|
57
|
-
*
|
|
58
|
-
* @param {Object} params - The parameters for creating the session.
|
|
59
|
-
* @param {string} params.modelType - The type of the model.
|
|
60
|
-
* @param {string} params.modelId - The ID of the model.
|
|
61
|
-
* @param {string} [params.token] - Optional authorization token.
|
|
62
|
-
*
|
|
63
|
-
* @return {Observable<SessionOut>} An observable containing the created session details.
|
|
64
|
-
*/
|
|
65
|
-
postSession({ modelType, modelId, token, }) {
|
|
66
|
-
let headers = new HttpHeaders({});
|
|
67
|
-
if (token) {
|
|
68
|
-
headers = headers.set('Authorization', `Bearer ${token}`);
|
|
69
|
-
}
|
|
70
|
-
return this.http.post(`${this.url}/sessions`, {
|
|
71
|
-
model_type: modelType,
|
|
72
|
-
model_id: modelId,
|
|
73
|
-
}, {
|
|
74
|
-
headers
|
|
75
|
-
}).pipe(map(({ data }) => data));
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Fetches the authenticated user's information.
|
|
79
|
-
* Sends a GET request to the endpoint '/auth/me' to retrieve information
|
|
80
|
-
* about the currently authenticated user.
|
|
81
|
-
*
|
|
82
|
-
* @return {Observable<AuthMeOut>} An observable that emits the authenticated user's data.
|
|
83
|
-
*/
|
|
84
|
-
getAuthMe() {
|
|
85
|
-
return this.http.get(`${this.url}/auth/me`)
|
|
86
|
-
.pipe(map(({ data }) => data));
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Fetches the authenticated user's details from the server.
|
|
90
|
-
*
|
|
91
|
-
* @param token The JWT token used for authorization.
|
|
92
|
-
* @return An Observable that emits the user's details encapsulated in a MeOut object.
|
|
93
|
-
*/
|
|
94
|
-
getOtherMe(token) {
|
|
95
|
-
return this.http.get(`${this.url}/auth/me`, {
|
|
96
|
-
headers: {
|
|
97
|
-
Authorization: `Bearer ${token}`
|
|
98
|
-
}
|
|
99
|
-
}).pipe(map(({ data }) => data));
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Fetches a user by their unique ID.
|
|
103
|
-
*
|
|
104
|
-
* @param {number} id - The unique identifier of the user to be fetched.
|
|
105
|
-
* @return {Observable<GetUserOut>} An observable containing the user information.
|
|
106
|
-
*/
|
|
107
|
-
getUser(id) {
|
|
108
|
-
return this.http.get(`${this.url}/users/${id}`)
|
|
109
|
-
.pipe(map(({ data }) => data));
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Fetches a list of users from the server based on the specified query parameters.
|
|
113
|
-
*
|
|
114
|
-
* @param {QueryParams} params - The query parameters to filter the list of users.
|
|
115
|
-
* @return {Observable<GetUsersOut>} An observable that emits the list of users retrieved from the server.
|
|
116
|
-
*/
|
|
117
|
-
getUsers(params) {
|
|
118
|
-
return this.http.get(`${this.url}/users`, { params })
|
|
119
|
-
.pipe(map(({ data }) => data));
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Updates the information of a specified user on the server.
|
|
123
|
-
*
|
|
124
|
-
* @param {Object} params - The parameter object.
|
|
125
|
-
* @param {Object} params.user - The user object containing updated data.
|
|
126
|
-
* @param {string} params.user.id - The unique identifier of the user to be updated.
|
|
127
|
-
*
|
|
128
|
-
* @return {void} This method does not return a value.
|
|
129
|
-
*/
|
|
130
|
-
putUsers({ user }) {
|
|
131
|
-
return this.http.put(`${this.url}/users/${user.id}`, user)
|
|
132
|
-
.pipe(map(({ data }) => data));
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Changes the language for the authenticated user.
|
|
136
|
-
*
|
|
137
|
-
* @param {Object} params - The input parameters for changing the language.
|
|
138
|
-
* @param {string} params.languageId - The ID of the new language to be set.
|
|
139
|
-
* @return {Observable<ApiSuccess<AuthMeOut>>} An observable that emits the result of the language change request.
|
|
140
|
-
*/
|
|
141
|
-
putChangeLanguage({ languageId }) {
|
|
142
|
-
return this.http.put(`${this.url}/auth/me`, {
|
|
143
|
-
language_id: languageId
|
|
144
|
-
}).pipe(map(({ data }) => data));
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Retrieves a list of roles with their permissions.
|
|
148
|
-
*
|
|
149
|
-
* @param {QueryParams} params - The query parameters to filter the roles.
|
|
150
|
-
* @returns {Observable<RoleIn[]>} An observable that emits an array of role permissions.
|
|
151
|
-
*/
|
|
152
|
-
getRoles(params) {
|
|
153
|
-
return this.http.get(`${this.url}/roles`, { params })
|
|
154
|
-
.pipe(map(({ data }) => data));
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Retrieves roles by the specified ID.
|
|
158
|
-
*
|
|
159
|
-
* @param id - The ID of the role to retrieve.
|
|
160
|
-
* @returns An Observable that emits the role data.
|
|
161
|
-
*/
|
|
162
|
-
getRole(id) {
|
|
163
|
-
return this.http.get(`${this.url}/roles/${id}`)
|
|
164
|
-
.pipe(map(({ data }) => data));
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Creates a new role with the specified permissions.
|
|
168
|
-
*
|
|
169
|
-
* @param {RoleIn} body - The permissions and details for the new role.
|
|
170
|
-
* @returns {Observable<RoleOut>} An observable containing the created role's permissions.
|
|
171
|
-
*/
|
|
172
|
-
postRole(body) {
|
|
173
|
-
return this.http.post(`${this.url}/roles`, body)
|
|
174
|
-
.pipe(map(({ data }) => data));
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Updates the permissions of a specific role.
|
|
178
|
-
*
|
|
179
|
-
* @param id - The unique identifier of the role to update.
|
|
180
|
-
* @param body - The new permissions to assign to the role.
|
|
181
|
-
* @returns An Observable that emits the updated module permissions.
|
|
182
|
-
*/
|
|
183
|
-
putRole(id, body) {
|
|
184
|
-
return this.http.put(`${this.url}/roles/${id}`, body)
|
|
185
|
-
.pipe(map(({ data }) => data));
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Deletes the permissions associated with a specific role.
|
|
189
|
-
*
|
|
190
|
-
* @param {number} id - The unique identifier of the role whose permissions are to be deleted.
|
|
191
|
-
* @returns {Observable<{}>} An observable that emits the result of the delete operation.
|
|
192
|
-
*/
|
|
193
|
-
deleteRole(id) {
|
|
194
|
-
return this.http.delete(`${this.url}/roles/${id}`)
|
|
195
|
-
.pipe(map(({ data }) => data));
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Retrieves the role types from the API.
|
|
199
|
-
*
|
|
200
|
-
* @param {QueryParams} params - The query parameters to be sent with the request.
|
|
201
|
-
* @returns {Observable<RoleTypesOut>} An observable containing the role types output.
|
|
202
|
-
*/
|
|
203
|
-
getRoleTypes(params) {
|
|
204
|
-
return this.http.get(`${this.url}/role-types`, { params })
|
|
205
|
-
.pipe(map(({ data }) => data));
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Retrieves a list of modules and permissions
|
|
209
|
-
*
|
|
210
|
-
* @param queryParams - The query parameters to filter the modules.
|
|
211
|
-
* @returns Observable<ModulesOut[]> - An observable that emits an array of modules and permissions.
|
|
212
|
-
*/
|
|
213
|
-
getModules(queryParams) {
|
|
214
|
-
return this.http.get(`${this.url}/modules`, {
|
|
215
|
-
params: queryParams
|
|
216
|
-
}).pipe(map(({ data }) => data));
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Retrieves a list of modules and permissions
|
|
220
|
-
*
|
|
221
|
-
* @param params.token - Custom token for authorization.
|
|
222
|
-
* @param params.queryParams - The query parameters to filter the modules.
|
|
223
|
-
* @returns Observable<ModulesOut[]> - An observable that emits an array of modules and permissions.
|
|
224
|
-
*/
|
|
225
|
-
getModulesByToken(params) {
|
|
226
|
-
return this.http.get(`${this.url}/modules`, {
|
|
227
|
-
params: params.queryParams,
|
|
228
|
-
headers: {
|
|
229
|
-
Authorization: `Bearer ${params.token}`
|
|
230
|
-
}
|
|
231
|
-
}).pipe(map(({ data }) => data));
|
|
232
|
-
}
|
|
233
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiSecurityService, deps: [{ token: 'env' }, { token: i1.CookieService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
234
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiSecurityService, providedIn: 'root' });
|
|
235
|
-
}
|
|
236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiSecurityService, decorators: [{
|
|
237
|
-
type: Injectable,
|
|
238
|
-
args: [{
|
|
239
|
-
providedIn: 'root'
|
|
240
|
-
}]
|
|
241
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
242
|
-
type: Inject,
|
|
243
|
-
args: ['env']
|
|
244
|
-
}] }, { type: i1.CookieService }, { type: i2.HttpClient }] });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlY3VyaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktc2VjdXJpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQW9CbEQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTlELE9BQU8sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBTTNDLE1BQU0sT0FBTyxrQkFBa0I7SUFFSjtJQUNmO0lBQ0E7SUFIVixZQUN5QixZQUF5QixFQUN4QyxNQUFxQixFQUNyQixJQUFnQjtRQUZELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFBO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBRSxJQUFpQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRSxJQUFJLENBQUM7YUFDNUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUN2QixHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVB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SUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFFLFdBQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFO1lBQ2xFLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQUUsTUFHbEI7UUFDQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF5QixHQUFHLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDMUIsT0FBTyxFQUFFO2dCQUNQLGFBQWEsRUFBRSxVQUFVLE1BQU0sQ0FBQyxLQUFLLEVBQUU7YUFDeEM7U0FDRixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQzt3R0FqUVUsa0JBQWtCLGtCQUVuQixLQUFLOzRHQUZKLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzLCBRdWVyeVBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7XHJcbiAgQXV0aExvZ2luSW4sXHJcbiAgQXV0aExvZ2luT3V0LFxyXG4gIEF1dGhNZU91dCxcclxuICBBdXRoVXNlckxvZ2luSW4sXHJcbiAgQ2hhbmdlTGFuZ3VhZ2VJbixcclxuICBHZXRVc2VyT3V0LFxyXG4gIEdldFVzZXJzT3V0LFxyXG4gIE1vZHVsZXNPdXQsXHJcbiAgUHV0VXNlcnNJbixcclxuICBQdXRVc2Vyc091dCxcclxuICBSb2xlSW4sXHJcbiAgUm9sZU91dCxcclxuICBSb2xlc091dCxcclxuICBSb2xlVHlwZXNPdXQsXHJcbiAgU2Vzc2lvbkluLFxyXG4gIFNlc3Npb25PdXRcclxufSBmcm9tICcuL21vZGVscy9hcGktc2VjdXJpdHkudHlwZXMnXHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2VjdXJpdHlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGNvb2tpZTogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBBUEkgc2VjdXJpdHkgVVJMIGZyb20gdGhlIGVudmlyb25tZW50cyBjb25maWd1cmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgQVBJIHNlY3VyaXR5IFVSTC5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaVNlY3VyaXR5VXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBsb2dpbiBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IGJ5IHNlbmRpbmcgdGhlIGxvZ2luIGRhdGEgdG8gdGhlIGF1dGhlbnRpY2F0aW9uIGVuZHBvaW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtBdXRoTG9naW5Jbn0gYm9keSBUaGUgcGF5bG9hZCBjb250YWluaW5nIGxvZ2luIGNyZWRlbnRpYWxzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8QXV0aExvZ2luT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgYXV0aGVudGljYXRpb24gcmVzcG9uc2UgZGF0YS5cclxuICAgKi9cclxuICBwb3N0QXV0aExvZ2luIChib2R5OiBBdXRoTG9naW5Jbik6IE9ic2VydmFibGU8QXV0aExvZ2luT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxBdXRoTG9naW5PdXQ+PihgJHt0aGlzLnVybH0vYXV0aC9sb2dpbmAsIGJvZHkpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpLFxyXG4gICAgICAgIHRhcCgoeyBhY2Nlc3NfdG9rZW4gfSkgPT4gdGhpcy5jb29raWUuc2V0KHRoaXMuZW52aXJvbm1lbnRzLmF1dGhDb29raWUsIGFjY2Vzc190b2tlbiwgeyBwYXRoOiAnLycgfSkpXHJcbiAgICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIHVzZXIgbG9naW4gcHJvY2VzcyBieSBzZW5kaW5nIHVzZXIgY3JlZGVudGlhbHMgdG8gdGhlIGF1dGhlbnRpY2F0aW9uIGVuZHBvaW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtBdXRoVXNlckxvZ2luSW59IGJvZHkgLSBUaGUgcmVxdWVzdCBwYXlsb2FkIGNvbnRhaW5pbmcgdXNlciBsb2dpbiBkZXRhaWxzIHN1Y2ggYXMgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8QXV0aExvZ2luT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBsb2dpbiBkYXRhIHVwb24gc3VjY2Vzc2Z1bCBsb2dpbi5cclxuICAgKi9cclxuICBwb3N0QXV0aFVzZXJMb2dpbiAoYm9keTogQXV0aFVzZXJMb2dpbkluKTogT2JzZXJ2YWJsZTxBdXRoTG9naW5PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEF1dGhMb2dpbk91dD4+KGAke3RoaXMudXJsfS9hdXRoL3VzZXItbG9naW5gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvZ3Mgb3V0IHRoZSBjdXJyZW50IHVzZXIgYnkgbWFraW5nIGEgUE9TVCByZXF1ZXN0IHRvIHRoZSBsb2dvdXQgZW5kcG9pbnQuXHJcbiAgICpcclxuICAgKiBUaGlzIG1ldGhvZCBkZWxldGVzIGFsbCBjb29raWVzIGFmdGVyIGEgc3VjY2Vzc2Z1bCBsb2dvdXQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPHt9Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzZXJ2ZXIncyByZXNwb25zZSB0byB0aGUgbG9nb3V0IHJlcXVlc3QuXHJcbiAgICovXHJcbiAgcG9zdEF1dGhMb2dvdXQgKCk6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPHt9Pj4oYCR7dGhpcy51cmx9L2F1dGgvbG9nb3V0YCwgbnVsbClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSksXHJcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuY29va2llLmRlbGV0ZSh0aGlzLmVudmlyb25tZW50cy5hdXRoQ29va2llLCAnLycpKVxyXG4gICAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgbmV3IHNlc3Npb24gZm9yIGEgc3BlY2lmaWVkIG1vZGVsLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBjcmVhdGluZyB0aGUgc2Vzc2lvbi5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLm1vZGVsVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLm1vZGVsSWQgLSBUaGUgSUQgb2YgdGhlIG1vZGVsLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbcGFyYW1zLnRva2VuXSAtIE9wdGlvbmFsIGF1dGhvcml6YXRpb24gdG9rZW4uXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNlc3Npb25PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGNyZWF0ZWQgc2Vzc2lvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHBvc3RTZXNzaW9uICh7XHJcbiAgICBtb2RlbFR5cGUsXHJcbiAgICBtb2RlbElkLFxyXG4gICAgdG9rZW4sXHJcbiAgfTogU2Vzc2lvbkluKTogT2JzZXJ2YWJsZTxTZXNzaW9uT3V0PiB7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7fSlcclxuXHJcbiAgICBpZiAodG9rZW4pIHsgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3Rva2VufWApIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxTZXNzaW9uT3V0Pj4oXHJcbiAgICAgIGAke3RoaXMudXJsfS9zZXNzaW9uc2AsIHtcclxuICAgICAgICBtb2RlbF90eXBlOiBtb2RlbFR5cGUsXHJcbiAgICAgICAgbW9kZWxfaWQ6IG1vZGVsSWQsXHJcbiAgICAgIH0sIHtcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBpbmZvcm1hdGlvbi5cclxuICAgKiBTZW5kcyBhIEdFVCByZXF1ZXN0IHRvIHRoZSBlbmRwb2ludCAnL2F1dGgvbWUnIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uXHJcbiAgICogYWJvdXQgdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIHVzZXIuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEF1dGhNZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgZGF0YS5cclxuICAgKi9cclxuICBnZXRBdXRoTWUgKCk6IE9ic2VydmFibGU8QXV0aE1lT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEF1dGhNZU91dD4+KGAke3RoaXMudXJsfS9hdXRoL21lYClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBkZXRhaWxzIGZyb20gdGhlIHNlcnZlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB0b2tlbiBUaGUgSldUIHRva2VuIHVzZWQgZm9yIGF1dGhvcml6YXRpb24uXHJcbiAgICogQHJldHVybiBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVzZXIncyBkZXRhaWxzIGVuY2Fwc3VsYXRlZCBpbiBhIE1lT3V0IG9iamVjdC5cclxuICAgKi9cclxuICBnZXRPdGhlck1lICh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRoTWVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8QXV0aE1lT3V0Pj4oYCR7dGhpcy51cmx9L2F1dGgvbWVgLCB7XHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxyXG4gICAgICB9XHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhIHVzZXIgYnkgdGhlaXIgdW5pcXVlIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSB1c2VyIHRvIGJlIGZldGNoZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRVc2VyT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSB1c2VyIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIGdldFVzZXIgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEdldFVzZXJPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8R2V0VXNlck91dD4+KGAke3RoaXMudXJsfS91c2Vycy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhIGxpc3Qgb2YgdXNlcnMgZnJvbSB0aGUgc2VydmVyIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgbGlzdCBvZiB1c2Vycy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldFVzZXJzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsaXN0IG9mIHVzZXJzIHJldHJpZXZlZCBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICovXHJcbiAgZ2V0VXNlcnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEdldFVzZXJzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEdldFVzZXJzT3V0Pj4oYCR7dGhpcy51cmx9L3VzZXJzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBpbmZvcm1hdGlvbiBvZiBhIHNwZWNpZmllZCB1c2VyIG9uIHRoZSBzZXJ2ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlciBvYmplY3QuXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcy51c2VyIC0gVGhlIHVzZXIgb2JqZWN0IGNvbnRhaW5pbmcgdXBkYXRlZCBkYXRhLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMudXNlci5pZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgdXNlciB0byBiZSB1cGRhdGVkLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7dm9pZH0gVGhpcyBtZXRob2QgZG9lcyBub3QgcmV0dXJuIGEgdmFsdWUuXHJcbiAgICovXHJcbiAgcHV0VXNlcnMgKHsgdXNlciB9OiBQdXRVc2Vyc0luKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFB1dFVzZXJzT3V0Pj4oYCR7dGhpcy51cmx9L3VzZXJzLyR7dXNlci5pZH1gLCB1c2VyKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZXMgdGhlIGxhbmd1YWdlIGZvciB0aGUgYXV0aGVudGljYXRlZCB1c2VyLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBpbnB1dCBwYXJhbWV0ZXJzIGZvciBjaGFuZ2luZyB0aGUgbGFuZ3VhZ2UuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5sYW5ndWFnZUlkIC0gVGhlIElEIG9mIHRoZSBuZXcgbGFuZ3VhZ2UgdG8gYmUgc2V0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8QXBpU3VjY2VzczxBdXRoTWVPdXQ+Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGxhbmd1YWdlIGNoYW5nZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIHB1dENoYW5nZUxhbmd1YWdlICh7XHJcbiAgICBsYW5ndWFnZUlkXHJcbiAgfTogQ2hhbmdlTGFuZ3VhZ2VJbik6IE9ic2VydmFibGU8QXV0aE1lT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEF1dGhNZU91dD4+KGAke3RoaXMudXJsfS9hdXRoL21lYCwge1xyXG4gICAgICBsYW5ndWFnZV9pZDogbGFuZ3VhZ2VJZFxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2Ygcm9sZXMgd2l0aCB0aGVpciBwZXJtaXNzaW9ucy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgcm9sZXMuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8Um9sZUluW10+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2Ygcm9sZSBwZXJtaXNzaW9ucy5cclxuICAgKi9cclxuICBnZXRSb2xlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Um9sZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Um9sZXNPdXQ+PihgJHt0aGlzLnVybH0vcm9sZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyByb2xlcyBieSB0aGUgc3BlY2lmaWVkIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkIC0gVGhlIElEIG9mIHRoZSByb2xlIHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcm9sZSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFJvbGUgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJvbGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Um9sZU91dD4+KGAke3RoaXMudXJsfS9yb2xlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyByb2xlIHdpdGggdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9ucy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7Um9sZUlufSBib2R5IC0gVGhlIHBlcm1pc3Npb25zIGFuZCBkZXRhaWxzIGZvciB0aGUgbmV3IHJvbGUuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8Um9sZU91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgY3JlYXRlZCByb2xlJ3MgcGVybWlzc2lvbnMuXHJcbiAgICovXHJcbiAgcG9zdFJvbGUgKGJvZHk6IFJvbGVJbik6IE9ic2VydmFibGU8Um9sZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8Um9sZU91dD4+KGAke3RoaXMudXJsfS9yb2xlc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgcGVybWlzc2lvbnMgb2YgYSBzcGVjaWZpYyByb2xlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByb2xlIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBuZXcgcGVybWlzc2lvbnMgdG8gYXNzaWduIHRvIHRoZSByb2xlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCBtb2R1bGUgcGVybWlzc2lvbnMuXHJcbiAgICovXHJcbiAgcHV0Um9sZSAoaWQ6IG51bWJlciwgYm9keTogUm9sZUluKTogT2JzZXJ2YWJsZTxSb2xlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFJvbGVPdXQ+PihgJHt0aGlzLnVybH0vcm9sZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgdGhlIHBlcm1pc3Npb25zIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIHJvbGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHJvbGUgd2hvc2UgcGVybWlzc2lvbnMgYXJlIHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8e30+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgZGVsZXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBkZWxldGVSb2xlIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9yb2xlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSByb2xlIHR5cGVzIGZyb20gdGhlIEFQSS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGJlIHNlbnQgd2l0aCB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxSb2xlVHlwZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJvbGUgdHlwZXMgb3V0cHV0LlxyXG4gICAqL1xyXG4gIGdldFJvbGVUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Um9sZVR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFJvbGVUeXBlc091dD4+KGAke3RoaXMudXJsfS9yb2xlLXR5cGVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIG1vZHVsZXMgYW5kIHBlcm1pc3Npb25zXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgdGhlIG1vZHVsZXMuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxNb2R1bGVzT3V0W10+IC0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIG1vZHVsZXMgYW5kIHBlcm1pc3Npb25zLlxyXG4gICAqL1xyXG4gIGdldE1vZHVsZXMgKHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8TW9kdWxlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxNb2R1bGVzT3V0Pj4oYCR7dGhpcy51cmx9L21vZHVsZXNgLCB7XHJcbiAgICAgIHBhcmFtczogcXVlcnlQYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIG1vZHVsZXMgYW5kIHBlcm1pc3Npb25zXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1zLnRva2VuIC0gQ3VzdG9tIHRva2VuIGZvciBhdXRob3JpemF0aW9uLlxyXG4gICAqIEBwYXJhbSBwYXJhbXMucXVlcnlQYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgdGhlIG1vZHVsZXMuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxNb2R1bGVzT3V0W10+IC0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIG1vZHVsZXMgYW5kIHBlcm1pc3Npb25zLlxyXG4gICAqL1xyXG4gIGdldE1vZHVsZXNCeVRva2VuIChwYXJhbXM6IHtcclxuICAgIHRva2VuOiBzdHJpbmcsXHJcbiAgICBxdWVyeVBhcmFtczogUXVlcnlQYXJhbXNcclxuICB9KTogT2JzZXJ2YWJsZTxNb2R1bGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPE1vZHVsZXNPdXQ+PihgJHt0aGlzLnVybH0vbW9kdWxlc2AsIHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMucXVlcnlQYXJhbXMsXHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cGFyYW1zLnRva2VufWBcclxuICAgICAgfVxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class ApiServicesService {
|
|
6
|
-
environments;
|
|
7
|
-
http;
|
|
8
|
-
constructor(environments, http) {
|
|
9
|
-
this.environments = environments;
|
|
10
|
-
this.http = http;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Retrieves the URL for the services API from the environment settings.
|
|
14
|
-
* If the URL is not defined, an empty string is returned.
|
|
15
|
-
*
|
|
16
|
-
* @return {string} The API Services URL or an empty string if not defined.
|
|
17
|
-
*/
|
|
18
|
-
get url() {
|
|
19
|
-
return this.environments.apiServicesUrl ?? '';
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Retrieves service areas based on the provided query parameters.
|
|
23
|
-
*
|
|
24
|
-
* @param {ServiceAreaIn} body - The query parameters used to filter and retrieve service areas.
|
|
25
|
-
* @return {Observable<NotificationsOut>} An observable that emits the fetched service areas.
|
|
26
|
-
*/
|
|
27
|
-
postServiceAreas(body) {
|
|
28
|
-
return this.http.post(`${this.url}/service-areas`, body)
|
|
29
|
-
.pipe(map(({ data }) => data));
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Validate facility values based on the provided parameter.
|
|
33
|
-
*
|
|
34
|
-
* @param {ValidateFacilityIn} body - The facility data to be sent in the request body
|
|
35
|
-
* @return {Observable<ValidateFacilityOut>} An observable emitting the response containing the facility validated output data.
|
|
36
|
-
*/
|
|
37
|
-
postValidateFacility(body) {
|
|
38
|
-
return this.http.post(`${this.url}/facilities`, body)
|
|
39
|
-
.pipe(map(({ data }) => data));
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Create an email resource.
|
|
43
|
-
*
|
|
44
|
-
* @param {EmailErrorIn} body - The email data to be sent in the request body
|
|
45
|
-
* @return {Observable<{}>} An observable emitting the response data.
|
|
46
|
-
*/
|
|
47
|
-
postEmailError(body) {
|
|
48
|
-
return this.http.post(`${this.url}/emails/error`, body)
|
|
49
|
-
.pipe(map(({ data }) => data));
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Sends a promotion request to the server using the provided body.
|
|
53
|
-
*
|
|
54
|
-
* @param {PromotionIn} body - The promotion data to be sent in the request body.
|
|
55
|
-
* @return {Observable<PromotionOut>} An observable emitting the response containing the promotion output data.
|
|
56
|
-
*/
|
|
57
|
-
postPromotion(body) {
|
|
58
|
-
return this.http.post(`${this.url}/promotions`, body)
|
|
59
|
-
.pipe(map(({ data }) => data));
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Validate NIP account value based on the provided parameter.
|
|
63
|
-
*
|
|
64
|
-
* @param {ValidateNIPIn} body - The NIP account data to be sent in the request body
|
|
65
|
-
* @return {Observable<ValidateNIPOut>} An observable emitting the response containing the NIP account validated data.
|
|
66
|
-
*/
|
|
67
|
-
postValidateNIP(body) {
|
|
68
|
-
return this.http.post(`${this.url}/accounts/nip`, body)
|
|
69
|
-
.pipe(map(({ data }) => data));
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Validate BR Identification value based on the provided parameter.
|
|
73
|
-
*
|
|
74
|
-
* @param {ValidateIdentificationBRIn} body - The BR Identification data to be sent in the request body
|
|
75
|
-
* @return {Observable<ValidateIdentificationBROut>} An observable emitting the response containing the BR Identification validated data.
|
|
76
|
-
*/
|
|
77
|
-
postValidateIdentificationBR(body) {
|
|
78
|
-
return this.http.post(`${this.url}/identifications/br-validation`, body)
|
|
79
|
-
.pipe(map(({ data }) => data));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Fetches postal location details based on the provided query parameters.
|
|
83
|
-
* @param {GetPostalLocationsIn} queryParams - The query parameters to filter and fetch postal location data.
|
|
84
|
-
* @return {Observable<PostalLocationsOut>} An observable that emits the postal location details.
|
|
85
|
-
*/
|
|
86
|
-
getPostalLocations(queryParams) {
|
|
87
|
-
return this.http.get(`${this.url}/postal-locations`, {
|
|
88
|
-
params: queryParams
|
|
89
|
-
}).pipe(map(({ data }) => data));
|
|
90
|
-
}
|
|
91
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiServicesService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
92
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiServicesService, providedIn: 'root' });
|
|
93
|
-
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiServicesService, decorators: [{
|
|
95
|
-
type: Injectable,
|
|
96
|
-
args: [{
|
|
97
|
-
providedIn: 'root'
|
|
98
|
-
}]
|
|
99
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
100
|
-
type: Inject,
|
|
101
|
-
args: ['env']
|
|
102
|
-
}] }, { type: i1.HttpClient }] });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlcnZpY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktc2VydmljZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUlsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFtQnRDLE1BQU0sT0FBTyxrQkFBa0I7SUFFSjtJQUNmO0lBRlYsWUFDeUIsWUFBeUIsRUFDeEMsSUFBZ0I7UUFERCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3ZCLENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFBO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFFLElBQW1CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQThCLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDO2FBQ2xGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFFLElBQXdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsYUFBYSxFQUFFLElBQUksQ0FBQzthQUNuRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUUsSUFBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxlQUFlLEVBQUUsSUFBSSxDQUFDO2FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBRSxJQUFpQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRSxJQUFJLENBQUM7YUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFFLElBQW1CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTZCLEdBQUcsSUFBSSxDQUFDLEdBQUcsZUFBZSxFQUFFLElBQUksQ0FBQzthQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw0QkFBNEIsQ0FBRSxJQUFnQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEwQyxHQUFHLElBQUksQ0FBQyxHQUFHLGdDQUFnQyxFQUFFLElBQUksQ0FBQzthQUM5RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFFLFdBQWlDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlDLEdBQUcsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLEVBQUU7WUFDbkYsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBM0ZVLGtCQUFrQixrQkFFbkIsS0FBSzs0R0FGSixrQkFBa0IsY0FIakIsTUFBTTs7NEZBR1Asa0JBQWtCO2tCQUo5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQge1xyXG4gIFZhbGlkYXRlRmFjaWxpdHlJbixcclxuICBWYWxpZGF0ZUZhY2lsaXR5T3V0LFxyXG4gIFNlcnZpY2VBcmVhc091dCxcclxuICBFbWFpbEVycm9ySW4sXHJcbiAgUHJvbW90aW9uSW4sXHJcbiAgUHJvbW90aW9uT3V0LFxyXG4gIFZhbGlkYXRlTklQT3V0LFxyXG4gIFZhbGlkYXRlTklQSW4sXHJcbiAgVmFsaWRhdGVJZGVudGlmaWNhdGlvbkJST3V0LFxyXG4gIFZhbGlkYXRlSWRlbnRpZmljYXRpb25CUkluLCBTZXJ2aWNlQXJlYUluLCBQb3N0YWxMb2NhdGlvbnNPdXQsIEdldFBvc3RhbExvY2F0aW9uc0luXHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLXNlcnZpY2VzLnR5cGVzJ1xyXG5pbXBvcnQgeyBNb2R1bGVzT3V0IH0gZnJvbSAnLi9tb2RlbHMvYXBpLXNlY3VyaXR5LnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2VzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFVSTCBmb3IgdGhlIHNlcnZpY2VzIEFQSSBmcm9tIHRoZSBlbnZpcm9ubWVudCBzZXR0aW5ncy5cclxuICAgKiBJZiB0aGUgVVJMIGlzIG5vdCBkZWZpbmVkLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBBUEkgU2VydmljZXMgVVJMIG9yIGFuIGVtcHR5IHN0cmluZyBpZiBub3QgZGVmaW5lZC5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaVNlcnZpY2VzVXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgc2VydmljZSBhcmVhcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7U2VydmljZUFyZWFJbn0gYm9keSAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIGFuZCByZXRyaWV2ZSBzZXJ2aWNlIGFyZWFzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Tm90aWZpY2F0aW9uc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZmV0Y2hlZCBzZXJ2aWNlIGFyZWFzLlxyXG4gICAqL1xyXG4gIHBvc3RTZXJ2aWNlQXJlYXMgKGJvZHk6IFNlcnZpY2VBcmVhSW4pOiBPYnNlcnZhYmxlPFNlcnZpY2VBcmVhc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8U2VydmljZUFyZWFzT3V0Pj4oYCR7dGhpcy51cmx9L3NlcnZpY2UtYXJlYXNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGZhY2lsaXR5IHZhbHVlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVyLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtWYWxpZGF0ZUZhY2lsaXR5SW59IGJvZHkgLSBUaGUgZmFjaWxpdHkgZGF0YSB0byBiZSBzZW50IGluIHRoZSByZXF1ZXN0IGJvZHlcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFZhbGlkYXRlRmFjaWxpdHlPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSByZXNwb25zZSBjb250YWluaW5nIHRoZSBmYWNpbGl0eSB2YWxpZGF0ZWQgb3V0cHV0IGRhdGEuXHJcbiAgICovXHJcbiAgcG9zdFZhbGlkYXRlRmFjaWxpdHkgKGJvZHk6IFZhbGlkYXRlRmFjaWxpdHlJbik6IE9ic2VydmFibGU8VmFsaWRhdGVGYWNpbGl0eU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8VmFsaWRhdGVGYWNpbGl0eU91dD4+KGAke3RoaXMudXJsfS9mYWNpbGl0aWVzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW4gZW1haWwgcmVzb3VyY2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0VtYWlsRXJyb3JJbn0gYm9keSAtIFRoZSBlbWFpbCBkYXRhIHRvIGJlIHNlbnQgaW4gdGhlIHJlcXVlc3QgYm9keVxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8e30+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSByZXNwb25zZSBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RFbWFpbEVycm9yIChib2R5OiBFbWFpbEVycm9ySW4pOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9lbWFpbHMvZXJyb3JgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgcHJvbW90aW9uIHJlcXVlc3QgdG8gdGhlIHNlcnZlciB1c2luZyB0aGUgcHJvdmlkZWQgYm9keS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UHJvbW90aW9uSW59IGJvZHkgLSBUaGUgcHJvbW90aW9uIGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgcmVxdWVzdCBib2R5LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UHJvbW90aW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVzcG9uc2UgY29udGFpbmluZyB0aGUgcHJvbW90aW9uIG91dHB1dCBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RQcm9tb3Rpb24gKGJvZHk6IFByb21vdGlvbkluKTogT2JzZXJ2YWJsZTxQcm9tb3Rpb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFByb21vdGlvbk91dD4+KGAke3RoaXMudXJsfS9wcm9tb3Rpb25zYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSBOSVAgYWNjb3VudCB2YWx1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVyLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtWYWxpZGF0ZU5JUElufSBib2R5IC0gVGhlIE5JUCBhY2NvdW50IGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgcmVxdWVzdCBib2R5XHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxWYWxpZGF0ZU5JUE91dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIE5JUCBhY2NvdW50IHZhbGlkYXRlZCBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RWYWxpZGF0ZU5JUCAoYm9keTogVmFsaWRhdGVOSVBJbik6IE9ic2VydmFibGU8VmFsaWRhdGVOSVBPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFZhbGlkYXRlTklQT3V0Pj4oYCR7dGhpcy51cmx9L2FjY291bnRzL25pcGAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGUgQlIgSWRlbnRpZmljYXRpb24gdmFsdWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7VmFsaWRhdGVJZGVudGlmaWNhdGlvbkJSSW59IGJvZHkgLSBUaGUgQlIgSWRlbnRpZmljYXRpb24gZGF0YSB0byBiZSBzZW50IGluIHRoZSByZXF1ZXN0IGJvZHlcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFZhbGlkYXRlSWRlbnRpZmljYXRpb25CUk91dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIEJSIElkZW50aWZpY2F0aW9uIHZhbGlkYXRlZCBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RWYWxpZGF0ZUlkZW50aWZpY2F0aW9uQlIgKGJvZHk6IFZhbGlkYXRlSWRlbnRpZmljYXRpb25CUkluKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZUlkZW50aWZpY2F0aW9uQlJPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFZhbGlkYXRlSWRlbnRpZmljYXRpb25CUk91dD4+KGAke3RoaXMudXJsfS9pZGVudGlmaWNhdGlvbnMvYnItdmFsaWRhdGlvbmAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBwb3N0YWwgbG9jYXRpb24gZGV0YWlscyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0ge0dldFBvc3RhbExvY2F0aW9uc0lufSBxdWVyeVBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBhbmQgZmV0Y2ggcG9zdGFsIGxvY2F0aW9uIGRhdGEuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQb3N0YWxMb2NhdGlvbnNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHBvc3RhbCBsb2NhdGlvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldFBvc3RhbExvY2F0aW9ucyAocXVlcnlQYXJhbXM6IEdldFBvc3RhbExvY2F0aW9uc0luKTogT2JzZXJ2YWJsZTxQb3N0YWxMb2NhdGlvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UG9zdGFsTG9jYXRpb25zT3V0Pj4oYCR7dGhpcy51cmx9L3Bvc3RhbC1sb2NhdGlvbnNgLCB7XHJcbiAgICAgIHBhcmFtczogcXVlcnlQYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class ApiShipmentsService {
|
|
6
|
-
environments;
|
|
7
|
-
http;
|
|
8
|
-
constructor(environments, http) {
|
|
9
|
-
this.environments = environments;
|
|
10
|
-
this.http = http;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Retrieves the URL for the shipments API from the environment configurations.
|
|
14
|
-
*
|
|
15
|
-
* @return {string} The URL of the shipments API.
|
|
16
|
-
*/
|
|
17
|
-
get url() {
|
|
18
|
-
return this.environments.apiShipmentUrl ?? '';
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Retrieves the parameter values based on the provided parameter names.
|
|
22
|
-
*
|
|
23
|
-
* @param {ValidateAccountIn} body - An object of parameter names for which the values need to be fetched.
|
|
24
|
-
* @return {Observable<ValidateAccountIn>} An observable that emits the fetched parameter values
|
|
25
|
-
* @param body
|
|
26
|
-
*/
|
|
27
|
-
postValidateAccount(body) {
|
|
28
|
-
return this.http.post(`${this.url}/accounts`, body)
|
|
29
|
-
.pipe(map(({ data }) => data));
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Sends a POST request to the shipments manifest endpoint with the provided body.
|
|
33
|
-
*
|
|
34
|
-
* @param body - The request payload of type `ManifestMultipleIn`.
|
|
35
|
-
* @returns An observable that emits the response data of type `ManifestMultipleOut`.
|
|
36
|
-
*/
|
|
37
|
-
postManifestMultiple(body) {
|
|
38
|
-
return this.http.post(`${this.url}/shipments/manifest`, body)
|
|
39
|
-
.pipe(map(({ data }) => data));
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Validates and obtains the number of shipments allowed by an employee customer
|
|
43
|
-
*
|
|
44
|
-
* @return {Observable<ShipmentEmployeeCustomer>} An observable containing the shipments allowed by an employee
|
|
45
|
-
* @param id
|
|
46
|
-
*/
|
|
47
|
-
getEmployeeCustomer(id) {
|
|
48
|
-
return this.http.get(`${this.url}/shipments/employee-customer/${id}`).pipe(map(({ data }) => data));
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Cancels a specific shipment by providing its ID and a reason for cancellation.
|
|
52
|
-
* Sends a PATCH request to update the shipment's cancellation status with the specified reason.
|
|
53
|
-
*
|
|
54
|
-
* @param {Object} param0 - The input object containing shipment cancellation details.
|
|
55
|
-
* @param {string} param0.shipmentId - The unique identifier of the shipment to be canceled.
|
|
56
|
-
* @param {string} param0.reasonId - The unique identifier of the reason for cancellation.
|
|
57
|
-
* @return {Observable<ShipmentCancellationOut>} An observable emitting the result of the cancellation operation.
|
|
58
|
-
*/
|
|
59
|
-
patchShipmentsCancellation({ shipmentId, reasonId }) {
|
|
60
|
-
return this.http.patch(`${this.url}/shipments/${shipmentId}/cancellation`, {
|
|
61
|
-
cancellationReasonId: reasonId
|
|
62
|
-
}).pipe(map(({ data }) => data));
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Fetches a list of export types based on the provided query parameters.
|
|
66
|
-
*
|
|
67
|
-
* @param {QueryParams} params - The query parameters to filter the export types.
|
|
68
|
-
* @return {Observable<ExportTypesOut>} An observable containing the list of export types.
|
|
69
|
-
*/
|
|
70
|
-
getExportTypes(params) {
|
|
71
|
-
return this.http.get(`${this.url}/export-types`, {
|
|
72
|
-
params
|
|
73
|
-
}).pipe(map(({ data }) => data));
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Retrieves a paginated list of embassy shipments
|
|
77
|
-
* @param {QueryParams} params - Query parameters for filtering and pagination
|
|
78
|
-
* @returns {Observable<EmbassyShipmentsOut>} Observable containing the list of shipments and pagination metadata
|
|
79
|
-
*/
|
|
80
|
-
getEmbassyShipments(params) {
|
|
81
|
-
return this.http.get(`${this.url}/embassy-shipments`, {
|
|
82
|
-
params
|
|
83
|
-
}).pipe(map(({ data }) => data));
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Creates a new embassy shipment
|
|
87
|
-
* @param {EmbassyShipmentIn} body - The shipment data to create
|
|
88
|
-
* @returns {Observable<EmbassyShipmentOut>} Observable containing the created shipment with its assigned ID
|
|
89
|
-
*/
|
|
90
|
-
postEmbassyShipments(body) {
|
|
91
|
-
return this.http.post(`${this.url}/embassy-shipments`, body)
|
|
92
|
-
.pipe(map(({ data }) => data));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Updates an existing embassy shipment
|
|
96
|
-
* @param {number} id - The unique identifier of the shipment to update
|
|
97
|
-
* @param {EmbassyShipmentIn} body - The updated shipment data
|
|
98
|
-
* @returns {Observable<EmbassyShipmentOut>} Observable containing the updated shipment
|
|
99
|
-
*/
|
|
100
|
-
putEmbassyShipments(id, body) {
|
|
101
|
-
return this.http.put(`${this.url}/embassy-shipments/${id}`, body)
|
|
102
|
-
.pipe(map(({ data }) => data));
|
|
103
|
-
}
|
|
104
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
105
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, providedIn: 'root' });
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, decorators: [{
|
|
108
|
-
type: Injectable,
|
|
109
|
-
args: [{
|
|
110
|
-
providedIn: 'root'
|
|
111
|
-
}]
|
|
112
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
113
|
-
type: Inject,
|
|
114
|
-
args: ['env']
|
|
115
|
-
}] }, { type: i1.HttpClient }] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLXNoaXBtZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQW1CdEMsTUFBTSxPQUFPLG1CQUFtQjtJQUVMO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLENBQUUsSUFBdUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsR0FBRyxJQUFJLENBQUMsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDO2FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFFLElBQXdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcscUJBQXFCLEVBQUUsSUFBSSxDQUFDO2FBQzNGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFFLEVBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBdUMsR0FBRyxJQUFJLENBQUMsR0FBRyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMzSSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCwwQkFBMEIsQ0FBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTBCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQXNDLEdBQUcsSUFBSSxDQUFDLEdBQUcsY0FBYyxVQUFVLGVBQWUsRUFBRTtZQUM5RyxvQkFBb0IsRUFBRSxRQUFRO1NBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUUsTUFBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNkIsR0FBRyxJQUFJLENBQUMsR0FBRyxlQUFlLEVBQUU7WUFDM0UsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFFLE1BQW1CO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0JBQW9CLEVBQUU7WUFDckYsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFFLElBQXVCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWlDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0JBQW9CLEVBQUUsSUFBSSxDQUFDO2FBQ3pGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFFLEVBQVUsRUFBRSxJQUF1QjtRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQyxHQUFHLElBQUksQ0FBQyxHQUFHLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDOUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQzt3R0F6R1UsbUJBQW1CLGtCQUVwQixLQUFLOzRHQUZKLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBFbWJhc3N5U2hpcG1lbnRJbiwgRW1iYXNzeVNoaXBtZW50T3V0LFxyXG4gIEVtYmFzc3lTaGlwbWVudHNPdXQsXHJcbiAgRXhwb3J0VHlwZXNPdXQsXHJcbiAgTWFuaWZlc3RNdWx0aXBsZUluLFxyXG4gIE1hbmlmZXN0TXVsdGlwbGVPdXQsXHJcbiAgU2hpcG1lbnRDYW5jZWxsYXRpb25JbixcclxuICBTaGlwbWVudENhbmNlbGxhdGlvbk91dCxcclxuICBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXIsXHJcbiAgVmFsaWRhdGVBY2NvdW50SW4sXHJcbiAgVmFsaWRhdGVBY2NvdW50T3V0XHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLXNoaXBtZW50cy50eXBlcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcywgUXVlcnlQYXJhbXMgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2hpcG1lbnRzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBVUkwgZm9yIHRoZSBzaGlwbWVudHMgQVBJIGZyb20gdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIG9mIHRoZSBzaGlwbWVudHMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpU2hpcG1lbnRVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgcGFyYW1ldGVyIHZhbHVlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVyIG5hbWVzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtWYWxpZGF0ZUFjY291bnRJbn0gYm9keSAtIEFuIG9iamVjdCBvZiBwYXJhbWV0ZXIgbmFtZXMgZm9yIHdoaWNoIHRoZSB2YWx1ZXMgbmVlZCB0byBiZSBmZXRjaGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VmFsaWRhdGVBY2NvdW50SW4+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZldGNoZWQgcGFyYW1ldGVyIHZhbHVlc1xyXG4gICAqIEBwYXJhbSBib2R5XHJcbiAgICovXHJcbiAgcG9zdFZhbGlkYXRlQWNjb3VudCAoYm9keTogVmFsaWRhdGVBY2NvdW50SW4pOiBPYnNlcnZhYmxlPFZhbGlkYXRlQWNjb3VudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8VmFsaWRhdGVBY2NvdW50T3V0Pj4oYCR7dGhpcy51cmx9L2FjY291bnRzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIFBPU1QgcmVxdWVzdCB0byB0aGUgc2hpcG1lbnRzIG1hbmlmZXN0IGVuZHBvaW50IHdpdGggdGhlIHByb3ZpZGVkIGJvZHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSByZXF1ZXN0IHBheWxvYWQgb2YgdHlwZSBgTWFuaWZlc3RNdWx0aXBsZUluYC5cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlIGRhdGEgb2YgdHlwZSBgTWFuaWZlc3RNdWx0aXBsZU91dGAuXHJcbiAgICovXHJcbiAgcG9zdE1hbmlmZXN0TXVsdGlwbGUgKGJvZHk6IE1hbmlmZXN0TXVsdGlwbGVJbikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8TWFuaWZlc3RNdWx0aXBsZU91dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudHMvbWFuaWZlc3RgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyBhbmQgb2J0YWlucyB0aGUgbnVtYmVyIG9mIHNoaXBtZW50cyBhbGxvd2VkIGJ5IGFuIGVtcGxveWVlIGN1c3RvbWVyXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50RW1wbG95ZWVDdXN0b21lcj59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgc2hpcG1lbnRzIGFsbG93ZWQgYnkgYW4gZW1wbG95ZWVcclxuICAgKiBAcGFyYW0gaWRcclxuICAgKi9cclxuICBnZXRFbXBsb3llZUN1c3RvbWVyIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRFbXBsb3llZUN1c3RvbWVyPj4oYCR7dGhpcy51cmx9L3NoaXBtZW50cy9lbXBsb3llZS1jdXN0b21lci8ke2lkfWApLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxzIGEgc3BlY2lmaWMgc2hpcG1lbnQgYnkgcHJvdmlkaW5nIGl0cyBJRCBhbmQgYSByZWFzb24gZm9yIGNhbmNlbGxhdGlvbi5cclxuICAgKiBTZW5kcyBhIFBBVENIIHJlcXVlc3QgdG8gdXBkYXRlIHRoZSBzaGlwbWVudCdzIGNhbmNlbGxhdGlvbiBzdGF0dXMgd2l0aCB0aGUgc3BlY2lmaWVkIHJlYXNvbi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbTAgLSBUaGUgaW5wdXQgb2JqZWN0IGNvbnRhaW5pbmcgc2hpcG1lbnQgY2FuY2VsbGF0aW9uIGRldGFpbHMuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtMC5zaGlwbWVudElkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBzaGlwbWVudCB0byBiZSBjYW5jZWxlZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW0wLnJlYXNvbklkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByZWFzb24gZm9yIGNhbmNlbGxhdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVzdWx0IG9mIHRoZSBjYW5jZWxsYXRpb24gb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHBhdGNoU2hpcG1lbnRzQ2FuY2VsbGF0aW9uICh7IHNoaXBtZW50SWQsIHJlYXNvbklkIH06IFNoaXBtZW50Q2FuY2VsbGF0aW9uSW4pOiBPYnNlcnZhYmxlPFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPEFwaVN1Y2Nlc3M8U2hpcG1lbnRDYW5jZWxsYXRpb25PdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnRzLyR7c2hpcG1lbnRJZH0vY2FuY2VsbGF0aW9uYCwge1xyXG4gICAgICBjYW5jZWxsYXRpb25SZWFzb25JZDogcmVhc29uSWRcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBleHBvcnQgdHlwZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgdGhlIGV4cG9ydCB0eXBlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4cG9ydFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIGV4cG9ydCB0eXBlcy5cclxuICAgKi9cclxuICBnZXRFeHBvcnRUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RXhwb3J0VHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RXhwb3J0VHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vZXhwb3J0LXR5cGVzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBlbWJhc3N5IHNoaXBtZW50c1xyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyBhbmQgcGFnaW5hdGlvblxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEVtYmFzc3lTaGlwbWVudHNPdXQ+fSBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2Ygc2hpcG1lbnRzIGFuZCBwYWdpbmF0aW9uIG1ldGFkYXRhXHJcbiAgICovXHJcbiAgZ2V0RW1iYXNzeVNoaXBtZW50cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RW1iYXNzeVNoaXBtZW50c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxFbWJhc3N5U2hpcG1lbnRzT3V0Pj4oYCR7dGhpcy51cmx9L2VtYmFzc3ktc2hpcG1lbnRzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgbmV3IGVtYmFzc3kgc2hpcG1lbnRcclxuICAgKiBAcGFyYW0ge0VtYmFzc3lTaGlwbWVudElufSBib2R5IC0gVGhlIHNoaXBtZW50IGRhdGEgdG8gY3JlYXRlXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8RW1iYXNzeVNoaXBtZW50T3V0Pn0gT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjcmVhdGVkIHNoaXBtZW50IHdpdGggaXRzIGFzc2lnbmVkIElEXHJcbiAgICovXHJcbiAgcG9zdEVtYmFzc3lTaGlwbWVudHMgKGJvZHk6IEVtYmFzc3lTaGlwbWVudEluKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxFbWJhc3N5U2hpcG1lbnRPdXQ+PihgJHt0aGlzLnVybH0vZW1iYXNzeS1zaGlwbWVudHNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgZW1iYXNzeSBzaGlwbWVudFxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgc2hpcG1lbnQgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHtFbWJhc3N5U2hpcG1lbnRJbn0gYm9keSAtIFRoZSB1cGRhdGVkIHNoaXBtZW50IGRhdGFcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxFbWJhc3N5U2hpcG1lbnRPdXQ+fSBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVwZGF0ZWQgc2hpcG1lbnRcclxuICAgKi9cclxuICBwdXRFbWJhc3N5U2hpcG1lbnRzIChpZDogbnVtYmVyLCBib2R5OiBFbWJhc3N5U2hpcG1lbnRJbikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxFbWJhc3N5U2hpcG1lbnRPdXQ+PihgJHt0aGlzLnVybH0vZW1iYXNzeS1zaGlwbWVudHMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|