@excent/excent-serv-positions 0.0.18 → 0.0.19

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.
@@ -2,16 +2,20 @@ import { HttpParams } from '@angular/common/http';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { Symbol, } from '@excent/excent-models';
4
4
  import { endpoint } from './excent-serv-positions.enpoints';
5
- import { BehaviorSubject } from 'rxjs';
5
+ import { BehaviorSubject, Subject, tap } from 'rxjs';
6
6
  import { map } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common/http";
9
9
  export class ExcentServPositionsService {
10
10
  constructor(httpClient) {
11
11
  this.httpClient = httpClient;
12
+ this._refresh$ = new Subject();
12
13
  this.position = new BehaviorSubject(null);
13
14
  this.position$ = this.position.asObservable();
14
15
  }
16
+ get refresh$() {
17
+ return this._refresh$;
18
+ }
15
19
  getPositionsByIdUser(idUser) {
16
20
  const params = new HttpParams().set('idAccount', idUser);
17
21
  return this.httpClient.get(endpoint.open, { params });
@@ -87,7 +91,9 @@ export class ExcentServPositionsService {
87
91
  }));
88
92
  }
89
93
  create(value) {
90
- return this.httpClient.post(endpoint.create, value).pipe(map(() => true));
94
+ return this.httpClient.post(endpoint.create, value).pipe(tap(() => {
95
+ this._refresh$.next();
96
+ }));
91
97
  }
92
98
  createOrder(value) {
93
99
  return this.httpClient
@@ -106,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
106
112
  providedIn: 'root',
107
113
  }]
108
114
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsTUFBTSxHQUNQLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLckMsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGxDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFDL0QsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFSSxDQUFDO0lBRTlDLG9CQUFvQixDQUFDLE1BQWM7UUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUF5QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFZLFFBQVEsQ0FBQyxJQUFJLEVBQUUs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QUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW1CO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3VIQTdHVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVBvc2l0aW9uLFxuICBJUmVzcG9uc2VPcmRlcixcbiAgSUNsb3NlUG9zaXRpb24sXG4gIFN5bWJvbCxcbn0gZnJvbSAnQGV4Y2VudC9leGNlbnQtbW9kZWxzJztcbmltcG9ydCB7IGVuZHBvaW50IH0gZnJvbSAnLi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuZW5wb2ludHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbnRTZXJ2UG9zaXRpb25zU2VydmljZSB7XG4gIHByaXZhdGUgcG9zaXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQb3NpdGlvbiB8IG51bGw+KG51bGwpO1xuICBwb3NpdGlvbiQgPSB0aGlzLnBvc2l0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICBnZXRQb3NpdGlvbnNCeUlkVXNlcihpZFVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgaWRVc2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25bXT4oZW5kcG9pbnQub3BlbiwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgSVBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24gfCBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUG9zaXRpb24+KGVuZHBvaW50Lm9wZW4sIHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRQb3NpdGlvbnMoaWRVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIGlkVXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uW10+KGVuZHBvaW50Lm9wZW4sIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW4odHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxhbnlbXT4oZW5kcG9pbnQubGlzdE9wZW4sIHsgcGFyYW1zIH0pLnBpcGUoXG4gICAgICBtYXAoKGVsKSA9PiB7XG4gICAgICAgIGVsID0gZWwubWFwKChwb3NpdGlvbikgPT4gKHtcbiAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgIHN3YXA6IDAsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8QXJyYXk8SUNsb3NlUG9zaXRpb24+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElDbG9zZVBvc2l0aW9uPj4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKF9yZXMpID0+IHtcbiAgICAgICAgICBsZXQgcmVzQXJyYXk6IEFycmF5PElDbG9zZVBvc2l0aW9uPiA9IFtdO1xuICAgICAgICAgIF9yZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczogSUNsb3NlUG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgIHV1aWQ6IGl0ZW0udXVpZCA/PyAnJyxcbiAgICAgICAgICAgICAgdHJhZGluZ1Bvc2l0aW9uOiBpdGVtLnRyYWRpbmdQb3NpdGlvbiA/PyAnJyxcbiAgICAgICAgICAgICAgY2xvc2VUeXBlOiBpdGVtLmNsb3NlVHlwZSA/PyAwLFxuICAgICAgICAgICAgICB2b2x1bWU6IGl0ZW0udm9sdW1lID8/IDAsXG4gICAgICAgICAgICAgIGNsb3NlUHJpY2U6IGl0ZW0uY2xvc2VQcmljZSA/PyAwLFxuICAgICAgICAgICAgICBjbG9zZURhdGU6IGl0ZW0uY2xvc2VEYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIHByb2ZpdDogaXRlbS5wcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgbm9taW5hbFZhbHVlOiBpdGVtLm5vbWluYWxWYWx1ZSA/PyAwLFxuICAgICAgICAgICAgICBzdG9wTG9zczogaXRlbS5zdG9wTG9zcyA/PyAwLFxuICAgICAgICAgICAgICB0YWtlUHJvZml0OiBpdGVtLnRha2VQcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgY29tbWlzc2lvbnM6IGl0ZW0uY29tbWlzc2lvbnMgPz8gW10sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzQXJyYXkucHVzaChyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNBcnJheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3JkZXJzKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLFxuICAgIG9yZGVyU3RhdHVzOiBudW1iZXJcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxJUmVzcG9uc2VPcmRlcj4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlclN0YXR1cycsIG9yZGVyU3RhdHVzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElSZXNwb25zZU9yZGVyPj4oZW5kcG9pbnQub3JkZXJzLCB7IHBhcmFtcyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoX3JlcykgPT4ge1xuICAgICAgICAgIGxldCByZXNBcnJheTogQXJyYXk8SVJlc3BvbnNlT3JkZXI+ID0gW107XG4gICAgICAgICAgX3Jlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzOiBJUmVzcG9uc2VPcmRlciA9IHtcbiAgICAgICAgICAgICAgdXVpZDogaXRlbS51dWlkID8/ICcnLFxuICAgICAgICAgICAgICB0cmFkaW5nQWNjb3VudDogaXRlbS50cmFkaW5nQWNjb3VudCA/PyAnJyxcbiAgICAgICAgICAgICAgc3ltYm9sOiBpdGVtLnN5bWJvbCA/PyAwLFxuICAgICAgICAgICAgICBvcmRlclR5cGU6IGl0ZW0ub3JkZXJUeXBlID8/IDAsXG4gICAgICAgICAgICAgIG9yZGVyU3RhdHVzOiBpdGVtLm9yZGVyU3RhdHVzID8/IDAsXG4gICAgICAgICAgICAgIHZvbHVtZTogaXRlbS52b2x1bWUgPz8gMCxcbiAgICAgICAgICAgICAgYnV5OiBpdGVtLmJ1eSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcExvc3M6IGl0ZW0uc3RvcExvc3MgPz8gMCxcbiAgICAgICAgICAgICAgdGFrZVByb2ZpdDogaXRlbS50YWtlUHJvZml0ID8/IDAsXG4gICAgICAgICAgICAgIGFjdGl2YXRpb25QcmljZTogaXRlbS5hY3RpdmF0aW9uUHJpY2UgPz8gMCxcbiAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uRGF0ZTogaXRlbS5jYW5jZWxsYXRpb25EYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzQXJyYXkucHVzaChyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNBcnJheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoZW5kcG9pbnQuY3JlYXRlLCB2YWx1ZSkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU9yZGVyKHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdChlbmRwb2ludC5jcmVhdGVPcmRlciwgdmFsdWUpXG4gICAgICAucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIHNldFBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24pIHtcbiAgICB0aGlzLnBvc2l0aW9uLm5leHQocG9zaXRpb24pO1xuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsTUFBTSxHQUNQLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1yQyxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUMvRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVJLENBQUM7SUFFOUMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFjO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFjLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxN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QUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW1CO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3VIQXRIVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVBvc2l0aW9uLFxuICBJUmVzcG9uc2VPcmRlcixcbiAgSUNsb3NlUG9zaXRpb24sXG4gIFN5bWJvbCxcbn0gZnJvbSAnQGV4Y2VudC9leGNlbnQtbW9kZWxzJztcbmltcG9ydCB7IGVuZHBvaW50IH0gZnJvbSAnLi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuZW5wb2ludHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBJUG9zaXRpb25SZXNwb25zZSA9IFBhcnRpYWw8SVBvc2l0aW9uPiAmIHsgY3VycmVudFByaWNlOiBudW1iZXIgfTtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbnRTZXJ2UG9zaXRpb25zU2VydmljZSB7XG4gIHByaXZhdGUgX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBwb3NpdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBvc2l0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHBvc2l0aW9uJCA9IHRoaXMucG9zaXRpb24uYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCByZWZyZXNoJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQ7XG4gIH1cblxuICBnZXRQb3NpdGlvbnNCeUlkVXNlcihpZFVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgaWRVc2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25bXT4oZW5kcG9pbnQub3BlbiwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgSVBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24gfCBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUG9zaXRpb24+KGVuZHBvaW50Lm9wZW4sIHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRQb3NpdGlvbnMoaWRVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIGlkVXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SVBvc2l0aW9uW10+KGVuZHBvaW50Lm9wZW4sIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW4odHJhZGluZ0FjY291bnRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQb3NpdGlvbltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxhbnlbXT4oZW5kcG9pbnQubGlzdE9wZW4sIHsgcGFyYW1zIH0pLnBpcGUoXG4gICAgICBtYXAoKGVsKSA9PiB7XG4gICAgICAgIGVsID0gZWwubWFwKChwb3NpdGlvbikgPT4gKHtcbiAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgIHN3YXA6IDAsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8QXJyYXk8SUNsb3NlUG9zaXRpb24+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElDbG9zZVBvc2l0aW9uPj4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKF9yZXMpID0+IHtcbiAgICAgICAgICBsZXQgcmVzQXJyYXk6IEFycmF5PElDbG9zZVBvc2l0aW9uPiA9IFtdO1xuICAgICAgICAgIF9yZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczogSUNsb3NlUG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgIHV1aWQ6IGl0ZW0udXVpZCA/PyAnJyxcbiAgICAgICAgICAgICAgdHJhZGluZ1Bvc2l0aW9uOiBpdGVtLnRyYWRpbmdQb3NpdGlvbiA/PyAnJyxcbiAgICAgICAgICAgICAgY2xvc2VUeXBlOiBpdGVtLmNsb3NlVHlwZSA/PyAwLFxuICAgICAgICAgICAgICB2b2x1bWU6IGl0ZW0udm9sdW1lID8/IDAsXG4gICAgICAgICAgICAgIGNsb3NlUHJpY2U6IGl0ZW0uY2xvc2VQcmljZSA/PyAwLFxuICAgICAgICAgICAgICBjbG9zZURhdGU6IGl0ZW0uY2xvc2VEYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgIHByb2ZpdDogaXRlbS5wcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgbm9taW5hbFZhbHVlOiBpdGVtLm5vbWluYWxWYWx1ZSA/PyAwLFxuICAgICAgICAgICAgICBzdG9wTG9zczogaXRlbS5zdG9wTG9zcyA/PyAwLFxuICAgICAgICAgICAgICB0YWtlUHJvZml0OiBpdGVtLnRha2VQcm9maXQgPz8gMCxcbiAgICAgICAgICAgICAgY29tbWlzc2lvbnM6IGl0ZW0uY29tbWlzc2lvbnMgPz8gW10sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzQXJyYXkucHVzaChyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNBcnJheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3JkZXJzKFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZDogc3RyaW5nLFxuICAgIG9yZGVyU3RhdHVzOiBudW1iZXJcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxJUmVzcG9uc2VPcmRlcj4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlclN0YXR1cycsIG9yZGVyU3RhdHVzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEFycmF5PElSZXNwb25zZU9yZGVyPj4oZW5kcG9pbnQub3JkZXJzLCB7IHBhcmFtcyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoX3JlcykgPT4ge1xuICAgICAgICAgIGxldCByZXNBcnJheTogQXJyYXk8SVJlc3BvbnNlT3JkZXI+ID0gW107XG4gICAgICAgICAgX3Jlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzOiBJUmVzcG9uc2VPcmRlciA9IHtcbiAgICAgICAgICAgICAgdXVpZDogaXRlbS51dWlkID8/ICcnLFxuICAgICAgICAgICAgICB0cmFkaW5nQWNjb3VudDogaXRlbS50cmFkaW5nQWNjb3VudCA/PyAnJyxcbiAgICAgICAgICAgICAgc3ltYm9sOiBpdGVtLnN5bWJvbCA/PyAwLFxuICAgICAgICAgICAgICBvcmRlclR5cGU6IGl0ZW0ub3JkZXJUeXBlID8/IDAsXG4gICAgICAgICAgICAgIG9yZGVyU3RhdHVzOiBpdGVtLm9yZGVyU3RhdHVzID8/IDAsXG4gICAgICAgICAgICAgIHZvbHVtZTogaXRlbS52b2x1bWUgPz8gMCxcbiAgICAgICAgICAgICAgYnV5OiBpdGVtLmJ1eSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcExvc3M6IGl0ZW0uc3RvcExvc3MgPz8gMCxcbiAgICAgICAgICAgICAgdGFrZVByb2ZpdDogaXRlbS50YWtlUHJvZml0ID8/IDAsXG4gICAgICAgICAgICAgIGFjdGl2YXRpb25QcmljZTogaXRlbS5hY3RpdmF0aW9uUHJpY2UgPz8gMCxcbiAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uRGF0ZTogaXRlbS5jYW5jZWxsYXRpb25EYXRlID8/IG5ldyBEYXRlKCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzQXJyYXkucHVzaChyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNBcnJheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoZW5kcG9pbnQuY3JlYXRlLCB2YWx1ZSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVPcmRlcih2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoZW5kcG9pbnQuY3JlYXRlT3JkZXIsIHZhbHVlKVxuICAgICAgLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQb3NpdGlvbihwb3NpdGlvbjogSVBvc2l0aW9uKSB7XG4gICAgdGhpcy5wb3NpdGlvbi5uZXh0KHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
@@ -3,7 +3,7 @@ import { HttpParams } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, Component, NgModule } from '@angular/core';
5
5
  import { Symbol } from '@excent/excent-models';
6
- import { BehaviorSubject } from 'rxjs';
6
+ import { Subject, BehaviorSubject, tap } from 'rxjs';
7
7
  import { map } from 'rxjs/operators';
8
8
 
9
9
  const endpoint = {
@@ -21,9 +21,13 @@ const endpoint = {
21
21
  class ExcentServPositionsService {
22
22
  constructor(httpClient) {
23
23
  this.httpClient = httpClient;
24
+ this._refresh$ = new Subject();
24
25
  this.position = new BehaviorSubject(null);
25
26
  this.position$ = this.position.asObservable();
26
27
  }
28
+ get refresh$() {
29
+ return this._refresh$;
30
+ }
27
31
  getPositionsByIdUser(idUser) {
28
32
  const params = new HttpParams().set('idAccount', idUser);
29
33
  return this.httpClient.get(endpoint.open, { params });
@@ -96,7 +100,9 @@ class ExcentServPositionsService {
96
100
  }));
97
101
  }
98
102
  create(value) {
99
- return this.httpClient.post(endpoint.create, value).pipe(map(() => true));
103
+ return this.httpClient.post(endpoint.create, value).pipe(tap(() => {
104
+ this._refresh$.next();
105
+ }));
100
106
  }
101
107
  createOrder(value) {
102
108
  return this.httpClient
@@ -1 +1 @@
1
- {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n\n constructor(private httpClient: HttpClient) {}\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<IClosePosition>>(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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IResponseOrder>> {\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<IResponseOrder> = [];\n _res.forEach((item) => {\n let res: IResponseOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: item.symbol ?? 0,\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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any): Observable<boolean> {\n return this.httpClient.post(endpoint.create, value).pipe(map(() => true));\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$() {\n return this._refresh$;\n }\n\n getPositionsByIdUser(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public IPosition(position: IPosition | any): Observable<any> {\n return this.httpClient.post<IPosition>(endpoint.open, position);\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpen(tradingAccountUuid: string): Observable<IPosition[]> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get<any[]>(endpoint.listOpen, { params }).pipe(\n map((el) => {\n el = el.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n swap: 0,\n }));\n return el;\n })\n );\n }\n\n public getClose(\n tradingAccountUuid: string\n ): Observable<Array<IClosePosition>> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient\n .get<Array<IClosePosition>>(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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IResponseOrder>> {\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<IResponseOrder> = [];\n _res.forEach((item) => {\n let res: IResponseOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: item.symbol ?? 0,\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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any) {\n return this.httpClient.post(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { HttpParams } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, Component, NgModule } from '@angular/core';
5
5
  import { Symbol } from '@excent/excent-models';
6
- import { BehaviorSubject } from 'rxjs';
6
+ import { Subject, BehaviorSubject, tap } from 'rxjs';
7
7
  import { map } from 'rxjs/operators';
8
8
 
9
9
  const endpoint = {
@@ -21,9 +21,13 @@ const endpoint = {
21
21
  class ExcentServPositionsService {
22
22
  constructor(httpClient) {
23
23
  this.httpClient = httpClient;
24
+ this._refresh$ = new Subject();
24
25
  this.position = new BehaviorSubject(null);
25
26
  this.position$ = this.position.asObservable();
26
27
  }
28
+ get refresh$() {
29
+ return this._refresh$;
30
+ }
27
31
  getPositionsByIdUser(idUser) {
28
32
  const params = new HttpParams().set('idAccount', idUser);
29
33
  return this.httpClient.get(endpoint.open, { params });
@@ -99,7 +103,9 @@ class ExcentServPositionsService {
99
103
  }));
100
104
  }
101
105
  create(value) {
102
- return this.httpClient.post(endpoint.create, value).pipe(map(() => true));
106
+ return this.httpClient.post(endpoint.create, value).pipe(tap(() => {
107
+ this._refresh$.next();
108
+ }));
103
109
  }
104
110
  createOrder(value) {
105
111
  return this.httpClient
@@ -1 +1 @@
1
- {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n\n constructor(private httpClient: HttpClient) {}\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<IClosePosition>>(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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IResponseOrder>> {\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<IResponseOrder> = [];\n _res.forEach((item) => {\n let res: IResponseOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: item.symbol ?? 0,\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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any): Observable<boolean> {\n return this.httpClient.post(endpoint.create, value).pipe(map(() => true));\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n};\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IPosition,\n IResponseOrder,\n IClosePosition,\n Symbol,\n} from '@excent/excent-models';\nimport { endpoint } from './excent-serv-positions.enpoints';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n position$ = this.position.asObservable();\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$() {\n return this._refresh$;\n }\n\n getPositionsByIdUser(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public IPosition(position: IPosition | any): Observable<any> {\n return this.httpClient.post<IPosition>(endpoint.open, position);\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpen(tradingAccountUuid: string): Observable<IPosition[]> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient.get<any[]>(endpoint.listOpen, { params }).pipe(\n map((el) => {\n el = el.map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n swap: 0,\n }));\n return el;\n })\n );\n }\n\n public getClose(\n tradingAccountUuid: string\n ): Observable<Array<IClosePosition>> {\n const params = new HttpParams().set('tradingAccount', tradingAccountUuid);\n return this.httpClient\n .get<Array<IClosePosition>>(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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public getOrders(\n tradingAccountUuid: string,\n orderStatus: number\n ): Observable<Array<IResponseOrder>> {\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<IResponseOrder> = [];\n _res.forEach((item) => {\n let res: IResponseOrder = {\n uuid: item.uuid ?? '',\n tradingAccount: item.tradingAccount ?? '',\n symbol: item.symbol ?? 0,\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 };\n resArray.push(res);\n });\n return resArray;\n })\n );\n }\n\n public create(value: any) {\n return this.httpClient.post(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder(value: any): Observable<boolean> {\n return this.httpClient\n .post(endpoint.createOrder, value)\n .pipe(map(() => true));\n }\n\n public setPosition(position: IPosition) {\n this.position.next(position);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;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;CAClC;;MCMY,0BAA0B,CAAA;AAKrC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJlC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAmB,IAAI,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;KAEK;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;YACT,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAM;AACzB,gBAAA,GAAG,QAAQ;gBACX,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,MAAM,EAAE,IAAI,MAAM,EAAE;AACpB,gBAAA,IAAI,EAAE,CAAC;AACR,aAAA,CAAC,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,IAAI,CAAC,IAAI,IAAI,EAAE;AACrB,oBAAA,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;AAC3C,oBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;AAC9B,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;AACxB,oBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;AAChC,oBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;AACvC,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;AACxB,oBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;AACpC,oBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;AAC5B,oBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;AAChC,oBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;iBACpC,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,GAA0B,EAAE,CAAC;AACzC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACpB,gBAAA,IAAI,GAAG,GAAmB;AACxB,oBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;AACrB,oBAAA,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE;AACzC,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;AACxB,oBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;AAC9B,oBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;AAClC,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;AACxB,oBAAA,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK;AACtB,oBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;AAC5B,oBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;AAChC,oBAAA,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,CAAC;AAC1C,oBAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,EAAE;iBACtD,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;QAC3B,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;aACjC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;KAC1B;AAEM,IAAA,WAAW,CAAC,QAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC9B;;uHAtHU,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;AACnB,iBAAA,CAAA;;;MCHY,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;AACE,YAAA,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;AACF,iBAAA,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,19 +1,21 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { IPosition, IResponseOrder, IClosePosition } from '@excent/excent-models';
3
- import { Observable } from 'rxjs';
3
+ import { Observable, Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ExcentServPositionsService {
6
6
  private httpClient;
7
+ private _refresh$;
7
8
  private position;
8
9
  position$: Observable<IPosition | null>;
9
10
  constructor(httpClient: HttpClient);
11
+ get refresh$(): Subject<void>;
10
12
  getPositionsByIdUser(idUser: number): Observable<IPosition[]>;
11
13
  IPosition(position: IPosition | any): Observable<any>;
12
14
  reloadPositions(idUser: number): Observable<IPosition[]>;
13
15
  getOpen(tradingAccountUuid: string): Observable<IPosition[]>;
14
16
  getClose(tradingAccountUuid: string): Observable<Array<IClosePosition>>;
15
17
  getOrders(tradingAccountUuid: string, orderStatus: number): Observable<Array<IResponseOrder>>;
16
- create(value: any): Observable<boolean>;
18
+ create(value: any): Observable<Object>;
17
19
  createOrder(value: any): Observable<boolean>;
18
20
  setPosition(position: IPosition): void;
19
21
  static ɵfac: i0.ɵɵFactoryDeclaration<ExcentServPositionsService, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excent/excent-serv-positions",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"