@experteam-mx/ngx-services 20.0.0-beta.4 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/experteam-mx-ngx-services.mjs +5 -0
- package/esm2022/lib/apis/api-billing-do.service.mjs +41 -0
- package/esm2022/lib/apis/api-billing-gt.service.mjs +61 -0
- package/esm2022/lib/apis/api-billing-mx.service.mjs +62 -0
- package/esm2022/lib/apis/api-billing-pa.service.mjs +105 -0
- package/esm2022/lib/apis/api-billing-sv.service.mjs +83 -0
- package/esm2022/lib/apis/api-cash-operations.service.mjs +93 -0
- package/esm2022/lib/apis/api-catalogs.service.mjs +626 -0
- package/esm2022/lib/apis/api-companies.service.mjs +1031 -0
- package/esm2022/lib/apis/api-composition.service.mjs +55 -0
- package/esm2022/lib/apis/api-customs.service.mjs +157 -0
- package/esm2022/lib/apis/api-discounts.service.mjs +243 -0
- package/esm2022/lib/apis/api-e-tools-auto-billing.service.mjs +75 -0
- package/esm2022/lib/apis/api-events.service.mjs +53 -0
- package/esm2022/lib/apis/api-external-pickups.service.mjs +74 -0
- package/esm2022/lib/apis/api-inventories.service.mjs +208 -0
- package/esm2022/lib/apis/api-invoices.service.mjs +398 -0
- package/esm2022/lib/apis/api-notifications.service.mjs +104 -0
- package/esm2022/lib/apis/api-open-items.service.mjs +62 -0
- package/esm2022/lib/apis/api-reports.service.mjs +172 -0
- package/esm2022/lib/apis/api-security.service.mjs +245 -0
- package/esm2022/lib/apis/api-services.service.mjs +93 -0
- package/esm2022/lib/apis/api-shipments.service.mjs +116 -0
- package/esm2022/lib/apis/api-supplies.service.mjs +133 -0
- package/esm2022/lib/apis/models/api-billing-do.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-do.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-mx.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-mx.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-pa.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-pa.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-sv.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-sv.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing.models.mjs +2 -0
- package/esm2022/lib/apis/models/api-cash-operations.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-cash-operations.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-catalog.enum.mjs +9 -0
- package/esm2022/lib/apis/models/api-catalog.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-catalog.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-companies.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-companies.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-composition.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-composition.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-customs.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-customs.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-discounts.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-discounts.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-events.enum.mjs +7 -0
- package/esm2022/lib/apis/models/api-events.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-events.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-external-pickups.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-inventories.enum.mjs +22 -0
- package/esm2022/lib/apis/models/api-inventories.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-inventories.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-invoices.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-invoices.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-notifications.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-notifications.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-open-items.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-open-items.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-reports.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-reports.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-security.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-security.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-services.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-services.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-shipments.enums.mjs +8 -0
- package/esm2022/lib/apis/models/api-shipments.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-shipments.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-supplies.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-supplies.types.mjs +2 -0
- package/esm2022/lib/apis/models/api.models.mjs +2 -0
- package/esm2022/lib/cypher/crypto.service.mjs +93 -0
- package/esm2022/lib/helpers/files.mjs +9 -0
- package/esm2022/lib/helpers/http.mjs +66 -0
- package/esm2022/lib/interceptors/api-headers.interceptor.mjs +24 -0
- package/esm2022/lib/interceptors/api-token.interceptor.mjs +28 -0
- package/esm2022/lib/interceptors/http-caching.interceptor.mjs +37 -0
- package/esm2022/lib/ngx-services.models.mjs +11 -0
- package/esm2022/lib/ngx-services.module.mjs +33 -0
- package/esm2022/lib/websockets/web-sockets.service.mjs +115 -0
- package/esm2022/public-api.mjs +90 -0
- package/fesm2022/experteam-mx-ngx-services.mjs +126 -5
- package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
- package/index.d.ts +287 -4
- package/lib/apis/api-billing-do.service.d.ts +24 -0
- package/lib/apis/api-billing-gt.service.d.ts +38 -0
- package/lib/apis/api-billing-mx.service.d.ts +39 -0
- package/lib/apis/api-billing-pa.service.d.ts +68 -0
- package/lib/apis/api-billing-sv.service.d.ts +55 -0
- package/lib/apis/api-cash-operations.service.d.ts +62 -0
- package/lib/apis/api-catalogs.service.d.ts +458 -0
- package/lib/apis/api-companies.service.d.ts +714 -0
- package/lib/apis/api-composition.service.d.ts +35 -0
- package/lib/apis/api-customs.service.d.ts +110 -0
- package/lib/apis/api-discounts.service.d.ts +167 -0
- package/lib/apis/api-e-tools-auto-billing.service.d.ts +49 -0
- package/lib/apis/api-events.service.d.ts +33 -0
- package/lib/apis/api-external-pickups.service.d.ts +46 -0
- package/lib/apis/api-inventories.service.d.ts +145 -0
- package/lib/apis/api-invoices.service.d.ts +280 -0
- package/lib/apis/api-notifications.service.d.ts +70 -0
- package/lib/apis/api-open-items.service.d.ts +41 -0
- package/lib/apis/api-reports.service.d.ts +120 -0
- package/lib/apis/api-security.service.d.ts +162 -0
- package/lib/apis/api-services.service.d.ts +61 -0
- package/lib/apis/api-shipments.service.d.ts +77 -0
- package/lib/apis/api-supplies.service.d.ts +93 -0
- package/lib/apis/models/api-billing-do.interfaces.d.ts +6 -0
- package/lib/apis/models/api-billing-do.types.d.ts +5 -0
- package/lib/apis/models/api-billing-mx.interfaces.d.ts +21 -0
- package/lib/apis/models/api-billing-mx.types.d.ts +13 -0
- package/lib/apis/models/api-billing-pa.interfaces.d.ts +26 -0
- package/lib/apis/models/api-billing-pa.types.d.ts +16 -0
- package/lib/apis/models/api-billing-sv.interfaces.d.ts +22 -0
- package/lib/apis/models/api-billing-sv.types.d.ts +21 -0
- package/lib/apis/models/api-billing.models.d.ts +27 -0
- package/lib/apis/models/api-cash-operations.interfaces.d.ts +40 -0
- package/lib/apis/models/api-cash-operations.types.d.ts +30 -0
- package/lib/apis/models/api-catalog.enum.d.ts +7 -0
- package/lib/apis/models/api-catalog.interfaces.d.ts +219 -0
- package/lib/apis/models/api-catalog.types.d.ts +217 -0
- package/lib/apis/models/api-companies.interfaces.d.ts +341 -0
- package/lib/apis/models/api-companies.types.d.ts +457 -0
- package/lib/apis/models/api-composition.interfaces.d.ts +272 -0
- package/lib/apis/models/api-composition.types.d.ts +9 -0
- package/lib/apis/models/api-customs.interfaces.d.ts +125 -0
- package/lib/apis/models/api-customs.types.d.ts +90 -0
- package/lib/apis/models/api-discounts.interfaces.d.ts +78 -0
- package/lib/apis/models/api-discounts.types.d.ts +89 -0
- package/lib/apis/models/api-e-tools-auto-billing.interfaces.d.ts +45 -0
- package/lib/apis/models/api-e-tools-auto-billing.types.d.ts +30 -0
- package/lib/apis/models/api-events.enum.d.ts +5 -0
- package/lib/apis/models/api-events.interfaces.d.ts +21 -0
- package/lib/apis/models/api-events.types.d.ts +14 -0
- package/lib/apis/models/api-external-pickups.types.d.ts +31 -0
- package/lib/apis/models/api-inventories.enum.d.ts +18 -0
- package/lib/apis/models/api-inventories.interfaces.d.ts +40 -0
- package/lib/apis/models/api-inventories.types.d.ts +62 -0
- package/lib/apis/models/api-invoices.interfaces.d.ts +267 -0
- package/lib/apis/models/api-invoices.types.d.ts +195 -0
- package/lib/apis/models/api-notifications.interfaces.d.ts +36 -0
- package/lib/apis/models/api-notifications.types.d.ts +34 -0
- package/lib/apis/models/api-open-items.interfaces.d.ts +32 -0
- package/lib/apis/models/api-open-items.types.d.ts +58 -0
- package/lib/apis/models/api-reports.interfaces.d.ts +342 -0
- package/lib/apis/models/api-reports.types.d.ts +59 -0
- package/lib/apis/models/api-security.interfaces.d.ts +68 -0
- package/lib/apis/models/api-security.types.d.ts +72 -0
- package/lib/apis/models/api-services.interfaces.d.ts +43 -0
- package/lib/apis/models/api-services.types.d.ts +57 -0
- package/lib/apis/models/api-shipments.enums.d.ts +6 -0
- package/lib/apis/models/api-shipments.interfaces.d.ts +41 -0
- package/lib/apis/models/api-shipments.types.d.ts +121 -0
- package/lib/apis/models/api-supplies.interfaces.d.ts +40 -0
- package/lib/apis/models/api-supplies.types.d.ts +50 -0
- package/lib/apis/models/api.models.d.ts +36 -0
- package/lib/cypher/crypto.service.d.ts +15 -0
- package/lib/helpers/files.d.ts +2 -0
- package/lib/helpers/http.d.ts +38 -0
- package/lib/interceptors/api-headers.interceptor.d.ts +12 -0
- package/lib/interceptors/api-token.interceptor.d.ts +11 -0
- package/lib/interceptors/http-caching.interceptor.d.ts +12 -0
- package/lib/ngx-services.models.d.ts +62 -0
- package/lib/ngx-services.module.d.ts +16 -0
- package/lib/websockets/web-sockets.service.d.ts +49 -0
- package/package.json +1 -1
- package/public-api.d.ts +80 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "ngx-cookie-service";
|
|
5
|
+
import * as i2 from "@angular/common/http";
|
|
6
|
+
export class ApiCompositionService {
|
|
7
|
+
environments;
|
|
8
|
+
cookie;
|
|
9
|
+
http;
|
|
10
|
+
constructor(environments, cookie, http) {
|
|
11
|
+
this.environments = environments;
|
|
12
|
+
this.cookie = cookie;
|
|
13
|
+
this.http = http;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Retrieves the API security URL from the environment configuration.
|
|
17
|
+
*
|
|
18
|
+
* @return {string} The API security URL.
|
|
19
|
+
*/
|
|
20
|
+
get url() {
|
|
21
|
+
return this.environments.apiCompositionUrl ?? '';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Retrieves shipment details based on the provided shipment ID.
|
|
25
|
+
*
|
|
26
|
+
* @param {number} id - The unique identifier of the shipment to retrieve.
|
|
27
|
+
* @return {Observable<ShipmentOut>} An observable that emits the details of the shipment.
|
|
28
|
+
*/
|
|
29
|
+
getShipment(id) {
|
|
30
|
+
return this.http.get(`${this.url}/shipments/${id}`)
|
|
31
|
+
.pipe(map(({ data }) => data));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetches the country references data based on the provided query parameters.
|
|
35
|
+
*
|
|
36
|
+
* @param {QueryParams} params - The query parameters for the API request.
|
|
37
|
+
* @return {Observable<CompositionCountryReferencesOut>} - An observable emitting the country references.
|
|
38
|
+
*/
|
|
39
|
+
getCountryReferences(params) {
|
|
40
|
+
return this.http.get(`${this.url}/country-references`, { params })
|
|
41
|
+
.pipe(map(({ data }) => data));
|
|
42
|
+
}
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCompositionService, deps: [{ token: 'env' }, { token: i1.CookieService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCompositionService, providedIn: 'root' });
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCompositionService, decorators: [{
|
|
47
|
+
type: Injectable,
|
|
48
|
+
args: [{
|
|
49
|
+
providedIn: 'root'
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
52
|
+
type: Inject,
|
|
53
|
+
args: ['env']
|
|
54
|
+
}] }, { type: i1.CookieService }, { type: i2.HttpClient }] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBvc2l0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktY29tcG9zaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUlsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7O0FBT3RDLE1BQU0sT0FBTyxxQkFBcUI7SUFFUDtJQUNmO0lBQ0E7SUFIVixZQUN5QixZQUF5QixFQUN4QyxNQUFxQixFQUNyQixJQUFnQjtRQUZELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUE7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFFLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsR0FBRyxJQUFJLENBQUMsR0FBRyxjQUFjLEVBQUUsRUFBRSxDQUFDO2FBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFFLE1BQW1CO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQThDLEdBQUcsSUFBSSxDQUFDLEdBQUcscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUM1RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQXBDVSxxQkFBcUIsa0JBRXRCLEtBQUs7NEdBRkoscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnXHJcbmltcG9ydCB7IENvbXBvc2l0aW9uQ291bnRyeVJlZmVyZW5jZXNPdXQsIFNoaXBtZW50T3V0IH0gZnJvbSAnLi9tb2RlbHMvYXBpLWNvbXBvc2l0aW9uLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpQ29tcG9zaXRpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGNvb2tpZTogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBBUEkgc2VjdXJpdHkgVVJMIGZyb20gdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb24uXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBBUEkgc2VjdXJpdHkgVVJMLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpQ29tcG9zaXRpb25VcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBzaGlwbWVudCBkZXRhaWxzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBzaGlwbWVudCBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgc2hpcG1lbnQgdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTaGlwbWVudE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGV0YWlscyBvZiB0aGUgc2hpcG1lbnQuXHJcbiAgICovXHJcbiAgZ2V0U2hpcG1lbnQgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNoaXBtZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFNoaXBtZW50T3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50cy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgY291bnRyeSByZWZlcmVuY2VzIGRhdGEgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyBmb3IgdGhlIEFQSSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q29tcG9zaXRpb25Db3VudHJ5UmVmZXJlbmNlc091dD59IC0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgY291bnRyeSByZWZlcmVuY2VzLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnlSZWZlcmVuY2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb21wb3NpdGlvbkNvdW50cnlSZWZlcmVuY2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvbXBvc2l0aW9uQ291bnRyeVJlZmVyZW5jZXNPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1yZWZlcmVuY2VzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class ApiCustomsService {
|
|
6
|
+
environments;
|
|
7
|
+
http;
|
|
8
|
+
constructor(environments, http) {
|
|
9
|
+
this.environments = environments;
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves the URL for the cash operations API from the environment configurations.
|
|
14
|
+
*
|
|
15
|
+
* @return {string} The URL of the cash operations API.
|
|
16
|
+
*/
|
|
17
|
+
get url() {
|
|
18
|
+
return this.environments.apiCustomsUrl ?? '';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Fetches the available fields for a given level.
|
|
22
|
+
*
|
|
23
|
+
* @return {Observable<FieldsOut>} An Observable that emits the list of fields.
|
|
24
|
+
* @param params
|
|
25
|
+
*/
|
|
26
|
+
getFields(params) {
|
|
27
|
+
return this.http.get(`${this.url}/fields`, {
|
|
28
|
+
params
|
|
29
|
+
}).pipe(map(({ data }) => data));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Retrieves override configurations for a given level.
|
|
33
|
+
*
|
|
34
|
+
* @return {Observable<OverridesOut>} An Observable that emits the overrides configuration.
|
|
35
|
+
* @param params
|
|
36
|
+
*/
|
|
37
|
+
getOverrides(params) {
|
|
38
|
+
return this.http.get(`${this.url}/overrides`, {
|
|
39
|
+
params
|
|
40
|
+
}).pipe(map(({ data }) => data));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Fetches the catalogs used in customs operations.
|
|
44
|
+
*
|
|
45
|
+
* @return {Observable<CatalogsOut>} An Observable that emits the catalogs.
|
|
46
|
+
*/
|
|
47
|
+
getCatalogs(params) {
|
|
48
|
+
return this.http.get(`${this.url}/catalogs`, {
|
|
49
|
+
params
|
|
50
|
+
}).pipe(map(({ data }) => data));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves the list of rules based on the provided query parameters.
|
|
54
|
+
*
|
|
55
|
+
* @param {QueryParams} params - Query parameters to filter the rules.
|
|
56
|
+
* @return {Observable<RulesOut>} An Observable that emits the list of rules.
|
|
57
|
+
*/
|
|
58
|
+
getRules(params) {
|
|
59
|
+
return this.http.get(`${this.url}/rules`, { params }).pipe(map(({ data }) => data));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Retrieves the details of a specific rule by its ID.
|
|
63
|
+
*
|
|
64
|
+
* @param {number} id - The ID of the rule.
|
|
65
|
+
* @return {Observable<RuleOut>} An Observable that emits the rule details.
|
|
66
|
+
*/
|
|
67
|
+
getRule(id) {
|
|
68
|
+
return this.http.get(`${this.url}/rules/${id}`).pipe(map(({ data }) => data));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creates a new criteria.
|
|
72
|
+
*
|
|
73
|
+
* @param {CriteriaIn} body - The criteria payload to create.
|
|
74
|
+
* @return {Observable<CriteriaOut>} An Observable that emits the created criteria.
|
|
75
|
+
*/
|
|
76
|
+
postCriteria(body) {
|
|
77
|
+
return this.http.post(`${this.url}/criteria`, body).pipe(map(({ data }) => data));
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Creates a new rule.
|
|
81
|
+
*
|
|
82
|
+
* @param {RuleIn} body - The rule payload to create.
|
|
83
|
+
* @return {Observable<RuleOut>} An Observable that emits the created rule.
|
|
84
|
+
*/
|
|
85
|
+
postRules(body) {
|
|
86
|
+
return this.http.post(`${this.url}/rules`, body).pipe(map(({ data }) => data));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Retrieves rules that match the given criteria.
|
|
90
|
+
*
|
|
91
|
+
* @param {RuleCriteriaIn} params - Criteria used to search for matching rules.
|
|
92
|
+
* @return {Observable<RulesByCriteriaOut>} An Observable that emits the list of matching rules.
|
|
93
|
+
*/
|
|
94
|
+
postRulesByCriteria(params) {
|
|
95
|
+
return this.http.post(`${this.url}/rules/by-criteria`, params).pipe(map(({ data }) => data));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Enables a specific rule by its ID.
|
|
99
|
+
*
|
|
100
|
+
* @param {number} id - The ID of the rule to enable.
|
|
101
|
+
* @return {Observable<{}>} An Observable that emits an empty array on success.
|
|
102
|
+
*/
|
|
103
|
+
putRuleActivate(id) {
|
|
104
|
+
return this.http.put(`${this.url}/rules/${id}/activate`, null).pipe(map(({ data }) => data));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Disables (deletes) a specific rule by its ID.
|
|
108
|
+
*
|
|
109
|
+
* @param {number} id - The ID of the rule to disable.
|
|
110
|
+
* @return {Observable<[]>} An Observable that emits an empty array on success.
|
|
111
|
+
*/
|
|
112
|
+
deleteRule(id) {
|
|
113
|
+
return this.http.delete(`${this.url}/rules/${id}`).pipe(map(({ data }) => data));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Updates an existing criteria by its ID.
|
|
117
|
+
*
|
|
118
|
+
* @param {number} id - The ID of the criteria.
|
|
119
|
+
* @param {CriteriaIn} body - The updated criteria payload.
|
|
120
|
+
* @return {Observable<CriteriaOut>} An Observable that emits the updated criteria.
|
|
121
|
+
*/
|
|
122
|
+
putCriteria(id, body) {
|
|
123
|
+
return this.http.put(`${this.url}/criteria/${id}`, body).pipe(map(({ data }) => data));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Updates an existing rule by its ID.
|
|
127
|
+
*
|
|
128
|
+
* @param {number} id - The ID of the rule.
|
|
129
|
+
* @param {RulesIn} body - The updated rule payload.
|
|
130
|
+
* @return {Observable<RuleOut>} An Observable that emits the updated rule.
|
|
131
|
+
*/
|
|
132
|
+
putRule(id, body) {
|
|
133
|
+
return this.http.put(`${this.url}/rules/${id}`, body).pipe(map(({ data }) => data));
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Retrieves the list of country groups used in customs operations.
|
|
137
|
+
*
|
|
138
|
+
* @return {Observable<CountryGroupsOut>} An Observable that emits the list of country groups.
|
|
139
|
+
*/
|
|
140
|
+
getCountryGroups(params) {
|
|
141
|
+
return this.http.get(`${this.url}/country-groups`, {
|
|
142
|
+
params
|
|
143
|
+
}).pipe(map(({ data }) => data));
|
|
144
|
+
}
|
|
145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCustomsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
146
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCustomsService, providedIn: 'root' });
|
|
147
|
+
}
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCustomsService, decorators: [{
|
|
149
|
+
type: Injectable,
|
|
150
|
+
args: [{
|
|
151
|
+
providedIn: 'root'
|
|
152
|
+
}]
|
|
153
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
154
|
+
type: Inject,
|
|
155
|
+
args: ['env']
|
|
156
|
+
}] }, { type: i1.HttpClient }] });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWN1c3RvbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL2FwaS1jdXN0b21zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJbEQsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQTs7O0FBY3RDLE1BQU0sT0FBTyxpQkFBaUI7SUFFSDtJQUNmO0lBRlYsWUFDeUIsWUFBeUIsRUFDeEMsSUFBZ0I7UUFERCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3RCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUE7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFFLE1BQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLEdBQUcsU0FBUyxFQUFFO1lBQ3BCLE1BQU07U0FDUCxDQUNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUN4QixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFFLE1BQW1CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLEdBQUcsWUFBWSxFQUFFO1lBQ3ZCLE1BQU07U0FDUCxDQUNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFD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SUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsR0FBRyxhQUFhLEVBQUUsRUFBRSxFQUM1QixJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ3hCLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFFLEVBQVMsRUFBRSxJQUFhO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsRUFDekIsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUN4QixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBRSxNQUFtQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyxHQUFHLGlCQUFpQixFQUM1QjtZQUNFLE1BQU07U0FDUCxDQUNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUN4QixDQUFBO0lBQ0gsQ0FBQzt3R0FoTlUsaUJBQWlCLGtCQUVsQixLQUFLOzRHQUZKLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgQXBpU3VjY2VzcywgUXVlcnlQYXJhbXMgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQge1xyXG4gIENhdGFsb2dzT3V0LCBDb3VudHJ5R3JvdXBzT3V0LFxyXG4gIENyaXRlcmlhSW4sXHJcbiAgQ3JpdGVyaWFPdXQsXHJcbiAgRmllbGRzT3V0LFxyXG4gIE92ZXJyaWRlc091dCwgUnVsZUNyaXRlcmlhSW4sIFJ1bGVJbixcclxuICBSdWxlT3V0LCBSdWxlc0J5Q3JpdGVyaWFPdXQsIFJ1bGVzSW4sXHJcbiAgUnVsZXNPdXRcclxufSBmcm9tICcuL21vZGVscy9hcGktY3VzdG9tcy50eXBlcydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaUN1c3RvbXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFVSTCBmb3IgdGhlIGNhc2ggb3BlcmF0aW9ucyBBUEkgZnJvbSB0aGUgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvbnMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVUkwgb2YgdGhlIGNhc2ggb3BlcmF0aW9ucyBBUEkuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cy5hcGlDdXN0b21zVXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBhdmFpbGFibGUgZmllbGRzIGZvciBhIGdpdmVuIGxldmVsLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxGaWVsZHNPdXQ+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgZmllbGRzLlxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBnZXRGaWVsZHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEZpZWxkc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxGaWVsZHNPdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L2ZpZWxkc2AsIHtcclxuICAgICAgICBwYXJhbXNcclxuICAgICAgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIG92ZXJyaWRlIGNvbmZpZ3VyYXRpb25zIGZvciBhIGdpdmVuIGxldmVsLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPdmVycmlkZXNPdXQ+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIG92ZXJyaWRlcyBjb25maWd1cmF0aW9uLlxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBnZXRPdmVycmlkZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPE92ZXJyaWRlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxPdmVycmlkZXNPdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L292ZXJyaWRlc2AsIHtcclxuICAgICAgICBwYXJhbXNcclxuICAgICAgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgY2F0YWxvZ3MgdXNlZCBpbiBjdXN0b21zIG9wZXJhdGlvbnMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENhdGFsb2dzT3V0Pn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjYXRhbG9ncy5cclxuICAgKi9cclxuICBnZXRDYXRhbG9ncyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q2F0YWxvZ3NPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q2F0YWxvZ3NPdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L2NhdGFsb2dzYCwge1xyXG4gICAgICAgIHBhcmFtc1xyXG4gICAgICB9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgcnVsZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgcnVsZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxSdWxlc091dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgbGlzdCBvZiBydWxlcy5cclxuICAgKi9cclxuICBnZXRSdWxlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UnVsZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UnVsZXNPdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L3J1bGVzYCxcclxuICAgICAgeyBwYXJhbXMgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkZXRhaWxzIG9mIGEgc3BlY2lmaWMgcnVsZSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHJ1bGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxSdWxlT3V0Pn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBydWxlIGRldGFpbHMuXHJcbiAgICovXHJcbiAgZ2V0UnVsZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UnVsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxSdWxlT3V0Pj4oXHJcbiAgICAgIGAke3RoaXMudXJsfS9ydWxlcy8ke2lkfWBcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgY3JpdGVyaWEuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0NyaXRlcmlhSW59IGJvZHkgLSBUaGUgY3JpdGVyaWEgcGF5bG9hZCB0byBjcmVhdGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDcml0ZXJpYU91dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3JlYXRlZCBjcml0ZXJpYS5cclxuICAgKi9cclxuICBwb3N0Q3JpdGVyaWEgKGJvZHk6IENyaXRlcmlhSW4pOiBPYnNlcnZhYmxlPENyaXRlcmlhT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxDcml0ZXJpYU91dD4+KGAke3RoaXMudXJsfS9jcml0ZXJpYWAsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgcnVsZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UnVsZUlufSBib2R5IC0gVGhlIHJ1bGUgcGF5bG9hZCB0byBjcmVhdGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxSdWxlT3V0Pn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjcmVhdGVkIHJ1bGUuXHJcbiAgICovXHJcbiAgcG9zdFJ1bGVzIChib2R5OiBSdWxlSW4pOiBPYnNlcnZhYmxlPFJ1bGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFJ1bGVPdXQ+PihgJHt0aGlzLnVybH0vcnVsZXNgLFxyXG4gICAgICBib2R5XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcnVsZXMgdGhhdCBtYXRjaCB0aGUgZ2l2ZW4gY3JpdGVyaWEuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1J1bGVDcml0ZXJpYUlufSBwYXJhbXMgLSBDcml0ZXJpYSB1c2VkIHRvIHNlYXJjaCBmb3IgbWF0Y2hpbmcgcnVsZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxSdWxlc0J5Q3JpdGVyaWFPdXQ+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgbWF0Y2hpbmcgcnVsZXMuXHJcbiAgICovXHJcbiAgcG9zdFJ1bGVzQnlDcml0ZXJpYSAocGFyYW1zOiBSdWxlQ3JpdGVyaWFJbik6IE9ic2VydmFibGU8UnVsZXNCeUNyaXRlcmlhT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxSdWxlc0J5Q3JpdGVyaWFPdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L3J1bGVzL2J5LWNyaXRlcmlhYCxcclxuICAgICAgcGFyYW1zXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmFibGVzIGEgc3BlY2lmaWMgcnVsZSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHJ1bGUgdG8gZW5hYmxlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8e30+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZW1wdHkgYXJyYXkgb24gc3VjY2Vzcy5cclxuICAgKi9cclxuICBwdXRSdWxlQWN0aXZhdGUgKGlkOm51bWJlcik6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8e30+PihcclxuICAgICAgYCR7dGhpcy51cmx9L3J1bGVzLyR7aWR9L2FjdGl2YXRlYCwgbnVsbFxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzYWJsZXMgKGRlbGV0ZXMpIGEgc3BlY2lmaWMgcnVsZSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHJ1bGUgdG8gZGlzYWJsZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFtdPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGVtcHR5IGFycmF5IG9uIHN1Y2Nlc3MuXHJcbiAgICovXHJcbiAgZGVsZXRlUnVsZSAoaWQ6bnVtYmVyKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2Vzczx7fT4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vcnVsZXMvJHtpZH1gXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGNyaXRlcmlhIGJ5IGl0cyBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBJRCBvZiB0aGUgY3JpdGVyaWEuXHJcbiAgICogQHBhcmFtIHtDcml0ZXJpYUlufSBib2R5IC0gVGhlIHVwZGF0ZWQgY3JpdGVyaWEgcGF5bG9hZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENyaXRlcmlhT3V0Pn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGNyaXRlcmlhLlxyXG4gICAqL1xyXG4gIHB1dENyaXRlcmlhIChpZDpudW1iZXIsIGJvZHk6IENyaXRlcmlhSW4pOiBPYnNlcnZhYmxlPENyaXRlcmlhT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPENyaXRlcmlhT3V0Pj4oXHJcbiAgICAgIGAke3RoaXMudXJsfS9jcml0ZXJpYS8ke2lkfWAsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgcnVsZSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHJ1bGUuXHJcbiAgICogQHBhcmFtIHtSdWxlc0lufSBib2R5IC0gVGhlIHVwZGF0ZWQgcnVsZSBwYXlsb2FkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UnVsZU91dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCBydWxlLlxyXG4gICAqL1xyXG4gIHB1dFJ1bGUgKGlkOm51bWJlciwgYm9keTogUnVsZXNJbik6IE9ic2VydmFibGU8UnVsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxSdWxlT3V0Pj4oXHJcbiAgICAgIGAke3RoaXMudXJsfS9ydWxlcy8ke2lkfWAsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBjb3VudHJ5IGdyb3VwcyB1c2VkIGluIGN1c3RvbXMgb3BlcmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeUdyb3Vwc091dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgbGlzdCBvZiBjb3VudHJ5IGdyb3Vwcy5cclxuICAgKi9cclxuICBnZXRDb3VudHJ5R3JvdXBzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5R3JvdXBzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvdW50cnlHcm91cHNPdXQ+PihcclxuICAgICAgYCR7dGhpcy51cmx9L2NvdW50cnktZ3JvdXBzYCxcclxuICAgICAge1xyXG4gICAgICAgIHBhcmFtc1xyXG4gICAgICB9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpXHJcbiAgICApXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class ApiDiscountsService {
|
|
6
|
+
environments;
|
|
7
|
+
http;
|
|
8
|
+
constructor(environments, http) {
|
|
9
|
+
this.environments = environments;
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Gets the API endpoint URL for discounts from the environments configuration.
|
|
14
|
+
*
|
|
15
|
+
* @return {string} The URL for the discounts API. Returns an empty string if not defined.
|
|
16
|
+
*/
|
|
17
|
+
get url() {
|
|
18
|
+
return this.environments.apiDiscountsUrl ?? '';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Fetches available discounts based on the provided query parameters.
|
|
22
|
+
*
|
|
23
|
+
* @param {QueryParams} params - The query parameters used to filter and retrieve discounts.
|
|
24
|
+
* @return {Observable<DiscountsOut>} An Observable that emits the retrieved discounts data.
|
|
25
|
+
*/
|
|
26
|
+
getDiscounts(params) {
|
|
27
|
+
return this.http.get(`${this.url}/discounts`, { params })
|
|
28
|
+
.pipe(map(({ data }) => data));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Sends a request to create or update discounts on the server.
|
|
32
|
+
*
|
|
33
|
+
* @param {DiscountIn} body - The discount information to be submitted.
|
|
34
|
+
* @return {Observable<DiscountOut>} An Observable emitting the server's response containing the created or updated discount details.
|
|
35
|
+
*/
|
|
36
|
+
postDiscounts(body) {
|
|
37
|
+
return this.http.post(`${this.url}/discounts`, body)
|
|
38
|
+
.pipe(map(({ data }) => data));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Updates the discount information for a specific item.
|
|
42
|
+
*
|
|
43
|
+
* @param {number} id - The unique identifier of the item whose discount is to be updated.
|
|
44
|
+
* @param {DiscountIn} body - The payload containing the updated discount details.
|
|
45
|
+
* @return {Observable<DiscountOut>} An observable emitting the updated discount details.
|
|
46
|
+
*/
|
|
47
|
+
putDiscounts(id, body) {
|
|
48
|
+
return this.http.put(`${this.url}/discounts/${id}`, body)
|
|
49
|
+
.pipe(map(({ data }) => data));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves the top customers based on the provided query parameters.
|
|
53
|
+
*
|
|
54
|
+
* @param {QueryParams} params - The query parameters to filter and sort the top customers.
|
|
55
|
+
* @return {Observable<TopCustomersOut>} An observable emitting the list of top customers.
|
|
56
|
+
*/
|
|
57
|
+
getTopCustomers(params) {
|
|
58
|
+
return this.http.get(`${this.url}/top-customers`, { params })
|
|
59
|
+
.pipe(map(({ data }) => data));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Sends a POST request to load the top customer data in the system, using the provided input.
|
|
63
|
+
* Transforms the API response to extract the data field containing the discount information.
|
|
64
|
+
*
|
|
65
|
+
* @param {OperationsLoadTopCustomerV2In} body - The input payload containing the company country ID and the file.
|
|
66
|
+
* @param {number} body.company_country_id - The ID of the company's country.
|
|
67
|
+
* @param {File} body.file - The file containing data to be processed.
|
|
68
|
+
* @return {Observable<DiscountOut>} An observable containing the discount output information.
|
|
69
|
+
*/
|
|
70
|
+
postOperationsLoadTopCustomerV2(body) {
|
|
71
|
+
const formData = new FormData();
|
|
72
|
+
formData.append('company_country_id', String(body.company_country_id));
|
|
73
|
+
formData.append('file', body.file);
|
|
74
|
+
return this.http.post(`${this.url}/operations/load-top-customer/V2`, formData)
|
|
75
|
+
.pipe(map(({ data }) => data));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Fetches the loyalty periods based on the provided query parameters.
|
|
79
|
+
*
|
|
80
|
+
* @param {QueryParams} params - An object containing query parameters to filter the periods.
|
|
81
|
+
* @return {Observable<LoyaltyPeriodsOut>} An observable that emits the fetched loyalty periods.
|
|
82
|
+
*/
|
|
83
|
+
getLoyaltyPeriods(params) {
|
|
84
|
+
return this.http.get(`${this.url}/loyalty-periods`, { params })
|
|
85
|
+
.pipe(map(({ data }) => data));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Retrieves the loyalty period details for the given ID.
|
|
89
|
+
*
|
|
90
|
+
* @param {number} id - The unique identifier of the loyalty period to retrieve.
|
|
91
|
+
* @return {Observable<LoyaltyPeriodOut>} An observable emitting the loyalty period details.
|
|
92
|
+
*/
|
|
93
|
+
getLoyaltyPeriod(id) {
|
|
94
|
+
return this.http.get(`${this.url}/loyalty-periods/${id}`)
|
|
95
|
+
.pipe(map(({ data }) => data));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Sends a PUT request to update the loyalty period with the provided data.
|
|
99
|
+
*
|
|
100
|
+
* @param {LoyaltyPeriodIn} body - The data for the loyalty period to be updated.
|
|
101
|
+
* @return {Observable<LoyaltyPeriodOut>} An observable that emits the updated loyalty period data.
|
|
102
|
+
*/
|
|
103
|
+
postLoyaltyPeriod(body) {
|
|
104
|
+
return this.http.put(`${this.url}/loyalty-periods`, body)
|
|
105
|
+
.pipe(map(({ data }) => data));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Updates the loyalty period for a specified ID with the provided data.
|
|
109
|
+
*
|
|
110
|
+
* @param {number} id - The unique identifier of the loyalty period to update.
|
|
111
|
+
* @param {LoyaltyPeriodIn} body - An object containing the updated details of the loyalty period.
|
|
112
|
+
* @return {Observable<LoyaltyPeriodOut>} An observable that emits the updated loyalty period details.
|
|
113
|
+
*/
|
|
114
|
+
putLoyaltyPeriod(id, body) {
|
|
115
|
+
return this.http.put(`${this.url}/loyalty-periods/${id}`, body)
|
|
116
|
+
.pipe(map(({ data }) => data));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Retrieves the loyalty rules based on the provided query parameters.
|
|
120
|
+
*
|
|
121
|
+
* @param {QueryParams} params - The query parameters to filter the loyalty rules.
|
|
122
|
+
* @return {Observable<LoyaltyRulesOut>} An observable containing the loyalty rules output.
|
|
123
|
+
*/
|
|
124
|
+
getLoyaltyRules(params) {
|
|
125
|
+
return this.http.get(`${this.url}/loyalty-rules`, { params })
|
|
126
|
+
.pipe(map(({ data }) => data));
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Retrieves a specific loyalty rule based on the provided ID.
|
|
130
|
+
*
|
|
131
|
+
* @param {number} id - The unique identifier of the loyalty rule to retrieve.
|
|
132
|
+
* @return {Observable<LoyaltyRuleOut>} An observable that emits the details of the specified loyalty rule.
|
|
133
|
+
*/
|
|
134
|
+
getLoyaltyRule(id) {
|
|
135
|
+
return this.http.get(`${this.url}/loyalty-rules/${id}`)
|
|
136
|
+
.pipe(map(({ data }) => data));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Sends a request to add or update a loyalty rule.
|
|
140
|
+
*
|
|
141
|
+
* @param {LoyaltyRuleIn} body - The loyalty rule data to be sent to the server.
|
|
142
|
+
* @return {Observable<LoyaltyRuleOut>} An observable that emits the updated loyalty rule details.
|
|
143
|
+
*/
|
|
144
|
+
postLoyaltyRule(body) {
|
|
145
|
+
return this.http.put(`${this.url}/loyalty-rules`, body)
|
|
146
|
+
.pipe(map(({ data }) => data));
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Updates an existing loyalty rule with the provided data.
|
|
150
|
+
*
|
|
151
|
+
* @param {number} id - The unique identifier of the loyalty rule to update.
|
|
152
|
+
* @param {LoyaltyRuleIn} body - The data to update the loyalty rule with.
|
|
153
|
+
* @return {Observable<LoyaltyRuleOut>} An observable that emits the updated loyalty rule.
|
|
154
|
+
*/
|
|
155
|
+
putLoyaltyRule(id, body) {
|
|
156
|
+
return this.http.put(`${this.url}/loyalty-rules/${id}`, body)
|
|
157
|
+
.pipe(map(({ data }) => data));
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Fetches customer restrictions based on the provided query parameters.
|
|
161
|
+
*
|
|
162
|
+
* @param {QueryParams} params - The query parameters to filter customer restrictions.
|
|
163
|
+
* @return {Observable<CustomerRestrictionsOut>} An observable that emits the customer restrictions data.
|
|
164
|
+
*/
|
|
165
|
+
getCustomerRestrictions(params) {
|
|
166
|
+
return this.http.get(`${this.url}/customer-restrictions`, { params })
|
|
167
|
+
.pipe(map(({ data }) => data));
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Retrieves customer restriction details for a given customer ID.
|
|
171
|
+
*
|
|
172
|
+
* @param {number} id - The unique identifier of the customer.
|
|
173
|
+
* @return {Observable<CustomerRestrictionOut>} An observable containing the customer restriction details.
|
|
174
|
+
*/
|
|
175
|
+
getCustomerRestriction(id) {
|
|
176
|
+
return this.http.get(`${this.url}/customer-restrictions/${id}`)
|
|
177
|
+
.pipe(map(({ data }) => data));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Sends a request to apply a restriction to a customer.
|
|
181
|
+
*
|
|
182
|
+
* @param {CustomerRestrictionIn} body - The restriction details to be applied to the customer.
|
|
183
|
+
* @return {Observable<CustomerRestrictionOut>} An observable containing the response with the applied customer restriction.
|
|
184
|
+
*/
|
|
185
|
+
postCustomerRestriction(body) {
|
|
186
|
+
return this.http.put(`${this.url}/customer-restrictions`, body)
|
|
187
|
+
.pipe(map(({ data }) => data));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Updates customer restrictions using the provided ID and data.
|
|
191
|
+
*
|
|
192
|
+
* @param {number} id - The unique identifier of the customer restriction to be updated.
|
|
193
|
+
* @param {LoyaltyRuleIn} body - The data object containing the customer restriction details to be updated.
|
|
194
|
+
* @return {Observable<CustomerRestrictionOut>} An observable emitting the updated customer restriction details.
|
|
195
|
+
*/
|
|
196
|
+
putCustomerRestriction(id, body) {
|
|
197
|
+
return this.http.put(`${this.url}/customer-restrictions/${id}`, body)
|
|
198
|
+
.pipe(map(({ data }) => data));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Deletes a customer restriction by its ID.
|
|
202
|
+
*
|
|
203
|
+
* @param {number} id - The unique identifier of the customer restriction to delete.
|
|
204
|
+
* @return {Observable<{}>} An Observable that emits the result of the deletion operation.
|
|
205
|
+
*/
|
|
206
|
+
deleteCustomerRestriction(id) {
|
|
207
|
+
return this.http.delete(`${this.url}/customer-restrictions/${id}`)
|
|
208
|
+
.pipe(map(({ data }) => data));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Sends a request to apply a restriction to a customer (Version 2).
|
|
212
|
+
*
|
|
213
|
+
* @param {CustomerRestrictionInV2} body - The restriction details to be applied to the customer.
|
|
214
|
+
* @return {Observable<CustomerRestrictionOut>} An observable containing the response with the applied customer restriction.
|
|
215
|
+
*/
|
|
216
|
+
postCustomerRestrictionV2(body) {
|
|
217
|
+
return this.http.post(`${this.url}/customer-restrictions/V2`, body)
|
|
218
|
+
.pipe(map(({ data }) => data));
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Updates customer restrictions using the provided ID and data (Version 2).
|
|
222
|
+
*
|
|
223
|
+
* @param {number} id - The unique identifier of the customer restriction to be updated.
|
|
224
|
+
* @param {CustomerRestrictionInV2} body - The data object containing the customer restriction details to be updated.
|
|
225
|
+
* @return {Observable<CustomerRestrictionOut>} An observable emitting the updated customer restriction details.
|
|
226
|
+
*/
|
|
227
|
+
putCustomerRestrictionV2(id, body) {
|
|
228
|
+
return this.http.put(`${this.url}/customer-restrictions/V2/${id}`, body)
|
|
229
|
+
.pipe(map(({ data }) => data));
|
|
230
|
+
}
|
|
231
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiDiscountsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
232
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiDiscountsService, providedIn: 'root' });
|
|
233
|
+
}
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiDiscountsService, decorators: [{
|
|
235
|
+
type: Injectable,
|
|
236
|
+
args: [{
|
|
237
|
+
providedIn: 'root'
|
|
238
|
+
}]
|
|
239
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
240
|
+
type: Inject,
|
|
241
|
+
args: ['env']
|
|
242
|
+
}] }, { type: i1.HttpClient }] });
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWRpc2NvdW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLWRpc2NvdW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQXVCdEMsTUFBTSxPQUFPLG1CQUFtQjtJQUVMO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUUsTUFBbUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUUsSUFBZ0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEIsR0FBRyxJQUFJLENBQUMsR0FBRyxZQUFZLEVBQUUsSUFBSSxDQUFDO2FBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJ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SSxDQUFDLEdBQUcsMEJBQTBCLEVBQUUsRUFBRSxDQUFDO2FBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUFFLElBQTZCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsMkJBQTJCLEVBQUUsSUFBSSxDQUFDO2FBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCx3QkFBd0IsQ0FBRSxFQUFVLEVBQUUsSUFBNkI7UUFDakUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUMsR0FBRyxJQUFJLENBQUMsR0FBRyw2QkFBNkIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDO2FBQ3pHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBclBVLG1CQUFtQixrQkFFcEIsS0FBSzs0R0FGSixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBDdXN0b21lclJlc3RyaWN0aW9uSW4sXHJcbiAgQ3VzdG9tZXJSZXN0cmljdGlvbkluVjIsXHJcbiAgQ3VzdG9tZXJSZXN0cmljdGlvbk91dCxcclxuICBDdXN0b21lclJlc3RyaWN0aW9uc091dCxcclxuICBEaXNjb3VudEluLFxyXG4gIERpc2NvdW50T3V0LFxyXG4gIERpc2NvdW50c091dCxcclxuICBMb3lhbHR5UGVyaW9kSW4sXHJcbiAgTG95YWx0eVBlcmlvZE91dCxcclxuICBMb3lhbHR5UGVyaW9kc091dCxcclxuICBMb3lhbHR5UnVsZUluLFxyXG4gIExveWFsdHlSdWxlT3V0LFxyXG4gIExveWFsdHlSdWxlc091dCxcclxuICBPcGVyYXRpb25zTG9hZFRvcEN1c3RvbWVyVjJJbixcclxuICBUb3BDdXN0b21lcnNPdXRcclxufSBmcm9tICcuL21vZGVscy9hcGktZGlzY291bnRzLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpRGlzY291bnRzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgQVBJIGVuZHBvaW50IFVSTCBmb3IgZGlzY291bnRzIGZyb20gdGhlIGVudmlyb25tZW50cyBjb25maWd1cmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIGZvciB0aGUgZGlzY291bnRzIEFQSS4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgbm90IGRlZmluZWQuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cy5hcGlEaXNjb3VudHNVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYXZhaWxhYmxlIGRpc2NvdW50cyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIGFuZCByZXRyaWV2ZSBkaXNjb3VudHMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxEaXNjb3VudHNPdXQ+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJldHJpZXZlZCBkaXNjb3VudHMgZGF0YS5cclxuICAgKi9cclxuICBnZXREaXNjb3VudHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPERpc2NvdW50c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxEaXNjb3VudHNPdXQ+PihgJHt0aGlzLnVybH0vZGlzY291bnRzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIHJlcXVlc3QgdG8gY3JlYXRlIG9yIHVwZGF0ZSBkaXNjb3VudHMgb24gdGhlIHNlcnZlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7RGlzY291bnRJbn0gYm9keSAtIFRoZSBkaXNjb3VudCBpbmZvcm1hdGlvbiB0byBiZSBzdWJtaXR0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxEaXNjb3VudE91dD59IEFuIE9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHNlcnZlcidzIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGNyZWF0ZWQgb3IgdXBkYXRlZCBkaXNjb3VudCBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHBvc3REaXNjb3VudHMgKGJvZHk6IERpc2NvdW50SW4pOiBPYnNlcnZhYmxlPERpc2NvdW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxEaXNjb3VudE91dD4+KGAke3RoaXMudXJsfS9kaXNjb3VudHNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIGRpc2NvdW50IGluZm9ybWF0aW9uIGZvciBhIHNwZWNpZmljIGl0ZW0uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgZGlzY291bnQgaXMgdG8gYmUgdXBkYXRlZC5cclxuICAgKiBAcGFyYW0ge0Rpc2NvdW50SW59IGJvZHkgLSBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSB1cGRhdGVkIGRpc2NvdW50IGRldGFpbHMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxEaXNjb3VudE91dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHVwZGF0ZWQgZGlzY291bnQgZGV0YWlscy5cclxuICAgKi9cclxuICBwdXREaXNjb3VudHMgKGlkOiBudW1iZXIsIGJvZHk6IERpc2NvdW50SW4pOiBPYnNlcnZhYmxlPERpc2NvdW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPERpc2NvdW50T3V0Pj4oYCR7dGhpcy51cmx9L2Rpc2NvdW50cy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSB0b3AgY3VzdG9tZXJzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIGFuZCBzb3J0IHRoZSB0b3AgY3VzdG9tZXJzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VG9wQ3VzdG9tZXJzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgbGlzdCBvZiB0b3AgY3VzdG9tZXJzLlxyXG4gICAqL1xyXG4gIGdldFRvcEN1c3RvbWVycyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8VG9wQ3VzdG9tZXJzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFRvcEN1c3RvbWVyc091dD4+KGAke3RoaXMudXJsfS90b3AtY3VzdG9tZXJzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIFBPU1QgcmVxdWVzdCB0byBsb2FkIHRoZSB0b3AgY3VzdG9tZXIgZGF0YSBpbiB0aGUgc3lzdGVtLCB1c2luZyB0aGUgcHJvdmlkZWQgaW5wdXQuXHJcbiAgICogVHJhbnNmb3JtcyB0aGUgQVBJIHJlc3BvbnNlIHRvIGV4dHJhY3QgdGhlIGRhdGEgZmllbGQgY29udGFpbmluZyB0aGUgZGlzY291bnQgaW5mb3JtYXRpb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09wZXJhdGlvbnNMb2FkVG9wQ3VzdG9tZXJWMklufSBib2R5IC0gVGhlIGlucHV0IHBheWxvYWQgY29udGFpbmluZyB0aGUgY29tcGFueSBjb3VudHJ5IElEIGFuZCB0aGUgZmlsZS5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gYm9keS5jb21wYW55X2NvdW50cnlfaWQgLSBUaGUgSUQgb2YgdGhlIGNvbXBhbnkncyBjb3VudHJ5LlxyXG4gICAqIEBwYXJhbSB7RmlsZX0gYm9keS5maWxlIC0gVGhlIGZpbGUgY29udGFpbmluZyBkYXRhIHRvIGJlIHByb2Nlc3NlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPERpc2NvdW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBkaXNjb3VudCBvdXRwdXQgaW5mb3JtYXRpb24uXHJcbiAgICovXHJcbiAgcG9zdE9wZXJhdGlvbnNMb2FkVG9wQ3VzdG9tZXJWMiAoYm9keTogT3BlcmF0aW9uc0xvYWRUb3BDdXN0b21lclYySW4pOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvbXBhbnlfY291bnRyeV9pZCcsIFN0cmluZyhib2R5LmNvbXBhbnlfY291bnRyeV9pZCkpXHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBib2R5LmZpbGUpXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8e30+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9ucy9sb2FkLXRvcC1jdXN0b21lci9WMmAsIGZvcm1EYXRhKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGxveWFsdHkgcGVyaW9kcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIEFuIG9iamVjdCBjb250YWluaW5nIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBwZXJpb2RzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG95YWx0eVBlcmlvZHNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZldGNoZWQgbG95YWx0eSBwZXJpb2RzLlxyXG4gICAqL1xyXG4gIGdldExveWFsdHlQZXJpb2RzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxMb3lhbHR5UGVyaW9kc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxMb3lhbHR5UGVyaW9kc091dD4+KGAke3RoaXMudXJsfS9sb3lhbHR5LXBlcmlvZHNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgbG95YWx0eSBwZXJpb2QgZGV0YWlscyBmb3IgdGhlIGdpdmVuIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBsb3lhbHR5IHBlcmlvZCB0byByZXRyaWV2ZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPExveWFsdHlQZXJpb2RPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBsb3lhbHR5IHBlcmlvZCBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldExveWFsdHlQZXJpb2QgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPExveWFsdHlQZXJpb2RPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TG95YWx0eVBlcmlvZE91dD4+KGAke3RoaXMudXJsfS9sb3lhbHR5LXBlcmlvZHMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUFVUIHJlcXVlc3QgdG8gdXBkYXRlIHRoZSBsb3lhbHR5IHBlcmlvZCB3aXRoIHRoZSBwcm92aWRlZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtMb3lhbHR5UGVyaW9kSW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIGxveWFsdHkgcGVyaW9kIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxMb3lhbHR5UGVyaW9kT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGxveWFsdHkgcGVyaW9kIGRhdGEuXHJcbiAgICovXHJcbiAgcG9zdExveWFsdHlQZXJpb2QgKGJvZHk6IExveWFsdHlQZXJpb2RJbik6IE9ic2VydmFibGU8TG95YWx0eVBlcmlvZE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxMb3lhbHR5UGVyaW9kT3V0Pj4oYCR7dGhpcy51cmx9L2xveWFsdHktcGVyaW9kc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgbG95YWx0eSBwZXJpb2QgZm9yIGEgc3BlY2lmaWVkIElEIHdpdGggdGhlIHByb3ZpZGVkIGRhdGEuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGxveWFsdHkgcGVyaW9kIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0xveWFsdHlQZXJpb2RJbn0gYm9keSAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSB1cGRhdGVkIGRldGFpbHMgb2YgdGhlIGxveWFsdHkgcGVyaW9kLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG95YWx0eVBlcmlvZE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCBsb3lhbHR5IHBlcmlvZCBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHB1dExveWFsdHlQZXJpb2QgKGlkOiBudW1iZXIsIGJvZHk6IExveWFsdHlQZXJpb2RJbik6IE9ic2VydmFibGU8TG95YWx0eVBlcmlvZE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxMb3lhbHR5UGVyaW9kT3V0Pj4oYCR7dGhpcy51cmx9L2xveWFsdHktcGVyaW9kcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBsb3lhbHR5IHJ1bGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBsb3lhbHR5IHJ1bGVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG95YWx0eVJ1bGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBsb3lhbHR5IHJ1bGVzIG91dHB1dC5cclxuICAgKi9cclxuICBnZXRMb3lhbHR5UnVsZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPExveWFsdHlSdWxlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxMb3lhbHR5UnVsZXNPdXQ+PihgJHt0aGlzLnVybH0vbG95YWx0eS1ydWxlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgc3BlY2lmaWMgbG95YWx0eSBydWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgbG95YWx0eSBydWxlIHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG95YWx0eVJ1bGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRldGFpbHMgb2YgdGhlIHNwZWNpZmllZCBsb3lhbHR5IHJ1bGUuXHJcbiAgICovXHJcbiAgZ2V0TG95YWx0eVJ1bGUgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPExveWFsdHlSdWxlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPExveWFsdHlSdWxlT3V0Pj4oYCR7dGhpcy51cmx9L2xveWFsdHktcnVsZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgcmVxdWVzdCB0byBhZGQgb3IgdXBkYXRlIGEgbG95YWx0eSBydWxlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtMb3lhbHR5UnVsZUlufSBib2R5IC0gVGhlIGxveWFsdHkgcnVsZSBkYXRhIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlci5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPExveWFsdHlSdWxlT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGxveWFsdHkgcnVsZSBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHBvc3RMb3lhbHR5UnVsZSAoYm9keTogTG95YWx0eVJ1bGVJbik6IE9ic2VydmFibGU8TG95YWx0eVJ1bGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8TG95YWx0eVJ1bGVPdXQ+PihgJHt0aGlzLnVybH0vbG95YWx0eS1ydWxlc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBsb3lhbHR5IHJ1bGUgd2l0aCB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgbG95YWx0eSBydWxlIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0xveWFsdHlSdWxlSW59IGJvZHkgLSBUaGUgZGF0YSB0byB1cGRhdGUgdGhlIGxveWFsdHkgcnVsZSB3aXRoLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG95YWx0eVJ1bGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVwZGF0ZWQgbG95YWx0eSBydWxlLlxyXG4gICAqL1xyXG4gIHB1dExveWFsdHlSdWxlIChpZDogbnVtYmVyLCBib2R5OiBMb3lhbHR5UnVsZUluKTogT2JzZXJ2YWJsZTxMb3lhbHR5UnVsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxMb3lhbHR5UnVsZU91dD4+KGAke3RoaXMudXJsfS9sb3lhbHR5LXJ1bGVzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGN1c3RvbWVyIHJlc3RyaWN0aW9ucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBjdXN0b21lciByZXN0cmljdGlvbnMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDdXN0b21lclJlc3RyaWN0aW9uc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VzdG9tZXIgcmVzdHJpY3Rpb25zIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Q3VzdG9tZXJSZXN0cmljdGlvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEN1c3RvbWVyUmVzdHJpY3Rpb25zT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEN1c3RvbWVyUmVzdHJpY3Rpb25zT3V0Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyLXJlc3RyaWN0aW9uc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGN1c3RvbWVyIHJlc3RyaWN0aW9uIGRldGFpbHMgZm9yIGEgZ2l2ZW4gY3VzdG9tZXIgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1c3RvbWVyLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q3VzdG9tZXJSZXN0cmljdGlvbk91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgY3VzdG9tZXIgcmVzdHJpY3Rpb24gZGV0YWlscy5cclxuICAgKi9cclxuICBnZXRDdXN0b21lclJlc3RyaWN0aW9uIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDdXN0b21lclJlc3RyaWN0aW9uT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEN1c3RvbWVyUmVzdHJpY3Rpb25PdXQ+PihgJHt0aGlzLnVybH0vY3VzdG9tZXItcmVzdHJpY3Rpb25zLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIHJlcXVlc3QgdG8gYXBwbHkgYSByZXN0cmljdGlvbiB0byBhIGN1c3RvbWVyLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDdXN0b21lclJlc3RyaWN0aW9uSW59IGJvZHkgLSBUaGUgcmVzdHJpY3Rpb24gZGV0YWlscyB0byBiZSBhcHBsaWVkIHRvIHRoZSBjdXN0b21lci5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEN1c3RvbWVyUmVzdHJpY3Rpb25PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIHdpdGggdGhlIGFwcGxpZWQgY3VzdG9tZXIgcmVzdHJpY3Rpb24uXHJcbiAgICovXHJcbiAgcG9zdEN1c3RvbWVyUmVzdHJpY3Rpb24gKGJvZHk6IEN1c3RvbWVyUmVzdHJpY3Rpb25Jbik6IE9ic2VydmFibGU8Q3VzdG9tZXJSZXN0cmljdGlvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxDdXN0b21lclJlc3RyaWN0aW9uT3V0Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyLXJlc3RyaWN0aW9uc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjdXN0b21lciByZXN0cmljdGlvbnMgdXNpbmcgdGhlIHByb3ZpZGVkIElEIGFuZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjdXN0b21lciByZXN0cmljdGlvbiB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSB7TG95YWx0eVJ1bGVJbn0gYm9keSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIHRoZSBjdXN0b21lciByZXN0cmljdGlvbiBkZXRhaWxzIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDdXN0b21lclJlc3RyaWN0aW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgdXBkYXRlZCBjdXN0b21lciByZXN0cmljdGlvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHB1dEN1c3RvbWVyUmVzdHJpY3Rpb24gKGlkOiBudW1iZXIsIGJvZHk6IEN1c3RvbWVyUmVzdHJpY3Rpb25Jbik6IE9ic2VydmFibGU8Q3VzdG9tZXJSZXN0cmljdGlvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxDdXN0b21lclJlc3RyaWN0aW9uT3V0Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyLXJlc3RyaWN0aW9ucy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlcyBhIGN1c3RvbWVyIHJlc3RyaWN0aW9uIGJ5IGl0cyBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY3VzdG9tZXIgcmVzdHJpY3Rpb24gdG8gZGVsZXRlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8e30+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgZGVsZXRpb24gb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIGRlbGV0ZUN1c3RvbWVyUmVzdHJpY3Rpb24gKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPHt9Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyLXJlc3RyaWN0aW9ucy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSByZXF1ZXN0IHRvIGFwcGx5IGEgcmVzdHJpY3Rpb24gdG8gYSBjdXN0b21lciAoVmVyc2lvbiAyKS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7Q3VzdG9tZXJSZXN0cmljdGlvbkluVjJ9IGJvZHkgLSBUaGUgcmVzdHJpY3Rpb24gZGV0YWlscyB0byBiZSBhcHBsaWVkIHRvIHRoZSBjdXN0b21lci5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEN1c3RvbWVyUmVzdHJpY3Rpb25PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIHdpdGggdGhlIGFwcGxpZWQgY3VzdG9tZXIgcmVzdHJpY3Rpb24uXHJcbiAgICovXHJcbiAgcG9zdEN1c3RvbWVyUmVzdHJpY3Rpb25WMiAoYm9keTogQ3VzdG9tZXJSZXN0cmljdGlvbkluVjIpOiBPYnNlcnZhYmxlPEN1c3RvbWVyUmVzdHJpY3Rpb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEN1c3RvbWVyUmVzdHJpY3Rpb25PdXQ+PihgJHt0aGlzLnVybH0vY3VzdG9tZXItcmVzdHJpY3Rpb25zL1YyYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGN1c3RvbWVyIHJlc3RyaWN0aW9ucyB1c2luZyB0aGUgcHJvdmlkZWQgSUQgYW5kIGRhdGEgKFZlcnNpb24gMikuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1c3RvbWVyIHJlc3RyaWN0aW9uIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHBhcmFtIHtDdXN0b21lclJlc3RyaWN0aW9uSW5WMn0gYm9keSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIHRoZSBjdXN0b21lciByZXN0cmljdGlvbiBkZXRhaWxzIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDdXN0b21lclJlc3RyaWN0aW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgdXBkYXRlZCBjdXN0b21lciByZXN0cmljdGlvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHB1dEN1c3RvbWVyUmVzdHJpY3Rpb25WMiAoaWQ6IG51bWJlciwgYm9keTogQ3VzdG9tZXJSZXN0cmljdGlvbkluVjIpOiBPYnNlcnZhYmxlPEN1c3RvbWVyUmVzdHJpY3Rpb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8Q3VzdG9tZXJSZXN0cmljdGlvbk91dD4+KGAke3RoaXMudXJsfS9jdXN0b21lci1yZXN0cmljdGlvbnMvVjIvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class ApiEToolsAutoBillingService {
|
|
6
|
+
environments;
|
|
7
|
+
http;
|
|
8
|
+
constructor(environments, http) {
|
|
9
|
+
this.environments = environments;
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves the URL for the shipments API from the environment configurations.
|
|
14
|
+
*
|
|
15
|
+
* @return {string} The URL of the shipments API.
|
|
16
|
+
*/
|
|
17
|
+
get url() {
|
|
18
|
+
return this.environments.apiEToolsAutoBilling ?? '';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Updates external shipment address details for the given address ID.
|
|
22
|
+
*
|
|
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.
|
|
27
|
+
*/
|
|
28
|
+
patchExternalShipmentAddresses({ id, ...body }) {
|
|
29
|
+
return this.http.patch(`${this.url}/external-shipment-addresses/${id}`, body)
|
|
30
|
+
.pipe(map(({ data }) => data));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetches the external shipment file by its identifier.
|
|
34
|
+
*
|
|
35
|
+
* @param {number} fileId - The unique identifier of the external shipment file to be retrieved.
|
|
36
|
+
* @return {Observable<ExternalShipmentFileOut>} An observable containing the external shipment file data.
|
|
37
|
+
*/
|
|
38
|
+
getExternalShipmentFile(fileId) {
|
|
39
|
+
return this.http.get(`${this.url}/external-shipment-files/${fileId}`)
|
|
40
|
+
.pipe(map(({ data }) => data));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Retrieves the history entries for a specific external shipment.
|
|
44
|
+
*
|
|
45
|
+
* @param {number} id - The ID of the external shipment to retrieve history for.
|
|
46
|
+
* @return {Observable<ExternalShipmentHistoriesOut>} An observable containing the external shipment history entries.
|
|
47
|
+
*/
|
|
48
|
+
getExternalShipmentHistories(id) {
|
|
49
|
+
return this.http.get(`${this.url}/external-shipments/${id}/external-shipment-histories`)
|
|
50
|
+
.pipe(map(({ data }) => data));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves the list of external shipment statuses
|
|
54
|
+
*
|
|
55
|
+
* @param {QueryParams} params - The query parameters used to fetch the external shipment statuses.
|
|
56
|
+
* @return {Observable<ExternalShipmentStatusOut>} An observable that emits the external shipment statuses data.
|
|
57
|
+
*/
|
|
58
|
+
getExternalShipmentStatuses(params) {
|
|
59
|
+
return this.http.get(`${this.url}/external-shipment-statuses`, {
|
|
60
|
+
params
|
|
61
|
+
}).pipe(map(({ data }) => data));
|
|
62
|
+
}
|
|
63
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEToolsAutoBillingService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEToolsAutoBillingService, providedIn: 'root' });
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEToolsAutoBillingService, decorators: [{
|
|
67
|
+
type: Injectable,
|
|
68
|
+
args: [{
|
|
69
|
+
providedIn: 'root'
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
72
|
+
type: Inject,
|
|
73
|
+
args: ['env']
|
|
74
|
+
}] }, { type: i1.HttpClient }] });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWUtdG9vbHMtYXV0by1iaWxsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktZS10b29scy1hdXRvLWJpbGxpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFjdEMsTUFBTSxPQUFPLDJCQUEyQjtJQUViO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFBO0lBQ3JELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsOEJBQThCLENBQUUsRUFDOUIsRUFBRSxFQUNGLEdBQUcsSUFBSSxFQUNxQjtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUEyQyxHQUFHLElBQUksQ0FBQyxHQUFHLGdDQUFnQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDcEgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFzQyxHQUFHLElBQUksQ0FBQyxHQUFHLDRCQUE0QixNQUFNLEVBQUUsQ0FBQzthQUN2RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw0QkFBNEIsQ0FBRSxFQUFVO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJDLEdBQUcsSUFBSSxDQUFDLEdBQUcsdUJBQXVCLEVBQUUsOEJBQThCLENBQUM7YUFDL0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMkJBQTJCLENBQUUsTUFBbUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBd0MsR0FBRyxJQUFJLENBQUMsR0FBRyw2QkFBNkIsRUFBRTtZQUNwRyxNQUFNO1NBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBL0RVLDJCQUEyQixrQkFFNUIsS0FBSzs0R0FGSiwyQkFBMkIsY0FGMUIsTUFBTTs7NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBFeHRlcm5hbFNoaXBtZW50QWRkcmVzc2VzSW4sXHJcbiAgRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dCxcclxuICBFeHRlcm5hbFNoaXBtZW50RmlsZU91dCxcclxuICBFeHRlcm5hbFNoaXBtZW50SGlzdG9yaWVzT3V0LFxyXG4gIEV4dGVybmFsU2hpcG1lbnRTdGF0dXNPdXRcclxufSBmcm9tICcuL21vZGVscy9hcGktZS10b29scy1hdXRvLWJpbGxpbmcudHlwZXMnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlFVG9vbHNBdXRvQmlsbGluZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgVVJMIGZvciB0aGUgc2hpcG1lbnRzIEFQSSBmcm9tIHRoZSBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVSTCBvZiB0aGUgc2hpcG1lbnRzIEFQSS5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaUVUb29sc0F1dG9CaWxsaW5nID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGV4dGVybmFsIHNoaXBtZW50IGFkZHJlc3MgZGV0YWlscyBmb3IgdGhlIGdpdmVuIGFkZHJlc3MgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBBUEkgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLmlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBhZGRyZXNzIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zLmJvZHkgLSBUaGUgcGF5bG9hZCBjb250YWluaW5nIHVwZGF0ZWQgYWRkcmVzcyBkZXRhaWxzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgdXBkYXRlZCBleHRlcm5hbCBzaGlwbWVudCBhZGRyZXNzIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIHBhdGNoRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3NlcyAoe1xyXG4gICAgaWQsXHJcbiAgICAuLi5ib2R5XHJcbiAgfTogRXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc0luKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50QWRkcmVzc2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPEFwaVN1Y2Nlc3M8RXh0ZXJuYWxTaGlwbWVudEFkZHJlc3Nlc091dD4+KGAke3RoaXMudXJsfS9leHRlcm5hbC1zaGlwbWVudC1hZGRyZXNzZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGV4dGVybmFsIHNoaXBtZW50IGZpbGUgYnkgaXRzIGlkZW50aWZpZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gZmlsZUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHRlcm5hbCBzaGlwbWVudCBmaWxlIHRvIGJlIHJldHJpZXZlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dGVybmFsU2hpcG1lbnRGaWxlT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBleHRlcm5hbCBzaGlwbWVudCBmaWxlIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0RXh0ZXJuYWxTaGlwbWVudEZpbGUgKGZpbGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50RmlsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxFeHRlcm5hbFNoaXBtZW50RmlsZU91dD4+KGAke3RoaXMudXJsfS9leHRlcm5hbC1zaGlwbWVudC1maWxlcy8ke2ZpbGVJZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgaGlzdG9yeSBlbnRyaWVzIGZvciBhIHNwZWNpZmljIGV4dGVybmFsIHNoaXBtZW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIElEIG9mIHRoZSBleHRlcm5hbCBzaGlwbWVudCB0byByZXRyaWV2ZSBoaXN0b3J5IGZvci5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dGVybmFsU2hpcG1lbnRIaXN0b3JpZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGV4dGVybmFsIHNoaXBtZW50IGhpc3RvcnkgZW50cmllcy5cclxuICAgKi9cclxuICBnZXRFeHRlcm5hbFNoaXBtZW50SGlzdG9yaWVzIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50SGlzdG9yaWVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEV4dGVybmFsU2hpcG1lbnRIaXN0b3JpZXNPdXQ+PihgJHt0aGlzLnVybH0vZXh0ZXJuYWwtc2hpcG1lbnRzLyR7aWR9L2V4dGVybmFsLXNoaXBtZW50LWhpc3Rvcmllc2ApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGV4dGVybmFsIHNoaXBtZW50IHN0YXR1c2VzXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZldGNoIHRoZSBleHRlcm5hbCBzaGlwbWVudCBzdGF0dXNlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dGVybmFsU2hpcG1lbnRTdGF0dXNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGV4dGVybmFsIHNoaXBtZW50IHN0YXR1c2VzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0RXh0ZXJuYWxTaGlwbWVudFN0YXR1c2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxFeHRlcm5hbFNoaXBtZW50U3RhdHVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEV4dGVybmFsU2hpcG1lbnRTdGF0dXNPdXQ+PihgJHt0aGlzLnVybH0vZXh0ZXJuYWwtc2hpcG1lbnQtc3RhdHVzZXNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|