@experteam-mx/ngx-services 18.5.1 → 18.5.3
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/esm2022/lib/apis/api-e-tools-auto-billing.service.mjs +8 -6
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.types.mjs +1 -1
- package/esm2022/lib/apis/models/api-shipments.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-shipments.types.mjs +1 -1
- package/fesm2022/experteam-mx-ngx-services.mjs +7 -5
- package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
- package/lib/apis/api-e-tools-auto-billing.service.d.ts +6 -4
- package/lib/apis/models/api-e-tools-auto-billing.types.d.ts +1 -0
- package/lib/apis/models/api-shipments.interfaces.d.ts +8 -0
- package/lib/apis/models/api-shipments.types.d.ts +3 -0
- package/package.json +1 -1
|
@@ -18,13 +18,15 @@ export class ApiEToolsAutoBillingService {
|
|
|
18
18
|
return this.environments.apiEToolsAutoBilling ?? '';
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* Updates external shipment
|
|
21
|
+
* Updates external shipment address details for the given address ID.
|
|
22
22
|
*
|
|
23
|
-
* @param {
|
|
24
|
-
* @
|
|
23
|
+
* @param {Object} params - The parameters for the API request.
|
|
24
|
+
* @param {string} params.id - The unique identifier of the address to update.
|
|
25
|
+
* @param {Object} params.body - The payload containing updated address details.
|
|
26
|
+
* @return {Observable<ExternalShipmentAddressesOut>} An observable containing the updated external shipment address information.
|
|
25
27
|
*/
|
|
26
|
-
patchExternalShipmentAddresses(body) {
|
|
27
|
-
return this.http.patch(`${this.url}/external-shipment-addresses`, body)
|
|
28
|
+
patchExternalShipmentAddresses({ id, ...body }) {
|
|
29
|
+
return this.http.patch(`${this.url}/external-shipment-addresses/${id}`, body)
|
|
28
30
|
.pipe(map(({ data }) => data));
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
@@ -70,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
70
72
|
type: Inject,
|
|
71
73
|
args: ['env']
|
|
72
74
|
}] }, { type: i1.HttpClient }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWUtdG9vbHMtYXV0by1iaWxsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktZS10b29scy1hdXRvLWJpbGxpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFjdEMsTUFBTSxPQUFPLDJCQUEyQjtJQUViO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFBO0lBQ3JELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsOEJBQThCLENBQUUsRUFDOUIsRUFBRSxFQUNGLEdBQUcsSUFBSSxFQUNxQjtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUEyQyxHQUFHLElBQUksQ0FBQyxHQUFHLGdDQUFnQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDcEgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFzQyxHQUFHLElBQUksQ0FBQyxHQUFHLDRCQUE0QixNQUFNLEVBQUUsQ0FBQzthQUN2RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw0QkFBNEIsQ0FBRSxFQUFVO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJDLEdBQUcsSUFBSSxDQUFDLEdBQUcsdUJBQXVCLEVBQUUsOEJBQThCLENBQUM7YUFDL0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMkJBQTJCLENBQUUsTUFBbUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBd0MsR0FBRyxJQUFJLENBQUMsR0FBRyw2QkFBNkIsRUFBRTtZQUNwRyxNQUFNO1NBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBL0RVLDJCQUEyQixrQkFFNUIsS0FBSzs0R0FGSiwyQkFBMkIsY0FGMUIsTUFBTTs7NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBFeHRlcm5hbFNoaXBtZW50QWRkcmVzc2VzSW4sXHJcbiAgRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dCxcclxuICBFeHRlcm5hbFNoaXBtZW50RmlsZU91dCxcclxuICBFeHRlcm5hbFNoaXBtZW50SGlzdG9yaWVzT3V0LFxyXG4gIEV4dGVybmFsU2hpcG1lbnRTdGF0dXNPdXRcclxufSBmcm9tICcuL21vZGVscy9hcGktZS10b29scy1hdXRvLWJpbGxpbmcudHlwZXMnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlFVG9vbHNBdXRvQmlsbGluZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgVVJMIGZvciB0aGUgc2hpcG1lbnRzIEFQSSBmcm9tIHRoZSBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVSTCBvZiB0aGUgc2hpcG1lbnRzIEFQSS5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaUVUb29sc0F1dG9CaWxsaW5nID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGV4dGVybmFsIHNoaXBtZW50IGFkZHJlc3MgZGV0YWlscyBmb3IgdGhlIGdpdmVuIGFkZHJlc3MgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBBUEkgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLmlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBhZGRyZXNzIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zLmJvZHkgLSBUaGUgcGF5bG9hZCBjb250YWluaW5nIHVwZGF0ZWQgYWRkcmVzcyBkZXRhaWxzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgdXBkYXRlZCBleHRlcm5hbCBzaGlwbWVudCBhZGRyZXNzIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIHBhdGNoRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3NlcyAoe1xyXG4gICAgaWQsXHJcbiAgICAuLi5ib2R5XHJcbiAgfTogRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc0luKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50QWRkcmVzc2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPEFwaVN1Y2Nlc3M8RXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dD4+KGAke3RoaXMudXJsfS9leHRlcm5hbC1zaGlwbWVudC1hZGRyZXNzZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGV4dGVybmFsIHNoaXBtZW50IGZpbGUgYnkgaXRzIGlkZW50aWZpZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gZmlsZUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHRlcm5hbCBzaGlwbWVudCBmaWxlIHRvIGJlIHJldHJpZXZlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dGVybmFsU2hpcG1lbnRGaWxlT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBleHRlcm5hbCBzaGlwbWVudCBmaWxlIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0RXh0ZXJuYWxTaGlwbWVudEZpbGUgKGZpbGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50RmlsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxFeHRlcm5hbFNoaXBtZW50RmlsZU91dD4+KGAke3RoaXMudXJsfS9leHRlcm5hbC1zaGlwbWVudC1maWxlcy8ke2ZpbGVJZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgaGlzdG9yeSBlbnRyaWVzIGZvciBhIHNwZWNpZmljIGV4dGVybmFsIHNoaXBtZW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIElEIG9mIHRoZSBleHRlcm5hbCBzaGlwbWVudCB0byByZXRyaWV2ZSBoaXN0b3J5IGZvci5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dGVybmFsU2hpcG1lbnRIaXN0b3JpZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGV4dGVybmFsIHNoaXBtZW50IGhpc3RvcnkgZW50cmllcy5cclxuICAgKi9cclxuICBnZXRFeHRlcm5hbFNoaXBtZW50SGlzdG9yaWVzIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50SGlzdG9yaWVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEV4dGVybmFsU2hpcG1lbnRIaXN0b3JpZXNPdXQ+PihgJHt0aGlzLnVybH0vZXh0ZXJuYWwtc2hpcG1lbnRzLyR7aWR9L2V4dGVybmFsLXNoaXBtZW50LWhpc3Rvcmllc2ApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGV4dGVybmFsIHNoaXBtZW50IHN0YXR1c2VzXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZldGNoIHRoZSBleHRlcm5hbCBzaGlwbWVudCBzdGF0dXNlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dGVybmFsU2hpcG1lbnRTdGF0dXNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGV4dGVybmFsIHNoaXBtZW50IHN0YXR1c2VzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0RXh0ZXJuYWxTaGlwbWVudFN0YXR1c2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50U3RhdHVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEV4dGVybmFsU2hpcG1lbnRTdGF0dXNPdXQ+PihgJHt0aGlzLnVybH0vZXh0ZXJuYWwtc2hpcG1lbnQtc3RhdHVzZXNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWUtdG9vbHMtYXV0by1iaWxsaW5nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1lLXRvb2xzLWF1dG8tYmlsbGluZy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFeHRlcm5hbFNoaXBtZW50QWRkcmVzcyxcclxuICBFeHRlcm5hbFNoaXBtZW50RmlsZSxcclxuICBFeHRlcm5hbFNoaXBtZW50SGlzdG9yeSxcclxuICBFeHRlcm5hbFNoaXBtZW50U3RhdHVzZXNcclxufSBmcm9tICcuL2FwaS1lLXRvb2xzLWF1dG8tYmlsbGluZy5pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc0luID0ge1xyXG4gIGlkOiBudW1iZXJcclxuICBhZGRyZXNzTGluZTE6IHN0cmluZ1xyXG4gIGFkZHJlc3NMaW5lMjogc3RyaW5nXHJcbiAgYWRkcmVzc0xpbmUzOiBzdHJpbmdcclxuICBjaXR5TmFtZTogc3RyaW5nXHJcbiAgY29tcGFueU5hbWU6IHN0cmluZ1xyXG4gIGVtYWlsOiBzdHJpbmdcclxuICBmdWxsTmFtZTogc3RyaW5nXHJcbiAgaWRlbnRpZmljYXRpb25OdW1iZXI6IHN0cmluZ1xyXG4gIGlkZW50aWZpY2F0aW9uVHlwZUlkOiBudW1iZXJcclxuICBwaG9uZUNvZGU6IHN0cmluZ1xyXG4gIHBob25lTnVtYmVyOiBzdHJpbmdcclxuICBwb3N0YWxDb2RlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dCA9IHtcclxuICBleHRlcm5hbFNoaXBtZW50QWRkcmVzczogRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3NcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0ZXJuYWxTaGlwbWVudEZpbGVPdXQgPSB7XHJcbiAgZXh0ZXJuYWxTaGlwbWVudEZpbGU6IEV4dGVybmFsU2hpcG1lbnRGaWxlXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEV4dGVybmFsU2hpcG1lbnRIaXN0b3JpZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGV4dGVybmFsU2hpcG1lbnRIaXN0b3JpZXM6IEV4dGVybmFsU2hpcG1lbnRIaXN0b3J5W11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0ZXJuYWxTaGlwbWVudFN0YXR1c091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgZXh0ZXJuYWxTaGlwbWVudFN0YXR1c2VzOiBFeHRlcm5hbFNoaXBtZW50U3RhdHVzZXNbXVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1zaGlwbWVudHMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlTGVzc1N5bWZvbnlNb2RlbCB9IGZyb20gJy4vYXBpLm1vZGVscydcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hpcG1lbnRFbXBsb3llZUN1c3RvbWVycyBleHRlbmRzIEFjdGl2ZUxlc3NTeW1mb255TW9kZWwge1xyXG4gIHRyYWNraW5nTnVtYmVyOiBzdHJpbmdcclxuICBlbXBsb3llZUN1c3RvbWVySWQ6IG51bWJlclxyXG4gIHNoaXBtZW50OiB7XHJcbiAgICBpZDogbnVtYmVyXHJcbiAgfSB8IG51bGxcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktc2hpcG1lbnRzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzIH0gZnJvbSBcIi4vYXBpLXNoaXBtZW50cy5pbnRlcmZhY2VzXCJcclxuXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRlQWNjb3VudEluID0ge1xyXG4gIGFjY291bnRWYWx1ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFjY291bnRSZXNwb25zZSA9IHtcclxuICBzdGF0dXM6IHRydWVcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBhY2NvdW50U3RhdHVzOiBzdHJpbmdcclxuICBjcmVkaXRTdGF0dXM6IHN0cmluZ1xyXG4gIGFjdGl2aXR5U3RhdHVzOiBzdHJpbmdcclxuICBjb3VudHJ5OiBzdHJpbmdcclxuICBjb3VudHJ5TmFtZTogc3RyaW5nXHJcbiAgaXNDcmVkaXRTdG9wOiBib29sZWFuXHJcbiAgaXNJbXBvcnRFbmFibGVkOiBib29sZWFuXHJcbiAgYWNjb3VudFR5cGU6IHN0cmluZ1xyXG4gIGlzQ2FzaDogYm9vbGVhblxyXG4gIGNvbnRhY3RJbmZvOiBzdHJpbmcgfCBudWxsXHJcbiAgcmVnaXN0cmF0aW9uSW5mbzogc3RyaW5nIHwgbnVsbFxyXG4gIHVzZXJzOiB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIHZhbGlkOiBib29sZWFuXHJcbiAgfVtdXHJcbn0gfCB7XHJcbiAgc3RhdHVzOiBmYWxzZVxyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHVzZXJzOiBbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWYWxpZGF0ZUFjY291bnRPdXQgPSB7XHJcbiAgYWNjb3VudDogQWNjb3VudFJlc3BvbnNlXHJcbiAgdHJhbnNhY3Rpb25JZDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1hbmlmZXN0TXVsdGlwbGVJbiA9IHtcclxuICBzaGlwbWVudElkczogbnVtYmVyW11cclxuICBjdXN0b21lcjoge1xyXG4gICAgY29tcGFueU5hbWU6IHN0cmluZ1xyXG4gICAgZnVsbE5hbWU6IHN0cmluZ1xyXG4gICAgZW1haWw6IHN0cmluZ1xyXG4gICAgcGhvbmVDb2RlOiBzdHJpbmdcclxuICAgIHBob25lTnVtYmVyOiBzdHJpbmdcclxuICAgIGFkZHJlc3NMaW5lMTogc3RyaW5nXHJcbiAgICBhZGRyZXNzTGluZTI/OiBzdHJpbmdcclxuICAgIGFkZHJlc3NMaW5lMz86IHN0cmluZ1xyXG4gICAgaWRlbnRpZmljYXRpb25OdW1iZXI/OiBzdHJpbmdcclxuICAgIGlkZW50aWZpY2F0aW9uVHlwZUlkPzogbnVtYmVyXHJcbiAgICBjb3VudHJ5Q29kZTogc3RyaW5nXHJcbiAgICBzdGF0ZUNvZGU/OiBzdHJpbmdcclxuICAgIHBvc3RhbENvZGU/OiBzdHJpbmdcclxuICAgIGNpdHlOYW1lPzogc3RyaW5nXHJcbiAgICBjb3VudHlOYW1lPzogc3RyaW5nXHJcbiAgfSxcclxuICBwYXltZW50RGV0YWlsczoge1xyXG4gICAgdG90YWxBbW91bnQ6IG51bWJlclxyXG4gICAgcGF5bWVudHM6IHtcclxuICAgICAgYW1vdW50OiBudW1iZXJcclxuICAgICAgcmVjZWl2ZWQ6IG51bWJlclxyXG4gICAgICBjb3VudHJ5UmVmZXJlbmNlQ3VycmVuY3lJZDogbnVtYmVyXHJcbiAgICAgIGV4Y2hhbmdlOiBudW1iZXJcclxuICAgICAgY291bnRyeVBheW1lbnRUeXBlSWQ6IG51bWJlclxyXG4gICAgICBkdWVEYXRlOiBzdHJpbmdcclxuICAgICAgZGV0YWlsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxyXG4gICAgfVtdXHJcbiAgfSxcclxuICBwcmljZU92ZXJyaWRlQXBwcm92ZXJJZDogbnVtYmVyIHwgbnVsbFxyXG4gIHByaWNlT3ZlcnJpZGVSZWFzb25JZDogbnVtYmVyIHwgbnVsbFxyXG4gIGlzUGVuZGluZ0ludm9pY2U/OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1hbmlmZXN0TXVsdGlwbGVPdXQgPSB7XHJcbiAgc2hpcG1lbnRNYW5pZmVzdHM6IHtcclxuICAgIGRvY3VtZW50SWQ6IG51bWJlclxyXG4gIH1cclxuICB0cmFuc2FjdGlvbklkOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRFbXBsb3llZUN1c3RvbWVyID0ge1xyXG4gIGN1cnJlbnRZZWFyOiBudW1iZXJcclxuICBjdXJyZW50TW9udGg6IG51bWJlclxyXG4gIG1lc3NhZ2U6IHN0cmluZyB8IG51bGxcclxuICBzaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzOiBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRDYW5jZWxsYXRpb25JbiA9IHtcclxuICBzaGlwbWVudElkOiBudW1iZXJcclxuICByZWFzb25JZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0ID0ge1xyXG4gIGVtYWlsTGlzdDogc3RyaW5nW11cclxufVxyXG4iXX0=
|
|
@@ -569,13 +569,15 @@ class ApiEToolsAutoBillingService {
|
|
|
569
569
|
return this.environments.apiEToolsAutoBilling ?? '';
|
|
570
570
|
}
|
|
571
571
|
/**
|
|
572
|
-
* Updates external shipment
|
|
572
|
+
* Updates external shipment address details for the given address ID.
|
|
573
573
|
*
|
|
574
|
-
* @param {
|
|
575
|
-
* @
|
|
574
|
+
* @param {Object} params - The parameters for the API request.
|
|
575
|
+
* @param {string} params.id - The unique identifier of the address to update.
|
|
576
|
+
* @param {Object} params.body - The payload containing updated address details.
|
|
577
|
+
* @return {Observable<ExternalShipmentAddressesOut>} An observable containing the updated external shipment address information.
|
|
576
578
|
*/
|
|
577
|
-
patchExternalShipmentAddresses(body) {
|
|
578
|
-
return this.http.patch(`${this.url}/external-shipment-addresses`, body)
|
|
579
|
+
patchExternalShipmentAddresses({ id, ...body }) {
|
|
580
|
+
return this.http.patch(`${this.url}/external-shipment-addresses/${id}`, body)
|
|
579
581
|
.pipe(map(({ data }) => data));
|
|
580
582
|
}
|
|
581
583
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experteam-mx-ngx-services.mjs","sources":["../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.models.ts","../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.module.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-billing-do.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-billing-mx.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-catalogs.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-companies.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-e-tools-auto-billing.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-external-pickups.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-invoices.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-open-items.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-reports.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-security.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-shipments.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/websockets/web-sockets.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/cypher/crypto.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-headers.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-token.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/http-caching.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/helpers/http.ts","../../../../projects/experteam-mx/ngx-services/src/public-api.ts","../../../../projects/experteam-mx/ngx-services/src/experteam-mx-ngx-services.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\r\n\r\n/**\r\n * Represents the configuration settings for the application's environment.\r\n * This type includes various API endpoint URLs, authentication details, caching options, and other relevant settings.\r\n *\r\n * Properties:\r\n * - apiCompaniesUrl: The URL for the companies API endpoint.\r\n * - apiInvoicesUrl: The URL for the invoices API endpoint.\r\n * - apiReportsUrl: The URL for the reports API endpoint.\r\n * - apiSecurityUrl: The URL for the security-related API endpoint.\r\n * - apiShipmentUrl: The URL for the shipment API endpoint.\r\n * - authCookie: The name of the authentication cookie used for user sessions.\r\n * - cacheTtl: Optional. Specifies the time-to-live (TTL) for cached items.\r\n * - printUrl: Optional. The URL used for generating or downloading printable documents.\r\n * - secretKey: A secret key used for authentication or other secure operations.\r\n */\r\nexport type Environment = {\r\n apiBillingDO?: string\r\n apiBillingMX?: string\r\n apiCatalogsUrl?: string\r\n apiCompaniesUrl?: string\r\n apiEToolsAutoBilling?: string\r\n apiExternalOperationsKey?: string\r\n apiExternalOperationsUrl?: string\r\n apiInvoicesUrl?: string\r\n apiOpenItemsUrl?: string\r\n apiReportsUrl?: string\r\n apiSecurityUrl?: string\r\n apiShipmentUrl?: string\r\n authCookie: string\r\n cacheTtl?: number\r\n printUrl?: string\r\n secretKey: string\r\n sockets?: {\r\n app_key: string\r\n debug?: boolean\r\n port: number\r\n url: string\r\n }\r\n}\r\n\r\n/**\r\n * Injection token used to inject environment configurations.\r\n *\r\n * `ENVIRONMENT_TOKEN` is a dependency injection token that allows\r\n * for the provision and retrieval of environment-specific configurations\r\n * within the application. This token is typically associated with an\r\n * `Environment` type that defines the structure of the configuration.\r\n */\r\nexport const ENVIRONMENT_TOKEN = new InjectionToken<Environment>('Environments token')\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { Environment } from './ngx-services.models'\r\nimport { provideHttpClient } from '@angular/common/http'\r\n\r\n@NgModule({\r\n providers: [provideHttpClient()]\r\n})\r\nexport class NgxServicesModule {\r\n /**\r\n * Returns a module with providers for the NgxServicesModule.\r\n *\r\n * @param {Environment} environment - The environment configuration object.\r\n *\r\n * @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.\r\n */\r\n public static forRoot (environment: Environment): ModuleWithProviders<NgxServicesModule> {\r\n return {\r\n ngModule: NgxServicesModule,\r\n providers: [\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport { IncomeTypesOut } from './models/api-billing.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiBillingDOService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiBillingDO ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves a list of income types\r\n *\r\n * @return {Observable<ApiSuccess<IncomeTypesOut>>} An observable that emits the income types data.\r\n */\r\n getIncomeTypes (): Observable<IncomeTypesOut> {\r\n return this.http.get<ApiSuccess<IncomeTypesOut>>(`${this.url}/income-types`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { FiscalRegimensAcceptedOut, FiscalRegimensOut, PostalCodesOut } from './models/api-billing.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiBillingMxService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiBillingMX ?? ''\r\n }\r\n\r\n /**\r\n * Fetches the tax regimen data from the server.\r\n *\r\n * @return {Observable<FiscalRegimensOut>} An observable that emits the fiscal regimen data.\r\n */\r\n getFiscalRegimens (): Observable<FiscalRegimensOut> {\r\n return this.http.get<ApiSuccess<FiscalRegimensOut>>(`${this.url}/fiscal-regimens`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a paginated list of CFDIs (Comprobante Fiscal Digital por Internet) based on the provided fiscal regimen.\r\n *\r\n * @param {number} fiscalRegimen - The fiscal regimen identifier to filter the CFDIs.\r\n * @return {Observable<FiscalRegimensAcceptedOut>} An observable containing the paginated list of CFDIs.\r\n */\r\n getFiscalRegimensAccepted (fiscalRegimen: number): Observable<FiscalRegimensAcceptedOut> {\r\n const params = { 'fiscal-regimen': fiscalRegimen }\r\n\r\n return this.http.get<ApiSuccess<FiscalRegimensAcceptedOut>>(`${this.url}/cfdi-uses/fiscal-regimen-accepted/list`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches and validates postal code data from the server.\r\n *\r\n * @param {QueryParams} params - Query parameters used to filter the postal code data.\r\n * @return {Observable<PostalCodesOut>} - An observable emitting the validated postal code data.\r\n */\r\n getPostalCodes (params: QueryParams): Observable<PostalCodesOut> {\r\n return this.http.get<ApiSuccess<PostalCodesOut>>(`${this.url}/postal-codes`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { ExtraChargesOut, IdentificationTypesOut, OperationTypesOut } from './models/api-catalog.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCatalogsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the reports API from the environment configurations.\r\n *\r\n * @return {string} The URL of the reports API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCatalogsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves the list of collection payments\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the operation types.\r\n * @return {Observable<OperationTypesOut[]>} An observable that emits an array of operation type.\r\n */\r\n getOperationTypes (params: QueryParams): Observable<OperationTypesOut> {\r\n return this.http.get<ApiSuccess<OperationTypesOut>>(`${this.url}/operation-types`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of identificatios types\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the identification types.\r\n * @return {Observable<IdentificationTypesOut[]>} An observable that emits an array of identification type.\r\n */\r\n getIdentificationTypes (params: QueryParams): Observable<IdentificationTypesOut> {\r\n return this.http.get<ApiSuccess<IdentificationTypesOut>>(`${this.url}/identification-types`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the extra charges based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the results.\r\n * @return {Observable<ExtraChargesOut>} An observable emitting the extra charges data.\r\n */\r\n getExtraCharges (params: QueryParams): Observable<ExtraChargesOut> {\r\n return this.http.get<ApiSuccess<ExtraChargesOut>>(`${this.url}/extracharges`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport {\r\n AccountEntitiesActivesOut,\r\n BoardingProcessIdIn,\r\n BoardingProcessIn,\r\n CompanyCountriesOut,\r\n CompanyCountryOut,\r\n CompanyCountryTaxesOut,\r\n CountryReferenceCurrenciesOut,\r\n CountryReferenceOut,\r\n CountryReferencesOut,\r\n EmployeeCustomersIn,\r\n EmployeeCustomersOut,\r\n EmployeeOut,\r\n EmployeesCustomersOut,\r\n EmployeesOut,\r\n ExchangesOut,\r\n InstallationOut,\r\n InstallationsOut,\r\n LocationEmployeesOut,\r\n LocationOut,\r\n LocationsOut,\r\n ParametersIn,\r\n ParametersValuesOut,\r\n ParameterValueIn,\r\n ParameterValueOut,\r\n SupplyEntitiesActivesOut,\r\n WorkflowsOut\r\n} from './models/api-companies.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { forkJoin, map, mergeMap, Observable } from 'rxjs'\r\nimport { CountryCurrencyRate, EmployeeCustomerDhl, } from './models/api-companies.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCompaniesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the companies API from the environment configurations.\r\n *\r\n * @return {string} The URL of the companies API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCompaniesUrl ?? ''\r\n }\r\n\r\n /**\r\n * Fetches the installations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter the installations query.\r\n * @return {Observable<InstallationsOut>} An observable that emits the installation's data.\r\n */\r\n getInstallations (params: QueryParams): Observable<InstallationsOut> {\r\n return this.http.get<ApiSuccess<InstallationsOut>>(`${this.url}/installations`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the installation details based on the given installation ID.\r\n *\r\n * @param {number} id - The unique identifier of the installation to retrieve.\r\n * @returns {Observable<InstallationOut>} An observable of the installation details.\r\n */\r\n getInstallation (id: number): Observable<InstallationOut> {\r\n return this.http.get<ApiSuccess<InstallationOut>>(`${this.url}/installations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of locations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying locations.\r\n * @return {Observable<LocationsOut>} An observable that emits the location's data.\r\n */\r\n getLocations (params: QueryParams): Observable<LocationsOut> {\r\n return this.http.get<ApiSuccess<LocationsOut>>(`${this.url}/locations`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the location details for a given location ID.\r\n *\r\n * @param {number} id - The unique identifier of the location.\r\n * @return {Observable<LocationOut>} An Observable containing the location details.\r\n */\r\n getLocation (id: number): Observable<LocationOut> {\r\n return this.http.get<ApiSuccess<LocationOut>>(`${this.url}/locations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of active supply entities.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter supply entities.\r\n * @return {Observable<SupplyEntitiesActivesOut>} Observable emitting supply entities data.\r\n */\r\n getSupplyEntitiesActives (params: QueryParams): Observable<SupplyEntitiesActivesOut> {\r\n return this.http.get<ApiSuccess<SupplyEntitiesActivesOut>>(`${this.url}/supply-entities/actives`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of employees based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and sort the employees.\r\n * @return {Observable<EmployeesOut>} An observable that emits the list of employees.\r\n */\r\n getEmployees (params: QueryParams): Observable<EmployeesOut> {\r\n return this.http.get<ApiSuccess<EmployeesOut>>(`${this.url}/employees`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches an employee's details based on the provided employee ID.\r\n *\r\n * @param {number} id - The unique identifier of the employee.\r\n * @return {Observable<EmployeeOut>} An observable that emits the employee's details.\r\n */\r\n getEmployee (id: number): Observable<EmployeeOut> {\r\n return this.http.get<ApiSuccess<EmployeeOut>>(`${this.url}/employees/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of employees for a specified location based on provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.\r\n * @returns {Observable<LocationEmployeesOut>} An observable that emits the list of employees for the specified location.\r\n */\r\n getLocationEmployees (params: QueryParams): Observable<LocationEmployeesOut> {\r\n return this.http.get<ApiSuccess<LocationEmployeesOut>>(`${this.url}/location-employees`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of countries where the company operates.\r\n *\r\n * @param {QueryParams} params - The query parameters for the API request.\r\n * @return {Observable<CompanyCountriesOut>} An observable containing the list of company countries.\r\n */\r\n getCompanyCountries (params: QueryParams): Observable<CompanyCountriesOut> {\r\n return this.http.get<ApiSuccess<CompanyCountriesOut>>(`${this.url}/company-countries`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the country information for a specified company by its ID.\r\n *\r\n * @param {number} id - The unique identifier of the company.\r\n * @return {Observable<CompanyCountryOut>} An observable containing the country information of the company.\r\n */\r\n getCompanyCountry (id: number): Observable<CompanyCountryOut> {\r\n return this.http.get<ApiSuccess<CompanyCountryOut>>(`${this.url}/company-countries/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the reference currencies for a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters to include in the request.\r\n * @return {Observable<CountryReferenceCurrenciesOut>} The observable containing the country reference currencies data.\r\n */\r\n getCountryReferenceCurrencies (params: QueryParams): Observable<CountryReferenceCurrenciesOut> {\r\n return this.http.get<ApiSuccess<CountryReferenceCurrenciesOut>>(\r\n `${this.url}/country-reference-currencies`,\r\n { params }\r\n ).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of currencies for different countries along with their current exchange rates.\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.\r\n * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.\r\n */\r\n getCountryCurrenciesWithRate (params: QueryParams): Observable<CountryCurrencyRate[]> {\r\n return this.getCountryReferenceCurrencies(params)\r\n .pipe(mergeMap((currenciesData) => {\r\n const $observables = currenciesData.country_reference_currencies\r\n .map((item) =>\r\n this.getCurrentExchanges({\r\n currency_id: item.currency.id,\r\n }).pipe(\r\n map((exchangesData) => ({\r\n ...item,\r\n rate: exchangesData.exchanges[0]?.value,\r\n }))\r\n )\r\n )\r\n\r\n return forkJoin($observables)\r\n }))\r\n }\r\n\r\n /**\r\n * Fetches exchange data based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving exchange data.\r\n * @return {Observable<ExchangesOut>} An observable containing the exchange data.\r\n */\r\n getExchanges (params: QueryParams): Observable<ExchangesOut> {\r\n return this.http.get<ApiSuccess<ExchangesOut>>(`${this.url}/exchanges`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the current exchanges based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the exchanges.\r\n *\r\n * @returns {Observable<ExchangesOut>} - An observable that emits the API response data containing the current exchanges.\r\n */\r\n getCurrentExchanges (params: QueryParams): Observable<ExchangesOut> {\r\n return this.http.get<ApiSuccess<ExchangesOut>>(`${this.url}/exchanges/current`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country-specific tax information for a company.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter and query the taxes.\r\n * @return {Observable<CompanyCountryTaxesOut>} An observable that emits the tax information.\r\n */\r\n getCompanyCountryTaxes (params: QueryParams): Observable<CompanyCountryTaxesOut> {\r\n return this.http.get<ApiSuccess<CompanyCountryTaxesOut>>(`${this.url}/company-country-taxes`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of active account entities based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and query active account entities.\r\n * @return {Observable<AccountEntitiesActivesOut>} An observable that emits the list of active account entities.\r\n */\r\n getAccountEntitiesActives (params: QueryParams): Observable<AccountEntitiesActivesOut> {\r\n return this.http.get<ApiSuccess<AccountEntitiesActivesOut>>(`${this.url}/account-entities/actives`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {Object} params - An object containing the required parameters.\r\n * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersValuesOut>} An observable that emits the fetched parameter values.\r\n */\r\n getParametersValues ({\r\n paramNames,\r\n }: ParametersIn): Observable<ParametersValuesOut> {\r\n const parameters = paramNames.map((p) => ({ name: p }))\r\n\r\n return this.http.post<ApiSuccess<ParametersValuesOut>>(`${this.url}/parameters-values`, {\r\n parameters\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the value of a specified parameter.\r\n *\r\n * @param {Object} input - The input object containing the parameter details.\r\n * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.\r\n * @return {Observable<ParameterValueOut>} An observable emitting the value of the specified parameter.\r\n */\r\n getParameterValue ({\r\n paramName,\r\n }: ParameterValueIn): Observable<ParameterValueOut> {\r\n return this.http.get<ApiSuccess<ParameterValueOut>>(`${this.url}/parameters-values/${paramName}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of country references based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving country references.\r\n * @return {Observable<CountryReferencesOut>} An observable containing the country reference data.\r\n */\r\n getCountryReferences (params: QueryParams): Observable<CountryReferencesOut> {\r\n return this.http.get<ApiSuccess<CountryReferencesOut>>(`${this.url}/country-references`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country reference data for a given country ID.\r\n *\r\n * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.\r\n * @return {Observable<CountryReferenceOut>} An observable containing the country reference data.\r\n */\r\n getCountryReference (id: number): Observable<CountryReferenceOut> {\r\n return this.http.get<ApiSuccess<CountryReferenceOut>>(`${this.url}/country-references/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of workflows based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter workflows.\r\n * @return {Observable<WorkflowsOut>} An observable containing the workflow data.\r\n */\r\n getWorkflows (params: QueryParams): Observable<WorkflowsOut> {\r\n return this.http.get<ApiSuccess<WorkflowsOut>>(`${this.url}/workflows`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of employee customer\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter employee customers.\r\n * @return {Observable<EmployeeCustomersOut>} An observable containing the employee customer data.\r\n */\r\n getEmployeesCustomers (params: QueryParams): Observable<EmployeesCustomersOut> {\r\n return this.http.get<ApiSuccess<EmployeesCustomersOut>>(`${this.url}/employee-customers`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Sends a POST request to create or update employee customer records and processes the server response.\r\n *\r\n * @param {EmployeeCustomersIn} body - The request payload containing employee customer data to be sent to the server.\r\n * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee customer data on successful response.\r\n */\r\n postEmployeeCustomers (body: EmployeeCustomersIn) {\r\n return this.http.post<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers`,\r\n body\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Updates the employee-customer association record identified by the given ID with the provided data.\r\n *\r\n * @param {number} id - The identifier of the employee-customer record to update.\r\n * @param {EmployeeCustomersIn} body - The data to update the employee-customer record with.\r\n * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee-customer data.\r\n */\r\n putEmployeeCustomers (id: number, body: EmployeeCustomersIn) {\r\n return this.http.put<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers/${id}`, body\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Fetches the employee-customer details based on the provided employee customer ID.\r\n *\r\n * @param {number} id - The identifier of the employee-customer record to update.\r\n * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee-customer data.\r\n */\r\n getEmployeeCustomer (id: number) {\r\n return this.http.get<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers/${id}`\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Enables or disables an employee customer's active state.\r\n *\r\n * @param {EmployeeCustomerDhl} employee - The employee customer object to be updated.\r\n * @param {boolean} [isActive] - Optional parameter to explicitly set the active state.\r\n * If null or undefined, the active state will be toggled.\r\n * @return {Observable<EmployeeCustomersOut>} An observable containing the updated employee customer output.\r\n */\r\n enableDisableEmployeeCustomers (employee: EmployeeCustomerDhl, isActive?: boolean): Observable<EmployeeCustomersOut> {\r\n return this.http.patch<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers/${employee.id}`, {\r\n is_active: isActive ?? !employee.is_active\r\n }).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Submits a file containing employee customer data for a specific country to the server.\r\n *\r\n * @param {number} countryId - The identifier of the country for which the data is being uploaded.\r\n * @param {File} file - The file containing employee customer data to be uploaded.\r\n * @return {Observable<BoardingProcessIdIn>} Observable that emits the processed boarding process ID on success.\r\n */\r\n postEmployeeCustomersLoad (countryId: number, file: File) {\r\n const formData = new FormData()\r\n formData.append('file', file)\r\n formData.append('country_id', countryId.toString())\r\n return this.http.post<ApiSuccess<BoardingProcessIdIn>>(\r\n `${this.url}/employee-customers/load`,\r\n formData\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Downloads a file containing customer data for a specific employee based on the provided country ID.\r\n *\r\n * @param {number} id - The ID of the country used as a filter for fetching the employee's customers.\r\n * @return {Observable<Blob>} An observable that emits the file blob containing the customer data.\r\n */\r\n getEmployeeCustomersDownload (id:number):Observable<Blob> {\r\n return this.http.get(`${this.url}/employee-customers/download`, {\r\n params: { country_id: id },\r\n responseType: 'blob'\r\n })\r\n }\r\n\r\n /**\r\n * Retrieves the boarding process details for a given ID.\r\n *\r\n * @param {number} id - The unique identifier of the boarding process to retrieve.\r\n * @return {Observable<BoardingProcessIn>} An observable containing the boarding process details.\r\n */\r\n getBoardingProcess (id:number) {\r\n return this.http.get<ApiSuccess<BoardingProcessIn>>(`${this.url}/boarding-process/${id}`\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport {\r\n ExternalShipmentAddressesIn,\r\n ExternalShipmentAddressesOut,\r\n ExternalShipmentFileOut,\r\n ExternalShipmentHistoriesOut,\r\n ExternalShipmentStatusOut\r\n} from './models/api-e-tools-auto-billing.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiEToolsAutoBillingService {\r\n constructor(\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url(): string {\r\n return this.environments.apiEToolsAutoBilling ?? ''\r\n }\r\n\r\n /**\r\n * Updates external shipment addresses using the provided parameters and returns the updated addresses.\r\n *\r\n * @param {ExternalShipmentAddressesIn} body - The input parameters containing details of the shipment addresses to be updated.\r\n * @return {Observable<ExternalShipmentAddressesOut>} An observable containing the updated external shipment addresses.\r\n */\r\n patchExternalShipmentAddresses(body: ExternalShipmentAddressesIn): Observable<ExternalShipmentAddressesOut> {\r\n return this.http.patch<ApiSuccess<ExternalShipmentAddressesOut>>(`${this.url}/external-shipment-addresses`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the external shipment file by its identifier.\r\n *\r\n * @param {number} fileId - The unique identifier of the external shipment file to be retrieved.\r\n * @return {Observable<ExternalShipmentFileOut>} An observable containing the external shipment file data.\r\n */\r\n getExternalShipmentFile(fileId: number): Observable<ExternalShipmentFileOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentFileOut>>(`${this.url}/external-shipment-files/${fileId}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the history entries for a specific external shipment.\r\n *\r\n * @param {number} id - The ID of the external shipment to retrieve history for.\r\n * @return {Observable<ExternalShipmentHistoriesOut>} An observable containing the external shipment history entries.\r\n */\r\n getExternalShipmentHistories(id: number): Observable<ExternalShipmentHistoriesOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentHistoriesOut>>(`${this.url}/external-shipments/${id}/external-shipment-histories`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of external shipment statuses\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the external shipment statuses.\r\n * @return {Observable<ExternalShipmentStatusOut>} An observable that emits the external shipment statuses data.\r\n */\r\n getExternalShipmentStatuses(params: QueryParams): Observable<ExternalShipmentStatusOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentStatusOut>>(`${this.url}/external-shipment-statuses`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport {\r\n DeliveryConfirmationCompleteIn,\r\n DeliveryConfirmationGenerateIn,\r\n DeliveryConfirmationGenerateOut,\r\n DeliveryConfirmationIn\r\n} from './models/api-external-pickups.types'\r\nimport { Observable } from 'rxjs'\r\nimport { map } from 'rxjs/operators'\r\nimport { ApiSuccess } from './models/api.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiExternalPickupsService {\r\n private appKey: string\r\n\r\n constructor (\r\n private httpClient: HttpClient,\r\n @Inject('env') private environment: Environment\r\n ) {\r\n this.appKey = environment.apiExternalOperationsKey ?? ''\r\n }\r\n\r\n /**\r\n * Getter method to retrieve the API's external operations URL.\r\n * Fetches the URL from the `apiExternalOperationsUrl` property of the environment object.\r\n * Defaults to an empty string if the property is undefined or null.\r\n *\r\n * @return {string} The external operations URL or an empty string if unavailable.\r\n */\r\n get url (): string {\r\n return this.environment.apiExternalOperationsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Generates a delivery confirmation by sending the provided payload to the API.\r\n *\r\n * @param {DeliveryConfirmationGenerateIn} payload - The input payload required to generate the delivery confirmation.\r\n * @return {Observable<DeliveryConfirmationGenerateOut>} An observable that emits the generated delivery confirmation data.\r\n */\r\n public postDeliveryConfirmationGenerate (payload: DeliveryConfirmationGenerateIn): Observable<DeliveryConfirmationGenerateOut> {\r\n return this.httpClient.post<ApiSuccess<DeliveryConfirmationGenerateOut>>(\r\n `${this.url}/delivery-confirmation/generate`,\r\n payload, {\r\n headers: { appkey: this.appKey }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Confirms the completion of a delivery operation by making a PATCH request.\r\n *\r\n * @param {Object} input - The input parameters for the method.\r\n * @param {string} input.operationId - The unique identifier of the delivery operation to be confirmed.\r\n * @param {string} input.keyOTP - The one-time password (OTP) key associated with the delivery confirmation.\r\n * @return {Observable<Object>} - An observable containing the response data from the API.\r\n */\r\n public patchDeliveryConfirmationComplete ({\r\n keyOTP,\r\n operationId,\r\n }: DeliveryConfirmationCompleteIn): Observable<{}> {\r\n return this.httpClient.patch<ApiSuccess<{}>>(\r\n `${this.url}/delivery-confirmation/completed/${keyOTP}`,\r\n null, {\r\n headers: { appkey: this.appKey },\r\n params: { operation_id: operationId }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels a delivery confirmation by sending an OTP and additional data to the server.\r\n *\r\n * @param {Object} param0 - The parameter object containing the required properties.\r\n * @param {string} param0.otp - The one-time password to authenticate the cancellation request.\r\n * @param {Object} param0.body - Additional body data required for cancellation.\r\n * @return {Observable<Object>} An observable that emits the server's response when the cancellation is processed.\r\n */\r\n public putDeliveryConfirmation ({\r\n otp,\r\n ...body\r\n }: DeliveryConfirmationIn): Observable<{}> {\r\n return this.httpClient.put<ApiSuccess<{}>>(\r\n `${this.url}/delivery-confirmation/confirmation/${otp}`,\r\n body, {\r\n headers: { appkey: this.appKey },\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\nimport {\r\n CancelPaymentReceiptIn,\r\n CustomerDocumentTypesOut,\r\n CustomersOut,\r\n CustomerTypesOut,\r\n InvoiceTypeCustomParamsIn,\r\n OperationAccountPaymentIn,\r\n OperationAccountPaymentOut,\r\n OperationCancelBillingIn,\r\n OperationDocumentIn,\r\n OperationDocumentOut,\r\n OperationPrintDocumentOut,\r\n OperationShipmentExternalIn,\r\n OperationShipmentExternalOut,\r\n PrintCollectionReceiptOut\r\n} from './models/api-invoices.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiInvoicesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the API URL for invoices from the environments configuration.\r\n *\r\n * @return {string} The API URL for invoices.\r\n */\r\n get url (): string {\r\n return this.environments.apiInvoicesUrl ?? ''\r\n }\r\n\r\n /**\r\n * Sends an operation document to the server and processes the response.\r\n *\r\n * @param {OperationDocumentIn} body - The input data for the operation document.\r\n * @return {Observable<OperationDocumentOut>} An observable containing the processed operation document output.\r\n */\r\n postOperationDocument (body: OperationDocumentIn): Observable<OperationDocumentOut> {\r\n return this.http.post<ApiSuccess<OperationDocumentOut>>(`${this.url}/operation/document`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches and returns the collection receipt data for a given collection ID.\r\n *\r\n * @param {number} id - The unique identifier of the collection for which the receipt needs to be retrieved.\r\n * @return {Observable<PrintCollectionReceiptOut>} An observable containing the collection receipt data.\r\n */\r\n getPrintCollectionReceipt (id: number): Observable<PrintCollectionReceiptOut> {\r\n return this.http.get<ApiSuccess<PrintCollectionReceiptOut>>(`${this.url}/operation/print/collection-receipt/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Handles the account payment operation by sending a POST request to the specified endpoint.\r\n * Processes the response and returns the operation data.\r\n *\r\n * @param {OperationAccountPaymentIn} body The payload containing information for the account payment operation.\r\n * @return {Observable<OperationAccountPaymentOut>} An observable emitting the processed account payment operation data.\r\n */\r\n postOperationAccountPayment (body: OperationAccountPaymentIn): Observable<OperationAccountPaymentOut> {\r\n return this.http.post<ApiSuccess<OperationAccountPaymentOut>>(`${this.url}/operation/account-payment`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels a payment receipt based on the provided input.\r\n * This method sends a POST request to cancel a document.\r\n *\r\n * @param body The data required to cancel the payment receipt, encapsulated in a CancelPaymentReceiptIn object.\r\n * @return An Observable representing the result of the cancellation. Emits an empty object on success.\r\n */\r\n postOperationCancelDocument (body: CancelPaymentReceiptIn): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/operation/cancel-document`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels an invoice based on the provided invoice ID and additional parameters.\r\n *\r\n * @param {Object} parameters - The parameters required to cancel the invoice, encapsulated in a CancelBillingIn object.\r\n * @return {Observable<Object>} An observable that emits the response of the cancellation operation.\r\n */\r\n postOperationCancelBilling ({ invoiceId, ...body }: OperationCancelBillingIn): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/operation/cancel-billing/${invoiceId}`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of customer types from the server.\r\n *\r\n * @param {QueryParams} params - Query parameters to filter or customize the request.\r\n * @return {Observable<CustomerTypesOut>} An observable emitting the customer types fetched from the server.\r\n */\r\n getCustomerTypes (params: QueryParams): Observable<CustomerTypesOut> {\r\n return this.http.get<ApiSuccess<CustomerTypesOut>>(`${this.url}/customer-types`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves document types specific to a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters containing country-specific information.\r\n * @return {Observable<CustomerDocumentTypesOut>} An observable emitting the document types available for the specified country.\r\n */\r\n getCustomerDocumentTypes (params: QueryParams): Observable<CustomerDocumentTypesOut> {\r\n return this.http.get<ApiSuccess<CustomerDocumentTypesOut>>(`${this.url}/customer-country-document-types`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches customer invoice details filtered by a custom invoice type.\r\n *\r\n * @param {InvoiceTypeCustomParamsIn} params - An object containing the filter parameters for the custom invoice type.\r\n * @return {Observable<CustomersOut>} An observable containing customer invoice details of the specified type.\r\n */\r\n getCustomers (params: QueryParams): Observable<CustomersOut> {\r\n return this.http.get<ApiSuccess<CustomersOut>>(`${this.url}/customers`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Sends a POST request to create or update an external shipment operation.\r\n *\r\n * @param {OperationShipmentExternalIn} params - The input parameters for the external shipment operation.\r\n * @return {Observable<OperationShipmentExternalOut>} An observable that emits the result of the external shipment operation.\r\n */\r\n postOperationShipmentExternal (params: OperationShipmentExternalIn): Observable<OperationShipmentExternalOut> {\r\n return this.http.post<ApiSuccess<OperationShipmentExternalOut>>(`${this.url}/operation/shipment/external`, params)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Processes an external payment operation for a shipment.\r\n *\r\n * @param {OperationShipmentExternalIn} params - The input parameters required for the external payment operation.\r\n * @return {Observable<OperationShipmentExternalOut>} An observable that emits the result of the external payment operation for a shipment.\r\n */\r\n postOperationShipmentExternalPayment (params: OperationShipmentExternalIn): Observable<OperationShipmentExternalOut> {\r\n return this.http.post<ApiSuccess<OperationShipmentExternalOut>>(`${this.url}/operation/shipment/external/payment`, params)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves and returns billing operation print details for a given document ID.\r\n *\r\n * @param {number} documentId - The ID of the document for which to fetch the print billing operation details.\r\n * @return {Observable<OperationPrintDocumentOut>} An observable emitting the print billing operation details for the specified document.\r\n */\r\n getOperationPrintDocument (documentId: number): Observable<OperationPrintDocumentOut> {\r\n return this.http.get<ApiSuccess<OperationPrintDocumentOut>>(`${this.url}/operation/print/document/${documentId}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { OpenItemsOut, OtherInvoiceOut, PaymentOut } from './models/api-open-items.types'\r\nimport { map, Observable } from 'rxjs'\r\nimport { OtherInvoiceIn, PaymentOpenItemIn } from './models/api-open-items.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiOpenItemsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API URL for open-items from the environments' configuration.\r\n *\r\n * @return {string} The API URL for open-items.\r\n */\r\n get url (): string {\r\n return this.environments.apiOpenItemsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves a list of open-items based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying open-items.\r\n * @return {Observable<OpenItemsOut>} An observable that emits the open-item's data.\r\n */\r\n getOpenItems (params: QueryParams): Observable<OpenItemsOut> {\r\n return this.http.get<ApiSuccess<OpenItemsOut>>(`${this.url}/open-items`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Processes a payment for an open item.\r\n *\r\n * @param {PaymentOpenItemIn} body - The payment details for the open item.\r\n * @return {Observable<PaymentOut>} An observable that emits the result of the payment processing.\r\n */\r\n postPayment (body: PaymentOpenItemIn): Observable<PaymentOut> {\r\n return this.http.post<ApiSuccess<PaymentOut>>(`${this.url}/payment`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Processes a payment for other invoice.\r\n *\r\n * @param {OtherInvoiceIn} body - The payment details for the other invoice.\r\n * @return {Observable<OtherInvoiceOut>} An observable that emits the result of the payment processing.\r\n */\r\n postOtherInvoice (body: OtherInvoiceIn): Observable<OtherInvoiceOut> {\r\n return this.http.post<ApiSuccess<OtherInvoiceOut>>(`${this.url}/other-invoices`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport {\r\n CollectionPaymentsOut,\r\n ExistPendingInvoicesIn,\r\n ExistPendingPaymentsIn,\r\n ExternalShipmentsOut,\r\n ShipmentsReportOut\r\n} from './models/api-reports.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiReportsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the reports API from the environment configurations.\r\n *\r\n * @return {string} The URL of the reports API.\r\n */\r\n get url (): string {\r\n return this.environments.apiReportsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves the list of collection payments\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the collection payments.\r\n * @return {Observable<CollectionPaymentsOut[]>} An observable that emits an array of collection payment.\r\n */\r\n getCollectionPayments (params: QueryParams): Observable<CollectionPaymentsOut> {\r\n return this.http.get<ApiSuccess<CollectionPaymentsOut>>(`${this.url}/collection-payment`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of shipments with pending payments.\r\n *\r\n * @param {ExistPendingPaymentsIn} params - The parameters to filter pending payment shipments.\r\n * @return {Observable<ShipmentsReportOut>} An observable emitting the shipments report data.\r\n */\r\n shipmentsPendingPayments (params: ExistPendingPaymentsIn): Observable<ShipmentsReportOut> {\r\n return this.http.get<ApiSuccess<ShipmentsReportOut>>(`${this.url}/shipments-report`, {\r\n params: {\r\n ...params,\r\n limit: 1,\r\n offset: 0,\r\n to_landing: true,\r\n shipment_status_code: 'PMPEN',\r\n },\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches shipment reports that are pending invoices based on the specified parameters.\r\n * This method retrieves a filtered list of shipments with pending invoice statuses.\r\n *\r\n * @param {ExistPendingInvoicesIn} params - The parameters to filter the pending invoices, including\r\n * shipment status codes, and pagination options.\r\n * @return {Observable<ShipmentsReportOut>} An observable that emits the shipment report data based on the filter criteria.\r\n */\r\n shipmentsPendingInvoices (params: ExistPendingInvoicesIn): Observable<ShipmentsReportOut> {\r\n return this.http.get<ApiSuccess<ShipmentsReportOut>>(`${this.url}/shipments-report`, {\r\n params: {\r\n ...params,\r\n limit: 1,\r\n offset: 0,\r\n to_landing: true,\r\n 'shipment_status_code[in]': 'IPMPE,IMPEN,IPPEN',\r\n },\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches shipment reports based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter or define the shipment reports.\r\n * @return {Observable<ShipmentsReportOut>} An observable emitting the shipment report data.\r\n */\r\n getShipmentsReport (params: QueryParams): Observable<ShipmentsReportOut> {\r\n return this.http.get<ApiSuccess<ShipmentsReportOut>>(`${this.url}/shipments-report`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a report of external shipments based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - An object representing the query parameters for filtering the external shipments report.\r\n * @return {Observable<ExternalShipmentsOut>} An observable that emits the external shipments report data.\r\n */\r\n getExternalShipmentsReport (params: QueryParams): Observable<ExternalShipmentsOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentsOut>>(`${this.url}/external-shipments-report`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport {\r\n AuthLoginIn,\r\n AuthLoginOut,\r\n AuthMeOut,\r\n AuthUserLoginIn,\r\n ChangeLanguageIn,\r\n GetUserOut,\r\n GetUsersOut,\r\n ModulesOut,\r\n PutUsersIn,\r\n PutUsersOut,\r\n RoleIn,\r\n RoleOut,\r\n RolesOut,\r\n RoleTypesOut,\r\n SessionIn,\r\n SessionOut\r\n} from './models/api-security.types'\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { map, Observable, tap } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiSecurityService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService,\r\n private http: HttpClient\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API security URL from the environments configuration.\r\n *\r\n * @return {string} The API security URL.\r\n */\r\n get url (): string {\r\n return this.environments.apiSecurityUrl ?? ''\r\n }\r\n\r\n /**\r\n * Handles the login authentication request by sending the login data to the authentication endpoint.\r\n *\r\n * @param {AuthLoginIn} body The payload containing login credentials.\r\n * @return {Observable<AuthLoginOut>} An observable emitting the authentication response data.\r\n */\r\n postAuthLogin (body: AuthLoginIn): Observable<AuthLoginOut> {\r\n return this.http.post<ApiSuccess<AuthLoginOut>>(`${this.url}/auth/login`, body)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(({ access_token }) => this.cookie.set(this.environments.authCookie, access_token, { path: '/' }))\r\n )\r\n }\r\n\r\n /**\r\n * Handles the user login process by sending user credentials to the authentication endpoint.\r\n *\r\n * @param {AuthUserLoginIn} body - The request payload containing user login details such as username and password.\r\n * @return {Observable<AuthLoginOut>} An observable that emits the authenticated user's login data upon successful login.\r\n */\r\n postAuthUserLogin (body: AuthUserLoginIn): Observable<AuthLoginOut> {\r\n return this.http.post<ApiSuccess<AuthLoginOut>>(`${this.url}/auth/user-login`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Logs out the current user by making a POST request to the logout endpoint.\r\n *\r\n * This method deletes all cookies after a successful logout.\r\n *\r\n * @return {Observable<{}>} An observable that emits the server's response to the logout request.\r\n */\r\n postAuthLogout (): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/auth/logout`, null)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(() => this.cookie.delete(this.environments.authCookie, '/'))\r\n )\r\n }\r\n\r\n /**\r\n * Creates a new session for a specified model.\r\n *\r\n * @param {Object} params - The parameters for creating the session.\r\n * @param {string} params.modelType - The type of the model.\r\n * @param {string} params.modelId - The ID of the model.\r\n * @param {string} [params.token] - Optional authorization token.\r\n *\r\n * @return {Observable<SessionOut>} An observable containing the created session details.\r\n */\r\n postSession ({\r\n modelType,\r\n modelId,\r\n token,\r\n }: SessionIn): Observable<SessionOut> {\r\n let headers = new HttpHeaders({})\r\n\r\n if (token) { headers = headers.set('Authorization', `Bearer ${token}`) }\r\n\r\n return this.http.post<ApiSuccess<SessionOut>>(\r\n `${this.url}/sessions`, {\r\n model_type: modelType,\r\n model_id: modelId,\r\n }, {\r\n headers\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's information.\r\n * Sends a GET request to the endpoint '/auth/me' to retrieve information\r\n * about the currently authenticated user.\r\n *\r\n * @return {Observable<AuthMeOut>} An observable that emits the authenticated user's data.\r\n */\r\n getAuthMe (): Observable<AuthMeOut> {\r\n return this.http.get<ApiSuccess<AuthMeOut>>(`${this.url}/auth/me`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's details from the server.\r\n *\r\n * @param token The JWT token used for authorization.\r\n * @return An Observable that emits the user's details encapsulated in a MeOut object.\r\n */\r\n getOtherMe (token: string): Observable<AuthMeOut> {\r\n return this.http.get<ApiSuccess<AuthMeOut>>(`${this.url}/auth/me`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a user by their unique ID.\r\n *\r\n * @param {number} id - The unique identifier of the user to be fetched.\r\n * @return {Observable<GetUserOut>} An observable containing the user information.\r\n */\r\n getUser (id: number): Observable<GetUserOut> {\r\n return this.http.get<ApiSuccess<GetUserOut>>(`${this.url}/users/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of users from the server based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the list of users.\r\n * @return {Observable<GetUsersOut>} An observable that emits the list of users retrieved from the server.\r\n */\r\n getUsers (params: QueryParams): Observable<GetUsersOut> {\r\n return this.http.get<ApiSuccess<GetUsersOut>>(`${this.url}/users`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Updates the information of a specified user on the server.\r\n *\r\n * @param {Object} params - The parameter object.\r\n * @param {Object} params.user - The user object containing updated data.\r\n * @param {string} params.user.id - The unique identifier of the user to be updated.\r\n *\r\n * @return {void} This method does not return a value.\r\n */\r\n putUsers ({ user }: PutUsersIn) {\r\n return this.http.put<ApiSuccess<PutUsersOut>>(`${this.url}/users/${user.id}`, user)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Changes the language for the authenticated user.\r\n *\r\n * @param {Object} params - The input parameters for changing the language.\r\n * @param {string} params.languageId - The ID of the new language to be set.\r\n * @return {Observable<ApiSuccess<AuthMeOut>>} An observable that emits the result of the language change request.\r\n */\r\n putChangeLanguage ({\r\n languageId\r\n }: ChangeLanguageIn): Observable<AuthMeOut> {\r\n return this.http.put<ApiSuccess<AuthMeOut>>(`${this.url}/auth/me`, {\r\n language_id: languageId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of roles with their permissions.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the roles.\r\n * @returns {Observable<RoleIn[]>} An observable that emits an array of role permissions.\r\n */\r\n getRoles (params: QueryParams): Observable<RolesOut> {\r\n return this.http.get<ApiSuccess<RolesOut>>(`${this.url}/roles`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the role types from the API.\r\n *\r\n * @param {QueryParams} params - The query parameters to be sent with the request.\r\n * @returns {Observable<RoleTypesOut>} An observable containing the role types output.\r\n */\r\n getRoleTypes (params: QueryParams): Observable<RoleTypesOut> {\r\n return this.http.get<ApiSuccess<RoleTypesOut>>(`${this.url}/role-types`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves roles by the specified ID.\r\n *\r\n * @param id - The ID of the role to retrieve.\r\n * @returns An Observable that emits the role data.\r\n */\r\n getRole (id: number): Observable<RoleOut> {\r\n return this.http.get<ApiSuccess<RoleOut>>(`${this.url}/roles/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Creates a new role with the specified permissions.\r\n *\r\n * @param {RoleIn} body - The permissions and details for the new role.\r\n * @returns {Observable<RoleOut>} An observable containing the created role's permissions.\r\n */\r\n postRole (body: RoleIn): Observable<RoleOut> {\r\n return this.http.post<ApiSuccess<RoleOut>>(`${this.url}/roles`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Updates the permissions of a specific role.\r\n *\r\n * @param id - The unique identifier of the role to update.\r\n * @param body - The new permissions to assign to the role.\r\n * @returns An Observable that emits the updated module permissions.\r\n */\r\n putRole (id: number, body: RoleIn): Observable<RoleOut> {\r\n return this.http.put<ApiSuccess<RoleOut>>(`${this.url}/roles/${id}`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Deletes the permissions associated with a specific role.\r\n *\r\n * @param {number} id - The unique identifier of the role whose permissions are to be deleted.\r\n * @returns {Observable<{}>} An observable that emits the result of the delete operation.\r\n */\r\n deleteRole (id: number): Observable<{}> {\r\n return this.http.delete<ApiSuccess<{}>>(`${this.url}/roles/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of modules and permissions\r\n *\r\n * @param queryParams - The query parameters to filter the modules.\r\n * @returns Observable<ModulesOut[]> - An observable that emits an array of modules and permissions.\r\n */\r\n getModules (queryParams: QueryParams): Observable<ModulesOut> {\r\n return this.http.get<ApiSuccess<ModulesOut>>(`${this.url}/modules`, {\r\n params: queryParams\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of modules and permissions\r\n *\r\n * @param params.token - Custom token for authorization.\r\n * @param params.queryParams - The query parameters to filter the modules.\r\n * @returns Observable<ModulesOut[]> - An observable that emits an array of modules and permissions.\r\n */\r\n getModulesByToken (params: {\r\n token: string,\r\n queryParams: QueryParams\r\n }): Observable<ModulesOut> {\r\n return this.http.get<ApiSuccess<ModulesOut>>(`${this.url}/modules`, {\r\n params: params.queryParams,\r\n headers: {\r\n Authorization: `Bearer ${params.token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\nimport {\r\n ManifestMultipleIn,\r\n ManifestMultipleOut,\r\n ShipmentEmployeeCustomer,\r\n ShipmentCancellationIn,\r\n ShipmentCancellationOut,\r\n ValidateAccountIn,\r\n ValidateAccountOut\r\n} from './models/api-shipments.types'\r\nimport { ApiSuccess } from './models/api.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiShipmentsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiShipmentUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {ValidateAccountIn} body - An object of parameter names for which the values need to be fetched.\r\n * @return {Observable<ValidateAccountIn>} An observable that emits the fetched parameter values\r\n * @param body\r\n */\r\n postValidateAccount (body: ValidateAccountIn): Observable<ValidateAccountOut> {\r\n return this.http.post<ApiSuccess<ValidateAccountOut>>(`${this.url}/accounts`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Sends a POST request to the shipments manifest endpoint with the provided body.\r\n *\r\n * @param body - The request payload of type `ManifestMultipleIn`.\r\n * @returns An observable that emits the response data of type `ManifestMultipleOut`.\r\n */\r\n postManifestMultiple (body: ManifestMultipleIn) {\r\n return this.http.post<ApiSuccess<ManifestMultipleOut>>(`${this.url}/shipments/manifest`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Validates and obtains the number of shipments allowed by an employee customer\r\n *\r\n * @param {id} params - The id employee customer\r\n * @return {Observable<ShipmentEmployeeCustomer>} An observable containing the shipments allowed by an employee\r\n */\r\n getEmployeeCustomer (id: number): Observable<ShipmentEmployeeCustomer> {\r\n return this.http.get<ApiSuccess<ShipmentEmployeeCustomer>>(`${this.url}/shipments/employee-customer/${id}`).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels a specific shipment by providing its ID and a reason for cancellation.\r\n * Sends a PATCH request to update the shipment's cancellation status with the specified reason.\r\n *\r\n * @param {Object} param0 - The input object containing shipment cancellation details.\r\n * @param {string} param0.shipmentId - The unique identifier of the shipment to be canceled.\r\n * @param {string} param0.reasonId - The unique identifier of the reason for cancellation.\r\n * @return {Observable<ShipmentCancellationOut>} An observable emitting the result of the cancellation operation.\r\n */\r\n patchShipmentsCancellation ({ shipmentId, reasonId }: ShipmentCancellationIn) {\r\n return this.http.patch<ApiSuccess<ShipmentCancellationOut>>(`${this.url}/shipments/${shipmentId}/cancellation`, {\r\n cancellationReasonId: reasonId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport Pusher, { Channel } from 'pusher-js'\r\nimport { Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WebSocketsService {\r\n private pusher: Pusher | null\r\n\r\n constructor (\r\n @Inject('env') private environments: Environment\r\n ) {\r\n this.pusher = null\r\n\r\n this.connect()\r\n .then((pusher) => {\r\n if (!pusher) return\r\n\r\n this.pusher = pusher\r\n })\r\n }\r\n\r\n /**\r\n * Publishes an event to the specified channel with the given data.\r\n *\r\n * @param {Channel} channel - The channel instance where the event will be published.\r\n * @param {string} eventName - The name of the event to be published.\r\n * @param {T} data - The payload data to be sent with the event.\r\n * @return {Promise<boolean>} A promise that resolves to a boolean indicating\r\n * whether the event was successfully triggered on the channel.\r\n */\r\n async pub<T> (channel: Channel, eventName: string, data: T) {\r\n return channel.trigger(`client-${eventName}`, data)\r\n }\r\n\r\n /**\r\n * Subscribes to a specified channel, retrying multiple times upon failure.\r\n *\r\n * @param {string} channelName - The name of the channel to be subscribed to.\r\n * @return {Promise<Channel>} A promise that resolves to the subscribed channel object if successful.\r\n * @throws {Error} If the subscription fails after the maximum number of retry attempts.\r\n */\r\n async channelSub (channelName: string): Promise<Channel> {\r\n const attempts = 3\r\n\r\n for (let attempt = 0; attempt <= attempts; attempt++) {\r\n const channel = this.pusher?.channel(channelName)\r\n\r\n if (channel?.subscribed) {\r\n return channel\r\n }\r\n\r\n this.pusher?.subscribe(channelName)\r\n\r\n if (attempt < attempts) {\r\n await this.wait()\r\n }\r\n }\r\n\r\n throw new Error(`Failed to subscribe to channel \"${channelName}\" after ${attempts} attempts.`)\r\n }\r\n\r\n /**\r\n * Binds an event listener to a specified event on a given channel using Pusher or a Channel object,\r\n * and returns an Observable that emits event data of type T.\r\n *\r\n * @param {Channel|string} channel - The channel to bind the event to. It can be a Channel object or a string representing the channel name.\r\n * @param {string} event - The name of the event to bind to the channel.\r\n * @return {Observable<T>} An Observable that emits data of type T when the specified event is triggered.\r\n */\r\n eventBind<T> (channel: Channel | string, event: string): Observable<T> {\r\n return new Observable((subscriber) => {\r\n if ((channel as Channel)?.name) {\r\n (channel as Channel).bind(event, (data: T) => subscriber.next(data))\r\n } else {\r\n this.pusher?.subscribe((channel as string))\r\n .bind(event, (data: T) => subscriber.next(data))\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * Unbinds an event from the specified channel and returns an observable\r\n * that emits data when the event callback is triggered.\r\n *\r\n * @param {Channel} channel - The channel object from which the event should be unbound.\r\n * @param {string} event - The name of the event to unbind.\r\n * @return {Observable<T>} An observable that emits data from the unbound event callback.\r\n */\r\n eventUnbind<T> (channel: Channel, event: string) {\r\n return new Observable((subscriber) =>\r\n channel.unbind(event, (data: T) => subscriber.next(data)))\r\n }\r\n\r\n private connect () {\r\n return new Promise<Pusher | false>((resolve) => {\r\n const { sockets } = this.environments\r\n\r\n if (!sockets) return resolve(false)\r\n\r\n const pusher = new Pusher(sockets.app_key, {\r\n wsHost: sockets.url,\r\n wsPort: sockets.port,\r\n enabledTransports: ['wss', 'ws'],\r\n forceTLS: false,\r\n enableStats: false,\r\n })\r\n\r\n if (sockets.debug) {\r\n Pusher.logToConsole = true\r\n }\r\n\r\n return resolve(pusher)\r\n })\r\n }\r\n\r\n private async wait (): Promise<void> {\r\n const waitTime = 3 * 1000\r\n\r\n return new Promise((resolve) => setTimeout(resolve, waitTime))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CryptoService {\r\n constructor (\r\n @Inject('env') private environments: Environment\r\n ) {\r\n }\r\n\r\n public async encryptAES (plaintext: string): Promise<string> {\r\n const cryptoKey = await this.loadKey()\r\n\r\n // Convert the plaintext in Uint8Array\r\n const encoder = new TextEncoder()\r\n const encoded = encoder.encode(plaintext)\r\n\r\n // Generate a random Initialization Vector (IV)\r\n const iv = crypto.getRandomValues(new Uint8Array(12))\r\n\r\n // Encrypt the plaintext\r\n const ciphertext = await crypto.subtle.encrypt(\r\n {\r\n name: 'AES-GCM',\r\n iv,\r\n },\r\n cryptoKey,\r\n encoded\r\n )\r\n\r\n return `${this.uint8ArrayToBase64(iv)}:${this.arrayBufferToBase64(ciphertext)}`\r\n }\r\n\r\n public async decryptAES (payload: string): Promise<string> {\r\n // Extract the Initialization Vector (IV), and the cypher text\r\n const [base64IV, base64Ciphertext] = payload.split(':')\r\n\r\n if (!base64IV || !base64Ciphertext) { throw new Error('The payload must contain the IV and the cipher text.') }\r\n\r\n const cryptoKey = await this.loadKey()\r\n\r\n const iv = this.base64ToUint8Array(base64IV)\r\n const cipherText = this.base64ToArrayBuffer(base64Ciphertext)\r\n\r\n // Decrypt the cypher text\r\n const decrypted = await crypto.subtle.decrypt(\r\n {\r\n name: 'AES-GCM',\r\n iv,\r\n },\r\n cryptoKey,\r\n cipherText\r\n )\r\n\r\n // Decode the decrypted text\r\n const decoder = new TextDecoder()\r\n return decoder.decode(decrypted)\r\n }\r\n\r\n private async loadKey () {\r\n // Decode the base64 key to Uint8Array\r\n const rawKey = this.base64ToUint8Array(this.environments.secretKey)\r\n\r\n // Import the key to API Crypto\r\n return await crypto.subtle.importKey(\r\n 'raw',\r\n rawKey,\r\n { name: 'AES-GCM' },\r\n true,\r\n ['encrypt', 'decrypt']\r\n )\r\n }\r\n\r\n private uint8ArrayToBase64 (data: Uint8Array): string {\r\n let binary = ''\r\n const len = data.byteLength\r\n\r\n for (let i = 0; i < len; i++) {\r\n binary += String.fromCharCode(data[i])\r\n }\r\n\r\n return btoa(binary)\r\n }\r\n\r\n private base64ToUint8Array (base64: string): Uint8Array {\r\n const binaryString = atob(base64)\r\n const len = binaryString.length\r\n const bytes = new Uint8Array(len)\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n return bytes\r\n }\r\n\r\n private arrayBufferToBase64 (buffer: ArrayBuffer): string {\r\n let binary = ''\r\n const bytes = new Uint8Array(buffer)\r\n const len = bytes.byteLength\r\n\r\n for (let i = 0; i < len; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n\r\n return btoa(binary)\r\n }\r\n\r\n private base64ToArrayBuffer (base64: string): ArrayBuffer {\r\n const binaryString = atob(base64)\r\n const len = binaryString.length\r\n const bytes = new Uint8Array(len)\r\n\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n\r\n return bytes.buffer\r\n }\r\n}\r\n","import { HttpEvent, HttpHandlerFn, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\n/**\r\n * Intercepts an outgoing HTTP request and modifies its headers to include default values\r\n * for Cache-Control, Expires, Pragma, Content-Type, Accept, and Accept-Language if they\r\n * are not already present.\r\n *\r\n * @param {HttpRequest<unknown>} req - The outgoing HTTP request to be intercepted and modified.\r\n * @param {HttpHandlerFn} next - The next handler in the chain to pass the modified request to.\r\n * @return {Observable<HttpEvent<unknown>>} An observable of the HTTP event resulting from the processed request.\r\n */\r\nexport function apiHeadersInterceptor (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> {\r\n let { headers } = req\r\n\r\n if (!headers.has('Content-Type') && !(req.body instanceof FormData)) {\r\n headers = headers.set('Content-Type', 'application/json')\r\n }\r\n\r\n if (!headers.has('Accept')) {\r\n headers = headers.set('Accept', 'application/json')\r\n }\r\n\r\n if (!headers.has('Accept-Language')) {\r\n headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en')\r\n }\r\n\r\n req = req.clone({ headers })\r\n\r\n return next(req)\r\n}\r\n","import { inject } from '@angular/core'\r\nimport { HttpEvent, HttpHandlerFn, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\nimport { ENVIRONMENT_TOKEN } from '../ngx-services.models'\r\n\r\n/**\r\n * An HTTP interceptor to append an Authorization header with a Bearer token\r\n * to outgoing HTTP requests if certain conditions are met.\r\n *\r\n * @param {HttpRequest<unknown>} req - The outgoing HTTP request object which may be modified.\r\n * @param {HttpHandlerFn} next - The next handler in the HTTP request pipeline.\r\n * @return {Observable<HttpEvent<unknown>>} An observable of the HTTP event stream resulting from the request.\r\n */\r\nexport function apiTokenInterceptor (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> {\r\n const { authCookie } = inject(ENVIRONMENT_TOKEN)\r\n const cookie = inject(CookieService)\r\n\r\n if (req.headers.has('Authorization') || req.headers.has('AppKey')) {\r\n return next(req)\r\n }\r\n\r\n const token = cookie.get(authCookie)\r\n\r\n if (!token) return next(req)\r\n\r\n req = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n return next(req)\r\n}\r\n","import { inject } from '@angular/core'\r\nimport { HttpEvent, HttpHandlerFn, HttpRequest, HttpResponse } from '@angular/common/http'\r\n\r\nimport { Observable, of } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\nimport { ENVIRONMENT_TOKEN } from '../ngx-services.models'\r\n\r\nconst DEFAULT_TTL = 10000 // ttl in ms\r\nconst cache = new Map<string, { ttl: number, res: HttpResponse<any> }>()\r\n\r\n/**\r\n * Interceptor function to handle HTTP caching for GET requests. It retrieves cached responses\r\n * if available and valid; otherwise, it processes the request and caches the response for future use.\r\n *\r\n * @param {HttpRequest<any>} req - The HTTP request object being intercepted.\r\n * @param {HttpHandlerFn} next - The next HTTP handler function in the chain to process the request.\r\n * @return {Observable<HttpEvent<any>>} An observable that emits the HTTP event, either from cache\r\n * or by invoking the next handler.\r\n */\r\nexport function httpCachingInterceptor (req: HttpRequest<any>, next: HttpHandlerFn): Observable<HttpEvent<any>> {\r\n const { cacheTtl } = inject(ENVIRONMENT_TOKEN)\r\n\r\n if (req.method !== 'GET') return next(req)\r\n\r\n const cached = cache.get(req.urlWithParams)\r\n\r\n if (cached) {\r\n const isExpired = Date.now() > cached.ttl\r\n\r\n if (!isExpired) { return of(cached.res) }\r\n\r\n cache.delete(req.urlWithParams) // If expired, remove the entry from cache\r\n }\r\n\r\n return next(req).pipe(\r\n tap((res) => {\r\n if (!(res instanceof HttpResponse)) { return }\r\n\r\n const ttl = Date.now() + (cacheTtl ?? DEFAULT_TTL)\r\n\r\n cache.set(req.urlWithParams, { res, ttl })\r\n })\r\n )\r\n}\r\n","import { HttpHeaders, HttpParams } from '@angular/common/http'\r\nimport { QueryParams } from '../apis/models/api.models'\r\n\r\n/**\r\n * Convert an object of key-value pairs into a URL query string.\r\n *\r\n * @param {Object} params - The key-value pairs to converted into a query string.\r\n *\r\n * @return {string} - The generated query string.\r\n */\r\nexport const queryString = (params: QueryParams): string => {\r\n const queryElements: string[] = []\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n const arrayQuery = value\r\n .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item as string | number | boolean)}`)\r\n .join('&')\r\n\r\n queryElements.push(arrayQuery)\r\n } else {\r\n const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value as string | number | boolean)}`\r\n\r\n queryElements.push(encodedQuery)\r\n }\r\n })\r\n\r\n const queryString = queryElements.join('&')\r\n\r\n return queryString.length ? `?${queryString}` : ''\r\n}\r\n\r\n/**\r\n * Creates an instance of HttpParams using the provided params object.\r\n *\r\n * @param {Object} params - The object containing the params to the HttpParams constructor.\r\n *\r\n * @returns {HttpParams} - An instance of HttpParams created from the params object.\r\n */\r\nexport const httpParams = (\r\n params: QueryParams\r\n): HttpParams => new HttpParams({\r\n fromObject: params\r\n})\r\n\r\n/**\r\n * Returns the headers for generating PDF files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.\r\n */\r\nexport const pdfHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n Accept: 'application/pdf'\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n\r\n/**\r\n * Returns the headers for generating XML files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.\r\n */\r\nexport const xmlHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n Accept: 'application/xml',\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\nexport * from './lib/ngx-services.models'\r\nexport * from './lib/ngx-services.module'\r\n\r\n// api services\r\nexport * from './lib/apis/api-billing-do.service'\r\nexport * from './lib/apis/api-billing-mx.service'\r\nexport * from './lib/apis/api-catalogs.service'\r\nexport * from './lib/apis/api-companies.service'\r\nexport * from './lib/apis/api-e-tools-auto-billing.service'\r\nexport * from './lib/apis/api-external-pickups.service'\r\nexport * from './lib/apis/api-invoices.service'\r\nexport * from './lib/apis/api-open-items.service'\r\nexport * from './lib/apis/api-reports.service'\r\nexport * from './lib/apis/api-security.service'\r\nexport * from './lib/apis/api-shipments.service'\r\n\r\n// api models\r\nexport * from './lib/apis/models/api-billing.types'\r\nexport * from './lib/apis/models/api-catalog.interfaces'\r\nexport * from './lib/apis/models/api-catalog.types'\r\nexport * from './lib/apis/models/api-companies.interfaces'\r\nexport * from './lib/apis/models/api-companies.types'\r\nexport * from './lib/apis/models/api-e-tools-auto-billing.interfaces'\r\nexport * from './lib/apis/models/api-e-tools-auto-billing.types'\r\nexport * from './lib/apis/models/api-external-pickups.types'\r\nexport * from './lib/apis/models/api-invoices.interfaces'\r\nexport * from './lib/apis/models/api-invoices.types'\r\nexport * from './lib/apis/models/api-open-items.interfaces'\r\nexport * from './lib/apis/models/api-open-items.types'\r\nexport * from './lib/apis/models/api-reports.interfaces'\r\nexport * from './lib/apis/models/api-security.interfaces'\r\nexport * from './lib/apis/models/api-security.types'\r\nexport * from './lib/apis/models/api-shipments.types'\r\nexport * from './lib/apis/models/api.models'\r\n\r\n// websockets\r\nexport * from './lib/websockets/web-sockets.service'\r\n\r\n// cypher\r\nexport * from './lib/cypher/crypto.service'\r\n\r\n// interceptors\r\nexport * from './lib/interceptors/api-headers.interceptor'\r\nexport * from './lib/interceptors/api-token.interceptor'\r\nexport * from './lib/interceptors/http-caching.interceptor'\r\n\r\n// helpers\r\nexport * from './lib/helpers/http'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map","i1","i2","tap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"experteam-mx-ngx-services.mjs","sources":["../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.models.ts","../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.module.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-billing-do.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-billing-mx.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-catalogs.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-companies.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-e-tools-auto-billing.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-external-pickups.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-invoices.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-open-items.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-reports.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-security.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-shipments.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/websockets/web-sockets.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/cypher/crypto.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-headers.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-token.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/http-caching.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/helpers/http.ts","../../../../projects/experteam-mx/ngx-services/src/public-api.ts","../../../../projects/experteam-mx/ngx-services/src/experteam-mx-ngx-services.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\r\n\r\n/**\r\n * Represents the configuration settings for the application's environment.\r\n * This type includes various API endpoint URLs, authentication details, caching options, and other relevant settings.\r\n *\r\n * Properties:\r\n * - apiCompaniesUrl: The URL for the companies API endpoint.\r\n * - apiInvoicesUrl: The URL for the invoices API endpoint.\r\n * - apiReportsUrl: The URL for the reports API endpoint.\r\n * - apiSecurityUrl: The URL for the security-related API endpoint.\r\n * - apiShipmentUrl: The URL for the shipment API endpoint.\r\n * - authCookie: The name of the authentication cookie used for user sessions.\r\n * - cacheTtl: Optional. Specifies the time-to-live (TTL) for cached items.\r\n * - printUrl: Optional. The URL used for generating or downloading printable documents.\r\n * - secretKey: A secret key used for authentication or other secure operations.\r\n */\r\nexport type Environment = {\r\n apiBillingDO?: string\r\n apiBillingMX?: string\r\n apiCatalogsUrl?: string\r\n apiCompaniesUrl?: string\r\n apiEToolsAutoBilling?: string\r\n apiExternalOperationsKey?: string\r\n apiExternalOperationsUrl?: string\r\n apiInvoicesUrl?: string\r\n apiOpenItemsUrl?: string\r\n apiReportsUrl?: string\r\n apiSecurityUrl?: string\r\n apiShipmentUrl?: string\r\n authCookie: string\r\n cacheTtl?: number\r\n printUrl?: string\r\n secretKey: string\r\n sockets?: {\r\n app_key: string\r\n debug?: boolean\r\n port: number\r\n url: string\r\n }\r\n}\r\n\r\n/**\r\n * Injection token used to inject environment configurations.\r\n *\r\n * `ENVIRONMENT_TOKEN` is a dependency injection token that allows\r\n * for the provision and retrieval of environment-specific configurations\r\n * within the application. This token is typically associated with an\r\n * `Environment` type that defines the structure of the configuration.\r\n */\r\nexport const ENVIRONMENT_TOKEN = new InjectionToken<Environment>('Environments token')\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { Environment } from './ngx-services.models'\r\nimport { provideHttpClient } from '@angular/common/http'\r\n\r\n@NgModule({\r\n providers: [provideHttpClient()]\r\n})\r\nexport class NgxServicesModule {\r\n /**\r\n * Returns a module with providers for the NgxServicesModule.\r\n *\r\n * @param {Environment} environment - The environment configuration object.\r\n *\r\n * @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.\r\n */\r\n public static forRoot (environment: Environment): ModuleWithProviders<NgxServicesModule> {\r\n return {\r\n ngModule: NgxServicesModule,\r\n providers: [\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport { IncomeTypesOut } from './models/api-billing.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiBillingDOService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiBillingDO ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves a list of income types\r\n *\r\n * @return {Observable<ApiSuccess<IncomeTypesOut>>} An observable that emits the income types data.\r\n */\r\n getIncomeTypes (): Observable<IncomeTypesOut> {\r\n return this.http.get<ApiSuccess<IncomeTypesOut>>(`${this.url}/income-types`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { FiscalRegimensAcceptedOut, FiscalRegimensOut, PostalCodesOut } from './models/api-billing.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiBillingMxService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiBillingMX ?? ''\r\n }\r\n\r\n /**\r\n * Fetches the tax regimen data from the server.\r\n *\r\n * @return {Observable<FiscalRegimensOut>} An observable that emits the fiscal regimen data.\r\n */\r\n getFiscalRegimens (): Observable<FiscalRegimensOut> {\r\n return this.http.get<ApiSuccess<FiscalRegimensOut>>(`${this.url}/fiscal-regimens`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a paginated list of CFDIs (Comprobante Fiscal Digital por Internet) based on the provided fiscal regimen.\r\n *\r\n * @param {number} fiscalRegimen - The fiscal regimen identifier to filter the CFDIs.\r\n * @return {Observable<FiscalRegimensAcceptedOut>} An observable containing the paginated list of CFDIs.\r\n */\r\n getFiscalRegimensAccepted (fiscalRegimen: number): Observable<FiscalRegimensAcceptedOut> {\r\n const params = { 'fiscal-regimen': fiscalRegimen }\r\n\r\n return this.http.get<ApiSuccess<FiscalRegimensAcceptedOut>>(`${this.url}/cfdi-uses/fiscal-regimen-accepted/list`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches and validates postal code data from the server.\r\n *\r\n * @param {QueryParams} params - Query parameters used to filter the postal code data.\r\n * @return {Observable<PostalCodesOut>} - An observable emitting the validated postal code data.\r\n */\r\n getPostalCodes (params: QueryParams): Observable<PostalCodesOut> {\r\n return this.http.get<ApiSuccess<PostalCodesOut>>(`${this.url}/postal-codes`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { ExtraChargesOut, IdentificationTypesOut, OperationTypesOut } from './models/api-catalog.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCatalogsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the reports API from the environment configurations.\r\n *\r\n * @return {string} The URL of the reports API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCatalogsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves the list of collection payments\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the operation types.\r\n * @return {Observable<OperationTypesOut[]>} An observable that emits an array of operation type.\r\n */\r\n getOperationTypes (params: QueryParams): Observable<OperationTypesOut> {\r\n return this.http.get<ApiSuccess<OperationTypesOut>>(`${this.url}/operation-types`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of identificatios types\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the identification types.\r\n * @return {Observable<IdentificationTypesOut[]>} An observable that emits an array of identification type.\r\n */\r\n getIdentificationTypes (params: QueryParams): Observable<IdentificationTypesOut> {\r\n return this.http.get<ApiSuccess<IdentificationTypesOut>>(`${this.url}/identification-types`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the extra charges based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the results.\r\n * @return {Observable<ExtraChargesOut>} An observable emitting the extra charges data.\r\n */\r\n getExtraCharges (params: QueryParams): Observable<ExtraChargesOut> {\r\n return this.http.get<ApiSuccess<ExtraChargesOut>>(`${this.url}/extracharges`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport {\r\n AccountEntitiesActivesOut,\r\n BoardingProcessIdIn,\r\n BoardingProcessIn,\r\n CompanyCountriesOut,\r\n CompanyCountryOut,\r\n CompanyCountryTaxesOut,\r\n CountryReferenceCurrenciesOut,\r\n CountryReferenceOut,\r\n CountryReferencesOut,\r\n EmployeeCustomersIn,\r\n EmployeeCustomersOut,\r\n EmployeeOut,\r\n EmployeesCustomersOut,\r\n EmployeesOut,\r\n ExchangesOut,\r\n InstallationOut,\r\n InstallationsOut,\r\n LocationEmployeesOut,\r\n LocationOut,\r\n LocationsOut,\r\n ParametersIn,\r\n ParametersValuesOut,\r\n ParameterValueIn,\r\n ParameterValueOut,\r\n SupplyEntitiesActivesOut,\r\n WorkflowsOut\r\n} from './models/api-companies.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { forkJoin, map, mergeMap, Observable } from 'rxjs'\r\nimport { CountryCurrencyRate, EmployeeCustomerDhl, } from './models/api-companies.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCompaniesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the companies API from the environment configurations.\r\n *\r\n * @return {string} The URL of the companies API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCompaniesUrl ?? ''\r\n }\r\n\r\n /**\r\n * Fetches the installations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter the installations query.\r\n * @return {Observable<InstallationsOut>} An observable that emits the installation's data.\r\n */\r\n getInstallations (params: QueryParams): Observable<InstallationsOut> {\r\n return this.http.get<ApiSuccess<InstallationsOut>>(`${this.url}/installations`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the installation details based on the given installation ID.\r\n *\r\n * @param {number} id - The unique identifier of the installation to retrieve.\r\n * @returns {Observable<InstallationOut>} An observable of the installation details.\r\n */\r\n getInstallation (id: number): Observable<InstallationOut> {\r\n return this.http.get<ApiSuccess<InstallationOut>>(`${this.url}/installations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of locations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying locations.\r\n * @return {Observable<LocationsOut>} An observable that emits the location's data.\r\n */\r\n getLocations (params: QueryParams): Observable<LocationsOut> {\r\n return this.http.get<ApiSuccess<LocationsOut>>(`${this.url}/locations`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the location details for a given location ID.\r\n *\r\n * @param {number} id - The unique identifier of the location.\r\n * @return {Observable<LocationOut>} An Observable containing the location details.\r\n */\r\n getLocation (id: number): Observable<LocationOut> {\r\n return this.http.get<ApiSuccess<LocationOut>>(`${this.url}/locations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of active supply entities.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter supply entities.\r\n * @return {Observable<SupplyEntitiesActivesOut>} Observable emitting supply entities data.\r\n */\r\n getSupplyEntitiesActives (params: QueryParams): Observable<SupplyEntitiesActivesOut> {\r\n return this.http.get<ApiSuccess<SupplyEntitiesActivesOut>>(`${this.url}/supply-entities/actives`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of employees based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and sort the employees.\r\n * @return {Observable<EmployeesOut>} An observable that emits the list of employees.\r\n */\r\n getEmployees (params: QueryParams): Observable<EmployeesOut> {\r\n return this.http.get<ApiSuccess<EmployeesOut>>(`${this.url}/employees`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches an employee's details based on the provided employee ID.\r\n *\r\n * @param {number} id - The unique identifier of the employee.\r\n * @return {Observable<EmployeeOut>} An observable that emits the employee's details.\r\n */\r\n getEmployee (id: number): Observable<EmployeeOut> {\r\n return this.http.get<ApiSuccess<EmployeeOut>>(`${this.url}/employees/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of employees for a specified location based on provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.\r\n * @returns {Observable<LocationEmployeesOut>} An observable that emits the list of employees for the specified location.\r\n */\r\n getLocationEmployees (params: QueryParams): Observable<LocationEmployeesOut> {\r\n return this.http.get<ApiSuccess<LocationEmployeesOut>>(`${this.url}/location-employees`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of countries where the company operates.\r\n *\r\n * @param {QueryParams} params - The query parameters for the API request.\r\n * @return {Observable<CompanyCountriesOut>} An observable containing the list of company countries.\r\n */\r\n getCompanyCountries (params: QueryParams): Observable<CompanyCountriesOut> {\r\n return this.http.get<ApiSuccess<CompanyCountriesOut>>(`${this.url}/company-countries`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the country information for a specified company by its ID.\r\n *\r\n * @param {number} id - The unique identifier of the company.\r\n * @return {Observable<CompanyCountryOut>} An observable containing the country information of the company.\r\n */\r\n getCompanyCountry (id: number): Observable<CompanyCountryOut> {\r\n return this.http.get<ApiSuccess<CompanyCountryOut>>(`${this.url}/company-countries/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the reference currencies for a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters to include in the request.\r\n * @return {Observable<CountryReferenceCurrenciesOut>} The observable containing the country reference currencies data.\r\n */\r\n getCountryReferenceCurrencies (params: QueryParams): Observable<CountryReferenceCurrenciesOut> {\r\n return this.http.get<ApiSuccess<CountryReferenceCurrenciesOut>>(\r\n `${this.url}/country-reference-currencies`,\r\n { params }\r\n ).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of currencies for different countries along with their current exchange rates.\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.\r\n * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.\r\n */\r\n getCountryCurrenciesWithRate (params: QueryParams): Observable<CountryCurrencyRate[]> {\r\n return this.getCountryReferenceCurrencies(params)\r\n .pipe(mergeMap((currenciesData) => {\r\n const $observables = currenciesData.country_reference_currencies\r\n .map((item) =>\r\n this.getCurrentExchanges({\r\n currency_id: item.currency.id,\r\n }).pipe(\r\n map((exchangesData) => ({\r\n ...item,\r\n rate: exchangesData.exchanges[0]?.value,\r\n }))\r\n )\r\n )\r\n\r\n return forkJoin($observables)\r\n }))\r\n }\r\n\r\n /**\r\n * Fetches exchange data based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving exchange data.\r\n * @return {Observable<ExchangesOut>} An observable containing the exchange data.\r\n */\r\n getExchanges (params: QueryParams): Observable<ExchangesOut> {\r\n return this.http.get<ApiSuccess<ExchangesOut>>(`${this.url}/exchanges`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the current exchanges based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the exchanges.\r\n *\r\n * @returns {Observable<ExchangesOut>} - An observable that emits the API response data containing the current exchanges.\r\n */\r\n getCurrentExchanges (params: QueryParams): Observable<ExchangesOut> {\r\n return this.http.get<ApiSuccess<ExchangesOut>>(`${this.url}/exchanges/current`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country-specific tax information for a company.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter and query the taxes.\r\n * @return {Observable<CompanyCountryTaxesOut>} An observable that emits the tax information.\r\n */\r\n getCompanyCountryTaxes (params: QueryParams): Observable<CompanyCountryTaxesOut> {\r\n return this.http.get<ApiSuccess<CompanyCountryTaxesOut>>(`${this.url}/company-country-taxes`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of active account entities based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and query active account entities.\r\n * @return {Observable<AccountEntitiesActivesOut>} An observable that emits the list of active account entities.\r\n */\r\n getAccountEntitiesActives (params: QueryParams): Observable<AccountEntitiesActivesOut> {\r\n return this.http.get<ApiSuccess<AccountEntitiesActivesOut>>(`${this.url}/account-entities/actives`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {Object} params - An object containing the required parameters.\r\n * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersValuesOut>} An observable that emits the fetched parameter values.\r\n */\r\n getParametersValues ({\r\n paramNames,\r\n }: ParametersIn): Observable<ParametersValuesOut> {\r\n const parameters = paramNames.map((p) => ({ name: p }))\r\n\r\n return this.http.post<ApiSuccess<ParametersValuesOut>>(`${this.url}/parameters-values`, {\r\n parameters\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the value of a specified parameter.\r\n *\r\n * @param {Object} input - The input object containing the parameter details.\r\n * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.\r\n * @return {Observable<ParameterValueOut>} An observable emitting the value of the specified parameter.\r\n */\r\n getParameterValue ({\r\n paramName,\r\n }: ParameterValueIn): Observable<ParameterValueOut> {\r\n return this.http.get<ApiSuccess<ParameterValueOut>>(`${this.url}/parameters-values/${paramName}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of country references based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving country references.\r\n * @return {Observable<CountryReferencesOut>} An observable containing the country reference data.\r\n */\r\n getCountryReferences (params: QueryParams): Observable<CountryReferencesOut> {\r\n return this.http.get<ApiSuccess<CountryReferencesOut>>(`${this.url}/country-references`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country reference data for a given country ID.\r\n *\r\n * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.\r\n * @return {Observable<CountryReferenceOut>} An observable containing the country reference data.\r\n */\r\n getCountryReference (id: number): Observable<CountryReferenceOut> {\r\n return this.http.get<ApiSuccess<CountryReferenceOut>>(`${this.url}/country-references/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of workflows based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter workflows.\r\n * @return {Observable<WorkflowsOut>} An observable containing the workflow data.\r\n */\r\n getWorkflows (params: QueryParams): Observable<WorkflowsOut> {\r\n return this.http.get<ApiSuccess<WorkflowsOut>>(`${this.url}/workflows`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of employee customer\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter employee customers.\r\n * @return {Observable<EmployeeCustomersOut>} An observable containing the employee customer data.\r\n */\r\n getEmployeesCustomers (params: QueryParams): Observable<EmployeesCustomersOut> {\r\n return this.http.get<ApiSuccess<EmployeesCustomersOut>>(`${this.url}/employee-customers`, {\r\n params,\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Sends a POST request to create or update employee customer records and processes the server response.\r\n *\r\n * @param {EmployeeCustomersIn} body - The request payload containing employee customer data to be sent to the server.\r\n * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee customer data on successful response.\r\n */\r\n postEmployeeCustomers (body: EmployeeCustomersIn) {\r\n return this.http.post<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers`,\r\n body\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Updates the employee-customer association record identified by the given ID with the provided data.\r\n *\r\n * @param {number} id - The identifier of the employee-customer record to update.\r\n * @param {EmployeeCustomersIn} body - The data to update the employee-customer record with.\r\n * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee-customer data.\r\n */\r\n putEmployeeCustomers (id: number, body: EmployeeCustomersIn) {\r\n return this.http.put<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers/${id}`, body\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Fetches the employee-customer details based on the provided employee customer ID.\r\n *\r\n * @param {number} id - The identifier of the employee-customer record to update.\r\n * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee-customer data.\r\n */\r\n getEmployeeCustomer (id: number) {\r\n return this.http.get<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers/${id}`\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Enables or disables an employee customer's active state.\r\n *\r\n * @param {EmployeeCustomerDhl} employee - The employee customer object to be updated.\r\n * @param {boolean} [isActive] - Optional parameter to explicitly set the active state.\r\n * If null or undefined, the active state will be toggled.\r\n * @return {Observable<EmployeeCustomersOut>} An observable containing the updated employee customer output.\r\n */\r\n enableDisableEmployeeCustomers (employee: EmployeeCustomerDhl, isActive?: boolean): Observable<EmployeeCustomersOut> {\r\n return this.http.patch<ApiSuccess<EmployeeCustomersOut>>(`${this.url}/employee-customers/${employee.id}`, {\r\n is_active: isActive ?? !employee.is_active\r\n }).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Submits a file containing employee customer data for a specific country to the server.\r\n *\r\n * @param {number} countryId - The identifier of the country for which the data is being uploaded.\r\n * @param {File} file - The file containing employee customer data to be uploaded.\r\n * @return {Observable<BoardingProcessIdIn>} Observable that emits the processed boarding process ID on success.\r\n */\r\n postEmployeeCustomersLoad (countryId: number, file: File) {\r\n const formData = new FormData()\r\n formData.append('file', file)\r\n formData.append('country_id', countryId.toString())\r\n return this.http.post<ApiSuccess<BoardingProcessIdIn>>(\r\n `${this.url}/employee-customers/load`,\r\n formData\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n\r\n /**\r\n * Downloads a file containing customer data for a specific employee based on the provided country ID.\r\n *\r\n * @param {number} id - The ID of the country used as a filter for fetching the employee's customers.\r\n * @return {Observable<Blob>} An observable that emits the file blob containing the customer data.\r\n */\r\n getEmployeeCustomersDownload (id:number):Observable<Blob> {\r\n return this.http.get(`${this.url}/employee-customers/download`, {\r\n params: { country_id: id },\r\n responseType: 'blob'\r\n })\r\n }\r\n\r\n /**\r\n * Retrieves the boarding process details for a given ID.\r\n *\r\n * @param {number} id - The unique identifier of the boarding process to retrieve.\r\n * @return {Observable<BoardingProcessIn>} An observable containing the boarding process details.\r\n */\r\n getBoardingProcess (id:number) {\r\n return this.http.get<ApiSuccess<BoardingProcessIn>>(`${this.url}/boarding-process/${id}`\r\n ).pipe(\r\n map(({ data }) => data)\r\n )\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport {\r\n ExternalShipmentAddressesIn,\r\n ExternalShipmentAddressesOut,\r\n ExternalShipmentFileOut,\r\n ExternalShipmentHistoriesOut,\r\n ExternalShipmentStatusOut\r\n} from './models/api-e-tools-auto-billing.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiEToolsAutoBillingService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiEToolsAutoBilling ?? ''\r\n }\r\n\r\n /**\r\n * Updates external shipment address details for the given address ID.\r\n *\r\n * @param {Object} params - The parameters for the API request.\r\n * @param {string} params.id - The unique identifier of the address to update.\r\n * @param {Object} params.body - The payload containing updated address details.\r\n * @return {Observable<ExternalShipmentAddressesOut>} An observable containing the updated external shipment address information.\r\n */\r\n patchExternalShipmentAddresses ({\r\n id,\r\n ...body\r\n }: ExternalShipmentAddressesIn): Observable<ExternalShipmentAddressesOut> {\r\n return this.http.patch<ApiSuccess<ExternalShipmentAddressesOut>>(`${this.url}/external-shipment-addresses/${id}`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the external shipment file by its identifier.\r\n *\r\n * @param {number} fileId - The unique identifier of the external shipment file to be retrieved.\r\n * @return {Observable<ExternalShipmentFileOut>} An observable containing the external shipment file data.\r\n */\r\n getExternalShipmentFile (fileId: number): Observable<ExternalShipmentFileOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentFileOut>>(`${this.url}/external-shipment-files/${fileId}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the history entries for a specific external shipment.\r\n *\r\n * @param {number} id - The ID of the external shipment to retrieve history for.\r\n * @return {Observable<ExternalShipmentHistoriesOut>} An observable containing the external shipment history entries.\r\n */\r\n getExternalShipmentHistories (id: number): Observable<ExternalShipmentHistoriesOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentHistoriesOut>>(`${this.url}/external-shipments/${id}/external-shipment-histories`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of external shipment statuses\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the external shipment statuses.\r\n * @return {Observable<ExternalShipmentStatusOut>} An observable that emits the external shipment statuses data.\r\n */\r\n getExternalShipmentStatuses (params: QueryParams): Observable<ExternalShipmentStatusOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentStatusOut>>(`${this.url}/external-shipment-statuses`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport {\r\n DeliveryConfirmationCompleteIn,\r\n DeliveryConfirmationGenerateIn,\r\n DeliveryConfirmationGenerateOut,\r\n DeliveryConfirmationIn\r\n} from './models/api-external-pickups.types'\r\nimport { Observable } from 'rxjs'\r\nimport { map } from 'rxjs/operators'\r\nimport { ApiSuccess } from './models/api.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiExternalPickupsService {\r\n private appKey: string\r\n\r\n constructor (\r\n private httpClient: HttpClient,\r\n @Inject('env') private environment: Environment\r\n ) {\r\n this.appKey = environment.apiExternalOperationsKey ?? ''\r\n }\r\n\r\n /**\r\n * Getter method to retrieve the API's external operations URL.\r\n * Fetches the URL from the `apiExternalOperationsUrl` property of the environment object.\r\n * Defaults to an empty string if the property is undefined or null.\r\n *\r\n * @return {string} The external operations URL or an empty string if unavailable.\r\n */\r\n get url (): string {\r\n return this.environment.apiExternalOperationsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Generates a delivery confirmation by sending the provided payload to the API.\r\n *\r\n * @param {DeliveryConfirmationGenerateIn} payload - The input payload required to generate the delivery confirmation.\r\n * @return {Observable<DeliveryConfirmationGenerateOut>} An observable that emits the generated delivery confirmation data.\r\n */\r\n public postDeliveryConfirmationGenerate (payload: DeliveryConfirmationGenerateIn): Observable<DeliveryConfirmationGenerateOut> {\r\n return this.httpClient.post<ApiSuccess<DeliveryConfirmationGenerateOut>>(\r\n `${this.url}/delivery-confirmation/generate`,\r\n payload, {\r\n headers: { appkey: this.appKey }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Confirms the completion of a delivery operation by making a PATCH request.\r\n *\r\n * @param {Object} input - The input parameters for the method.\r\n * @param {string} input.operationId - The unique identifier of the delivery operation to be confirmed.\r\n * @param {string} input.keyOTP - The one-time password (OTP) key associated with the delivery confirmation.\r\n * @return {Observable<Object>} - An observable containing the response data from the API.\r\n */\r\n public patchDeliveryConfirmationComplete ({\r\n keyOTP,\r\n operationId,\r\n }: DeliveryConfirmationCompleteIn): Observable<{}> {\r\n return this.httpClient.patch<ApiSuccess<{}>>(\r\n `${this.url}/delivery-confirmation/completed/${keyOTP}`,\r\n null, {\r\n headers: { appkey: this.appKey },\r\n params: { operation_id: operationId }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels a delivery confirmation by sending an OTP and additional data to the server.\r\n *\r\n * @param {Object} param0 - The parameter object containing the required properties.\r\n * @param {string} param0.otp - The one-time password to authenticate the cancellation request.\r\n * @param {Object} param0.body - Additional body data required for cancellation.\r\n * @return {Observable<Object>} An observable that emits the server's response when the cancellation is processed.\r\n */\r\n public putDeliveryConfirmation ({\r\n otp,\r\n ...body\r\n }: DeliveryConfirmationIn): Observable<{}> {\r\n return this.httpClient.put<ApiSuccess<{}>>(\r\n `${this.url}/delivery-confirmation/confirmation/${otp}`,\r\n body, {\r\n headers: { appkey: this.appKey },\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\nimport {\r\n CancelPaymentReceiptIn,\r\n CustomerDocumentTypesOut,\r\n CustomersOut,\r\n CustomerTypesOut,\r\n InvoiceTypeCustomParamsIn,\r\n OperationAccountPaymentIn,\r\n OperationAccountPaymentOut,\r\n OperationCancelBillingIn,\r\n OperationDocumentIn,\r\n OperationDocumentOut,\r\n OperationPrintDocumentOut,\r\n OperationShipmentExternalIn,\r\n OperationShipmentExternalOut,\r\n PrintCollectionReceiptOut\r\n} from './models/api-invoices.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiInvoicesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the API URL for invoices from the environments configuration.\r\n *\r\n * @return {string} The API URL for invoices.\r\n */\r\n get url (): string {\r\n return this.environments.apiInvoicesUrl ?? ''\r\n }\r\n\r\n /**\r\n * Sends an operation document to the server and processes the response.\r\n *\r\n * @param {OperationDocumentIn} body - The input data for the operation document.\r\n * @return {Observable<OperationDocumentOut>} An observable containing the processed operation document output.\r\n */\r\n postOperationDocument (body: OperationDocumentIn): Observable<OperationDocumentOut> {\r\n return this.http.post<ApiSuccess<OperationDocumentOut>>(`${this.url}/operation/document`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches and returns the collection receipt data for a given collection ID.\r\n *\r\n * @param {number} id - The unique identifier of the collection for which the receipt needs to be retrieved.\r\n * @return {Observable<PrintCollectionReceiptOut>} An observable containing the collection receipt data.\r\n */\r\n getPrintCollectionReceipt (id: number): Observable<PrintCollectionReceiptOut> {\r\n return this.http.get<ApiSuccess<PrintCollectionReceiptOut>>(`${this.url}/operation/print/collection-receipt/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Handles the account payment operation by sending a POST request to the specified endpoint.\r\n * Processes the response and returns the operation data.\r\n *\r\n * @param {OperationAccountPaymentIn} body The payload containing information for the account payment operation.\r\n * @return {Observable<OperationAccountPaymentOut>} An observable emitting the processed account payment operation data.\r\n */\r\n postOperationAccountPayment (body: OperationAccountPaymentIn): Observable<OperationAccountPaymentOut> {\r\n return this.http.post<ApiSuccess<OperationAccountPaymentOut>>(`${this.url}/operation/account-payment`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels a payment receipt based on the provided input.\r\n * This method sends a POST request to cancel a document.\r\n *\r\n * @param body The data required to cancel the payment receipt, encapsulated in a CancelPaymentReceiptIn object.\r\n * @return An Observable representing the result of the cancellation. Emits an empty object on success.\r\n */\r\n postOperationCancelDocument (body: CancelPaymentReceiptIn): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/operation/cancel-document`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels an invoice based on the provided invoice ID and additional parameters.\r\n *\r\n * @param {Object} parameters - The parameters required to cancel the invoice, encapsulated in a CancelBillingIn object.\r\n * @return {Observable<Object>} An observable that emits the response of the cancellation operation.\r\n */\r\n postOperationCancelBilling ({ invoiceId, ...body }: OperationCancelBillingIn): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/operation/cancel-billing/${invoiceId}`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of customer types from the server.\r\n *\r\n * @param {QueryParams} params - Query parameters to filter or customize the request.\r\n * @return {Observable<CustomerTypesOut>} An observable emitting the customer types fetched from the server.\r\n */\r\n getCustomerTypes (params: QueryParams): Observable<CustomerTypesOut> {\r\n return this.http.get<ApiSuccess<CustomerTypesOut>>(`${this.url}/customer-types`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves document types specific to a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters containing country-specific information.\r\n * @return {Observable<CustomerDocumentTypesOut>} An observable emitting the document types available for the specified country.\r\n */\r\n getCustomerDocumentTypes (params: QueryParams): Observable<CustomerDocumentTypesOut> {\r\n return this.http.get<ApiSuccess<CustomerDocumentTypesOut>>(`${this.url}/customer-country-document-types`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches customer invoice details filtered by a custom invoice type.\r\n *\r\n * @param {InvoiceTypeCustomParamsIn} params - An object containing the filter parameters for the custom invoice type.\r\n * @return {Observable<CustomersOut>} An observable containing customer invoice details of the specified type.\r\n */\r\n getCustomers (params: QueryParams): Observable<CustomersOut> {\r\n return this.http.get<ApiSuccess<CustomersOut>>(`${this.url}/customers`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Sends a POST request to create or update an external shipment operation.\r\n *\r\n * @param {OperationShipmentExternalIn} params - The input parameters for the external shipment operation.\r\n * @return {Observable<OperationShipmentExternalOut>} An observable that emits the result of the external shipment operation.\r\n */\r\n postOperationShipmentExternal (params: OperationShipmentExternalIn): Observable<OperationShipmentExternalOut> {\r\n return this.http.post<ApiSuccess<OperationShipmentExternalOut>>(`${this.url}/operation/shipment/external`, params)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Processes an external payment operation for a shipment.\r\n *\r\n * @param {OperationShipmentExternalIn} params - The input parameters required for the external payment operation.\r\n * @return {Observable<OperationShipmentExternalOut>} An observable that emits the result of the external payment operation for a shipment.\r\n */\r\n postOperationShipmentExternalPayment (params: OperationShipmentExternalIn): Observable<OperationShipmentExternalOut> {\r\n return this.http.post<ApiSuccess<OperationShipmentExternalOut>>(`${this.url}/operation/shipment/external/payment`, params)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves and returns billing operation print details for a given document ID.\r\n *\r\n * @param {number} documentId - The ID of the document for which to fetch the print billing operation details.\r\n * @return {Observable<OperationPrintDocumentOut>} An observable emitting the print billing operation details for the specified document.\r\n */\r\n getOperationPrintDocument (documentId: number): Observable<OperationPrintDocumentOut> {\r\n return this.http.get<ApiSuccess<OperationPrintDocumentOut>>(`${this.url}/operation/print/document/${documentId}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { OpenItemsOut, OtherInvoiceOut, PaymentOut } from './models/api-open-items.types'\r\nimport { map, Observable } from 'rxjs'\r\nimport { OtherInvoiceIn, PaymentOpenItemIn } from './models/api-open-items.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiOpenItemsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API URL for open-items from the environments' configuration.\r\n *\r\n * @return {string} The API URL for open-items.\r\n */\r\n get url (): string {\r\n return this.environments.apiOpenItemsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves a list of open-items based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying open-items.\r\n * @return {Observable<OpenItemsOut>} An observable that emits the open-item's data.\r\n */\r\n getOpenItems (params: QueryParams): Observable<OpenItemsOut> {\r\n return this.http.get<ApiSuccess<OpenItemsOut>>(`${this.url}/open-items`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Processes a payment for an open item.\r\n *\r\n * @param {PaymentOpenItemIn} body - The payment details for the open item.\r\n * @return {Observable<PaymentOut>} An observable that emits the result of the payment processing.\r\n */\r\n postPayment (body: PaymentOpenItemIn): Observable<PaymentOut> {\r\n return this.http.post<ApiSuccess<PaymentOut>>(`${this.url}/payment`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Processes a payment for other invoice.\r\n *\r\n * @param {OtherInvoiceIn} body - The payment details for the other invoice.\r\n * @return {Observable<OtherInvoiceOut>} An observable that emits the result of the payment processing.\r\n */\r\n postOtherInvoice (body: OtherInvoiceIn): Observable<OtherInvoiceOut> {\r\n return this.http.post<ApiSuccess<OtherInvoiceOut>>(`${this.url}/other-invoices`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport {\r\n CollectionPaymentsOut,\r\n ExistPendingInvoicesIn,\r\n ExistPendingPaymentsIn,\r\n ExternalShipmentsOut,\r\n ShipmentsReportOut\r\n} from './models/api-reports.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiReportsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the reports API from the environment configurations.\r\n *\r\n * @return {string} The URL of the reports API.\r\n */\r\n get url (): string {\r\n return this.environments.apiReportsUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves the list of collection payments\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the collection payments.\r\n * @return {Observable<CollectionPaymentsOut[]>} An observable that emits an array of collection payment.\r\n */\r\n getCollectionPayments (params: QueryParams): Observable<CollectionPaymentsOut> {\r\n return this.http.get<ApiSuccess<CollectionPaymentsOut>>(`${this.url}/collection-payment`, {\r\n params\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of shipments with pending payments.\r\n *\r\n * @param {ExistPendingPaymentsIn} params - The parameters to filter pending payment shipments.\r\n * @return {Observable<ShipmentsReportOut>} An observable emitting the shipments report data.\r\n */\r\n shipmentsPendingPayments (params: ExistPendingPaymentsIn): Observable<ShipmentsReportOut> {\r\n return this.http.get<ApiSuccess<ShipmentsReportOut>>(`${this.url}/shipments-report`, {\r\n params: {\r\n ...params,\r\n limit: 1,\r\n offset: 0,\r\n to_landing: true,\r\n shipment_status_code: 'PMPEN',\r\n },\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches shipment reports that are pending invoices based on the specified parameters.\r\n * This method retrieves a filtered list of shipments with pending invoice statuses.\r\n *\r\n * @param {ExistPendingInvoicesIn} params - The parameters to filter the pending invoices, including\r\n * shipment status codes, and pagination options.\r\n * @return {Observable<ShipmentsReportOut>} An observable that emits the shipment report data based on the filter criteria.\r\n */\r\n shipmentsPendingInvoices (params: ExistPendingInvoicesIn): Observable<ShipmentsReportOut> {\r\n return this.http.get<ApiSuccess<ShipmentsReportOut>>(`${this.url}/shipments-report`, {\r\n params: {\r\n ...params,\r\n limit: 1,\r\n offset: 0,\r\n to_landing: true,\r\n 'shipment_status_code[in]': 'IPMPE,IMPEN,IPPEN',\r\n },\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches shipment reports based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter or define the shipment reports.\r\n * @return {Observable<ShipmentsReportOut>} An observable emitting the shipment report data.\r\n */\r\n getShipmentsReport (params: QueryParams): Observable<ShipmentsReportOut> {\r\n return this.http.get<ApiSuccess<ShipmentsReportOut>>(`${this.url}/shipments-report`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a report of external shipments based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - An object representing the query parameters for filtering the external shipments report.\r\n * @return {Observable<ExternalShipmentsOut>} An observable that emits the external shipments report data.\r\n */\r\n getExternalShipmentsReport (params: QueryParams): Observable<ExternalShipmentsOut> {\r\n return this.http.get<ApiSuccess<ExternalShipmentsOut>>(`${this.url}/external-shipments-report`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport {\r\n AuthLoginIn,\r\n AuthLoginOut,\r\n AuthMeOut,\r\n AuthUserLoginIn,\r\n ChangeLanguageIn,\r\n GetUserOut,\r\n GetUsersOut,\r\n ModulesOut,\r\n PutUsersIn,\r\n PutUsersOut,\r\n RoleIn,\r\n RoleOut,\r\n RolesOut,\r\n RoleTypesOut,\r\n SessionIn,\r\n SessionOut\r\n} from './models/api-security.types'\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { map, Observable, tap } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiSecurityService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService,\r\n private http: HttpClient\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API security URL from the environments configuration.\r\n *\r\n * @return {string} The API security URL.\r\n */\r\n get url (): string {\r\n return this.environments.apiSecurityUrl ?? ''\r\n }\r\n\r\n /**\r\n * Handles the login authentication request by sending the login data to the authentication endpoint.\r\n *\r\n * @param {AuthLoginIn} body The payload containing login credentials.\r\n * @return {Observable<AuthLoginOut>} An observable emitting the authentication response data.\r\n */\r\n postAuthLogin (body: AuthLoginIn): Observable<AuthLoginOut> {\r\n return this.http.post<ApiSuccess<AuthLoginOut>>(`${this.url}/auth/login`, body)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(({ access_token }) => this.cookie.set(this.environments.authCookie, access_token, { path: '/' }))\r\n )\r\n }\r\n\r\n /**\r\n * Handles the user login process by sending user credentials to the authentication endpoint.\r\n *\r\n * @param {AuthUserLoginIn} body - The request payload containing user login details such as username and password.\r\n * @return {Observable<AuthLoginOut>} An observable that emits the authenticated user's login data upon successful login.\r\n */\r\n postAuthUserLogin (body: AuthUserLoginIn): Observable<AuthLoginOut> {\r\n return this.http.post<ApiSuccess<AuthLoginOut>>(`${this.url}/auth/user-login`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Logs out the current user by making a POST request to the logout endpoint.\r\n *\r\n * This method deletes all cookies after a successful logout.\r\n *\r\n * @return {Observable<{}>} An observable that emits the server's response to the logout request.\r\n */\r\n postAuthLogout (): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/auth/logout`, null)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(() => this.cookie.delete(this.environments.authCookie, '/'))\r\n )\r\n }\r\n\r\n /**\r\n * Creates a new session for a specified model.\r\n *\r\n * @param {Object} params - The parameters for creating the session.\r\n * @param {string} params.modelType - The type of the model.\r\n * @param {string} params.modelId - The ID of the model.\r\n * @param {string} [params.token] - Optional authorization token.\r\n *\r\n * @return {Observable<SessionOut>} An observable containing the created session details.\r\n */\r\n postSession ({\r\n modelType,\r\n modelId,\r\n token,\r\n }: SessionIn): Observable<SessionOut> {\r\n let headers = new HttpHeaders({})\r\n\r\n if (token) { headers = headers.set('Authorization', `Bearer ${token}`) }\r\n\r\n return this.http.post<ApiSuccess<SessionOut>>(\r\n `${this.url}/sessions`, {\r\n model_type: modelType,\r\n model_id: modelId,\r\n }, {\r\n headers\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's information.\r\n * Sends a GET request to the endpoint '/auth/me' to retrieve information\r\n * about the currently authenticated user.\r\n *\r\n * @return {Observable<AuthMeOut>} An observable that emits the authenticated user's data.\r\n */\r\n getAuthMe (): Observable<AuthMeOut> {\r\n return this.http.get<ApiSuccess<AuthMeOut>>(`${this.url}/auth/me`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's details from the server.\r\n *\r\n * @param token The JWT token used for authorization.\r\n * @return An Observable that emits the user's details encapsulated in a MeOut object.\r\n */\r\n getOtherMe (token: string): Observable<AuthMeOut> {\r\n return this.http.get<ApiSuccess<AuthMeOut>>(`${this.url}/auth/me`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a user by their unique ID.\r\n *\r\n * @param {number} id - The unique identifier of the user to be fetched.\r\n * @return {Observable<GetUserOut>} An observable containing the user information.\r\n */\r\n getUser (id: number): Observable<GetUserOut> {\r\n return this.http.get<ApiSuccess<GetUserOut>>(`${this.url}/users/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of users from the server based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the list of users.\r\n * @return {Observable<GetUsersOut>} An observable that emits the list of users retrieved from the server.\r\n */\r\n getUsers (params: QueryParams): Observable<GetUsersOut> {\r\n return this.http.get<ApiSuccess<GetUsersOut>>(`${this.url}/users`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Updates the information of a specified user on the server.\r\n *\r\n * @param {Object} params - The parameter object.\r\n * @param {Object} params.user - The user object containing updated data.\r\n * @param {string} params.user.id - The unique identifier of the user to be updated.\r\n *\r\n * @return {void} This method does not return a value.\r\n */\r\n putUsers ({ user }: PutUsersIn) {\r\n return this.http.put<ApiSuccess<PutUsersOut>>(`${this.url}/users/${user.id}`, user)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Changes the language for the authenticated user.\r\n *\r\n * @param {Object} params - The input parameters for changing the language.\r\n * @param {string} params.languageId - The ID of the new language to be set.\r\n * @return {Observable<ApiSuccess<AuthMeOut>>} An observable that emits the result of the language change request.\r\n */\r\n putChangeLanguage ({\r\n languageId\r\n }: ChangeLanguageIn): Observable<AuthMeOut> {\r\n return this.http.put<ApiSuccess<AuthMeOut>>(`${this.url}/auth/me`, {\r\n language_id: languageId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of roles with their permissions.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the roles.\r\n * @returns {Observable<RoleIn[]>} An observable that emits an array of role permissions.\r\n */\r\n getRoles (params: QueryParams): Observable<RolesOut> {\r\n return this.http.get<ApiSuccess<RolesOut>>(`${this.url}/roles`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the role types from the API.\r\n *\r\n * @param {QueryParams} params - The query parameters to be sent with the request.\r\n * @returns {Observable<RoleTypesOut>} An observable containing the role types output.\r\n */\r\n getRoleTypes (params: QueryParams): Observable<RoleTypesOut> {\r\n return this.http.get<ApiSuccess<RoleTypesOut>>(`${this.url}/role-types`, { params })\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves roles by the specified ID.\r\n *\r\n * @param id - The ID of the role to retrieve.\r\n * @returns An Observable that emits the role data.\r\n */\r\n getRole (id: number): Observable<RoleOut> {\r\n return this.http.get<ApiSuccess<RoleOut>>(`${this.url}/roles/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Creates a new role with the specified permissions.\r\n *\r\n * @param {RoleIn} body - The permissions and details for the new role.\r\n * @returns {Observable<RoleOut>} An observable containing the created role's permissions.\r\n */\r\n postRole (body: RoleIn): Observable<RoleOut> {\r\n return this.http.post<ApiSuccess<RoleOut>>(`${this.url}/roles`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Updates the permissions of a specific role.\r\n *\r\n * @param id - The unique identifier of the role to update.\r\n * @param body - The new permissions to assign to the role.\r\n * @returns An Observable that emits the updated module permissions.\r\n */\r\n putRole (id: number, body: RoleIn): Observable<RoleOut> {\r\n return this.http.put<ApiSuccess<RoleOut>>(`${this.url}/roles/${id}`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Deletes the permissions associated with a specific role.\r\n *\r\n * @param {number} id - The unique identifier of the role whose permissions are to be deleted.\r\n * @returns {Observable<{}>} An observable that emits the result of the delete operation.\r\n */\r\n deleteRole (id: number): Observable<{}> {\r\n return this.http.delete<ApiSuccess<{}>>(`${this.url}/roles/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of modules and permissions\r\n *\r\n * @param queryParams - The query parameters to filter the modules.\r\n * @returns Observable<ModulesOut[]> - An observable that emits an array of modules and permissions.\r\n */\r\n getModules (queryParams: QueryParams): Observable<ModulesOut> {\r\n return this.http.get<ApiSuccess<ModulesOut>>(`${this.url}/modules`, {\r\n params: queryParams\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of modules and permissions\r\n *\r\n * @param params.token - Custom token for authorization.\r\n * @param params.queryParams - The query parameters to filter the modules.\r\n * @returns Observable<ModulesOut[]> - An observable that emits an array of modules and permissions.\r\n */\r\n getModulesByToken (params: {\r\n token: string,\r\n queryParams: QueryParams\r\n }): Observable<ModulesOut> {\r\n return this.http.get<ApiSuccess<ModulesOut>>(`${this.url}/modules`, {\r\n params: params.queryParams,\r\n headers: {\r\n Authorization: `Bearer ${params.token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\nimport {\r\n ManifestMultipleIn,\r\n ManifestMultipleOut,\r\n ShipmentEmployeeCustomer,\r\n ShipmentCancellationIn,\r\n ShipmentCancellationOut,\r\n ValidateAccountIn,\r\n ValidateAccountOut\r\n} from './models/api-shipments.types'\r\nimport { ApiSuccess } from './models/api.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiShipmentsService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiShipmentUrl ?? ''\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {ValidateAccountIn} body - An object of parameter names for which the values need to be fetched.\r\n * @return {Observable<ValidateAccountIn>} An observable that emits the fetched parameter values\r\n * @param body\r\n */\r\n postValidateAccount (body: ValidateAccountIn): Observable<ValidateAccountOut> {\r\n return this.http.post<ApiSuccess<ValidateAccountOut>>(`${this.url}/accounts`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Sends a POST request to the shipments manifest endpoint with the provided body.\r\n *\r\n * @param body - The request payload of type `ManifestMultipleIn`.\r\n * @returns An observable that emits the response data of type `ManifestMultipleOut`.\r\n */\r\n postManifestMultiple (body: ManifestMultipleIn) {\r\n return this.http.post<ApiSuccess<ManifestMultipleOut>>(`${this.url}/shipments/manifest`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Validates and obtains the number of shipments allowed by an employee customer\r\n *\r\n * @param {id} params - The id employee customer\r\n * @return {Observable<ShipmentEmployeeCustomer>} An observable containing the shipments allowed by an employee\r\n */\r\n getEmployeeCustomer (id: number): Observable<ShipmentEmployeeCustomer> {\r\n return this.http.get<ApiSuccess<ShipmentEmployeeCustomer>>(`${this.url}/shipments/employee-customer/${id}`).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Cancels a specific shipment by providing its ID and a reason for cancellation.\r\n * Sends a PATCH request to update the shipment's cancellation status with the specified reason.\r\n *\r\n * @param {Object} param0 - The input object containing shipment cancellation details.\r\n * @param {string} param0.shipmentId - The unique identifier of the shipment to be canceled.\r\n * @param {string} param0.reasonId - The unique identifier of the reason for cancellation.\r\n * @return {Observable<ShipmentCancellationOut>} An observable emitting the result of the cancellation operation.\r\n */\r\n patchShipmentsCancellation ({ shipmentId, reasonId }: ShipmentCancellationIn) {\r\n return this.http.patch<ApiSuccess<ShipmentCancellationOut>>(`${this.url}/shipments/${shipmentId}/cancellation`, {\r\n cancellationReasonId: reasonId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport Pusher, { Channel } from 'pusher-js'\r\nimport { Observable } from 'rxjs'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WebSocketsService {\r\n private pusher: Pusher | null\r\n\r\n constructor (\r\n @Inject('env') private environments: Environment\r\n ) {\r\n this.pusher = null\r\n\r\n this.connect()\r\n .then((pusher) => {\r\n if (!pusher) return\r\n\r\n this.pusher = pusher\r\n })\r\n }\r\n\r\n /**\r\n * Publishes an event to the specified channel with the given data.\r\n *\r\n * @param {Channel} channel - The channel instance where the event will be published.\r\n * @param {string} eventName - The name of the event to be published.\r\n * @param {T} data - The payload data to be sent with the event.\r\n * @return {Promise<boolean>} A promise that resolves to a boolean indicating\r\n * whether the event was successfully triggered on the channel.\r\n */\r\n async pub<T> (channel: Channel, eventName: string, data: T) {\r\n return channel.trigger(`client-${eventName}`, data)\r\n }\r\n\r\n /**\r\n * Subscribes to a specified channel, retrying multiple times upon failure.\r\n *\r\n * @param {string} channelName - The name of the channel to be subscribed to.\r\n * @return {Promise<Channel>} A promise that resolves to the subscribed channel object if successful.\r\n * @throws {Error} If the subscription fails after the maximum number of retry attempts.\r\n */\r\n async channelSub (channelName: string): Promise<Channel> {\r\n const attempts = 3\r\n\r\n for (let attempt = 0; attempt <= attempts; attempt++) {\r\n const channel = this.pusher?.channel(channelName)\r\n\r\n if (channel?.subscribed) {\r\n return channel\r\n }\r\n\r\n this.pusher?.subscribe(channelName)\r\n\r\n if (attempt < attempts) {\r\n await this.wait()\r\n }\r\n }\r\n\r\n throw new Error(`Failed to subscribe to channel \"${channelName}\" after ${attempts} attempts.`)\r\n }\r\n\r\n /**\r\n * Binds an event listener to a specified event on a given channel using Pusher or a Channel object,\r\n * and returns an Observable that emits event data of type T.\r\n *\r\n * @param {Channel|string} channel - The channel to bind the event to. It can be a Channel object or a string representing the channel name.\r\n * @param {string} event - The name of the event to bind to the channel.\r\n * @return {Observable<T>} An Observable that emits data of type T when the specified event is triggered.\r\n */\r\n eventBind<T> (channel: Channel | string, event: string): Observable<T> {\r\n return new Observable((subscriber) => {\r\n if ((channel as Channel)?.name) {\r\n (channel as Channel).bind(event, (data: T) => subscriber.next(data))\r\n } else {\r\n this.pusher?.subscribe((channel as string))\r\n .bind(event, (data: T) => subscriber.next(data))\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * Unbinds an event from the specified channel and returns an observable\r\n * that emits data when the event callback is triggered.\r\n *\r\n * @param {Channel} channel - The channel object from which the event should be unbound.\r\n * @param {string} event - The name of the event to unbind.\r\n * @return {Observable<T>} An observable that emits data from the unbound event callback.\r\n */\r\n eventUnbind<T> (channel: Channel, event: string) {\r\n return new Observable((subscriber) =>\r\n channel.unbind(event, (data: T) => subscriber.next(data)))\r\n }\r\n\r\n private connect () {\r\n return new Promise<Pusher | false>((resolve) => {\r\n const { sockets } = this.environments\r\n\r\n if (!sockets) return resolve(false)\r\n\r\n const pusher = new Pusher(sockets.app_key, {\r\n wsHost: sockets.url,\r\n wsPort: sockets.port,\r\n enabledTransports: ['wss', 'ws'],\r\n forceTLS: false,\r\n enableStats: false,\r\n })\r\n\r\n if (sockets.debug) {\r\n Pusher.logToConsole = true\r\n }\r\n\r\n return resolve(pusher)\r\n })\r\n }\r\n\r\n private async wait (): Promise<void> {\r\n const waitTime = 3 * 1000\r\n\r\n return new Promise((resolve) => setTimeout(resolve, waitTime))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CryptoService {\r\n constructor (\r\n @Inject('env') private environments: Environment\r\n ) {\r\n }\r\n\r\n public async encryptAES (plaintext: string): Promise<string> {\r\n const cryptoKey = await this.loadKey()\r\n\r\n // Convert the plaintext in Uint8Array\r\n const encoder = new TextEncoder()\r\n const encoded = encoder.encode(plaintext)\r\n\r\n // Generate a random Initialization Vector (IV)\r\n const iv = crypto.getRandomValues(new Uint8Array(12))\r\n\r\n // Encrypt the plaintext\r\n const ciphertext = await crypto.subtle.encrypt(\r\n {\r\n name: 'AES-GCM',\r\n iv,\r\n },\r\n cryptoKey,\r\n encoded\r\n )\r\n\r\n return `${this.uint8ArrayToBase64(iv)}:${this.arrayBufferToBase64(ciphertext)}`\r\n }\r\n\r\n public async decryptAES (payload: string): Promise<string> {\r\n // Extract the Initialization Vector (IV), and the cypher text\r\n const [base64IV, base64Ciphertext] = payload.split(':')\r\n\r\n if (!base64IV || !base64Ciphertext) { throw new Error('The payload must contain the IV and the cipher text.') }\r\n\r\n const cryptoKey = await this.loadKey()\r\n\r\n const iv = this.base64ToUint8Array(base64IV)\r\n const cipherText = this.base64ToArrayBuffer(base64Ciphertext)\r\n\r\n // Decrypt the cypher text\r\n const decrypted = await crypto.subtle.decrypt(\r\n {\r\n name: 'AES-GCM',\r\n iv,\r\n },\r\n cryptoKey,\r\n cipherText\r\n )\r\n\r\n // Decode the decrypted text\r\n const decoder = new TextDecoder()\r\n return decoder.decode(decrypted)\r\n }\r\n\r\n private async loadKey () {\r\n // Decode the base64 key to Uint8Array\r\n const rawKey = this.base64ToUint8Array(this.environments.secretKey)\r\n\r\n // Import the key to API Crypto\r\n return await crypto.subtle.importKey(\r\n 'raw',\r\n rawKey,\r\n { name: 'AES-GCM' },\r\n true,\r\n ['encrypt', 'decrypt']\r\n )\r\n }\r\n\r\n private uint8ArrayToBase64 (data: Uint8Array): string {\r\n let binary = ''\r\n const len = data.byteLength\r\n\r\n for (let i = 0; i < len; i++) {\r\n binary += String.fromCharCode(data[i])\r\n }\r\n\r\n return btoa(binary)\r\n }\r\n\r\n private base64ToUint8Array (base64: string): Uint8Array {\r\n const binaryString = atob(base64)\r\n const len = binaryString.length\r\n const bytes = new Uint8Array(len)\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n return bytes\r\n }\r\n\r\n private arrayBufferToBase64 (buffer: ArrayBuffer): string {\r\n let binary = ''\r\n const bytes = new Uint8Array(buffer)\r\n const len = bytes.byteLength\r\n\r\n for (let i = 0; i < len; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n\r\n return btoa(binary)\r\n }\r\n\r\n private base64ToArrayBuffer (base64: string): ArrayBuffer {\r\n const binaryString = atob(base64)\r\n const len = binaryString.length\r\n const bytes = new Uint8Array(len)\r\n\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n\r\n return bytes.buffer\r\n }\r\n}\r\n","import { HttpEvent, HttpHandlerFn, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\n/**\r\n * Intercepts an outgoing HTTP request and modifies its headers to include default values\r\n * for Cache-Control, Expires, Pragma, Content-Type, Accept, and Accept-Language if they\r\n * are not already present.\r\n *\r\n * @param {HttpRequest<unknown>} req - The outgoing HTTP request to be intercepted and modified.\r\n * @param {HttpHandlerFn} next - The next handler in the chain to pass the modified request to.\r\n * @return {Observable<HttpEvent<unknown>>} An observable of the HTTP event resulting from the processed request.\r\n */\r\nexport function apiHeadersInterceptor (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> {\r\n let { headers } = req\r\n\r\n if (!headers.has('Content-Type') && !(req.body instanceof FormData)) {\r\n headers = headers.set('Content-Type', 'application/json')\r\n }\r\n\r\n if (!headers.has('Accept')) {\r\n headers = headers.set('Accept', 'application/json')\r\n }\r\n\r\n if (!headers.has('Accept-Language')) {\r\n headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en')\r\n }\r\n\r\n req = req.clone({ headers })\r\n\r\n return next(req)\r\n}\r\n","import { inject } from '@angular/core'\r\nimport { HttpEvent, HttpHandlerFn, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\nimport { ENVIRONMENT_TOKEN } from '../ngx-services.models'\r\n\r\n/**\r\n * An HTTP interceptor to append an Authorization header with a Bearer token\r\n * to outgoing HTTP requests if certain conditions are met.\r\n *\r\n * @param {HttpRequest<unknown>} req - The outgoing HTTP request object which may be modified.\r\n * @param {HttpHandlerFn} next - The next handler in the HTTP request pipeline.\r\n * @return {Observable<HttpEvent<unknown>>} An observable of the HTTP event stream resulting from the request.\r\n */\r\nexport function apiTokenInterceptor (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> {\r\n const { authCookie } = inject(ENVIRONMENT_TOKEN)\r\n const cookie = inject(CookieService)\r\n\r\n if (req.headers.has('Authorization') || req.headers.has('AppKey')) {\r\n return next(req)\r\n }\r\n\r\n const token = cookie.get(authCookie)\r\n\r\n if (!token) return next(req)\r\n\r\n req = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n return next(req)\r\n}\r\n","import { inject } from '@angular/core'\r\nimport { HttpEvent, HttpHandlerFn, HttpRequest, HttpResponse } from '@angular/common/http'\r\n\r\nimport { Observable, of } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\nimport { ENVIRONMENT_TOKEN } from '../ngx-services.models'\r\n\r\nconst DEFAULT_TTL = 10000 // ttl in ms\r\nconst cache = new Map<string, { ttl: number, res: HttpResponse<any> }>()\r\n\r\n/**\r\n * Interceptor function to handle HTTP caching for GET requests. It retrieves cached responses\r\n * if available and valid; otherwise, it processes the request and caches the response for future use.\r\n *\r\n * @param {HttpRequest<any>} req - The HTTP request object being intercepted.\r\n * @param {HttpHandlerFn} next - The next HTTP handler function in the chain to process the request.\r\n * @return {Observable<HttpEvent<any>>} An observable that emits the HTTP event, either from cache\r\n * or by invoking the next handler.\r\n */\r\nexport function httpCachingInterceptor (req: HttpRequest<any>, next: HttpHandlerFn): Observable<HttpEvent<any>> {\r\n const { cacheTtl } = inject(ENVIRONMENT_TOKEN)\r\n\r\n if (req.method !== 'GET') return next(req)\r\n\r\n const cached = cache.get(req.urlWithParams)\r\n\r\n if (cached) {\r\n const isExpired = Date.now() > cached.ttl\r\n\r\n if (!isExpired) { return of(cached.res) }\r\n\r\n cache.delete(req.urlWithParams) // If expired, remove the entry from cache\r\n }\r\n\r\n return next(req).pipe(\r\n tap((res) => {\r\n if (!(res instanceof HttpResponse)) { return }\r\n\r\n const ttl = Date.now() + (cacheTtl ?? DEFAULT_TTL)\r\n\r\n cache.set(req.urlWithParams, { res, ttl })\r\n })\r\n )\r\n}\r\n","import { HttpHeaders, HttpParams } from '@angular/common/http'\r\nimport { QueryParams } from '../apis/models/api.models'\r\n\r\n/**\r\n * Convert an object of key-value pairs into a URL query string.\r\n *\r\n * @param {Object} params - The key-value pairs to converted into a query string.\r\n *\r\n * @return {string} - The generated query string.\r\n */\r\nexport const queryString = (params: QueryParams): string => {\r\n const queryElements: string[] = []\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n const arrayQuery = value\r\n .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item as string | number | boolean)}`)\r\n .join('&')\r\n\r\n queryElements.push(arrayQuery)\r\n } else {\r\n const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value as string | number | boolean)}`\r\n\r\n queryElements.push(encodedQuery)\r\n }\r\n })\r\n\r\n const queryString = queryElements.join('&')\r\n\r\n return queryString.length ? `?${queryString}` : ''\r\n}\r\n\r\n/**\r\n * Creates an instance of HttpParams using the provided params object.\r\n *\r\n * @param {Object} params - The object containing the params to the HttpParams constructor.\r\n *\r\n * @returns {HttpParams} - An instance of HttpParams created from the params object.\r\n */\r\nexport const httpParams = (\r\n params: QueryParams\r\n): HttpParams => new HttpParams({\r\n fromObject: params\r\n})\r\n\r\n/**\r\n * Returns the headers for generating PDF files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.\r\n */\r\nexport const pdfHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n Accept: 'application/pdf'\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n\r\n/**\r\n * Returns the headers for generating XML files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.\r\n */\r\nexport const xmlHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n Accept: 'application/xml',\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\nexport * from './lib/ngx-services.models'\r\nexport * from './lib/ngx-services.module'\r\n\r\n// api services\r\nexport * from './lib/apis/api-billing-do.service'\r\nexport * from './lib/apis/api-billing-mx.service'\r\nexport * from './lib/apis/api-catalogs.service'\r\nexport * from './lib/apis/api-companies.service'\r\nexport * from './lib/apis/api-e-tools-auto-billing.service'\r\nexport * from './lib/apis/api-external-pickups.service'\r\nexport * from './lib/apis/api-invoices.service'\r\nexport * from './lib/apis/api-open-items.service'\r\nexport * from './lib/apis/api-reports.service'\r\nexport * from './lib/apis/api-security.service'\r\nexport * from './lib/apis/api-shipments.service'\r\n\r\n// api models\r\nexport * from './lib/apis/models/api-billing.types'\r\nexport * from './lib/apis/models/api-catalog.interfaces'\r\nexport * from './lib/apis/models/api-catalog.types'\r\nexport * from './lib/apis/models/api-companies.interfaces'\r\nexport * from './lib/apis/models/api-companies.types'\r\nexport * from './lib/apis/models/api-e-tools-auto-billing.interfaces'\r\nexport * from './lib/apis/models/api-e-tools-auto-billing.types'\r\nexport * from './lib/apis/models/api-external-pickups.types'\r\nexport * from './lib/apis/models/api-invoices.interfaces'\r\nexport * from './lib/apis/models/api-invoices.types'\r\nexport * from './lib/apis/models/api-open-items.interfaces'\r\nexport * from './lib/apis/models/api-open-items.types'\r\nexport * from './lib/apis/models/api-reports.interfaces'\r\nexport * from './lib/apis/models/api-security.interfaces'\r\nexport * from './lib/apis/models/api-security.types'\r\nexport * from './lib/apis/models/api-shipments.types'\r\nexport * from './lib/apis/models/api.models'\r\n\r\n// websockets\r\nexport * from './lib/websockets/web-sockets.service'\r\n\r\n// cypher\r\nexport * from './lib/cypher/crypto.service'\r\n\r\n// interceptors\r\nexport * from './lib/interceptors/api-headers.interceptor'\r\nexport * from './lib/interceptors/api-token.interceptor'\r\nexport * from './lib/interceptors/http-caching.interceptor'\r\n\r\n// helpers\r\nexport * from './lib/helpers/http'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map","i1","i2","tap"],"mappings":"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"}
|
|
@@ -15,12 +15,14 @@ export declare class ApiEToolsAutoBillingService {
|
|
|
15
15
|
*/
|
|
16
16
|
get url(): string;
|
|
17
17
|
/**
|
|
18
|
-
* Updates external shipment
|
|
18
|
+
* Updates external shipment address details for the given address ID.
|
|
19
19
|
*
|
|
20
|
-
* @param {
|
|
21
|
-
* @
|
|
20
|
+
* @param {Object} params - The parameters for the API request.
|
|
21
|
+
* @param {string} params.id - The unique identifier of the address to update.
|
|
22
|
+
* @param {Object} params.body - The payload containing updated address details.
|
|
23
|
+
* @return {Observable<ExternalShipmentAddressesOut>} An observable containing the updated external shipment address information.
|
|
22
24
|
*/
|
|
23
|
-
patchExternalShipmentAddresses(body: ExternalShipmentAddressesIn): Observable<ExternalShipmentAddressesOut>;
|
|
25
|
+
patchExternalShipmentAddresses({ id, ...body }: ExternalShipmentAddressesIn): Observable<ExternalShipmentAddressesOut>;
|
|
24
26
|
/**
|
|
25
27
|
* Fetches the external shipment file by its identifier.
|
|
26
28
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ExternalShipmentAddress, ExternalShipmentFile, ExternalShipmentHistory, ExternalShipmentStatuses } from './api-e-tools-auto-billing.interfaces';
|
|
2
2
|
export type ExternalShipmentAddressesIn = {
|
|
3
|
+
id: number;
|
|
3
4
|
addressLine1: string;
|
|
4
5
|
addressLine2: string;
|
|
5
6
|
addressLine3: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ShipmentEmployeeCustomers } from "./api-shipments.interfaces";
|
|
1
2
|
export type ValidateAccountIn = {
|
|
2
3
|
accountValue: string;
|
|
3
4
|
};
|
|
@@ -74,6 +75,8 @@ export type ManifestMultipleOut = {
|
|
|
74
75
|
export type ShipmentEmployeeCustomer = {
|
|
75
76
|
currentYear: number;
|
|
76
77
|
currentMonth: number;
|
|
78
|
+
message: string | null;
|
|
79
|
+
shipmentEmployeeCustomers: ShipmentEmployeeCustomers[];
|
|
77
80
|
};
|
|
78
81
|
export type ShipmentCancellationIn = {
|
|
79
82
|
shipmentId: number;
|