@excent/excent-serv-positions 0.0.26 → 0.0.28

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.
@@ -8,5 +8,8 @@ export const endpoint = {
8
8
  listOpen: '/positions/trading-positions/',
9
9
  create: '/positions/trading-positions/',
10
10
  createOrder: '/positions/orders/',
11
+ cancellOrder1: '/positions/orders/',
12
+ cancellOrder2: '/cancel/',
13
+ patchPosition: '/positions/trading-positions/2527f50e-eed0-4f7b-8747-fd14790f6a53/',
11
14
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhjZW50LXNlcnYtcG9zaXRpb25zL3NyYy9saWIvZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixhQUFhLEVBQUUseUJBQXlCO0lBQ3hDLGFBQWEsRUFBRSw4QkFBOEI7SUFDN0MsZUFBZSxFQUFFLDBCQUEwQjtJQUMzQyxRQUFRLEVBQUUsK0JBQStCO0lBQ3pDLE1BQU0sRUFBRSwrQkFBK0I7SUFDdkMsV0FBVyxFQUFFLG9CQUFvQjtDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuZHBvaW50ID0ge1xuICBvcGVuOiAnL3Bvc2l0aW9uL29wZW4vJyxcbiAgY2xvc2VkOiAnL3Bvc2l0aW9uL2Nsb3NlZC8nLFxuICBvcmRlcnM6ICcvcG9zaXRpb25zL29yZGVycy8nLFxuICB3c0NhbmNlbE9yZGVyOiAnL3Bvc2l0aW9uL29yZGVyL2NhbmNlbC8nLFxuICBjbG9zZVBvc2l0aW9uOiAnL3Bvc2l0aW9ucy9wb3NpdGlvbi1oaXN0b3J5LycsXG4gIHBvc2l0aW9uU3VtbWFyeTogJy9yZXBvcnQvcG9zaXRpb24tc3VtbWFyeScsXG4gIGxpc3RPcGVuOiAnL3Bvc2l0aW9ucy90cmFkaW5nLXBvc2l0aW9ucy8nLFxuICBjcmVhdGU6ICcvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLycsXG4gIGNyZWF0ZU9yZGVyOiAnL3Bvc2l0aW9ucy9vcmRlcnMvJyxcbn07XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhjZW50LXNlcnYtcG9zaXRpb25zL3NyYy9saWIvZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixhQUFhLEVBQUUseUJBQXlCO0lBQ3hDLGFBQWEsRUFBRSw4QkFBOEI7SUFDN0MsZUFBZSxFQUFFLDBCQUEwQjtJQUMzQyxRQUFRLEVBQUUsK0JBQStCO0lBQ3pDLE1BQU0sRUFBRSwrQkFBK0I7SUFDdkMsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLGFBQWEsRUFBRSxVQUFVO0lBQ3pCLGFBQWEsRUFDWCxvRUFBb0U7Q0FDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbmRwb2ludCA9IHtcbiAgb3BlbjogJy9wb3NpdGlvbi9vcGVuLycsXG4gIGNsb3NlZDogJy9wb3NpdGlvbi9jbG9zZWQvJyxcbiAgb3JkZXJzOiAnL3Bvc2l0aW9ucy9vcmRlcnMvJyxcbiAgd3NDYW5jZWxPcmRlcjogJy9wb3NpdGlvbi9vcmRlci9jYW5jZWwvJyxcbiAgY2xvc2VQb3NpdGlvbjogJy9wb3NpdGlvbnMvcG9zaXRpb24taGlzdG9yeS8nLFxuICBwb3NpdGlvblN1bW1hcnk6ICcvcmVwb3J0L3Bvc2l0aW9uLXN1bW1hcnknLFxuICBsaXN0T3BlbjogJy9wb3NpdGlvbnMvdHJhZGluZy1wb3NpdGlvbnMvJyxcbiAgY3JlYXRlOiAnL3Bvc2l0aW9ucy90cmFkaW5nLXBvc2l0aW9ucy8nLFxuICBjcmVhdGVPcmRlcjogJy9wb3NpdGlvbnMvb3JkZXJzLycsXG4gIGNhbmNlbGxPcmRlcjE6ICcvcG9zaXRpb25zL29yZGVycy8nLFxuICBjYW5jZWxsT3JkZXIyOiAnL2NhbmNlbC8nLFxuICBwYXRjaFBvc2l0aW9uOlxuICAgICcvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLzI1MjdmNTBlLWVlZDAtNGY3Yi04NzQ3LWZkMTQ3OTBmNmE1My8nLFxufTtcbiJdfQ==
@@ -12,6 +12,24 @@ export class ExcentServPositionsService {
12
12
  this._refresh$ = new Subject();
13
13
  this.position = new BehaviorSubject(null);
14
14
  this.position$ = this.position.asObservable();
15
+ this.operationOrder = new BehaviorSubject({
16
+ type: '',
17
+ value: {
18
+ uuid: '',
19
+ tradingAccount: '',
20
+ symbol: new Symbol(),
21
+ idSymbol: 0,
22
+ orderType: 0,
23
+ orderStatus: 0,
24
+ volume: 0,
25
+ buy: false,
26
+ stopLoss: 0,
27
+ takeProfit: 0,
28
+ activationPrice: 0,
29
+ cancellationDate: new Date(),
30
+ creationDate: new Date(),
31
+ },
32
+ });
15
33
  }
16
34
  get refresh$() {
17
35
  return this._refresh$;
@@ -114,6 +132,12 @@ export class ExcentServPositionsService {
114
132
  setPosition(position) {
115
133
  this.position.next(position);
116
134
  }
135
+ cancellOrder(value) {
136
+ return this.httpClient.post(endpoint.cancellOrder1 + value + endpoint.cancellOrder2, {});
137
+ }
138
+ patchPosition(form, uuid) {
139
+ return this.httpClient.patch(endpoint.patchPosition + uuid, form);
140
+ }
117
141
  }
118
142
  ExcentServPositionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
119
143
  ExcentServPositionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, providedIn: 'root' });
@@ -123,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
123
147
  providedIn: 'root',
124
148
  }]
125
149
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsTUFBTSxHQUdQLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1yQyxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUMvRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVJLENBQUM7SUFFOUMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFjO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFjLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxN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RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElQb3NpdGlvbixcbiAgSVJlc3BvbnNlT3JkZXIsXG4gIElDbG9zZVBvc2l0aW9uLFxuICBTeW1ib2wsXG4gIElPcmRlcixcbiAgSVJlc3BvbnNlQ2xvc2UsXG59IGZyb20gJ0BleGNlbnQvZXhjZW50LW1vZGVscyc7XG5pbXBvcnQgeyBlbmRwb2ludCB9IGZyb20gJy4vZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgSVBvc2l0aW9uUmVzcG9uc2UgPSBQYXJ0aWFsPElQb3NpdGlvbj4gJiB7IGN1cnJlbnRQcmljZTogbnVtYmVyIH07XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXhjZW50U2VydlBvc2l0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcG9zaXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQb3NpdGlvbiB8IG51bGw+KG51bGwpO1xuICBwb3NpdGlvbiQgPSB0aGlzLnBvc2l0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICBnZXQgcmVmcmVzaCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZnJlc2gkO1xuICB9XG5cbiAgZ2V0UG9zaXRpb25zQnlJZFVzZXIoaWRVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIGlkVXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uW10+KGVuZHBvaW50Lm9wZW4sIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIElQb3NpdGlvbihwb3NpdGlvbjogSVBvc2l0aW9uIHwgYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SVBvc2l0aW9uPihlbmRwb2ludC5vcGVuLCBwb3NpdGlvbik7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkUG9zaXRpb25zKGlkVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxJUG9zaXRpb25bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdpZEFjY291bnQnLCBpZFVzZXIpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElQb3NpdGlvbltdPihlbmRwb2ludC5vcGVuLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcGVuKHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUG9zaXRpb25bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8YW55W10+KGVuZHBvaW50Lmxpc3RPcGVuLCB7IHBhcmFtcyB9KS5waXBlKFxuICAgICAgbWFwKChlbCkgPT4ge1xuICAgICAgICBlbCA9IGVsLm1hcCgocG9zaXRpb24pID0+ICh7XG4gICAgICAgICAgLi4ucG9zaXRpb24sXG4gICAgICAgICAgc3ltYm9sSWQ6IHBvc2l0aW9uLnN5bWJvbCxcbiAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICBzd2FwOiAwLFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBlbDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDbG9zZShcbiAgICB0cmFkaW5nQWNjb3VudFV1aWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEFycmF5PElDbG9zZVBvc2l0aW9uPj4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxBcnJheTxJUmVzcG9uc2VDbG9zZT4+KGVuZHBvaW50LmNsb3NlUG9zaXRpb24sIHsgcGFyYW1zIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChfcmVzKSA9PiB7XG4gICAgICAgICAgbGV0IHJlc0FycmF5OiBBcnJheTxJQ2xvc2VQb3NpdGlvbj4gPSBbXTtcbiAgICAgICAgICBfcmVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGxldCByZXM6IElDbG9zZVBvc2l0aW9uID0ge1xuICAgICAgICAgICAgICB1dWlkOiBpdGVtLnV1aWQgPz8gJycsXG4gICAgICAgICAgICAgIHRyYWRpbmdQb3NpdGlvbjogaXRlbS50cmFkaW5nUG9zaXRpb24gPz8gJycsXG4gICAgICAgICAgICAgIGNsb3NlVHlwZTogaXRlbS5jbG9zZVR5cGUgPz8gMCxcbiAgICAgICAgICAgICAgdm9sdW1lOiBpdGVtLnZvbHVtZSA/PyAwLFxuICAgICAgICAgICAgICBjbG9zZVByaWNlOiBpdGVtLmNsb3NlUHJpY2UgPz8gMCxcbiAgICAgICAgICAgICAgY2xvc2VEYXRlOiBpdGVtLmNsb3NlRGF0ZSA/PyBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgICBwcm9maXQ6IGl0ZW0ucHJvZml0ID8/IDAsXG4gICAgICAgICAgICAgIG5vbWluYWxWYWx1ZTogaXRlbS5ub21pbmFsVmFsdWUgPz8gMCxcbiAgICAgICAgICAgICAgc3RvcExvc3M6IGl0ZW0uc3RvcExvc3MgPz8gMCxcbiAgICAgICAgICAgICAgdGFrZVByb2ZpdDogaXRlbS50YWtlUHJvZml0ID8/IDAsXG4gICAgICAgICAgICAgIGNvbW1pc3Npb25zOiBpdGVtLmNvbW1pc3Npb25zID8/IFtdLFxuICAgICAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICAgICAgaWRTeW1ib2w6IGl0ZW0uc3ltYm9sID8/IDAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzQXJyYXkucHVzaChyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNBcnJheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3JkZXJzKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLFxuICAgIG9yZGVyU3RhdHVzOiBudW1iZXJcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxJT3JkZXI+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXJTdGF0dXMnLCBvcmRlclN0YXR1cyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxBcnJheTxJUmVzcG9uc2VPcmRlcj4+KGVuZHBvaW50Lm9yZGVycywgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKF9yZXMpID0+IHtcbiAgICAgICAgICBsZXQgcmVzQXJyYXk6IEFycmF5PElPcmRlcj4gPSBbXTtcbiAgICAgICAgICBfcmVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGxldCByZXM6IElPcmRlciA9IHtcbiAgICAgICAgICAgICAgdXVpZDogaXRlbS51dWlkID8/ICcnLFxuICAgICAgICAgICAgICB0cmFkaW5nQWNjb3VudDogaXRlbS50cmFkaW5nQWNjb3VudCA/PyAnJyxcbiAgICAgICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgICAgIGlkU3ltYm9sOiBpdGVtLnN5bWJvbCxcbiAgICAgICAgICAgICAgb3JkZXJUeXBlOiBpdGVtLm9yZGVyVHlwZSA/PyAwLFxuICAgICAgICAgICAgICBvcmRlclN0YXR1czogaXRlbS5vcmRlclN0YXR1cyA/PyAwLFxuICAgICAgICAgICAgICB2b2x1bWU6IGl0ZW0udm9sdW1lID8/IDAsXG4gICAgICAgICAgICAgIGJ1eTogaXRlbS5idXkgPz8gZmFsc2UsXG4gICAgICAgICAgICAgIHN0b3BMb3NzOiBpdGVtLnN0b3BMb3NzID8/IDAsXG4gICAgICAgICAgICAgIHRha2VQcm9maXQ6IGl0ZW0udGFrZVByb2ZpdCA/PyAwLFxuICAgICAgICAgICAgICBhY3RpdmF0aW9uUHJpY2U6IGl0ZW0uYWN0aXZhdGlvblByaWNlID8/IDAsXG4gICAgICAgICAgICAgIGNhbmNlbGxhdGlvbkRhdGU6IGl0ZW0uY2FuY2VsbGF0aW9uRGF0ZSA/PyBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgICBjcmVhdGlvbkRhdGU6IGl0ZW0uY3JlYXRpb25EYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzQXJyYXkucHVzaChyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNBcnJheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoZW5kcG9pbnQuY3JlYXRlLCB2YWx1ZSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVPcmRlcih2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoZW5kcG9pbnQuY3JlYXRlT3JkZXIsIHZhbHVlKVxuICAgICAgLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZVBvc2l0aW9ucyh2b2x1bWU6IHsgdm9sdW1lOiBudW1iZXIgfSwgdXVpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYC9wb3NpdGlvbnMvdHJhZGluZy1wb3NpdGlvbnMvJHt1dWlkfS9jbG9zZS9gLCB2b2x1bWUpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0UG9zaXRpb24ocG9zaXRpb246IElQb3NpdGlvbikge1xuICAgIHRoaXMucG9zaXRpb24ubmV4dChwb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsTUFBTSxHQUdQLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1yQyxNQUFNLE9BQU8sMEJBQTBCO0lBd0JyQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdkJsQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQ25CLElBQUksZUFBZSxDQUFrQztZQUNuRCxJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLElBQUksTUFBTSxFQUFFO2dCQUNwQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUUsQ0FBQztn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LENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUEwQixFQUFFLElBQVk7UUFDNUQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixJQUFJLENBQUMsZ0NBQWdDLElBQUksU0FBUyxFQUFFLE1BQU0sQ0FBQzthQUMzRCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBbUI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFVO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLFFBQVEsQ0FBQyxhQUFhLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLEVBQ3ZELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGFBQWEsQ0FDbEIsSUFBZ0QsRUFDaEQsSUFBWTtRQUVaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7dUhBcktVLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07MkZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJUG9zaXRpb24sXG4gIElSZXNwb25zZU9yZGVyLFxuICBJQ2xvc2VQb3NpdGlvbixcbiAgU3ltYm9sLFxuICBJT3JkZXIsXG4gIElSZXNwb25zZUNsb3NlLFxufSBmcm9tICdAZXhjZW50L2V4Y2VudC1tb2RlbHMnO1xuaW1wb3J0IHsgZW5kcG9pbnQgfSBmcm9tICcuL2V4Y2VudC1zZXJ2LXBvc2l0aW9ucy5lbnBvaW50cyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG50eXBlIElQb3NpdGlvblJlc3BvbnNlID0gUGFydGlhbDxJUG9zaXRpb24+ICYgeyBjdXJyZW50UHJpY2U6IG51bWJlciB9O1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV4Y2VudFNlcnZQb3NpdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHBvc2l0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUG9zaXRpb24gfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24kID0gdGhpcy5wb3NpdGlvbi5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIG9wZXJhdGlvbk9yZGVyOiBCZWhhdmlvclN1YmplY3Q8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBJT3JkZXIgfT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBJT3JkZXIgfT4oe1xuICAgICAgdHlwZTogJycsXG4gICAgICB2YWx1ZToge1xuICAgICAgICB1dWlkOiAnJyxcbiAgICAgICAgdHJhZGluZ0FjY291bnQ6ICcnLFxuICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgaWRTeW1ib2w6IDAsXG4gICAgICAgIG9yZGVyVHlwZTogMCxcbiAgICAgICAgb3JkZXJTdGF0dXM6IDAsXG4gICAgICAgIHZvbHVtZTogMCxcbiAgICAgICAgYnV5OiBmYWxzZSxcbiAgICAgICAgc3RvcExvc3M6IDAsXG4gICAgICAgIHRha2VQcm9maXQ6IDAsXG4gICAgICAgIGFjdGl2YXRpb25QcmljZTogMCxcbiAgICAgICAgY2FuY2VsbGF0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgICAgY3JlYXRpb25EYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0IHJlZnJlc2gkKCkge1xuICAgIHJldHVybiB0aGlzLl9yZWZyZXNoJDtcbiAgfVxuXG4gIGdldFBvc2l0aW9uc0J5SWRVc2VyKGlkVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxJUG9zaXRpb25bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdpZEFjY291bnQnLCBpZFVzZXIpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElQb3NpdGlvbltdPihlbmRwb2ludC5vcGVuLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBJUG9zaXRpb24ocG9zaXRpb246IElQb3NpdGlvbiB8IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElQb3NpdGlvbj4oZW5kcG9pbnQub3BlbiwgcG9zaXRpb24pO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZFBvc2l0aW9ucyhpZFVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgaWRVc2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25bXT4oZW5kcG9pbnQub3BlbiwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3Blbih0cmFkaW5nQWNjb3VudFV1aWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueVtdPihlbmRwb2ludC5saXN0T3BlbiwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgIG1hcCgoZWwpID0+IHtcbiAgICAgICAgZWwgPSBlbC5tYXAoKHBvc2l0aW9uKSA9PiAoe1xuICAgICAgICAgIC4uLnBvc2l0aW9uLFxuICAgICAgICAgIHN5bWJvbElkOiBwb3NpdGlvbi5zeW1ib2wsXG4gICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgc3dhcDogMCxcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gZWw7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2xvc2UoXG4gICAgdHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxJQ2xvc2VQb3NpdGlvbj4+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8QXJyYXk8SVJlc3BvbnNlQ2xvc2U+PihlbmRwb2ludC5jbG9zZVBvc2l0aW9uLCB7IHBhcmFtcyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoX3JlcykgPT4ge1xuICAgICAgICAgIGxldCByZXNBcnJheTogQXJyYXk8SUNsb3NlUG9zaXRpb24+ID0gW107XG4gICAgICAgICAgX3Jlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzOiBJQ2xvc2VQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgdXVpZDogaXRlbS51dWlkID8/ICcnLFxuICAgICAgICAgICAgICB0cmFkaW5nUG9zaXRpb246IGl0ZW0udHJhZGluZ1Bvc2l0aW9uID8/ICcnLFxuICAgICAgICAgICAgICBjbG9zZVR5cGU6IGl0ZW0uY2xvc2VUeXBlID8/IDAsXG4gICAgICAgICAgICAgIHZvbHVtZTogaXRlbS52b2x1bWUgPz8gMCxcbiAgICAgICAgICAgICAgY2xvc2VQcmljZTogaXRlbS5jbG9zZVByaWNlID8/IDAsXG4gICAgICAgICAgICAgIGNsb3NlRGF0ZTogaXRlbS5jbG9zZURhdGUgPz8gbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgcHJvZml0OiBpdGVtLnByb2ZpdCA/PyAwLFxuICAgICAgICAgICAgICBub21pbmFsVmFsdWU6IGl0ZW0ubm9taW5hbFZhbHVlID8/IDAsXG4gICAgICAgICAgICAgIHN0b3BMb3NzOiBpdGVtLnN0b3BMb3NzID8/IDAsXG4gICAgICAgICAgICAgIHRha2VQcm9maXQ6IGl0ZW0udGFrZVByb2ZpdCA/PyAwLFxuICAgICAgICAgICAgICBjb21taXNzaW9uczogaXRlbS5jb21taXNzaW9ucyA/PyBbXSxcbiAgICAgICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgICAgIGlkU3ltYm9sOiBpdGVtLnN5bWJvbCA/PyAwLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc0FycmF5LnB1c2gocmVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmVzQXJyYXk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldE9yZGVycyhcbiAgICB0cmFkaW5nQWNjb3VudFV1aWQ6IHN0cmluZyxcbiAgICBvcmRlclN0YXR1czogbnVtYmVyXG4gICk6IE9ic2VydmFibGU8QXJyYXk8SU9yZGVyPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ29yZGVyU3RhdHVzJywgb3JkZXJTdGF0dXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8QXJyYXk8SVJlc3BvbnNlT3JkZXI+PihlbmRwb2ludC5vcmRlcnMsIHsgcGFyYW1zIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChfcmVzKSA9PiB7XG4gICAgICAgICAgbGV0IHJlc0FycmF5OiBBcnJheTxJT3JkZXI+ID0gW107XG4gICAgICAgICAgX3Jlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzOiBJT3JkZXIgPSB7XG4gICAgICAgICAgICAgIHV1aWQ6IGl0ZW0udXVpZCA/PyAnJyxcbiAgICAgICAgICAgICAgdHJhZGluZ0FjY291bnQ6IGl0ZW0udHJhZGluZ0FjY291bnQgPz8gJycsXG4gICAgICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgICAgICBpZFN5bWJvbDogaXRlbS5zeW1ib2wsXG4gICAgICAgICAgICAgIG9yZGVyVHlwZTogaXRlbS5vcmRlclR5cGUgPz8gMCxcbiAgICAgICAgICAgICAgb3JkZXJTdGF0dXM6IGl0ZW0ub3JkZXJTdGF0dXMgPz8gMCxcbiAgICAgICAgICAgICAgdm9sdW1lOiBpdGVtLnZvbHVtZSA/PyAwLFxuICAgICAgICAgICAgICBidXk6IGl0ZW0uYnV5ID8/IGZhbHNlLFxuICAgICAgICAgICAgICBzdG9wTG9zczogaXRlbS5zdG9wTG9zcyA/PyAwLFxuICAgICAgICAgICAgICB0YWtlUHJvZml0OiBpdGVtLnRha2VQcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgYWN0aXZhdGlvblByaWNlOiBpdGVtLmFjdGl2YXRpb25QcmljZSA/PyAwLFxuICAgICAgICAgICAgICBjYW5jZWxsYXRpb25EYXRlOiBpdGVtLmNhbmNlbGxhdGlvbkRhdGUgPz8gbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgY3JlYXRpb25EYXRlOiBpdGVtLmNyZWF0aW9uRGF0ZSA/PyBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc0FycmF5LnB1c2gocmVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmVzQXJyYXk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KGVuZHBvaW50LmNyZWF0ZSwgdmFsdWUpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlT3JkZXIodmFsdWU6IGFueSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGVuZHBvaW50LmNyZWF0ZU9yZGVyLCB2YWx1ZSlcbiAgICAgIC5waXBlKG1hcCgoKSA9PiB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQb3NpdGlvbnModm9sdW1lOiB7IHZvbHVtZTogbnVtYmVyIH0sIHV1aWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGAvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLyR7dXVpZH0vY2xvc2UvYCwgdm9sdW1lKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24pIHtcbiAgICB0aGlzLnBvc2l0aW9uLm5leHQocG9zaXRpb24pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbGxPcmRlcih2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxJUmVzcG9uc2VPcmRlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUmVzcG9uc2VPcmRlcj4oXG4gICAgICBlbmRwb2ludC5jYW5jZWxsT3JkZXIxICsgdmFsdWUgKyBlbmRwb2ludC5jYW5jZWxsT3JkZXIyLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoUG9zaXRpb24oXG4gICAgZm9ybTogeyBzdG9wTG9zcz86IG51bWJlcjsgdGFrZVByb2ZpdD86IG51bWJlciB9LFxuICAgIHV1aWQ6IHN0cmluZ1xuICApIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoKGVuZHBvaW50LnBhdGNoUG9zaXRpb24gKyB1dWlkLCBmb3JtKTtcbiAgfVxufVxuIl19
@@ -16,6 +16,9 @@ const endpoint = {
16
16
  listOpen: '/positions/trading-positions/',
17
17
  create: '/positions/trading-positions/',
18
18
  createOrder: '/positions/orders/',
19
+ cancellOrder1: '/positions/orders/',
20
+ cancellOrder2: '/cancel/',
21
+ patchPosition: '/positions/trading-positions/2527f50e-eed0-4f7b-8747-fd14790f6a53/',
19
22
  };
20
23
 
21
24
  class ExcentServPositionsService {
@@ -24,6 +27,24 @@ class ExcentServPositionsService {
24
27
  this._refresh$ = new Subject();
25
28
  this.position = new BehaviorSubject(null);
26
29
  this.position$ = this.position.asObservable();
30
+ this.operationOrder = new BehaviorSubject({
31
+ type: '',
32
+ value: {
33
+ uuid: '',
34
+ tradingAccount: '',
35
+ symbol: new Symbol(),
36
+ idSymbol: 0,
37
+ orderType: 0,
38
+ orderStatus: 0,
39
+ volume: 0,
40
+ buy: false,
41
+ stopLoss: 0,
42
+ takeProfit: 0,
43
+ activationPrice: 0,
44
+ cancellationDate: new Date(),
45
+ creationDate: new Date(),
46
+ },
47
+ });
27
48
  }
28
49
  get refresh$() {
29
50
  return this._refresh$;
@@ -123,6 +144,12 @@ class ExcentServPositionsService {
123
144
  setPosition(position) {
124
145
  this.position.next(position);
125
146
  }
147
+ cancellOrder(value) {
148
+ return this.httpClient.post(endpoint.cancellOrder1 + value + endpoint.cancellOrder2, {});
149
+ }
150
+ patchPosition(form, uuid) {
151
+ return this.httpClient.patch(endpoint.patchPosition + uuid, form);
152
+ }
126
153
  }
127
154
  ExcentServPositionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
128
155
  ExcentServPositionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, providedIn: 'root' });
@@ -1 +1 @@
1
- {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$() {\n return this._refresh$;\n }\n\n getPositionsByIdUser(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public IPosition(position: IPosition | any): Observable<any> {\n return this.httpClient.post<IPosition>(endpoint.open, position);\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpen(tradingAccountUuid: string): Observable<IPosition[]> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get<any[]>(endpoint.listOpen, { params }).pipe(\n map((el) => {\n el = el.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n swap: 0,\n }));\n return el;\n })\n );\n }\n\n public getClose(\n tradingAccountUuid: string\n ): Observable<Array<IClosePosition>> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient\n .get<Array<IResponseClose>>(endpoint.closePosition, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IClosePosition> = [];\n _res.forEach((item) => {\n let res: IClosePosition = {\n uuid: item.uuid ?? '',\n tradingPosition: item.tradingPosition ?? '',\n closeType: item.closeType ?? 0,\n volume: item.volume ?? 0,\n closePrice: item.closePrice ?? 0,\n closeDate: item.closeDate ?? new Date(),\n profit: item.profit ?? 0,\n nominalValue: item.nominalValue ?? 0,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n commissions: item.commissions ?? [],\n symbol: new Symbol(),\n idSymbol: item.symbol ?? 0,\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IOrder>> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n return this.httpClient\n .get<Array<IResponseOrder>>(endpoint.orders, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IOrder> = [];\n _res.forEach((item) => {\n let res: IOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: new Symbol(),\n idSymbol: item.symbol,\n orderType: item.orderType ?? 0,\n orderStatus: item.orderStatus ?? 0,\n volume: item.volume ?? 0,\n buy: item.buy ?? false,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n activationPrice: item.activationPrice ?? 0,\n cancellationDate: item.cancellationDate ?? new Date(),\n creationDate: item.creationDate ?? new Date(),\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any) {\n return this.httpClient.post(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public closePositions(volume: { volume: number }, uuid: string) {\n return this.httpClient\n .post(`/positions/trading-positions/${uuid}/close/`, volume)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition:\n '/positions/trading-positions/2527f50e-eed0-4f7b-8747-fd14790f6a53/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n tradingAccount: '',\n symbol: new Symbol(),\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$() {\n return this._refresh$;\n }\n\n getPositionsByIdUser(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public IPosition(position: IPosition | any): Observable<any> {\n return this.httpClient.post<IPosition>(endpoint.open, position);\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpen(tradingAccountUuid: string): Observable<IPosition[]> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get<any[]>(endpoint.listOpen, { params }).pipe(\n map((el) => {\n el = el.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n swap: 0,\n }));\n return el;\n })\n );\n }\n\n public getClose(\n tradingAccountUuid: string\n ): Observable<Array<IClosePosition>> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient\n .get<Array<IResponseClose>>(endpoint.closePosition, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IClosePosition> = [];\n _res.forEach((item) => {\n let res: IClosePosition = {\n uuid: item.uuid ?? '',\n tradingPosition: item.tradingPosition ?? '',\n closeType: item.closeType ?? 0,\n volume: item.volume ?? 0,\n closePrice: item.closePrice ?? 0,\n closeDate: item.closeDate ?? new Date(),\n profit: item.profit ?? 0,\n nominalValue: item.nominalValue ?? 0,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n commissions: item.commissions ?? [],\n symbol: new Symbol(),\n idSymbol: item.symbol ?? 0,\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IOrder>> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n return this.httpClient\n .get<Array<IResponseOrder>>(endpoint.orders, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IOrder> = [];\n _res.forEach((item) => {\n let res: IOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: new Symbol(),\n idSymbol: item.symbol,\n orderType: item.orderType ?? 0,\n orderStatus: item.orderStatus ?? 0,\n volume: item.volume ?? 0,\n buy: item.buy ?? false,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n activationPrice: item.activationPrice ?? 0,\n cancellationDate: item.cancellationDate ?? new Date(),\n creationDate: item.creationDate ?? new Date(),\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any) {\n return this.httpClient.post(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public closePositions(volume: { volume: number }, uuid: string) {\n return this.httpClient\n .post(`/positions/trading-positions/${uuid}/close/`, volume)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n\n public cancellOrder(value: any): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + value + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number },\n uuid: string\n ) {\n return this.httpClient.patch(endpoint.patchPosition + uuid, form);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ const endpoint = {
16
16
  listOpen: '/positions/trading-positions/',
17
17
  create: '/positions/trading-positions/',
18
18
  createOrder: '/positions/orders/',
19
+ cancellOrder1: '/positions/orders/',
20
+ cancellOrder2: '/cancel/',
21
+ patchPosition: '/positions/trading-positions/2527f50e-eed0-4f7b-8747-fd14790f6a53/',
19
22
  };
20
23
 
21
24
  class ExcentServPositionsService {
@@ -24,6 +27,24 @@ class ExcentServPositionsService {
24
27
  this._refresh$ = new Subject();
25
28
  this.position = new BehaviorSubject(null);
26
29
  this.position$ = this.position.asObservable();
30
+ this.operationOrder = new BehaviorSubject({
31
+ type: '',
32
+ value: {
33
+ uuid: '',
34
+ tradingAccount: '',
35
+ symbol: new Symbol(),
36
+ idSymbol: 0,
37
+ orderType: 0,
38
+ orderStatus: 0,
39
+ volume: 0,
40
+ buy: false,
41
+ stopLoss: 0,
42
+ takeProfit: 0,
43
+ activationPrice: 0,
44
+ cancellationDate: new Date(),
45
+ creationDate: new Date(),
46
+ },
47
+ });
27
48
  }
28
49
  get refresh$() {
29
50
  return this._refresh$;
@@ -126,6 +147,12 @@ class ExcentServPositionsService {
126
147
  setPosition(position) {
127
148
  this.position.next(position);
128
149
  }
150
+ cancellOrder(value) {
151
+ return this.httpClient.post(endpoint.cancellOrder1 + value + endpoint.cancellOrder2, {});
152
+ }
153
+ patchPosition(form, uuid) {
154
+ return this.httpClient.patch(endpoint.patchPosition + uuid, form);
155
+ }
129
156
  }
130
157
  ExcentServPositionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
131
158
  ExcentServPositionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, providedIn: 'root' });
@@ -1 +1 @@
1
- {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$() {\n return this._refresh$;\n }\n\n getPositionsByIdUser(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public IPosition(position: IPosition | any): Observable<any> {\n return this.httpClient.post<IPosition>(endpoint.open, position);\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpen(tradingAccountUuid: string): Observable<IPosition[]> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get<any[]>(endpoint.listOpen, { params }).pipe(\n map((el) => {\n el = el.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n swap: 0,\n }));\n return el;\n })\n );\n }\n\n public getClose(\n tradingAccountUuid: string\n ): Observable<Array<IClosePosition>> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient\n .get<Array<IResponseClose>>(endpoint.closePosition, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IClosePosition> = [];\n _res.forEach((item) => {\n let res: IClosePosition = {\n uuid: item.uuid ?? '',\n tradingPosition: item.tradingPosition ?? '',\n closeType: item.closeType ?? 0,\n volume: item.volume ?? 0,\n closePrice: item.closePrice ?? 0,\n closeDate: item.closeDate ?? new Date(),\n profit: item.profit ?? 0,\n nominalValue: item.nominalValue ?? 0,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n commissions: item.commissions ?? [],\n symbol: new Symbol(),\n idSymbol: item.symbol ?? 0,\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IOrder>> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n return this.httpClient\n .get<Array<IResponseOrder>>(endpoint.orders, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IOrder> = [];\n _res.forEach((item) => {\n let res: IOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: new Symbol(),\n idSymbol: item.symbol,\n orderType: item.orderType ?? 0,\n orderStatus: item.orderStatus ?? 0,\n volume: item.volume ?? 0,\n buy: item.buy ?? false,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n activationPrice: item.activationPrice ?? 0,\n cancellationDate: item.cancellationDate ?? new Date(),\n creationDate: item.creationDate ?? new Date(),\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any) {\n return this.httpClient.post(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public closePositions(volume: { volume: number }, uuid: string) {\n return this.httpClient\n .post(`/positions/trading-positions/${uuid}/close/`, volume)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition:\n '/positions/trading-positions/2527f50e-eed0-4f7b-8747-fd14790f6a53/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n tradingAccount: '',\n symbol: new Symbol(),\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$() {\n return this._refresh$;\n }\n\n getPositionsByIdUser(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public IPosition(position: IPosition | any): Observable<any> {\n return this.httpClient.post<IPosition>(endpoint.open, position);\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpen(tradingAccountUuid: string): Observable<IPosition[]> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get<any[]>(endpoint.listOpen, { params }).pipe(\n map((el) => {\n el = el.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n swap: 0,\n }));\n return el;\n })\n );\n }\n\n public getClose(\n tradingAccountUuid: string\n ): Observable<Array<IClosePosition>> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient\n .get<Array<IResponseClose>>(endpoint.closePosition, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IClosePosition> = [];\n _res.forEach((item) => {\n let res: IClosePosition = {\n uuid: item.uuid ?? '',\n tradingPosition: item.tradingPosition ?? '',\n closeType: item.closeType ?? 0,\n volume: item.volume ?? 0,\n closePrice: item.closePrice ?? 0,\n closeDate: item.closeDate ?? new Date(),\n profit: item.profit ?? 0,\n nominalValue: item.nominalValue ?? 0,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n commissions: item.commissions ?? [],\n symbol: new Symbol(),\n idSymbol: item.symbol ?? 0,\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IOrder>> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n return this.httpClient\n .get<Array<IResponseOrder>>(endpoint.orders, { params })\n .pipe(\n map((_res) => {\n let resArray: Array<IOrder> = [];\n _res.forEach((item) => {\n let res: IOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: new Symbol(),\n idSymbol: item.symbol,\n orderType: item.orderType ?? 0,\n orderStatus: item.orderStatus ?? 0,\n volume: item.volume ?? 0,\n buy: item.buy ?? false,\n stopLoss: item.stopLoss ?? 0,\n takeProfit: item.takeProfit ?? 0,\n activationPrice: item.activationPrice ?? 0,\n cancellationDate: item.cancellationDate ?? new Date(),\n creationDate: item.creationDate ?? new Date(),\n };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any) {\n return this.httpClient.post(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public closePositions(volume: { volume: number }, uuid: string) {\n return this.httpClient\n .post(`/positions/trading-positions/${uuid}/close/`, volume)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n\n public cancellOrder(value: any): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + value + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number },\n uuid: string\n ) {\n return this.httpClient.patch(endpoint.patchPosition + uuid, form);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -8,4 +8,7 @@ export declare const endpoint: {
8
8
  listOpen: string;
9
9
  create: string;
10
10
  createOrder: string;
11
+ cancellOrder1: string;
12
+ cancellOrder2: string;
13
+ patchPosition: string;
11
14
  };
@@ -1,12 +1,16 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { IPosition, IClosePosition, IOrder } from '@excent/excent-models';
3
- import { Observable, Subject } from 'rxjs';
2
+ import { IPosition, IResponseOrder, IClosePosition, IOrder } from '@excent/excent-models';
3
+ import { BehaviorSubject, Observable, Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ExcentServPositionsService {
6
6
  private httpClient;
7
7
  private _refresh$;
8
8
  private position;
9
9
  position$: Observable<IPosition | null>;
10
+ operationOrder: BehaviorSubject<{
11
+ type: string;
12
+ value: IOrder;
13
+ }>;
10
14
  constructor(httpClient: HttpClient);
11
15
  get refresh$(): Subject<void>;
12
16
  getPositionsByIdUser(idUser: number): Observable<IPosition[]>;
@@ -21,6 +25,11 @@ export declare class ExcentServPositionsService {
21
25
  volume: number;
22
26
  }, uuid: string): Observable<Object>;
23
27
  setPosition(position: IPosition): void;
28
+ cancellOrder(value: any): Observable<IResponseOrder>;
29
+ patchPosition(form: {
30
+ stopLoss?: number;
31
+ takeProfit?: number;
32
+ }, uuid: string): Observable<Object>;
24
33
  static ɵfac: i0.ɵɵFactoryDeclaration<ExcentServPositionsService, never>;
25
34
  static ɵprov: i0.ɵɵInjectableDeclaration<ExcentServPositionsService>;
26
35
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@excent/excent-serv-positions",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"
7
7
  },
8
8
  "dependencies": {
9
- "@excent/excent-models": "^0.1.20",
9
+ "@excent/excent-models": "^0.1.22",
10
10
  "tslib": "^2.3.0"
11
11
  },
12
12
  "sideEffects": false,