@experteam-mx/ngx-services 18.3.6 → 18.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/apis/api-companies.service.mjs +3 -3
- package/esm2022/lib/apis/api-invoices.service.mjs +4 -14
- package/esm2022/lib/apis/api-reports.service.mjs +4 -40
- package/esm2022/lib/apis/api-security.service.mjs +4 -30
- package/esm2022/lib/apis/api-shipments.service.mjs +4 -14
- package/esm2022/lib/apis/models/api-invoices.types.mjs +1 -1
- package/esm2022/lib/apis/models/api-reports.interfaces.mjs +1 -1
- package/esm2022/lib/apis/models/api-reports.types.mjs +1 -1
- package/esm2022/lib/apis/models/api-security.interfaces.mjs +1 -1
- package/esm2022/lib/apis/models/api-shipments.types.mjs +1 -1
- package/esm2022/lib/cypher/crypto.service.mjs +3 -3
- package/esm2022/lib/interceptors/api-headers.interceptor.mjs +22 -36
- package/esm2022/lib/interceptors/api-token.interceptor.mjs +25 -39
- package/esm2022/lib/interceptors/http-caching.interceptor.mjs +30 -43
- package/esm2022/lib/ngx-services.models.mjs +11 -2
- package/esm2022/lib/ngx-services.module.mjs +4 -4
- package/esm2022/public-api.mjs +2 -10
- package/fesm2022/experteam-mx-ngx-services.mjs +107 -455
- package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
- package/lib/apis/api-invoices.service.d.ts +2 -9
- package/lib/apis/api-reports.service.d.ts +1 -17
- package/lib/apis/api-security.service.d.ts +0 -19
- package/lib/apis/api-shipments.service.d.ts +2 -9
- package/lib/apis/models/api-invoices.types.d.ts +0 -29
- package/lib/apis/models/api-reports.interfaces.d.ts +0 -149
- package/lib/apis/models/api-reports.types.d.ts +1 -11
- package/lib/apis/models/api-security.interfaces.d.ts +0 -4
- package/lib/apis/models/api-shipments.types.d.ts +0 -41
- package/lib/interceptors/api-headers.interceptor.d.ts +11 -16
- package/lib/interceptors/api-token.interceptor.d.ts +10 -20
- package/lib/interceptors/http-caching.interceptor.d.ts +11 -19
- package/lib/ngx-services.models.d.ts +26 -9
- package/package.json +2 -3
- package/public-api.d.ts +1 -7
- package/esm2022/lib/apis/api-external-pickups.service.mjs +0 -72
- package/esm2022/lib/apis/api-open-items.service.mjs +0 -62
- package/esm2022/lib/apis/models/api-external-pickups.types.mjs +0 -2
- package/esm2022/lib/apis/models/api-open-items.interfaces.mjs +0 -2
- package/esm2022/lib/apis/models/api-open-items.types.mjs +0 -2
- package/esm2022/lib/websockets/web-sockets.service.mjs +0 -115
- package/lib/apis/api-external-pickups.service.d.ts +0 -45
- package/lib/apis/api-open-items.service.d.ts +0 -41
- package/lib/apis/models/api-external-pickups.types.d.ts +0 -31
- package/lib/apis/models/api-open-items.interfaces.d.ts +0 -32
- package/lib/apis/models/api-open-items.types.d.ts +0 -58
- package/lib/websockets/web-sockets.service.d.ts +0 -49
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import Pusher from 'pusher-js';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class WebSocketsService {
|
|
6
|
-
environments;
|
|
7
|
-
pusher;
|
|
8
|
-
constructor(environments) {
|
|
9
|
-
this.environments = environments;
|
|
10
|
-
this.pusher = null;
|
|
11
|
-
this.connect()
|
|
12
|
-
.then((pusher) => {
|
|
13
|
-
if (!pusher)
|
|
14
|
-
return;
|
|
15
|
-
this.pusher = pusher;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Publishes an event to the specified channel with the given data.
|
|
20
|
-
*
|
|
21
|
-
* @param {Channel} channel - The channel instance where the event will be published.
|
|
22
|
-
* @param {string} eventName - The name of the event to be published.
|
|
23
|
-
* @param {T} data - The payload data to be sent with the event.
|
|
24
|
-
* @return {Promise<boolean>} A promise that resolves to a boolean indicating
|
|
25
|
-
* whether the event was successfully triggered on the channel.
|
|
26
|
-
*/
|
|
27
|
-
async pub(channel, eventName, data) {
|
|
28
|
-
return channel.trigger(`client-${eventName}`, data);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Subscribes to a specified channel, retrying multiple times upon failure.
|
|
32
|
-
*
|
|
33
|
-
* @param {string} channelName - The name of the channel to be subscribed to.
|
|
34
|
-
* @return {Promise<Channel>} A promise that resolves to the subscribed channel object if successful.
|
|
35
|
-
* @throws {Error} If the subscription fails after the maximum number of retry attempts.
|
|
36
|
-
*/
|
|
37
|
-
async channelSub(channelName) {
|
|
38
|
-
const attempts = 3;
|
|
39
|
-
for (let attempt = 0; attempt <= attempts; attempt++) {
|
|
40
|
-
const channel = this.pusher?.channel(channelName);
|
|
41
|
-
if (channel?.subscribed) {
|
|
42
|
-
return channel;
|
|
43
|
-
}
|
|
44
|
-
this.pusher?.subscribe(channelName);
|
|
45
|
-
if (attempt < attempts) {
|
|
46
|
-
await this.wait();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
throw new Error(`Failed to subscribe to channel "${channelName}" after ${attempts} attempts.`);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Binds an event listener to a specified event on a given channel using Pusher or a Channel object,
|
|
53
|
-
* and returns an Observable that emits event data of type T.
|
|
54
|
-
*
|
|
55
|
-
* @param {Channel|string} channel - The channel to bind the event to. It can be a Channel object or a string representing the channel name.
|
|
56
|
-
* @param {string} event - The name of the event to bind to the channel.
|
|
57
|
-
* @return {Observable<T>} An Observable that emits data of type T when the specified event is triggered.
|
|
58
|
-
*/
|
|
59
|
-
eventBind(channel, event) {
|
|
60
|
-
return new Observable((subscriber) => {
|
|
61
|
-
if (channel?.name) {
|
|
62
|
-
channel.bind(event, (data) => subscriber.next(data));
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.pusher?.subscribe(channel)
|
|
66
|
-
.bind(event, (data) => subscriber.next(data));
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Unbinds an event from the specified channel and returns an observable
|
|
72
|
-
* that emits data when the event callback is triggered.
|
|
73
|
-
*
|
|
74
|
-
* @param {Channel} channel - The channel object from which the event should be unbound.
|
|
75
|
-
* @param {string} event - The name of the event to unbind.
|
|
76
|
-
* @return {Observable<T>} An observable that emits data from the unbound event callback.
|
|
77
|
-
*/
|
|
78
|
-
eventUnbind(channel, event) {
|
|
79
|
-
return new Observable((subscriber) => channel.unbind(event, (data) => subscriber.next(data)));
|
|
80
|
-
}
|
|
81
|
-
connect() {
|
|
82
|
-
return new Promise((resolve) => {
|
|
83
|
-
const { sockets } = this.environments;
|
|
84
|
-
if (!sockets)
|
|
85
|
-
return resolve(false);
|
|
86
|
-
const pusher = new Pusher(sockets.app_key, {
|
|
87
|
-
wsHost: sockets.url,
|
|
88
|
-
wsPort: sockets.port,
|
|
89
|
-
enabledTransports: ['wss', 'ws'],
|
|
90
|
-
forceTLS: false,
|
|
91
|
-
enableStats: false,
|
|
92
|
-
});
|
|
93
|
-
if (sockets.debug) {
|
|
94
|
-
Pusher.logToConsole = true;
|
|
95
|
-
}
|
|
96
|
-
return resolve(pusher);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
async wait() {
|
|
100
|
-
const waitTime = 3 * 1000;
|
|
101
|
-
return new Promise((resolve) => setTimeout(resolve, waitTime));
|
|
102
|
-
}
|
|
103
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: WebSocketsService, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: WebSocketsService, providedIn: 'root' });
|
|
105
|
-
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: WebSocketsService, decorators: [{
|
|
107
|
-
type: Injectable,
|
|
108
|
-
args: [{
|
|
109
|
-
providedIn: 'root',
|
|
110
|
-
}]
|
|
111
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
112
|
-
type: Inject,
|
|
113
|
-
args: ['env']
|
|
114
|
-
}] }] });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXNvY2tldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi93ZWJzb2NrZXRzL3dlYi1zb2NrZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxNQUFtQixNQUFNLFdBQVcsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBOztBQU1qQyxNQUFNLE9BQU8saUJBQWlCO0lBSUg7SUFIakIsTUFBTSxDQUFlO0lBRTdCLFlBQ3lCLFlBQXlCO1FBQXpCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1FBRWxCLElBQUksQ0FBQyxPQUFPLEVBQUU7YUFDWCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU07WUFFbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDdEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFLLE9BQWdCLEVBQUUsU0FBaUIsRUFBRSxJQUFPO1FBQ3hELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFFLFdBQW1CO1FBQ25DLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQTtRQUVsQixLQUFLLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7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QkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCBQdXNoZXIsIHsgQ2hhbm5lbCB9IGZyb20gJ3B1c2hlci1qcydcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXRzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBwdXNoZXI6IFB1c2hlciB8IG51bGxcclxuXHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLnB1c2hlciA9IG51bGxcclxuXHJcbiAgICB0aGlzLmNvbm5lY3QoKVxyXG4gICAgICAudGhlbigocHVzaGVyKSA9PiB7XHJcbiAgICAgICAgaWYgKCFwdXNoZXIpIHJldHVyblxyXG5cclxuICAgICAgICB0aGlzLnB1c2hlciA9IHB1c2hlclxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVibGlzaGVzIGFuIGV2ZW50IHRvIHRoZSBzcGVjaWZpZWQgY2hhbm5lbCB3aXRoIHRoZSBnaXZlbiBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDaGFubmVsfSBjaGFubmVsIC0gVGhlIGNoYW5uZWwgaW5zdGFuY2Ugd2hlcmUgdGhlIGV2ZW50IHdpbGwgYmUgcHVibGlzaGVkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gYmUgcHVibGlzaGVkLlxyXG4gICAqIEBwYXJhbSB7VH0gZGF0YSAtIFRoZSBwYXlsb2FkIGRhdGEgdG8gYmUgc2VudCB3aXRoIHRoZSBldmVudC5cclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gaW5kaWNhdGluZ1xyXG4gICAqIHdoZXRoZXIgdGhlIGV2ZW50IHdhcyBzdWNjZXNzZnVsbHkgdHJpZ2dlcmVkIG9uIHRoZSBjaGFubmVsLlxyXG4gICAqL1xyXG4gIGFzeW5jIHB1YjxUPiAoY2hhbm5lbDogQ2hhbm5lbCwgZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE6IFQpIHtcclxuICAgIHJldHVybiBjaGFubmVsLnRyaWdnZXIoYGNsaWVudC0ke2V2ZW50TmFtZX1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlcyB0byBhIHNwZWNpZmllZCBjaGFubmVsLCByZXRyeWluZyBtdWx0aXBsZSB0aW1lcyB1cG9uIGZhaWx1cmUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2hhbm5lbCB0byBiZSBzdWJzY3JpYmVkIHRvLlxyXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q2hhbm5lbD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzdWJzY3JpYmVkIGNoYW5uZWwgb2JqZWN0IGlmIHN1Y2Nlc3NmdWwuXHJcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzdWJzY3JpcHRpb24gZmFpbHMgYWZ0ZXIgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJ5IGF0dGVtcHRzLlxyXG4gICAqL1xyXG4gIGFzeW5jIGNoYW5uZWxTdWIgKGNoYW5uZWxOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENoYW5uZWw+IHtcclxuICAgIGNvbnN0IGF0dGVtcHRzID0gM1xyXG5cclxuICAgIGZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDw9IGF0dGVtcHRzOyBhdHRlbXB0KyspIHtcclxuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMucHVzaGVyPy5jaGFubmVsKGNoYW5uZWxOYW1lKVxyXG5cclxuICAgICAgaWYgKGNoYW5uZWw/LnN1YnNjcmliZWQpIHtcclxuICAgICAgICByZXR1cm4gY2hhbm5lbFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnB1c2hlcj8uc3Vic2NyaWJlKGNoYW5uZWxOYW1lKVxyXG5cclxuICAgICAgaWYgKGF0dGVtcHQgPCBhdHRlbXB0cykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMud2FpdCgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gY2hhbm5lbCBcIiR7Y2hhbm5lbE5hbWV9XCIgYWZ0ZXIgJHthdHRlbXB0c30gYXR0ZW1wdHMuYClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGEgc3BlY2lmaWVkIGV2ZW50IG9uIGEgZ2l2ZW4gY2hhbm5lbCB1c2luZyBQdXNoZXIgb3IgYSBDaGFubmVsIG9iamVjdCxcclxuICAgKiBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgZXZlbnQgZGF0YSBvZiB0eXBlIFQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0NoYW5uZWx8c3RyaW5nfSBjaGFubmVsIC0gVGhlIGNoYW5uZWwgdG8gYmluZCB0aGUgZXZlbnQgdG8uIEl0IGNhbiBiZSBhIENoYW5uZWwgb2JqZWN0IG9yIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY2hhbm5lbCBuYW1lLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBiaW5kIHRvIHRoZSBjaGFubmVsLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBkYXRhIG9mIHR5cGUgVCB3aGVuIHRoZSBzcGVjaWZpZWQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxyXG4gICAqL1xyXG4gIGV2ZW50QmluZDxUPiAoY2hhbm5lbDogQ2hhbm5lbCB8IHN0cmluZywgZXZlbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XHJcbiAgICAgIGlmICgoY2hhbm5lbCBhcyBDaGFubmVsKT8ubmFtZSkge1xyXG4gICAgICAgIChjaGFubmVsIGFzIENoYW5uZWwpLmJpbmQoZXZlbnQsIChkYXRhOiBUKSA9PiBzdWJzY3JpYmVyLm5leHQoZGF0YSkpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wdXNoZXI/LnN1YnNjcmliZSgoY2hhbm5lbCBhcyBzdHJpbmcpKVxyXG4gICAgICAgICAgLmJpbmQoZXZlbnQsIChkYXRhOiBUKSA9PiBzdWJzY3JpYmVyLm5leHQoZGF0YSkpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmJpbmRzIGFuIGV2ZW50IGZyb20gdGhlIHNwZWNpZmllZCBjaGFubmVsIGFuZCByZXR1cm5zIGFuIG9ic2VydmFibGVcclxuICAgKiB0aGF0IGVtaXRzIGRhdGEgd2hlbiB0aGUgZXZlbnQgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDaGFubmVsfSBjaGFubmVsIC0gVGhlIGNoYW5uZWwgb2JqZWN0IGZyb20gd2hpY2ggdGhlIGV2ZW50IHNob3VsZCBiZSB1bmJvdW5kLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byB1bmJpbmQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxUPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGRhdGEgZnJvbSB0aGUgdW5ib3VuZCBldmVudCBjYWxsYmFjay5cclxuICAgKi9cclxuICBldmVudFVuYmluZDxUPiAoY2hhbm5lbDogQ2hhbm5lbCwgZXZlbnQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PlxyXG4gICAgICBjaGFubmVsLnVuYmluZChldmVudCwgKGRhdGE6IFQpID0+IHN1YnNjcmliZXIubmV4dChkYXRhKSkpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbm5lY3QgKCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFB1c2hlciB8IGZhbHNlPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCB7IHNvY2tldHMgfSA9IHRoaXMuZW52aXJvbm1lbnRzXHJcblxyXG4gICAgICBpZiAoIXNvY2tldHMpIHJldHVybiByZXNvbHZlKGZhbHNlKVxyXG5cclxuICAgICAgY29uc3QgcHVzaGVyID0gbmV3IFB1c2hlcihzb2NrZXRzLmFwcF9rZXksIHtcclxuICAgICAgICB3c0hvc3Q6IHNvY2tldHMudXJsLFxyXG4gICAgICAgIHdzUG9ydDogc29ja2V0cy5wb3J0LFxyXG4gICAgICAgIGVuYWJsZWRUcmFuc3BvcnRzOiBbJ3dzcycsICd3cyddLFxyXG4gICAgICAgIGZvcmNlVExTOiBmYWxzZSxcclxuICAgICAgICBlbmFibGVTdGF0czogZmFsc2UsXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAoc29ja2V0cy5kZWJ1Zykge1xyXG4gICAgICAgIFB1c2hlci5sb2dUb0NvbnNvbGUgPSB0cnVlXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiByZXNvbHZlKHB1c2hlcilcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHdhaXQgKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgd2FpdFRpbWUgPSAzICogMTAwMFxyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCB3YWl0VGltZSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Environment } from '../ngx-services.models';
|
|
3
|
-
import { CancelDeliveryConfirmationIn, CompleteDeliveryConfirmationIn, GenerateDeliveryConfirmationIn, KeyOTPOut } from './models/api-external-pickups.types';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class ApiExternalPickupsService {
|
|
7
|
-
private httpClient;
|
|
8
|
-
private environment;
|
|
9
|
-
constructor(httpClient: HttpClient, environment: Environment);
|
|
10
|
-
/**
|
|
11
|
-
* Getter method to retrieve the API's external operations URL.
|
|
12
|
-
* Fetches the URL from the `apiExternalOperationsUrl` property of the environment object.
|
|
13
|
-
* Defaults to an empty string if the property is undefined or null.
|
|
14
|
-
*
|
|
15
|
-
* @return {string} The external operations URL or an empty string if unavailable.
|
|
16
|
-
*/
|
|
17
|
-
get url(): string;
|
|
18
|
-
/**
|
|
19
|
-
* Generates a delivery confirmation by sending the provided payload to the API.
|
|
20
|
-
*
|
|
21
|
-
* @param {GenerateDeliveryConfirmationIn} payload - The input payload required to generate the delivery confirmation.
|
|
22
|
-
* @return {Observable<KeyOTPOut>} An observable that emits the generated delivery confirmation data.
|
|
23
|
-
*/
|
|
24
|
-
generateDeliveryConfirmation(payload: GenerateDeliveryConfirmationIn): Observable<KeyOTPOut>;
|
|
25
|
-
/**
|
|
26
|
-
* Confirms the completion of a delivery operation by making a PATCH request.
|
|
27
|
-
*
|
|
28
|
-
* @param {Object} input - The input parameters for the method.
|
|
29
|
-
* @param {string} input.operationId - The unique identifier of the delivery operation to be confirmed.
|
|
30
|
-
* @param {string} input.keyOTP - The one-time password (OTP) key associated with the delivery confirmation.
|
|
31
|
-
* @return {Observable<Object>} - An observable containing the response data from the API.
|
|
32
|
-
*/
|
|
33
|
-
completedDeliveryConfirmation({ keyOTP, operationId, }: CompleteDeliveryConfirmationIn): Observable<{}>;
|
|
34
|
-
/**
|
|
35
|
-
* Cancels a delivery confirmation by sending an OTP and additional data to the server.
|
|
36
|
-
*
|
|
37
|
-
* @param {Object} param0 - The parameter object containing the required properties.
|
|
38
|
-
* @param {string} param0.otp - The one-time password to authenticate the cancellation request.
|
|
39
|
-
* @param {Object} param0.body - Additional body data required for cancellation.
|
|
40
|
-
* @return {Observable<Object>} An observable that emits the server's response when the cancellation is processed.
|
|
41
|
-
*/
|
|
42
|
-
cancelDeliveryConfirmation({ otp, ...body }: CancelDeliveryConfirmationIn): Observable<{}>;
|
|
43
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ApiExternalPickupsService, never>;
|
|
44
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ApiExternalPickupsService>;
|
|
45
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Environment } from '../ngx-services.models';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { QueryParams } from './models/api.models';
|
|
4
|
-
import { OpenItemsOut, PaymentOpenItemOut, PaymentOtherInvoiceOut } from './models/api-open-items.types';
|
|
5
|
-
import { Observable } from 'rxjs';
|
|
6
|
-
import { PaymentOpenItemIn, PaymentOtherInvoiceIn } from './models/api-open-items.interfaces';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class ApiOpenItemsService {
|
|
9
|
-
private environments;
|
|
10
|
-
private http;
|
|
11
|
-
constructor(environments: Environment, http: HttpClient);
|
|
12
|
-
/**
|
|
13
|
-
* Retrieves the API URL for open-items from the environments' configuration.
|
|
14
|
-
*
|
|
15
|
-
* @return {string} The API URL for open-items.
|
|
16
|
-
*/
|
|
17
|
-
get url(): string;
|
|
18
|
-
/**
|
|
19
|
-
* Retrieves a list of open-items based on the provided query parameters.
|
|
20
|
-
*
|
|
21
|
-
* @param {QueryParams} params - The parameters to use for querying open-items.
|
|
22
|
-
* @return {Observable<OpenItemsOut>} An observable that emits the open-item's data.
|
|
23
|
-
*/
|
|
24
|
-
getOpenItems(params: QueryParams): Observable<OpenItemsOut>;
|
|
25
|
-
/**
|
|
26
|
-
* Processes a payment for an open item.
|
|
27
|
-
*
|
|
28
|
-
* @param {PaymentOpenItemIn} body - The payment details for the open item.
|
|
29
|
-
* @return {Observable<PaymentOpenItemOut>} An observable that emits the result of the payment processing.
|
|
30
|
-
*/
|
|
31
|
-
paymentOpenItem(body: PaymentOpenItemIn): Observable<PaymentOpenItemOut>;
|
|
32
|
-
/**
|
|
33
|
-
* Processes a payment for other invoice.
|
|
34
|
-
*
|
|
35
|
-
* @param {PaymentOtherInvoiceIn} body - The payment details for the other invoice.
|
|
36
|
-
* @return {Observable<PaymentOtherInvoiceOut>} An observable that emits the result of the payment processing.
|
|
37
|
-
*/
|
|
38
|
-
paymentOtherInvoice(body: PaymentOtherInvoiceIn): Observable<PaymentOtherInvoiceOut>;
|
|
39
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ApiOpenItemsService, never>;
|
|
40
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ApiOpenItemsService>;
|
|
41
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export type KeyOTPOut = {
|
|
2
|
-
code: string;
|
|
3
|
-
};
|
|
4
|
-
export type GenerateDeliveryConfirmationIn = {
|
|
5
|
-
operation_id: number;
|
|
6
|
-
signature: {
|
|
7
|
-
client: {
|
|
8
|
-
full_name: string;
|
|
9
|
-
};
|
|
10
|
-
package_detail: {
|
|
11
|
-
shipment_tracking_number: string;
|
|
12
|
-
pieces: {
|
|
13
|
-
tracking_number: string;
|
|
14
|
-
status: string;
|
|
15
|
-
}[];
|
|
16
|
-
}[];
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
export type CompleteDeliveryConfirmationIn = {
|
|
20
|
-
operationId: number;
|
|
21
|
-
keyOTP: string;
|
|
22
|
-
};
|
|
23
|
-
export type CancelDeliveryConfirmationIn = {
|
|
24
|
-
signature: {
|
|
25
|
-
status: string;
|
|
26
|
-
operation_id: number;
|
|
27
|
-
signature_base_64: string;
|
|
28
|
-
mime_type: string;
|
|
29
|
-
};
|
|
30
|
-
otp?: string;
|
|
31
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { CustomerOtherInvoice, CustomerOpenItem, OpenItems, OtherInvoices, PaymentDetail } from './api-open-items.types';
|
|
2
|
-
export interface OpenItem {
|
|
3
|
-
id: number;
|
|
4
|
-
invoice_number: string;
|
|
5
|
-
shipment_tracking_number: string;
|
|
6
|
-
invoice_issue_datetime: Date | string;
|
|
7
|
-
invoice_expiration_datetime: Date | string;
|
|
8
|
-
customer_identification_number: string;
|
|
9
|
-
customer_company_name: string;
|
|
10
|
-
account: string;
|
|
11
|
-
country_reference_currency_id: number;
|
|
12
|
-
pending_value: number;
|
|
13
|
-
payed_value: number;
|
|
14
|
-
is_cash: boolean;
|
|
15
|
-
status: string;
|
|
16
|
-
origin: string;
|
|
17
|
-
user_id: string | null;
|
|
18
|
-
}
|
|
19
|
-
export interface OpenItemIn {
|
|
20
|
-
payments: PaymentDetail[];
|
|
21
|
-
customer: CustomerOpenItem | CustomerOtherInvoice;
|
|
22
|
-
document_type_range_id: number;
|
|
23
|
-
document_number: string;
|
|
24
|
-
observation: string;
|
|
25
|
-
document_date: Date;
|
|
26
|
-
}
|
|
27
|
-
export interface PaymentOpenItemIn extends OpenItemIn {
|
|
28
|
-
open_items: OpenItems[];
|
|
29
|
-
}
|
|
30
|
-
export interface PaymentOtherInvoiceIn extends OpenItemIn {
|
|
31
|
-
other_invoices: OtherInvoices[];
|
|
32
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { OpenItem } from './api-open-items.interfaces';
|
|
2
|
-
import { Document } from './api-invoices.interfaces';
|
|
3
|
-
export type CustomerOpenItem = {
|
|
4
|
-
company_name: string;
|
|
5
|
-
full_name: string;
|
|
6
|
-
email: string;
|
|
7
|
-
phone_code: string;
|
|
8
|
-
phone_number: string;
|
|
9
|
-
address_line1: string;
|
|
10
|
-
address_line2: string;
|
|
11
|
-
address_line3: string;
|
|
12
|
-
identification_number: string;
|
|
13
|
-
identification_type_id: number;
|
|
14
|
-
postal_code: string;
|
|
15
|
-
state: string;
|
|
16
|
-
county_name: string;
|
|
17
|
-
city_name: string;
|
|
18
|
-
country_id: number;
|
|
19
|
-
};
|
|
20
|
-
export type CustomerOtherInvoice = {
|
|
21
|
-
identification_number: string;
|
|
22
|
-
company_name: string;
|
|
23
|
-
full_name: string;
|
|
24
|
-
account_number: string;
|
|
25
|
-
country_id: number;
|
|
26
|
-
};
|
|
27
|
-
export type OpenItems = {
|
|
28
|
-
id: string;
|
|
29
|
-
payed_value: number;
|
|
30
|
-
};
|
|
31
|
-
export type OpenItemsOut = {
|
|
32
|
-
open_items: OpenItem[];
|
|
33
|
-
total: number;
|
|
34
|
-
};
|
|
35
|
-
export type OtherInvoices = {
|
|
36
|
-
invoice_number: string;
|
|
37
|
-
shipment_tracking_number: string;
|
|
38
|
-
invoice_issue_datetime: string;
|
|
39
|
-
pending_value: number;
|
|
40
|
-
customer_identification_number: string;
|
|
41
|
-
};
|
|
42
|
-
export type PaymentDetail = {
|
|
43
|
-
amount: number;
|
|
44
|
-
received: number;
|
|
45
|
-
country_reference_currency_id: number;
|
|
46
|
-
exchange: string | number;
|
|
47
|
-
country_payment_type_id: number;
|
|
48
|
-
due_date: string;
|
|
49
|
-
details: {
|
|
50
|
-
[key: string]: string;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
export type PaymentOpenItemOut = {
|
|
54
|
-
document: Document;
|
|
55
|
-
};
|
|
56
|
-
export type PaymentOtherInvoiceOut = {
|
|
57
|
-
document: Document;
|
|
58
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Channel } from 'pusher-js';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { Environment } from '../ngx-services.models';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class WebSocketsService {
|
|
6
|
-
private environments;
|
|
7
|
-
private pusher;
|
|
8
|
-
constructor(environments: Environment);
|
|
9
|
-
/**
|
|
10
|
-
* Publishes an event to the specified channel with the given data.
|
|
11
|
-
*
|
|
12
|
-
* @param {Channel} channel - The channel instance where the event will be published.
|
|
13
|
-
* @param {string} eventName - The name of the event to be published.
|
|
14
|
-
* @param {T} data - The payload data to be sent with the event.
|
|
15
|
-
* @return {Promise<boolean>} A promise that resolves to a boolean indicating
|
|
16
|
-
* whether the event was successfully triggered on the channel.
|
|
17
|
-
*/
|
|
18
|
-
pub<T>(channel: Channel, eventName: string, data: T): Promise<boolean>;
|
|
19
|
-
/**
|
|
20
|
-
* Subscribes to a specified channel, retrying multiple times upon failure.
|
|
21
|
-
*
|
|
22
|
-
* @param {string} channelName - The name of the channel to be subscribed to.
|
|
23
|
-
* @return {Promise<Channel>} A promise that resolves to the subscribed channel object if successful.
|
|
24
|
-
* @throws {Error} If the subscription fails after the maximum number of retry attempts.
|
|
25
|
-
*/
|
|
26
|
-
channelSub(channelName: string): Promise<Channel>;
|
|
27
|
-
/**
|
|
28
|
-
* Binds an event listener to a specified event on a given channel using Pusher or a Channel object,
|
|
29
|
-
* and returns an Observable that emits event data of type T.
|
|
30
|
-
*
|
|
31
|
-
* @param {Channel|string} channel - The channel to bind the event to. It can be a Channel object or a string representing the channel name.
|
|
32
|
-
* @param {string} event - The name of the event to bind to the channel.
|
|
33
|
-
* @return {Observable<T>} An Observable that emits data of type T when the specified event is triggered.
|
|
34
|
-
*/
|
|
35
|
-
eventBind<T>(channel: Channel | string, event: string): Observable<T>;
|
|
36
|
-
/**
|
|
37
|
-
* Unbinds an event from the specified channel and returns an observable
|
|
38
|
-
* that emits data when the event callback is triggered.
|
|
39
|
-
*
|
|
40
|
-
* @param {Channel} channel - The channel object from which the event should be unbound.
|
|
41
|
-
* @param {string} event - The name of the event to unbind.
|
|
42
|
-
* @return {Observable<T>} An observable that emits data from the unbound event callback.
|
|
43
|
-
*/
|
|
44
|
-
eventUnbind<T>(channel: Channel, event: string): Observable<unknown>;
|
|
45
|
-
private connect;
|
|
46
|
-
private wait;
|
|
47
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<WebSocketsService, never>;
|
|
48
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<WebSocketsService>;
|
|
49
|
-
}
|