@excent/excent-serv-positions 1.0.26 → 1.0.27
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/esm2020/lib/excent-serv-positions.service.mjs +11 -1
- package/fesm2015/excent-excent-serv-positions.mjs +10 -0
- package/fesm2015/excent-excent-serv-positions.mjs.map +1 -1
- package/fesm2020/excent-excent-serv-positions.mjs +10 -0
- package/fesm2020/excent-excent-serv-positions.mjs.map +1 -1
- package/lib/excent-serv-positions.service.d.ts +6 -0
- package/package.json +1 -1
|
@@ -11,7 +11,11 @@ export class ExcentServPositionsService {
|
|
|
11
11
|
this.httpClient = httpClient;
|
|
12
12
|
this._refresh$ = new Subject();
|
|
13
13
|
this.position = new BehaviorSubject(null);
|
|
14
|
+
this.pendingOrder = new BehaviorSubject([]);
|
|
15
|
+
this.closePos = new BehaviorSubject([]);
|
|
14
16
|
this.position$ = this.position.asObservable();
|
|
17
|
+
this.pendingOrders$ = this.pendingOrder.asObservable();
|
|
18
|
+
this.closePositions$ = this.closePos.asObservable();
|
|
15
19
|
this.operationOrder = new BehaviorSubject({
|
|
16
20
|
type: '',
|
|
17
21
|
value: {
|
|
@@ -211,6 +215,12 @@ export class ExcentServPositionsService {
|
|
|
211
215
|
}
|
|
212
216
|
return this.httpClient.get(endpoint.orders + 'totals/', { params });
|
|
213
217
|
}
|
|
218
|
+
setPendingOrders(orders) {
|
|
219
|
+
this.pendingOrder.next(orders);
|
|
220
|
+
}
|
|
221
|
+
setClosePositions(closePositions) {
|
|
222
|
+
this.closePos.next(closePositions);
|
|
223
|
+
}
|
|
214
224
|
getListPositionsSlaves(id, data) {
|
|
215
225
|
let params = new HttpParams();
|
|
216
226
|
if (data) {
|
|
@@ -229,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
229
239
|
providedIn: 'root',
|
|
230
240
|
}]
|
|
231
241
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUlMLE1BQU0sR0FRUCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNckMsTUFBTSxPQUFPLDBCQUEwQjtJQXlCckMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXhCbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUMvRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxtQkFBYyxHQUNuQixJQUFJLGVBQWUsQ0FBa0M7WUFDbkQsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcs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SUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUM3QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUNqRixDQUFDOzt1SEE3UlUsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGekIsTUFBTTsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJUG9zaXRpb24sXG4gIElSZXNwb25zZU9yZGVyLFxuICBJQ2xvc2VQb3NpdGlvbixcbiAgU3ltYm9sLFxuICBJT3JkZXIsXG4gIElSZXNwb25zZUNsb3NlLFxuICBJVHJhZGVTdW1tYXJ5LFxuICBJUG9zaXRpb25TdW1tYXJ5RGVhbGluZyxcbiAgSVBheWxvYWRDcmVhdGVPcmRlcixcbiAgSVBheWxvYWRDcmVhdGVQb3NpdGlvbixcbiAgUmVzcG9uc2VQYWdpbmF0b3IsXG59IGZyb20gJ0BleGNlbnQvZXhjZW50LW1vZGVscyc7XG5pbXBvcnQgeyBlbmRwb2ludCB9IGZyb20gJy4vZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgSVBvc2l0aW9uUmVzcG9uc2UgPSBQYXJ0aWFsPElQb3NpdGlvbj4gJiB7IGN1cnJlbnRQcmljZTogbnVtYmVyIH07XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXhjZW50U2VydlBvc2l0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcG9zaXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQb3NpdGlvbiB8IG51bGw+KG51bGwpO1xuICBwb3NpdGlvbiQgPSB0aGlzLnBvc2l0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgb3BlcmF0aW9uT3JkZXI6IEJlaGF2aW9yU3ViamVjdDx7IHR5cGU6IHN0cmluZzsgdmFsdWU6IElPcmRlciB9PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDx7IHR5cGU6IHN0cmluZzsgdmFsdWU6IElPcmRlciB9Pih7XG4gICAgICB0eXBlOiAnJyxcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHV1aWQ6ICcnLFxuICAgICAgICBpZDogJycsXG4gICAgICAgIHRyYWRpbmdBY2NvdW50OiAnJyxcbiAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCkuaWQsXG4gICAgICAgIGlkU3ltYm9sOiAwLFxuICAgICAgICBvcmRlclR5cGU6IDAsXG4gICAgICAgIG9yZGVyU3RhdHVzOiAwLFxuICAgICAgICB2b2x1bWU6IDAsXG4gICAgICAgIGJ1eTogZmFsc2UsXG4gICAgICAgIHN0b3BMb3NzOiAwLFxuICAgICAgICB0YWtlUHJvZml0OiAwLFxuICAgICAgICBhY3RpdmF0aW9uUHJpY2U6IDAsXG4gICAgICAgIGNhbmNlbGxhdGlvbkRhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgIGNyZWF0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCByZWZyZXNoJCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQ7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkUG9zaXRpb25zKGlkVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxJUG9zaXRpb25bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdpZEFjY291bnQnLCBpZFVzZXIpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElQb3NpdGlvbltdPihlbmRwb2ludC5vcGVuLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcGVuQ3N2PFQ+KHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLCBoZWFkZXJzOiBIdHRwSGVhZGVycykge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGVuZHBvaW50Lmxpc3RPcGVuLCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW48VD4oXG4gICAgdXVpZD86IHN0cmluZyxcbiAgICBkYXRhPzogTWFwPHN0cmluZywgYW55PlxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmICh1dWlkKSBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCd0cmFkaW5nQWNjb3VudCcsIHV1aWQpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8VD4oZW5kcG9pbnQubGlzdE9wZW4sIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbC5yZXN1bHRzKSB7XG4gICAgICAgICAgICBsZXQgcG9zaXRpb25zID0gKGVsIGFzIFJlc3BvbnNlUGFnaW5hdG9yPElQb3NpdGlvbj4pLnJlc3VsdHMubWFwKChwb3NpdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgLi4ucG9zaXRpb24sXG4gICAgICAgICAgICAgIHN5bWJvbElkOiBwb3NpdGlvbi5zeW1ib2wsXG4gICAgICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIHsuLi5lbCwgJ3Jlc3VsdHMnOiBwb3NpdGlvbnMgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbCA9IChlbCBhcyBBcnJheTxJUG9zaXRpb24+KS5tYXAoKHBvc2l0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgc3ltYm9sSWQ6IHBvc2l0aW9uLnN5bWJvbCxcbiAgICAgICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gZWw7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDbG9zZUNzdjxUPih0cmFkaW5nQWNjb3VudFV1aWQ6IHN0cmluZywgaGVhZGVyczogSHR0cEhlYWRlcnMpIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChlbmRwb2ludC5jbG9zZVBvc2l0aW9uLCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlPFQ+KFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50LmNsb3NlUG9zaXRpb24sIHtcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcnNDc3Y8VD4odHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcsIGhlYWRlcnM6IEh0dHBIZWFkZXJzKSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXJTdGF0dXMnLCAxKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChlbmRwb2ludC5vcmRlcnMsIHtcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3JkZXJzPFQ+KFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLFxuICAgIG9yZGVyU3RhdHVzOiBudW1iZXIsXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXJTdGF0dXMnLCBvcmRlclN0YXR1cyk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQub3JkZXJzLCB7XG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBJUGF5bG9hZENyZWF0ZVBvc2l0aW9uKTogT2JzZXJ2YWJsZTxJUG9zaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SVBvc2l0aW9uPihlbmRwb2ludC5jcmVhdGUsIHZhbHVlKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQubmV4dCgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU9yZGVyPFQsIFU+KHZhbHVlOiBVKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KGVuZHBvaW50LmNyZWF0ZU9yZGVyLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQb3NpdGlvbnMoXG4gICAgdm9sdW1lOiB7IHZvbHVtZTogbnVtYmVyIH0sXG4gICAgdXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUNsb3NlUG9zaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdDxJQ2xvc2VQb3NpdGlvbj4oXG4gICAgICAgIGAvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLyR7dXVpZH0vY2xvc2UvYCxcbiAgICAgICAgdm9sdW1lXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0UG9zaXRpb24ocG9zaXRpb246IElQb3NpdGlvbiB8IG51bGwpIHtcbiAgICB0aGlzLnBvc2l0aW9uLm5leHQocG9zaXRpb24pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbGxPcmRlcih1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElSZXNwb25zZU9yZGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElSZXNwb25zZU9yZGVyPihcbiAgICAgIGVuZHBvaW50LmNhbmNlbGxPcmRlcjEgKyB1dWlkICsgZW5kcG9pbnQuY2FuY2VsbE9yZGVyMixcbiAgICAgIHt9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaFBvc2l0aW9uKFxuICAgIGZvcm06IHsgc3RvcExvc3M/OiBudW1iZXI7IHRha2VQcm9maXQ/OiBudW1iZXI7IHZvbHVtZT86IG51bWJlciB9LFxuICAgIHV1aWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElQb3NpdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8SVBvc2l0aW9uPihcbiAgICAgIGVuZHBvaW50LnBhdGNoUG9zaXRpb24gKyB1dWlkICsgJy8nLFxuICAgICAgZm9ybVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hPcmRlcih2YWx1ZTogYW55LCB1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElSZXNwb25zZU9yZGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxJUmVzcG9uc2VPcmRlcj4oXG4gICAgICBlbmRwb2ludC5wYXRjaE9yZGVyICsgdXVpZCArICcvJyxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbnNUcmFkZVN1bW1hcnkoXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxJVHJhZGVTdW1tYXJ5W10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElUcmFkZVN1bW1hcnlbXT4oZW5kcG9pbnQudHJhZGVTdW1tYXJ5LCB7XG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbnNTdW1tYXJ5RGVhbGluZyhcbiAgICBkYXRhPzogTWFwPHN0cmluZywgYW55PlxuICApOiBPYnNlcnZhYmxlPElQb3NpdGlvblN1bW1hcnlEZWFsaW5nW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElQb3NpdGlvblN1bW1hcnlEZWFsaW5nW10+KFxuICAgICAgZW5kcG9pbnQucG9zaXRpb25TdW1tYXJ5RGVhbGluZyxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUFsbFBvc2l0aW9ucyh1dWlkQWNjb3VudFRyZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8SVJlc3BvbnNlQ2xvc2U+PihcbiAgICAgIGAvYWNjb3VudHMvdHJhZGluZy1hY2NvdW50cy8ke3V1aWRBY2NvdW50VHJkfS9jbG9zZS1hbGwtcG9zaXRpb25zL2BcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBwb3NpdGlvblNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsQWxsT3JkZXJzPFQ+KHV1aWRBY2NvdW50VHJkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PFQ+KGAvYWNjb3VudHMvdHJhZGluZy1hY2NvdW50cy8ke3V1aWRBY2NvdW50VHJkfS9jYW5jZWwtYWxsLW9yZGVycy9gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFRvdGFsUG9zaXRpb25zPFQ+KGRhdGE/OiBNYXA8c3RyaW5nLGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50Lmxpc3RPcGVuICsgJ3RvdGFscy8nLCB7IHBhcmFtcyB9KVxuICB9XG5cbiAgcHVibGljIGdldENsb3NlZFBvc2l0aW9uc1RvdGFsczxUPihkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihlbmRwb2ludC5jbG9zZVBvc2l0aW9uICsgJ3RvdGFscy8nLCB7IHBhcmFtcyB9KVxuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZU9yZGVyc1RvdGFsczxUPihkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihlbmRwb2ludC5vcmRlcnMgKyAndG90YWxzLycsIHsgcGFyYW1zIH0pXG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdFBvc2l0aW9uc1NsYXZlczxUPihpZDogc3RyaW5nLCBkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGAke2VuZHBvaW50Lmxpc3RPcGVufS8ke2lkfS9zbGF2ZXMvYCwgeyBwYXJhbXMgfSlcbiAgfVxufVxuIl19
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUlMLE1BQU0sR0FRUCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNckMsTUFBTSxPQUFPLDBCQUEwQjtJQTZCckMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTVCbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUN2RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN0RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQzNELGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNqRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDOUMsbUJBQWMsR0FDbkIsSUFBSSxlQUFlLENB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QUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsTUFBcUI7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLGNBQXFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFTSxzQkFBc0IsQ0FBSSxFQUFVLEVBQUUsSUFBc0I7UUFDakUsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUM3QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUNqRixDQUFDOzt1SEF6U1UsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGekIsTUFBTTsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJUG9zaXRpb24sXG4gIElSZXNwb25zZU9yZGVyLFxuICBJQ2xvc2VQb3NpdGlvbixcbiAgU3ltYm9sLFxuICBJT3JkZXIsXG4gIElSZXNwb25zZUNsb3NlLFxuICBJVHJhZGVTdW1tYXJ5LFxuICBJUG9zaXRpb25TdW1tYXJ5RGVhbGluZyxcbiAgSVBheWxvYWRDcmVhdGVPcmRlcixcbiAgSVBheWxvYWRDcmVhdGVQb3NpdGlvbixcbiAgUmVzcG9uc2VQYWdpbmF0b3IsXG59IGZyb20gJ0BleGNlbnQvZXhjZW50LW1vZGVscyc7XG5pbXBvcnQgeyBlbmRwb2ludCB9IGZyb20gJy4vZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgSVBvc2l0aW9uUmVzcG9uc2UgPSBQYXJ0aWFsPElQb3NpdGlvbj4gJiB7IGN1cnJlbnRQcmljZTogbnVtYmVyIH07XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXhjZW50U2VydlBvc2l0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcG9zaXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQb3NpdGlvbiB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHBlbmRpbmdPcmRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8SU9yZGVyPj4oW10pO1xuICBwcml2YXRlIGNsb3NlUG9zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxJQ2xvc2VQb3NpdGlvbj4+KFtdKTtcbiAgcHVibGljIHBvc2l0aW9uJCA9IHRoaXMucG9zaXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBwZW5kaW5nT3JkZXJzJCA9IHRoaXMucGVuZGluZ09yZGVyLmFzT2JzZXJ2YWJsZSgpXG4gIHB1YmxpYyBjbG9zZVBvc2l0aW9ucyQgPSB0aGlzLmNsb3NlUG9zLmFzT2JzZXJ2YWJsZSgpXG4gIHB1YmxpYyBvcGVyYXRpb25PcmRlcjogQmVoYXZpb3JTdWJqZWN0PHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogSU9yZGVyIH0+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogSU9yZGVyIH0+KHtcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgdmFsdWU6IHtcbiAgICAgICAgdXVpZDogJycsXG4gICAgICAgIGlkOiAnJyxcbiAgICAgICAgdHJhZGluZ0FjY291bnQ6ICcnLFxuICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKS5pZCxcbiAgICAgICAgaWRTeW1ib2w6IDAsXG4gICAgICAgIG9yZGVyVHlwZTogMCxcbiAgICAgICAgb3JkZXJTdGF0dXM6IDAsXG4gICAgICAgIHZvbHVtZTogMCxcbiAgICAgICAgYnV5OiBmYWxzZSxcbiAgICAgICAgc3RvcExvc3M6IDAsXG4gICAgICAgIHRha2VQcm9maXQ6IDAsXG4gICAgICAgIGFjdGl2YXRpb25QcmljZTogMCxcbiAgICAgICAgY2FuY2VsbGF0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgICAgY3JlYXRpb25EYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0IHJlZnJlc2gkKCk6IFN1YmplY3Q8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9yZWZyZXNoJDtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRQb3NpdGlvbnMoaWRVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIGlkVXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uW10+KGVuZHBvaW50Lm9wZW4sIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW5Dc3Y8VD4odHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcsIGhlYWRlcnM6IEh0dHBIZWFkZXJzKSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoZW5kcG9pbnQubGlzdE9wZW4sIHtcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3BlbjxUPihcbiAgICB1dWlkPzogc3RyaW5nLFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIFxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgaWYgKHV1aWQpIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3RyYWRpbmdBY2NvdW50JywgdXVpZCk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxUPihlbmRwb2ludC5saXN0T3Blbiwge1xuICAgICAgICBwYXJhbXMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZWw6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsLnJlc3VsdHMpIHtcbiAgICAgICAgICAgIGxldCBwb3NpdGlvbnMgPSAoZWwgYXMgUmVzcG9uc2VQYWdpbmF0b3I8SVBvc2l0aW9uPikucmVzdWx0cy5tYXAoKHBvc2l0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgc3ltYm9sSWQ6IHBvc2l0aW9uLnN5bWJvbCxcbiAgICAgICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gey4uLmVsLCAncmVzdWx0cyc6IHBvc2l0aW9ucyB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVsID0gKGVsIGFzIEFycmF5PElQb3NpdGlvbj4pLm1hcCgocG9zaXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnBvc2l0aW9uLFxuICAgICAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlQ3N2PFQ+KHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLCBoZWFkZXJzOiBIdHRwSGVhZGVycykge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGVuZHBvaW50LmNsb3NlUG9zaXRpb24sIHtcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2xvc2U8VD4oXG4gICAgdHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcsXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwge1xuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9yZGVyc0NzdjxUPih0cmFkaW5nQWNjb3VudFV1aWQ6IHN0cmluZywgaGVhZGVyczogSHR0cEhlYWRlcnMpIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlclN0YXR1cycsIDEpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGVuZHBvaW50Lm9yZGVycywge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVycyxcbiAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcnM8VD4oXG4gICAgdHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcsXG4gICAgb3JkZXJTdGF0dXM6IG51bWJlcixcbiAgICBkYXRhPzogTWFwPHN0cmluZywgYW55PlxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlclN0YXR1cycsIG9yZGVyU3RhdHVzKTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihlbmRwb2ludC5vcmRlcnMsIHtcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IElQYXlsb2FkQ3JlYXRlUG9zaXRpb24pOiBPYnNlcnZhYmxlPElQb3NpdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUG9zaXRpb24+KGVuZHBvaW50LmNyZWF0ZSwgdmFsdWUpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlT3JkZXI8VCwgVT4odmFsdWU6IFUpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8VD4oZW5kcG9pbnQuY3JlYXRlT3JkZXIsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZVBvc2l0aW9ucyhcbiAgICB2b2x1bWU6IHsgdm9sdW1lOiBudW1iZXIgfSxcbiAgICB1dWlkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQ2xvc2VQb3NpdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PElDbG9zZVBvc2l0aW9uPihcbiAgICAgICAgYC9wb3NpdGlvbnMvdHJhZGluZy1wb3NpdGlvbnMvJHt1dWlkfS9jbG9zZS9gLFxuICAgICAgICB2b2x1bWVcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQb3NpdGlvbihwb3NpdGlvbjogSVBvc2l0aW9uIHwgbnVsbCkge1xuICAgIHRoaXMucG9zaXRpb24ubmV4dChwb3NpdGlvbik7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsbE9yZGVyKHV1aWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SVJlc3BvbnNlT3JkZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SVJlc3BvbnNlT3JkZXI+KFxuICAgICAgZW5kcG9pbnQuY2FuY2VsbE9yZGVyMSArIHV1aWQgKyBlbmRwb2ludC5jYW5jZWxsT3JkZXIyLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoUG9zaXRpb24oXG4gICAgZm9ybTogeyBzdG9wTG9zcz86IG51bWJlcjsgdGFrZVByb2ZpdD86IG51bWJlcjsgdm9sdW1lPzogbnVtYmVyIH0sXG4gICAgdXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SVBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxJUG9zaXRpb24+KFxuICAgICAgZW5kcG9pbnQucGF0Y2hQb3NpdGlvbiArIHV1aWQgKyAnLycsXG4gICAgICBmb3JtXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaE9yZGVyKHZhbHVlOiBhbnksIHV1aWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SVJlc3BvbnNlT3JkZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoPElSZXNwb25zZU9yZGVyPihcbiAgICAgIGVuZHBvaW50LnBhdGNoT3JkZXIgKyB1dWlkICsgJy8nLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFBvc2l0aW9uc1RyYWRlU3VtbWFyeShcbiAgICBkYXRhPzogTWFwPHN0cmluZywgYW55PlxuICApOiBPYnNlcnZhYmxlPElUcmFkZVN1bW1hcnlbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVRyYWRlU3VtbWFyeVtdPihlbmRwb2ludC50cmFkZVN1bW1hcnksIHtcbiAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFBvc2l0aW9uc1N1bW1hcnlEZWFsaW5nKFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8SVBvc2l0aW9uU3VtbWFyeURlYWxpbmdbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uU3VtbWFyeURlYWxpbmdbXT4oXG4gICAgICBlbmRwb2ludC5wb3NpdGlvblN1bW1hcnlEZWFsaW5nLFxuICAgICAge1xuICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNsb3NlQWxsUG9zaXRpb25zKHV1aWRBY2NvdW50VHJkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxBcnJheTxJUmVzcG9uc2VDbG9zZT4+KFxuICAgICAgYC9hY2NvdW50cy90cmFkaW5nLWFjY291bnRzLyR7dXVpZEFjY291bnRUcmR9L2Nsb3NlLWFsbC1wb3NpdGlvbnMvYFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvc2l0aW9uU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb24uZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxBbGxPcmRlcnM8VD4odXVpZEFjY291bnRUcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8VD4oYC9hY2NvdW50cy90cmFkaW5nLWFjY291bnRzLyR7dXVpZEFjY291bnRUcmR9L2NhbmNlbC1hbGwtb3JkZXJzL2ApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG90YWxQb3NpdGlvbnM8VD4oZGF0YT86IE1hcDxzdHJpbmcsYW55Pikge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQubGlzdE9wZW4gKyAndG90YWxzLycsIHsgcGFyYW1zIH0pXG4gIH1cblxuICBwdWJsaWMgZ2V0Q2xvc2VkUG9zaXRpb25zVG90YWxzPFQ+KGRhdGE/OiBNYXA8c3RyaW5nLGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50LmNsb3NlUG9zaXRpb24gKyAndG90YWxzLycsIHsgcGFyYW1zIH0pXG4gIH1cblxuICBwdWJsaWMgZ2V0QWN0aXZlT3JkZXJzVG90YWxzPFQ+KGRhdGE/OiBNYXA8c3RyaW5nLGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50Lm9yZGVycyArICd0b3RhbHMvJywgeyBwYXJhbXMgfSlcbiAgfVxuXG4gIHB1YmxpYyBzZXRQZW5kaW5nT3JkZXJzKG9yZGVyczogQXJyYXk8SU9yZGVyPikge1xuICAgIHRoaXMucGVuZGluZ09yZGVyLm5leHQob3JkZXJzKVxuICB9XG5cbiAgcHVibGljIHNldENsb3NlUG9zaXRpb25zKGNsb3NlUG9zaXRpb25zOiBBcnJheTxJQ2xvc2VQb3NpdGlvbj4pIHtcbiAgICB0aGlzLmNsb3NlUG9zLm5leHQoY2xvc2VQb3NpdGlvbnMpXG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdFBvc2l0aW9uc1NsYXZlczxUPihpZDogc3RyaW5nLCBkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGAke2VuZHBvaW50Lmxpc3RPcGVufS8ke2lkfS9zbGF2ZXMvYCwgeyBwYXJhbXMgfSlcbiAgfVxufVxuIl19
|
|
@@ -29,7 +29,11 @@ class ExcentServPositionsService {
|
|
|
29
29
|
this.httpClient = httpClient;
|
|
30
30
|
this._refresh$ = new Subject();
|
|
31
31
|
this.position = new BehaviorSubject(null);
|
|
32
|
+
this.pendingOrder = new BehaviorSubject([]);
|
|
33
|
+
this.closePos = new BehaviorSubject([]);
|
|
32
34
|
this.position$ = this.position.asObservable();
|
|
35
|
+
this.pendingOrders$ = this.pendingOrder.asObservable();
|
|
36
|
+
this.closePositions$ = this.closePos.asObservable();
|
|
33
37
|
this.operationOrder = new BehaviorSubject({
|
|
34
38
|
type: '',
|
|
35
39
|
value: {
|
|
@@ -221,6 +225,12 @@ class ExcentServPositionsService {
|
|
|
221
225
|
}
|
|
222
226
|
return this.httpClient.get(endpoint.orders + 'totals/', { params });
|
|
223
227
|
}
|
|
228
|
+
setPendingOrders(orders) {
|
|
229
|
+
this.pendingOrder.next(orders);
|
|
230
|
+
}
|
|
231
|
+
setClosePositions(closePositions) {
|
|
232
|
+
this.closePos.next(closePositions);
|
|
233
|
+
}
|
|
224
234
|
getListPositionsSlaves(id, data) {
|
|
225
235
|
let params = new HttpParams();
|
|
226
236
|
if (data) {
|
|
@@ -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 cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n ITradeSummary,\n IPositionSummaryDealing,\n IPayloadCreateOrder,\n IPayloadCreatePosition,\n ResponsePaginator,\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 id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\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$(): Subject<void> {\n return this._refresh$;\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 getOpenCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n \n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getClose<T>(\n tradingAccountUuid: string,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', 1);\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid: string,\n orderStatus: number,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}/${id}/slaves/`, { params })\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: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n ITradeSummary,\n IPositionSummaryDealing,\n IPayloadCreateOrder,\n IPayloadCreatePosition,\n ResponsePaginator,\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 private pendingOrder = new BehaviorSubject<Array<IOrder>>([]);\n private closePos = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public pendingOrders$ = this.pendingOrder.asObservable()\n public closePositions$ = this.closePos.asObservable()\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\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$(): Subject<void> {\n return this._refresh$;\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 getOpenCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n \n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getClose<T>(\n tradingAccountUuid: string,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', 1);\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid: string,\n orderStatus: number,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrder.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePos.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}/${id}/slaves/`, { params })\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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"}
|
|
@@ -29,7 +29,11 @@ class ExcentServPositionsService {
|
|
|
29
29
|
this.httpClient = httpClient;
|
|
30
30
|
this._refresh$ = new Subject();
|
|
31
31
|
this.position = new BehaviorSubject(null);
|
|
32
|
+
this.pendingOrder = new BehaviorSubject([]);
|
|
33
|
+
this.closePos = new BehaviorSubject([]);
|
|
32
34
|
this.position$ = this.position.asObservable();
|
|
35
|
+
this.pendingOrders$ = this.pendingOrder.asObservable();
|
|
36
|
+
this.closePositions$ = this.closePos.asObservable();
|
|
33
37
|
this.operationOrder = new BehaviorSubject({
|
|
34
38
|
type: '',
|
|
35
39
|
value: {
|
|
@@ -229,6 +233,12 @@ class ExcentServPositionsService {
|
|
|
229
233
|
}
|
|
230
234
|
return this.httpClient.get(endpoint.orders + 'totals/', { params });
|
|
231
235
|
}
|
|
236
|
+
setPendingOrders(orders) {
|
|
237
|
+
this.pendingOrder.next(orders);
|
|
238
|
+
}
|
|
239
|
+
setClosePositions(closePositions) {
|
|
240
|
+
this.closePos.next(closePositions);
|
|
241
|
+
}
|
|
232
242
|
getListPositionsSlaves(id, data) {
|
|
233
243
|
let params = new HttpParams();
|
|
234
244
|
if (data) {
|
|
@@ -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 cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n ITradeSummary,\n IPositionSummaryDealing,\n IPayloadCreateOrder,\n IPayloadCreatePosition,\n ResponsePaginator,\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 id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\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$(): Subject<void> {\n return this._refresh$;\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 getOpenCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n \n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getClose<T>(\n tradingAccountUuid: string,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', 1);\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid: string,\n orderStatus: number,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}/${id}/slaves/`, { params })\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: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n IOrder,\n IResponseClose,\n ITradeSummary,\n IPositionSummaryDealing,\n IPayloadCreateOrder,\n IPayloadCreatePosition,\n ResponsePaginator,\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 private pendingOrder = new BehaviorSubject<Array<IOrder>>([]);\n private closePos = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public pendingOrders$ = this.pendingOrder.asObservable()\n public closePositions$ = this.closePos.asObservable()\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\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$(): Subject<void> {\n return this._refresh$;\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 getOpenCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n \n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getClose<T>(\n tradingAccountUuid: string,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(tradingAccountUuid: string, headers: HttpHeaders) {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', 1);\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid: string,\n orderStatus: number,\n data?: Map<string, any>\n ): Observable<T> {\n let params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n params = params.append('orderStatus', orderStatus);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrder.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePos.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}/${id}/slaves/`, { params })\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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"}
|
|
@@ -6,7 +6,11 @@ export declare class ExcentServPositionsService {
|
|
|
6
6
|
private httpClient;
|
|
7
7
|
private _refresh$;
|
|
8
8
|
private position;
|
|
9
|
+
private pendingOrder;
|
|
10
|
+
private closePos;
|
|
9
11
|
position$: Observable<IPosition | null>;
|
|
12
|
+
pendingOrders$: Observable<IOrder[]>;
|
|
13
|
+
closePositions$: Observable<IClosePosition[]>;
|
|
10
14
|
operationOrder: BehaviorSubject<{
|
|
11
15
|
type: string;
|
|
12
16
|
value: IOrder;
|
|
@@ -41,6 +45,8 @@ export declare class ExcentServPositionsService {
|
|
|
41
45
|
getTotalPositions<T>(data?: Map<string, any>): Observable<T>;
|
|
42
46
|
getClosedPositionsTotals<T>(data?: Map<string, any>): Observable<T>;
|
|
43
47
|
getActiveOrdersTotals<T>(data?: Map<string, any>): Observable<T>;
|
|
48
|
+
setPendingOrders(orders: Array<IOrder>): void;
|
|
49
|
+
setClosePositions(closePositions: Array<IClosePosition>): void;
|
|
44
50
|
getListPositionsSlaves<T>(id: string, data?: Map<string, any>): Observable<T>;
|
|
45
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExcentServPositionsService, never>;
|
|
46
52
|
static ɵprov: i0.ɵɵInjectableDeclaration<ExcentServPositionsService>;
|