@excent/excent-serv-positions 0.0.31 → 0.0.33
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.enpoints.mjs +2 -1
- package/esm2020/lib/excent-serv-positions.service.mjs +14 -2
- package/fesm2015/excent-excent-serv-positions.mjs +10 -1
- package/fesm2015/excent-excent-serv-positions.mjs.map +1 -1
- package/fesm2020/excent-excent-serv-positions.mjs +14 -1
- package/fesm2020/excent-excent-serv-positions.mjs.map +1 -1
- package/lib/excent-serv-positions.enpoints.d.ts +1 -0
- package/lib/excent-serv-positions.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -11,5 +11,6 @@ export const endpoint = {
|
|
|
11
11
|
cancellOrder1: '/positions/orders/',
|
|
12
12
|
cancellOrder2: '/cancel/',
|
|
13
13
|
patchPosition: '/positions/trading-positions/',
|
|
14
|
+
patchOrder: '/positions/orders/',
|
|
14
15
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhjZW50LXNlcnYtcG9zaXRpb25zL3NyYy9saWIvZXhjZW50LXNlcnYtcG9zaXRpb25zLmVucG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixhQUFhLEVBQUUseUJBQXlCO0lBQ3hDLGFBQWEsRUFBRSw4QkFBOEI7SUFDN0MsZUFBZSxFQUFFLDBCQUEwQjtJQUMzQyxRQUFRLEVBQUUsK0JBQStCO0lBQ3pDLE1BQU0sRUFBRSwrQkFBK0I7SUFDdkMsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLGFBQWEsRUFBRSxVQUFVO0lBQ3pCLGFBQWEsRUFBRSwrQkFBK0I7SUFDOUMsVUFBVSxFQUFFLG9CQUFvQjtDQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuZHBvaW50ID0ge1xuICBvcGVuOiAnL3Bvc2l0aW9uL29wZW4vJyxcbiAgY2xvc2VkOiAnL3Bvc2l0aW9uL2Nsb3NlZC8nLFxuICBvcmRlcnM6ICcvcG9zaXRpb25zL29yZGVycy8nLFxuICB3c0NhbmNlbE9yZGVyOiAnL3Bvc2l0aW9uL29yZGVyL2NhbmNlbC8nLFxuICBjbG9zZVBvc2l0aW9uOiAnL3Bvc2l0aW9ucy9wb3NpdGlvbi1oaXN0b3J5LycsXG4gIHBvc2l0aW9uU3VtbWFyeTogJy9yZXBvcnQvcG9zaXRpb24tc3VtbWFyeScsXG4gIGxpc3RPcGVuOiAnL3Bvc2l0aW9ucy90cmFkaW5nLXBvc2l0aW9ucy8nLFxuICBjcmVhdGU6ICcvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLycsXG4gIGNyZWF0ZU9yZGVyOiAnL3Bvc2l0aW9ucy9vcmRlcnMvJyxcbiAgY2FuY2VsbE9yZGVyMTogJy9wb3NpdGlvbnMvb3JkZXJzLycsXG4gIGNhbmNlbGxPcmRlcjI6ICcvY2FuY2VsLycsXG4gIHBhdGNoUG9zaXRpb246ICcvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLycsXG4gIHBhdGNoT3JkZXI6ICcvcG9zaXRpb25zL29yZGVycy8nLFxufTtcbiJdfQ==
|
|
@@ -118,7 +118,16 @@ export class ExcentServPositionsService {
|
|
|
118
118
|
}));
|
|
119
119
|
}
|
|
120
120
|
createOrder(value) {
|
|
121
|
-
return this.httpClient
|
|
121
|
+
return this.httpClient
|
|
122
|
+
.post(endpoint.createOrder, value)
|
|
123
|
+
.pipe(map((res) => {
|
|
124
|
+
let order = {
|
|
125
|
+
...res,
|
|
126
|
+
idSymbol: res.symbol,
|
|
127
|
+
symbol: new Symbol(),
|
|
128
|
+
};
|
|
129
|
+
return order;
|
|
130
|
+
}));
|
|
122
131
|
}
|
|
123
132
|
closePositions(volume, uuid) {
|
|
124
133
|
return this.httpClient
|
|
@@ -136,6 +145,9 @@ export class ExcentServPositionsService {
|
|
|
136
145
|
patchPosition(form, uuid) {
|
|
137
146
|
return this.httpClient.patch(endpoint.patchPosition + uuid + '/', form);
|
|
138
147
|
}
|
|
148
|
+
patchOrder(value, uuid) {
|
|
149
|
+
return this.httpClient.post(endpoint.patchOrder + uuid + '/', value);
|
|
150
|
+
}
|
|
139
151
|
}
|
|
140
152
|
ExcentServPositionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
141
153
|
ExcentServPositionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, providedIn: 'root' });
|
|
@@ -145,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
145
157
|
providedIn: 'root',
|
|
146
158
|
}]
|
|
147
159
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsTUFBTSxHQUdQLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1yQyxNQUFNLE9BQU8sMEJBQTBCO0lBd0JyQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdkJsQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQ25CLElBQUksZUFBZSxDQUFrQztZQUNuRCxJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLElBQUksTUFBTSxFQUFFO2dCQUNwQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUUsQ0FBQztn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Q0FBQztJQUVNLGNBQWMsQ0FBQyxNQUEwQixFQUFFLElBQVk7UUFDNUQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixJQUFJLENBQUMsZ0NBQWdDLElBQUksU0FBUyxFQUFFLE1BQU0sQ0FBQzthQUMzRCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBbUI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFVO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLFFBQVEsQ0FBQyxhQUFhLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLEVBQ3ZELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGFBQWEsQ0FDbEIsSUFBZ0QsRUFDaEQsSUFBWTtRQUVaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7O3VIQW5LVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVBvc2l0aW9uLFxuICBJUmVzcG9uc2VPcmRlcixcbiAgSUNsb3NlUG9zaXRpb24sXG4gIFN5bWJvbCxcbiAgSU9yZGVyLFxuICBJUmVzcG9uc2VDbG9zZSxcbn0gZnJvbSAnQGV4Y2VudC9leGNlbnQtbW9kZWxzJztcbmltcG9ydCB7IGVuZHBvaW50IH0gZnJvbSAnLi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuZW5wb2ludHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBJUG9zaXRpb25SZXNwb25zZSA9IFBhcnRpYWw8SVBvc2l0aW9uPiAmIHsgY3VycmVudFByaWNlOiBudW1iZXIgfTtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbnRTZXJ2UG9zaXRpb25zU2VydmljZSB7XG4gIHByaXZhdGUgX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBwb3NpdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBvc2l0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHBvc2l0aW9uJCA9IHRoaXMucG9zaXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBvcGVyYXRpb25PcmRlcjogQmVoYXZpb3JTdWJqZWN0PHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogSU9yZGVyIH0+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogSU9yZGVyIH0+KHtcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgdmFsdWU6IHtcbiAgICAgICAgdXVpZDogJycsXG4gICAgICAgIHRyYWRpbmdBY2NvdW50OiAnJyxcbiAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgIGlkU3ltYm9sOiAwLFxuICAgICAgICBvcmRlclR5cGU6IDAsXG4gICAgICAgIG9yZGVyU3RhdHVzOiAwLFxuICAgICAgICB2b2x1bWU6IDAsXG4gICAgICAgIGJ1eTogZmFsc2UsXG4gICAgICAgIHN0b3BMb3NzOiAwLFxuICAgICAgICB0YWtlUHJvZml0OiAwLFxuICAgICAgICBhY3RpdmF0aW9uUHJpY2U6IDAsXG4gICAgICAgIGNhbmNlbGxhdGlvbkRhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgIGNyZWF0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCByZWZyZXNoJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQ7XG4gIH1cblxuICBnZXRQb3NpdGlvbnNCeUlkVXNlcihpZFVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgaWRVc2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25bXT4oZW5kcG9pbnQub3BlbiwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgSVBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24gfCBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUG9zaXRpb24+KGVuZHBvaW50Lm9wZW4sIHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRQb3NpdGlvbnMoaWRVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIGlkVXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uW10+KGVuZHBvaW50Lm9wZW4sIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW4odHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxhbnlbXT4oZW5kcG9pbnQubGlzdE9wZW4sIHsgcGFyYW1zIH0pLnBpcGUoXG4gICAgICBtYXAoKGVsKSA9PiB7XG4gICAgICAgIGVsID0gZWwubWFwKChwb3NpdGlvbikgPT4gKHtcbiAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgIHN3YXA6IDAsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8QXJyYXk8SUNsb3NlUG9zaXRpb24+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElSZXNwb25zZUNsb3NlPj4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKF9yZXMpID0+IHtcbiAgICAgICAgICBsZXQgcmVzQXJyYXk6IEFycmF5PElDbG9zZVBvc2l0aW9uPiA9IFtdO1xuICAgICAgICAgIF9yZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczogSUNsb3NlUG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgIHV1aWQ6IGl0ZW0udXVpZCA/PyAnJyxcbiAgICAgICAgICAgICAgdHJhZGluZ1Bvc2l0aW9uOiBpdGVtLnRyYWRpbmdQb3NpdGlvbiA/PyAnJyxcbiAgICAgICAgICAgICAgY2xvc2VUeXBlOiBpdGVtLmNsb3NlVHlwZSA/PyAwLFxuICAgICAgICAgICAgICB2b2x1bWU6IGl0ZW0udm9sdW1lID8/IDAsXG4gICAgICAgICAgICAgIGNsb3NlUHJpY2U6IGl0ZW0uY2xvc2VQcmljZSA/PyAwLFxuICAgICAgICAgICAgICBjbG9zZURhdGU6IGl0ZW0uY2xvc2VEYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIHByb2ZpdDogaXRlbS5wcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgbm9taW5hbFZhbHVlOiBpdGVtLm5vbWluYWxWYWx1ZSA/PyAwLFxuICAgICAgICAgICAgICBzdG9wTG9zczogaXRlbS5zdG9wTG9zcyA/PyAwLFxuICAgICAgICAgICAgICB0YWtlUHJvZml0OiBpdGVtLnRha2VQcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgY29tbWlzc2lvbnM6IGl0ZW0uY29tbWlzc2lvbnMgPz8gW10sXG4gICAgICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgICAgICBpZFN5bWJvbDogaXRlbS5zeW1ib2wgPz8gMCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXNBcnJheS5wdXNoKHJlcyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc0FycmF5O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcnMoXG4gICAgdHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcsXG4gICAgb3JkZXJTdGF0dXM6IG51bWJlclxuICApOiBPYnNlcnZhYmxlPEFycmF5PElPcmRlcj4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlclN0YXR1cycsIG9yZGVyU3RhdHVzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElSZXNwb25zZU9yZGVyPj4oZW5kcG9pbnQub3JkZXJzLCB7IHBhcmFtcyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoX3JlcykgPT4ge1xuICAgICAgICAgIGxldCByZXNBcnJheTogQXJyYXk8SU9yZGVyPiA9IFtdO1xuICAgICAgICAgIF9yZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczogSU9yZGVyID0ge1xuICAgICAgICAgICAgICB1dWlkOiBpdGVtLnV1aWQgPz8gJycsXG4gICAgICAgICAgICAgIHRyYWRpbmdBY2NvdW50OiBpdGVtLnRyYWRpbmdBY2NvdW50ID8/ICcnLFxuICAgICAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICAgICAgaWRTeW1ib2w6IGl0ZW0uc3ltYm9sLFxuICAgICAgICAgICAgICBvcmRlclR5cGU6IGl0ZW0ub3JkZXJUeXBlID8/IDAsXG4gICAgICAgICAgICAgIG9yZGVyU3RhdHVzOiBpdGVtLm9yZGVyU3RhdHVzID8/IDAsXG4gICAgICAgICAgICAgIHZvbHVtZTogaXRlbS52b2x1bWUgPz8gMCxcbiAgICAgICAgICAgICAgYnV5OiBpdGVtLmJ1eSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcExvc3M6IGl0ZW0uc3RvcExvc3MgPz8gMCxcbiAgICAgICAgICAgICAgdGFrZVByb2ZpdDogaXRlbS50YWtlUHJvZml0ID8/IDAsXG4gICAgICAgICAgICAgIGFjdGl2YXRpb25QcmljZTogaXRlbS5hY3RpdmF0aW9uUHJpY2UgPz8gMCxcbiAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uRGF0ZTogaXRlbS5jYW5jZWxsYXRpb25EYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIGNyZWF0aW9uRGF0ZTogaXRlbS5jcmVhdGlvbkRhdGUgPz8gbmV3IERhdGUoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXNBcnJheS5wdXNoKHJlcyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc0FycmF5O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChlbmRwb2ludC5jcmVhdGUsIHZhbHVlKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQubmV4dCgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU9yZGVyKHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPElPcmRlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJT3JkZXI+KGVuZHBvaW50LmNyZWF0ZU9yZGVyLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQb3NpdGlvbnModm9sdW1lOiB7IHZvbHVtZTogbnVtYmVyIH0sIHV1aWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGAvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLyR7dXVpZH0vY2xvc2UvYCwgdm9sdW1lKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24pIHtcbiAgICB0aGlzLnBvc2l0aW9uLm5leHQocG9zaXRpb24pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbGxPcmRlcih2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxJUmVzcG9uc2VPcmRlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUmVzcG9uc2VPcmRlcj4oXG4gICAgICBlbmRwb2ludC5jYW5jZWxsT3JkZXIxICsgdmFsdWUgKyBlbmRwb2ludC5jYW5jZWxsT3JkZXIyLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoUG9zaXRpb24oXG4gICAgZm9ybTogeyBzdG9wTG9zcz86IG51bWJlcjsgdGFrZVByb2ZpdD86IG51bWJlciB9LFxuICAgIHV1aWQ6IHN0cmluZ1xuICApIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoKGVuZHBvaW50LnBhdGNoUG9zaXRpb24gKyB1dWlkICsgJy8nLCBmb3JtKTtcbiAgfVxufVxuIl19
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsTUFBTSxHQUdQLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1yQyxNQUFNLE9BQU8sMEJBQTBCO0lBd0JyQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdkJsQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQ25CLElBQUksZUFBZSxDQUFrQztZQUNuRCxJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLElBQUksTUFBTSxFQUFFO2dCQUNwQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUUsQ0FBQztn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Q04sQ0FBQztJQUNKLENBQUM7O3VIQXJMVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVBvc2l0aW9uLFxuICBJUmVzcG9uc2VPcmRlcixcbiAgSUNsb3NlUG9zaXRpb24sXG4gIFN5bWJvbCxcbiAgSU9yZGVyLFxuICBJUmVzcG9uc2VDbG9zZSxcbn0gZnJvbSAnQGV4Y2VudC9leGNlbnQtbW9kZWxzJztcbmltcG9ydCB7IGVuZHBvaW50IH0gZnJvbSAnLi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuZW5wb2ludHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBJUG9zaXRpb25SZXNwb25zZSA9IFBhcnRpYWw8SVBvc2l0aW9uPiAmIHsgY3VycmVudFByaWNlOiBudW1iZXIgfTtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbnRTZXJ2UG9zaXRpb25zU2VydmljZSB7XG4gIHByaXZhdGUgX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBwb3NpdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBvc2l0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHBvc2l0aW9uJCA9IHRoaXMucG9zaXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBvcGVyYXRpb25PcmRlcjogQmVoYXZpb3JTdWJqZWN0PHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogSU9yZGVyIH0+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogSU9yZGVyIH0+KHtcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgdmFsdWU6IHtcbiAgICAgICAgdXVpZDogJycsXG4gICAgICAgIHRyYWRpbmdBY2NvdW50OiAnJyxcbiAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgIGlkU3ltYm9sOiAwLFxuICAgICAgICBvcmRlclR5cGU6IDAsXG4gICAgICAgIG9yZGVyU3RhdHVzOiAwLFxuICAgICAgICB2b2x1bWU6IDAsXG4gICAgICAgIGJ1eTogZmFsc2UsXG4gICAgICAgIHN0b3BMb3NzOiAwLFxuICAgICAgICB0YWtlUHJvZml0OiAwLFxuICAgICAgICBhY3RpdmF0aW9uUHJpY2U6IDAsXG4gICAgICAgIGNhbmNlbGxhdGlvbkRhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgIGNyZWF0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCByZWZyZXNoJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQ7XG4gIH1cblxuICBnZXRQb3NpdGlvbnNCeUlkVXNlcihpZFVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgaWRVc2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25bXT4oZW5kcG9pbnQub3BlbiwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgSVBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24gfCBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUG9zaXRpb24+KGVuZHBvaW50Lm9wZW4sIHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRQb3NpdGlvbnMoaWRVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIGlkVXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uW10+KGVuZHBvaW50Lm9wZW4sIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW4odHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxhbnlbXT4oZW5kcG9pbnQubGlzdE9wZW4sIHsgcGFyYW1zIH0pLnBpcGUoXG4gICAgICBtYXAoKGVsKSA9PiB7XG4gICAgICAgIGVsID0gZWwubWFwKChwb3NpdGlvbikgPT4gKHtcbiAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgIHN3YXA6IDAsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8QXJyYXk8SUNsb3NlUG9zaXRpb24+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElSZXNwb25zZUNsb3NlPj4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKF9yZXMpID0+IHtcbiAgICAgICAgICBsZXQgcmVzQXJyYXk6IEFycmF5PElDbG9zZVBvc2l0aW9uPiA9IFtdO1xuICAgICAgICAgIF9yZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczogSUNsb3NlUG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgIHV1aWQ6IGl0ZW0udXVpZCA/PyAnJyxcbiAgICAgICAgICAgICAgdHJhZGluZ1Bvc2l0aW9uOiBpdGVtLnRyYWRpbmdQb3NpdGlvbiA/PyAnJyxcbiAgICAgICAgICAgICAgY2xvc2VUeXBlOiBpdGVtLmNsb3NlVHlwZSA/PyAwLFxuICAgICAgICAgICAgICB2b2x1bWU6IGl0ZW0udm9sdW1lID8/IDAsXG4gICAgICAgICAgICAgIGNsb3NlUHJpY2U6IGl0ZW0uY2xvc2VQcmljZSA/PyAwLFxuICAgICAgICAgICAgICBjbG9zZURhdGU6IGl0ZW0uY2xvc2VEYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIHByb2ZpdDogaXRlbS5wcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgbm9taW5hbFZhbHVlOiBpdGVtLm5vbWluYWxWYWx1ZSA/PyAwLFxuICAgICAgICAgICAgICBzdG9wTG9zczogaXRlbS5zdG9wTG9zcyA/PyAwLFxuICAgICAgICAgICAgICB0YWtlUHJvZml0OiBpdGVtLnRha2VQcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgY29tbWlzc2lvbnM6IGl0ZW0uY29tbWlzc2lvbnMgPz8gW10sXG4gICAgICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgICAgICBpZFN5bWJvbDogaXRlbS5zeW1ib2wgPz8gMCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXNBcnJheS5wdXNoKHJlcyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc0FycmF5O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcnMoXG4gICAgdHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcsXG4gICAgb3JkZXJTdGF0dXM6IG51bWJlclxuICApOiBPYnNlcnZhYmxlPEFycmF5PElPcmRlcj4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlclN0YXR1cycsIG9yZGVyU3RhdHVzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElSZXNwb25zZU9yZGVyPj4oZW5kcG9pbnQub3JkZXJzLCB7IHBhcmFtcyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoX3JlcykgPT4ge1xuICAgICAgICAgIGxldCByZXNBcnJheTogQXJyYXk8SU9yZGVyPiA9IFtdO1xuICAgICAgICAgIF9yZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczogSU9yZGVyID0ge1xuICAgICAgICAgICAgICB1dWlkOiBpdGVtLnV1aWQgPz8gJycsXG4gICAgICAgICAgICAgIHRyYWRpbmdBY2NvdW50OiBpdGVtLnRyYWRpbmdBY2NvdW50ID8/ICcnLFxuICAgICAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICAgICAgaWRTeW1ib2w6IGl0ZW0uc3ltYm9sLFxuICAgICAgICAgICAgICBvcmRlclR5cGU6IGl0ZW0ub3JkZXJUeXBlID8/IDAsXG4gICAgICAgICAgICAgIG9yZGVyU3RhdHVzOiBpdGVtLm9yZGVyU3RhdHVzID8/IDAsXG4gICAgICAgICAgICAgIHZvbHVtZTogaXRlbS52b2x1bWUgPz8gMCxcbiAgICAgICAgICAgICAgYnV5OiBpdGVtLmJ1eSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcExvc3M6IGl0ZW0uc3RvcExvc3MgPz8gMCxcbiAgICAgICAgICAgICAgdGFrZVByb2ZpdDogaXRlbS50YWtlUHJvZml0ID8/IDAsXG4gICAgICAgICAgICAgIGFjdGl2YXRpb25QcmljZTogaXRlbS5hY3RpdmF0aW9uUHJpY2UgPz8gMCxcbiAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uRGF0ZTogaXRlbS5jYW5jZWxsYXRpb25EYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIGNyZWF0aW9uRGF0ZTogaXRlbS5jcmVhdGlvbkRhdGUgPz8gbmV3IERhdGUoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXNBcnJheS5wdXNoKHJlcyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc0FycmF5O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChlbmRwb2ludC5jcmVhdGUsIHZhbHVlKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQubmV4dCgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU9yZGVyKHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPElPcmRlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PElSZXNwb25zZU9yZGVyPihlbmRwb2ludC5jcmVhdGVPcmRlciwgdmFsdWUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICBsZXQgb3JkZXI6IElPcmRlciA9IHtcbiAgICAgICAgICAgIC4uLnJlcyxcbiAgICAgICAgICAgIGlkU3ltYm9sOiByZXMuc3ltYm9sLFxuICAgICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gb3JkZXI7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNsb3NlUG9zaXRpb25zKHZvbHVtZTogeyB2b2x1bWU6IG51bWJlciB9LCB1dWlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdChgL3Bvc2l0aW9ucy90cmFkaW5nLXBvc2l0aW9ucy8ke3V1aWR9L2Nsb3NlL2AsIHZvbHVtZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQb3NpdGlvbihwb3NpdGlvbjogSVBvc2l0aW9uKSB7XG4gICAgdGhpcy5wb3NpdGlvbi5uZXh0KHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxsT3JkZXIodmFsdWU6IGFueSk6IE9ic2VydmFibGU8SVJlc3BvbnNlT3JkZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SVJlc3BvbnNlT3JkZXI+KFxuICAgICAgZW5kcG9pbnQuY2FuY2VsbE9yZGVyMSArIHZhbHVlICsgZW5kcG9pbnQuY2FuY2VsbE9yZGVyMixcbiAgICAgIHt9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaFBvc2l0aW9uKFxuICAgIGZvcm06IHsgc3RvcExvc3M/OiBudW1iZXI7IHRha2VQcm9maXQ/OiBudW1iZXIgfSxcbiAgICB1dWlkOiBzdHJpbmdcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaChlbmRwb2ludC5wYXRjaFBvc2l0aW9uICsgdXVpZCArICcvJywgZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hPcmRlcih2YWx1ZTogYW55LCB1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElSZXNwb25zZU9yZGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElSZXNwb25zZU9yZGVyPihcbiAgICAgIGVuZHBvaW50LnBhdGNoT3JkZXIgKyB1dWlkICsgJy8nLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -19,6 +19,7 @@ const endpoint = {
|
|
|
19
19
|
cancellOrder1: '/positions/orders/',
|
|
20
20
|
cancellOrder2: '/cancel/',
|
|
21
21
|
patchPosition: '/positions/trading-positions/',
|
|
22
|
+
patchOrder: '/positions/orders/',
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
class ExcentServPositionsService {
|
|
@@ -130,7 +131,12 @@ class ExcentServPositionsService {
|
|
|
130
131
|
}));
|
|
131
132
|
}
|
|
132
133
|
createOrder(value) {
|
|
133
|
-
return this.httpClient
|
|
134
|
+
return this.httpClient
|
|
135
|
+
.post(endpoint.createOrder, value)
|
|
136
|
+
.pipe(map((res) => {
|
|
137
|
+
let order = Object.assign(Object.assign({}, res), { idSymbol: res.symbol, symbol: new Symbol() });
|
|
138
|
+
return order;
|
|
139
|
+
}));
|
|
134
140
|
}
|
|
135
141
|
closePositions(volume, uuid) {
|
|
136
142
|
return this.httpClient
|
|
@@ -148,6 +154,9 @@ class ExcentServPositionsService {
|
|
|
148
154
|
patchPosition(form, uuid) {
|
|
149
155
|
return this.httpClient.patch(endpoint.patchPosition + uuid + '/', form);
|
|
150
156
|
}
|
|
157
|
+
patchOrder(value, uuid) {
|
|
158
|
+
return this.httpClient.post(endpoint.patchOrder + uuid + '/', value);
|
|
159
|
+
}
|
|
151
160
|
}
|
|
152
161
|
ExcentServPositionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
153
162
|
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 cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\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<IOrder> {\n return this.httpClient.post<IOrder>(endpoint.createOrder, value);\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":";;;;;;;;AAAO,MAAM,QAAQ,GAAG;AACtB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,MAAM,EAAE,oBAAoB;AAC5B,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,aAAa,EAAE,8BAA8B;AAC7C,IAAA,eAAe,EAAE,0BAA0B;AAC3C,IAAA,QAAQ,EAAE,+BAA+B;AACzC,IAAA,MAAM,EAAE,+BAA+B;AACvC,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,aAAa,EAAE,+BAA+B;CAC/C;;MCKY,0BAA0B,CAAA;AAwBrC,IAAA,WAAA,CAAoB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAvBlC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;QAChC,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAmB,IAAI,CAAC,CAAC;QAC/D,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;AAClC,QAAA,IAAc,CAAA,cAAA,GACnB,IAAI,eAAe,CAAkC;AACnD,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,IAAI,MAAM,EAAE;AACpB,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,SAAS,EAAE,CAAC;AACZ,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,GAAG,EAAE,KAAK;AACV,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,IAAI,IAAI,EAAE;gBAC5B,YAAY,EAAE,IAAI,IAAI,EAAE;AACzB,aAAA;AACF,SAAA,CAAC,CAAC;KAEyC;AAE9C,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,oBAAoB,CAAC,MAAc,EAAA;AACjC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAc,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;KACpE;AAEM,IAAA,SAAS,CAAC,QAAyB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAY,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACjE;AAEM,IAAA,eAAe,CAAC,MAAc,EAAA;AACnC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAc,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;KACpE;AAEM,IAAA,OAAO,CAAC,kBAA0B,EAAA;AACvC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAQ,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CACnE,GAAG,CAAC,CAAC,EAAE,KAAI;AACT,YAAA,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,MAChB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,KACX,QAAQ,EAAE,QAAQ,CAAC,MAAM,EACzB,MAAM,EAAE,IAAI,MAAM,EAAE,EACpB,IAAI,EAAE,CAAC,EAAA,CAAA,CACP,CAAC,CAAC;AACJ,YAAA,OAAO,EAAE,CAAC;SACX,CAAC,CACH,CAAC;KACH;AAEM,IAAA,QAAQ,CACb,kBAA0B,EAAA;AAE1B,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,UAAU;aACnB,GAAG,CAAwB,QAAQ,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC;AAC9D,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,IAAI,KAAI;YACX,IAAI,QAAQ,GAA0B,EAAE,CAAC;AACzC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;;AACpB,gBAAA,IAAI,GAAG,GAAmB;AACxB,oBAAA,IAAI,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,mCAAI,EAAE;AACrB,oBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,mCAAI,EAAE;AAC3C,oBAAA,SAAS,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,mCAAI,CAAC;AAC9B,oBAAA,MAAM,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAI,CAAC;AACxB,oBAAA,UAAU,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,mCAAI,CAAC;oBAChC,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,IAAI,EAAE;AACvC,oBAAA,MAAM,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAI,CAAC;AACxB,oBAAA,YAAY,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,mCAAI,CAAC;AACpC,oBAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC;AAC5B,oBAAA,UAAU,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,mCAAI,CAAC;AAChC,oBAAA,WAAW,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,mCAAI,EAAE;oBACnC,MAAM,EAAE,IAAI,MAAM,EAAE;AACpB,oBAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAI,CAAC;iBAC3B,CAAC;AACF,gBAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,QAAQ,CAAC;SACjB,CAAC,CACH,CAAC;KACL;IAEM,SAAS,CACd,kBAA0B,EAC1B,WAAmB,EAAA;AAEnB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU;aACnB,GAAG,CAAwB,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;AACvD,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,IAAI,KAAI;YACX,IAAI,QAAQ,GAAkB,EAAE,CAAC;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;;AACpB,gBAAA,IAAI,GAAG,GAAW;AAChB,oBAAA,IAAI,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,mCAAI,EAAE;AACrB,oBAAA,cAAc,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,mCAAI,EAAE;oBACzC,MAAM,EAAE,IAAI,MAAM,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,mCAAI,CAAC;AAC9B,oBAAA,WAAW,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,mCAAI,CAAC;AAClC,oBAAA,MAAM,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAI,CAAC;AACxB,oBAAA,GAAG,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,mCAAI,KAAK;AACtB,oBAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC;AAC5B,oBAAA,UAAU,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,mCAAI,CAAC;AAChC,oBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,mCAAI,CAAC;oBAC1C,gBAAgB,EAAE,MAAA,IAAI,CAAC,gBAAgB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,IAAI,EAAE;oBACrD,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,IAAI,EAAE;iBAC9C,CAAC;AACF,gBAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,QAAQ,CAAC;SACjB,CAAC,CACH,CAAC;KACL;AAEM,IAAA,MAAM,CAAC,KAAU,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CACtD,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvB,CAAC,CACH,CAAC;KACH;AAEM,IAAA,WAAW,CAAC,KAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAS,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAClE;IAEM,cAAc,CAAC,MAA0B,EAAE,IAAY,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,IAAI,CAAC,CAAgC,6BAAA,EAAA,IAAI,CAAS,OAAA,CAAA,EAAE,MAAM,CAAC;AAC3D,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB,CAAC,CACH,CAAC;KACL;AAEM,IAAA,WAAW,CAAC,QAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC9B;AAEM,IAAA,YAAY,CAAC,KAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,QAAQ,CAAC,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,aAAa,EACvD,EAAE,CACH,CAAC;KACH;IAEM,aAAa,CAClB,IAAgD,EAChD,IAAY,EAAA;AAEZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;KACzE;;uHAnKU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCLY,4BAA4B,CAAA;;yHAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAR7B,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAIU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCOU,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uHAAzB,yBAAyB,EAAA,YAAA,EAAA,CARlC,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAK5B,4BAA4B,CAAA,EAAA,CAAA,CAAA;uHAGnB,yBAAyB,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,4BAA4B;AAC7B,qBAAA;iBACF,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
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};\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<IOrder> {\n return this.httpClient\n .post<IResponseOrder>(endpoint.createOrder, value)\n .pipe(\n map((res) => {\n let order: IOrder = {\n ...res,\n idSymbol: res.symbol,\n symbol: new Symbol(),\n };\n return order;\n })\n );\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 public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\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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"}
|
|
@@ -19,6 +19,7 @@ const endpoint = {
|
|
|
19
19
|
cancellOrder1: '/positions/orders/',
|
|
20
20
|
cancellOrder2: '/cancel/',
|
|
21
21
|
patchPosition: '/positions/trading-positions/',
|
|
22
|
+
patchOrder: '/positions/orders/',
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
class ExcentServPositionsService {
|
|
@@ -133,7 +134,16 @@ class ExcentServPositionsService {
|
|
|
133
134
|
}));
|
|
134
135
|
}
|
|
135
136
|
createOrder(value) {
|
|
136
|
-
return this.httpClient
|
|
137
|
+
return this.httpClient
|
|
138
|
+
.post(endpoint.createOrder, value)
|
|
139
|
+
.pipe(map((res) => {
|
|
140
|
+
let order = {
|
|
141
|
+
...res,
|
|
142
|
+
idSymbol: res.symbol,
|
|
143
|
+
symbol: new Symbol(),
|
|
144
|
+
};
|
|
145
|
+
return order;
|
|
146
|
+
}));
|
|
137
147
|
}
|
|
138
148
|
closePositions(volume, uuid) {
|
|
139
149
|
return this.httpClient
|
|
@@ -151,6 +161,9 @@ class ExcentServPositionsService {
|
|
|
151
161
|
patchPosition(form, uuid) {
|
|
152
162
|
return this.httpClient.patch(endpoint.patchPosition + uuid + '/', form);
|
|
153
163
|
}
|
|
164
|
+
patchOrder(value, uuid) {
|
|
165
|
+
return this.httpClient.post(endpoint.patchOrder + uuid + '/', value);
|
|
166
|
+
}
|
|
154
167
|
}
|
|
155
168
|
ExcentServPositionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
156
169
|
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 cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\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<IOrder> {\n return this.httpClient.post<IOrder>(endpoint.createOrder, value);\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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"}
|
|
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};\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<IOrder> {\n return this.httpClient\n .post<IResponseOrder>(endpoint.createOrder, value)\n .pipe(\n map((res) => {\n let order: IOrder = {\n ...res,\n idSymbol: res.symbol,\n symbol: new Symbol(),\n };\n return order;\n })\n );\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 public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\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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"}
|
|
@@ -30,6 +30,7 @@ export declare class ExcentServPositionsService {
|
|
|
30
30
|
stopLoss?: number;
|
|
31
31
|
takeProfit?: number;
|
|
32
32
|
}, uuid: string): Observable<Object>;
|
|
33
|
+
patchOrder(value: any, uuid: string): Observable<IResponseOrder>;
|
|
33
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExcentServPositionsService, never>;
|
|
34
35
|
static ɵprov: i0.ɵɵInjectableDeclaration<ExcentServPositionsService>;
|
|
35
36
|
}
|