@excent/excent-serv-positions 5.0.0 → 5.0.2

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.
@@ -18,12 +18,16 @@ const endpoint = {
18
18
  createOrder: '/positions/orders/',
19
19
  cancellOrder1: '/positions/orders/',
20
20
  cancellOrder2: '/cancel/',
21
+ cancelList: '/positions/orders/cancel-list/',
21
22
  patchPosition: '/positions/trading-positions/',
22
23
  patchOrder: '/positions/orders/',
23
24
  tradeSummary: '/positions/trade-summary/',
24
25
  positionSummaryDealing: '/positions/positions-summary/',
25
26
  closeOnHedge: '/positions/trading-positions/',
26
- closeMultiple: '/positions/trading-positions/close-all'
27
+ closeMultiple: '/positions/trading-positions/close-all',
28
+ closeOrderAsync: '/positions/trading-positions/',
29
+ closeListAsync: '/positions/trading-positions/close-list/',
30
+ closeAccountPositionsAsync: '/accounts/trading-accounts/',
27
31
  };
28
32
 
29
33
  class ExcentServPositionsService {
@@ -48,6 +52,7 @@ class ExcentServPositionsService {
48
52
  buy: false,
49
53
  stopLoss: 0,
50
54
  takeProfit: 0,
55
+ expirationDate: null,
51
56
  activationPrice: 0,
52
57
  cancellationDate: new Date(),
53
58
  creationDate: new Date(),
@@ -192,6 +197,11 @@ class ExcentServPositionsService {
192
197
  createOrder(value) {
193
198
  return this.httpClient.post(endpoint.createOrder, value);
194
199
  }
200
+ createOrderAsync(value) {
201
+ return this.httpClient.post(endpoint.createOrder, value).pipe(tap(() => {
202
+ this._refresh$.next();
203
+ }));
204
+ }
195
205
  closePositions(volume, uuid) {
196
206
  return this.httpClient
197
207
  .post(`/positions/trading-positions/${uuid}/close/`, volume)
@@ -212,6 +222,11 @@ class ExcentServPositionsService {
212
222
  cancellOrder(uuid) {
213
223
  return this.httpClient.post(endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2, {});
214
224
  }
225
+ cancelListOrders(uuids) {
226
+ return this.httpClient.post(endpoint.cancelList, uuids).pipe(tap(() => {
227
+ this.refresh$.next();
228
+ }));
229
+ }
215
230
  patchPosition(form, uuid) {
216
231
  return this.httpClient.patch(endpoint.patchPosition + uuid + '/', form);
217
232
  }
@@ -319,6 +334,27 @@ class ExcentServPositionsService {
319
334
  getPositionHistoryByUUID(uid) {
320
335
  return this.httpClient.get(`${endpoint.closePosition}${uid}/`);
321
336
  }
337
+ closePositionAsync(uuid, volume) {
338
+ return this.httpClient
339
+ .post(`${endpoint.closeOrderAsync}${uuid}/close-order/`, volume)
340
+ .pipe(tap(() => {
341
+ this._refresh$.next();
342
+ }));
343
+ }
344
+ closeMultipleAsync(uuids) {
345
+ return this.httpClient
346
+ .post(endpoint.closeListAsync, uuids)
347
+ .pipe(tap(() => {
348
+ this._refresh$.next();
349
+ }));
350
+ }
351
+ closeAllPositionsAsync(tradingAccountUuid) {
352
+ return this.httpClient
353
+ .get(`${endpoint.closeAccountPositionsAsync}${tradingAccountUuid}/close-account-positions/`)
354
+ .pipe(tap(() => {
355
+ this._refresh$.next();
356
+ }));
357
+ }
322
358
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExcentServPositionsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
323
359
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExcentServPositionsService, providedIn: 'root' }); }
324
360
  }
@@ -1 +1 @@
1
- {"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n closeOnHedge: '/positions/trading-positions/',\n closeMultiple: '/positions/trading-positions/close-all'\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IClosePosition,\n IOrder,\n IPayloadCreatePosition,\n IPosition,\n IPositionSummaryDealing,\n IResponseClose,\n IResponseOrder,\n ITradeSummary,\n ResponsePaginator,\n Symbol\n} from '@excent/excent-models';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { endpoint } from './excent-serv-positions.enpoints';\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 public pendingOrders$ = new BehaviorSubject<Array<IOrder>>([]);\n public closePositions$ = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$(): Subject<void> {\n return this._refresh$;\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpenCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position: any) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getCloseCSVTrading<T>(data?: Map<string, any>, headers?: HttpHeaders) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(\n endpoint.closePosition,\n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n );\n }\n\n public getClose<T>(\n tradingAccountUuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.append('tradingAccount', tradingAccountUuid);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid?: string,\n orderStatus?: number,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.set('tradingAccount', tradingAccountUuid);\n }\n\n if (orderStatus) {\n params = params.append('orderStatus', orderStatus);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public closeWithHedge(uuid: string): Observable<IPosition> {\n return this.httpClient\n .post<IPosition>( \n `${endpoint.closeOnHedge}${uuid}/close-on-hedge/`,\n null\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n )\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrders$.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePositions$.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}${id}/slaves/`, { params })\n }\n\n public closeMultiplePositions<F,R>(payload: F) {\n return this.httpClient.post<R>(endpoint.closeMultiple, payload)\n }\n\n public getListPositionsHistorySlaves<T>(id: string, data?: Map<string,any>, headers?: HttpHeaders) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n \n return this.httpClient.get<T>(`${endpoint.closePosition}${id}/slaves/`, \n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n )\n }\n\n public getPositionHistoryByUUID<T>(uid: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${uid}/`)\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 standalone: false\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 cancelList: '/positions/orders/cancel-list/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n closeOnHedge: '/positions/trading-positions/',\n closeMultiple: '/positions/trading-positions/close-all',\n closeOrderAsync: '/positions/trading-positions/',\n closeListAsync: '/positions/trading-positions/close-list/',\n closeAccountPositionsAsync: '/accounts/trading-accounts/',\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n ICloseOrderAsync,\n IClosePosition,\n IOrder,\n IPayloadCreatePosition,\n IPosition,\n IPositionSummaryDealing,\n IResponseClose,\n IResponseOrder,\n ITradeSummary,\n ResponsePaginator,\n Symbol\n} from '@excent/excent-models';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { endpoint } from './excent-serv-positions.enpoints';\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 public pendingOrders$ = new BehaviorSubject<Array<IOrder>>([]);\n public closePositions$ = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n expirationDate: null,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$(): Subject<void> {\n return this._refresh$;\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpenCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position: any) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getCloseCSVTrading<T>(data?: Map<string, any>, headers?: HttpHeaders) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(\n endpoint.closePosition,\n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n );\n }\n\n public getClose<T>(\n tradingAccountUuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.append('tradingAccount', tradingAccountUuid);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid?: string,\n orderStatus?: number,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.set('tradingAccount', tradingAccountUuid);\n }\n\n if (orderStatus) {\n params = params.append('orderStatus', orderStatus);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public createOrderAsync<T>(value: T): Observable<ICloseOrderAsync> {\n return this.httpClient.post<ICloseOrderAsync>(endpoint.createOrder, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public closeWithHedge(uuid: string): Observable<IPosition> {\n return this.httpClient\n .post<IPosition>( \n `${endpoint.closeOnHedge}${uuid}/close-on-hedge/`,\n null\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n )\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public cancelListOrders<T>(uuids: string[]): Observable<T> {\n return this.httpClient.post<T>(endpoint.cancelList, uuids).pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrders$.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePositions$.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}${id}/slaves/`, { params })\n }\n\n public closeMultiplePositions<F,R>(payload: F) {\n return this.httpClient.post<R>(endpoint.closeMultiple, payload)\n }\n\n public getListPositionsHistorySlaves<T>(id: string, data?: Map<string,any>, headers?: HttpHeaders) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n \n return this.httpClient.get<T>(`${endpoint.closePosition}${id}/slaves/`, \n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n )\n }\n\n public getPositionHistoryByUUID<T>(uid: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${uid}/`)\n }\n\n public closePositionAsync(uuid: string, volume: { volume: number }): Observable<ICloseOrderAsync> {\n return this.httpClient\n .post<ICloseOrderAsync>(`${endpoint.closeOrderAsync}${uuid}/close-order/`, volume)\n .pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public closeMultipleAsync(uuids: string[]): Observable<ICloseOrderAsync[]> {\n return this.httpClient\n .post<ICloseOrderAsync[]>(endpoint.closeListAsync, uuids)\n .pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public closeAllPositionsAsync(tradingAccountUuid: string): Observable<ICloseOrderAsync[]> {\n return this.httpClient\n .get<ICloseOrderAsync[]>(`${endpoint.closeAccountPositionsAsync}${tradingAccountUuid}/close-account-positions/`)\n .pipe(\n tap(() => {\n this._refresh$.next();\n })\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 standalone: false\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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"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { HttpClient, HttpHeaders } from '@angular/common/http';
2
- import { IOrder, IClosePosition, IPosition, IPayloadCreatePosition, IResponseOrder, ITradeSummary, IPositionSummaryDealing, IResponseClose } from '@excent/excent-models';
2
+ import { IOrder, IClosePosition, IPosition, IPayloadCreatePosition, ICloseOrderAsync, IResponseOrder, ITradeSummary, IPositionSummaryDealing, IResponseClose } from '@excent/excent-models';
3
3
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
4
4
  import * as i0 from '@angular/core';
5
5
 
@@ -26,12 +26,14 @@ declare class ExcentServPositionsService {
26
26
  getOrders<T>(tradingAccountUuid?: string, orderStatus?: number, data?: Map<string, any>): Observable<T>;
27
27
  create(value: IPayloadCreatePosition): Observable<IPosition>;
28
28
  createOrder<T, U>(value: U): Observable<T>;
29
+ createOrderAsync<T>(value: T): Observable<ICloseOrderAsync>;
29
30
  closePositions(volume: {
30
31
  volume: number;
31
32
  }, uuid: string): Observable<IClosePosition>;
32
33
  closeWithHedge(uuid: string): Observable<IPosition>;
33
34
  setPosition(position: IPosition | null): void;
34
35
  cancellOrder(uuid: string): Observable<IResponseOrder>;
36
+ cancelListOrders<T>(uuids: string[]): Observable<T>;
35
37
  patchPosition(form: {
36
38
  stopLoss?: number;
37
39
  takeProfit?: number;
@@ -52,6 +54,11 @@ declare class ExcentServPositionsService {
52
54
  closeMultiplePositions<F, R>(payload: F): Observable<R>;
53
55
  getListPositionsHistorySlaves<T>(id: string, data?: Map<string, any>, headers?: HttpHeaders): Observable<T>;
54
56
  getPositionHistoryByUUID<T>(uid: string): Observable<T>;
57
+ closePositionAsync(uuid: string, volume: {
58
+ volume: number;
59
+ }): Observable<ICloseOrderAsync>;
60
+ closeMultipleAsync(uuids: string[]): Observable<ICloseOrderAsync[]>;
61
+ closeAllPositionsAsync(tradingAccountUuid: string): Observable<ICloseOrderAsync[]>;
55
62
  static ɵfac: i0.ɵɵFactoryDeclaration<ExcentServPositionsService, never>;
56
63
  static ɵprov: i0.ɵɵInjectableDeclaration<ExcentServPositionsService>;
57
64
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excent/excent-serv-positions",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20",
6
6
  "@angular/core": "^20",