@infosel-sdk/markets 1.2.3 → 1.2.4

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +46 -3
  2. package/package.json +1 -1
  3. package/src/data/datasources/markets_datasource_impl.d.ts +6 -0
  4. package/src/data/datasources/markets_datasource_impl.js +335 -11
  5. package/src/data/datasources/markets_datasource_impl.js.map +1 -1
  6. package/src/data/di/infosel_markets_component.d.ts +9 -0
  7. package/src/data/di/infosel_markets_component.js +33 -0
  8. package/src/data/di/infosel_markets_component.js.map +1 -1
  9. package/src/data/mappers/markets_mapper.js +89 -16
  10. package/src/data/mappers/markets_mapper.js.map +1 -1
  11. package/src/data/models/get_user_workspaces_response_model.d.ts +2 -0
  12. package/src/data/models/instrument_fields_model.d.ts +10 -0
  13. package/src/data/models/user_widgets_response_model.d.ts +7 -0
  14. package/src/data/models/user_widgets_response_model.js +3 -0
  15. package/src/data/models/user_widgets_response_model.js.map +1 -0
  16. package/src/data/models/widget_brokerage_concentration_configuration.d.ts +4 -0
  17. package/src/data/models/widget_brokerage_concentration_configuration.js +3 -0
  18. package/src/data/models/widget_brokerage_concentration_configuration.js.map +1 -0
  19. package/src/data/models/widget_brokerage_participation_configuration.d.ts +10 -0
  20. package/src/data/models/widget_brokerage_participation_configuration.js +3 -0
  21. package/src/data/models/widget_brokerage_participation_configuration.js.map +1 -0
  22. package/src/data/models/widget_brokerage_trades_configuration.d.ts +11 -0
  23. package/src/data/models/widget_brokerage_trades_configuration.js +3 -0
  24. package/src/data/models/widget_brokerage_trades_configuration.js.map +1 -0
  25. package/src/data/models/widget_decreed_search_configuration.d.ts +10 -0
  26. package/src/data/models/widget_decreed_search_configuration.js +3 -0
  27. package/src/data/models/widget_decreed_search_configuration.js.map +1 -0
  28. package/src/data/models/widget_dynamic_table_configuration.d.ts +2 -0
  29. package/src/data/models/widget_indices_components_configuration.d.ts +7 -0
  30. package/src/data/models/widget_indices_components_configuration.js +3 -0
  31. package/src/data/models/widget_indices_components_configuration.js.map +1 -0
  32. package/src/data/models/widget_market_total_configuration.d.ts +4 -0
  33. package/src/data/models/widget_market_total_configuration.js +3 -0
  34. package/src/data/models/widget_market_total_configuration.js.map +1 -0
  35. package/src/data/models/widget_model.d.ts +14 -0
  36. package/src/data/models/widget_size_model.d.ts +5 -0
  37. package/src/data/models/widget_traded_packages_configuration.d.ts +4 -0
  38. package/src/data/models/widget_traded_packages_configuration.js +3 -0
  39. package/src/data/models/widget_traded_packages_configuration.js.map +1 -0
  40. package/src/data/repositories/markets_repository_impl.d.ts +6 -0
  41. package/src/data/repositories/markets_repository_impl.js +9 -0
  42. package/src/data/repositories/markets_repository_impl.js.map +1 -1
  43. package/src/domain/datasources/markets_datasource.d.ts +6 -0
  44. package/src/domain/di/markets_component.d.ts +6 -0
  45. package/src/domain/entities/create_widget_request.d.ts +13 -7
  46. package/src/domain/entities/duplicate_workspace_request.d.ts +5 -0
  47. package/src/domain/entities/duplicate_workspace_request.js +3 -0
  48. package/src/domain/entities/duplicate_workspace_request.js.map +1 -0
  49. package/src/domain/entities/get_user_widgets_request.d.ts +3 -0
  50. package/src/domain/entities/get_user_widgets_request.js +3 -0
  51. package/src/domain/entities/get_user_widgets_request.js.map +1 -0
  52. package/src/domain/entities/index.d.ts +3 -1
  53. package/src/domain/entities/index.js +3 -1
  54. package/src/domain/entities/index.js.map +1 -1
  55. package/src/domain/entities/instrument_fields.d.ts +10 -0
  56. package/src/domain/entities/update_workspace_request.d.ts +14 -0
  57. package/src/domain/entities/user_widgets.d.ts +5 -0
  58. package/src/domain/entities/user_widgets.js +3 -0
  59. package/src/domain/entities/user_widgets.js.map +1 -0
  60. package/src/domain/entities/widget.d.ts +64 -1
  61. package/src/domain/entities/widget_layout_config.d.ts +15 -0
  62. package/src/domain/entities/widget_layout_config.js +3 -0
  63. package/src/domain/entities/widget_layout_config.js.map +1 -0
  64. package/src/domain/entities/widget_size_config.d.ts +5 -12
  65. package/src/domain/entities/workspace.d.ts +8 -0
  66. package/src/domain/repositories/markets_repository.d.ts +6 -0
  67. package/src/domain/use_cases/create_widget_use_case.js +12 -2
  68. package/src/domain/use_cases/create_widget_use_case.js.map +1 -1
  69. package/src/domain/use_cases/duplicate_workspace_use_case.d.ts +8 -0
  70. package/src/domain/use_cases/duplicate_workspace_use_case.js +15 -0
  71. package/src/domain/use_cases/duplicate_workspace_use_case.js.map +1 -0
  72. package/src/domain/use_cases/get_user_widgets_use_case.d.ts +9 -0
  73. package/src/domain/use_cases/get_user_widgets_use_case.js +22 -0
  74. package/src/domain/use_cases/get_user_widgets_use_case.js.map +1 -0
  75. package/src/domain/use_cases/get_workspaces_by_project_id_use_case.d.ts +9 -0
  76. package/src/domain/use_cases/get_workspaces_by_project_id_use_case.js +19 -0
  77. package/src/domain/use_cases/get_workspaces_by_project_id_use_case.js.map +1 -0
package/CHANGELOG.md CHANGED
@@ -5,7 +5,50 @@ Todos los cambios notables en este proyecto serán documentados en este archivo.
5
5
  El formato está basado en [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  y este proyecto adhiere al [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.2.3] - latest - 2024-01-07
8
+ ## [1.2.4] - 2025-10-08
9
+
10
+ ### Added
11
+
12
+ - 📐 **Nueva entidad WidgetLayoutConfig**: Configuración específica para layout y comportamiento de widgets
13
+ - `x: number` - Posición horizontal del widget en el grid
14
+ - `y: number` - Posición vertical del widget en el grid
15
+ - `draggable: boolean` - Indica si el widget puede ser arrastrado
16
+ - `resizable: boolean` - Indica si el widget puede ser redimensionado
17
+ - 🎨 **Nueva propiedad layout en CreateWidgetRequest**: Permite especificar configuración de posicionamiento y comportamiento
18
+ - Propiedad `layout?: WidgetLayoutConfig` disponible en todos los tipos de widgets
19
+ - Soporta configuración independiente de tamaño y posicionamiento
20
+ - 🆔 **Soporte completo de ID en WidgetSize**: Retorno del identificador único del tamaño del widget
21
+ - Campo `id: string` agregado a la interfaz `WidgetSize`
22
+ - Permite rastrear y actualizar configuraciones de tamaño de widgets existentes
23
+
24
+ ### Changed
25
+
26
+ - 🔄 **Refactorización de configuración de widgets**: Separación de conceptos de tamaño y layout
27
+ - Renombrado: `size` → `sizes` en `CreateWidgetRequest` para mejor claridad semántica
28
+ - `WidgetSizeConfig` ahora incluye propiedades de posicionamiento `x` y `y`
29
+ - `WidgetLayoutConfig` maneja específicamente comportamiento interactivo (draggable, resizable)
30
+ - 🏗️ **Actualización en MarketsDatasourceImpl**: Soporte para nuevas propiedades
31
+ - Implementación de procesamiento de `sizes` en lugar de `size` en creación de widgets
32
+ - Agregado manejo de `layout` en creación de widgets (línea 282-285)
33
+ - Queries GraphQL actualizadas para incluir información de `layout` en todos los endpoints
34
+ - 📦 **Actualización de MarketsMapper**: Mapeo completo de propiedades de layout y size
35
+ - Mapeo de `layout` con valores por defecto para x, y, draggable, resizable
36
+ - Mapeo de `size` incluyendo el campo `id` para identificación única
37
+ - Validación y valores por defecto para todos los campos de configuración
38
+ - 🔧 **Actualización de WidgetDynamicTableConfiguration**: Sincronización de modelos de datos
39
+ - Interfaz `WidgetDynamicTableConfiguration` alineada con modelo de datos
40
+ - Soporte completo para todas las propiedades de configuración de tablas dinámicas
41
+ - 📦 **Exportaciones actualizadas**: Nuevas entidades disponibles en el SDK
42
+ - Exportación de `WidgetLayoutConfig` desde archivos de entidades
43
+ - Exportación de `WidgetSizeConfigCreate` para creación de widgets
44
+
45
+ ### Technical Details
46
+
47
+ - **Queries GraphQL actualizados**: Todos los queries de widgets ahora incluyen el bloque `layout` con x, y, draggable, resizable
48
+ - **Compatibilidad de tipos**: Separación clara entre `WidgetLayout` (lectura) y `WidgetLayoutConfig` (escritura)
49
+ - **Valores por defecto**: Implementados en el mapper para garantizar objetos completos incluso con datos parciales
50
+
51
+ ## [1.2.3] - 07-10-2025
9
52
 
10
53
  ### Added
11
54
 
@@ -49,7 +92,7 @@ y este proyecto adhiere al [Semantic Versioning](https://semver.org/spec/v2.0.0.
49
92
  - 🔧 **Configuración E2E**: Soporte nativo para refreshToken opcional en tests
50
93
  - 📋 **Validación**: Utilidades `expectToken` para validar diferentes tipos de tokens
51
94
 
52
- ## [1.2.1] - 2024-01-05
95
+ ## [1.2.1]
53
96
 
54
97
  ### Fixed
55
98
 
@@ -80,7 +123,7 @@ y este proyecto adhiere al [Semantic Versioning](https://semver.org/spec/v2.0.0.
80
123
 
81
124
  - Correcciones pendientes de lanzamiento
82
125
 
83
- ## [1.1.0] - 2024-01-15
126
+ ## [1.1.0]
84
127
 
85
128
  ### Added
86
129
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infosel-sdk/markets",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "Financial markets SDK for Infosel platform. Provides comprehensive tools for accessing market data, managing instruments, creating widgets, and handling workspaces for financial applications.",
5
5
  "keywords": [
6
6
  "infosel",
@@ -6,8 +6,10 @@ import CreateWidgetRequest from '../../domain/entities/create_widget_request';
6
6
  import CreateWorkspaceRequest from '../../domain/entities/create_workspace_request';
7
7
  import DeleteWorkspaceRequest from '../../domain/entities/delete_workspace_request';
8
8
  import DuplicateWidgetRequest from '../../domain/entities/duplicate_widget_request';
9
+ import DuplicateWorkspaceRequest from '../../domain/entities/duplicate_workspace_request';
9
10
  import { GetInstrumentsRequest } from '../../domain/entities/get_instruments_request';
10
11
  import { GetProjectWidgetsRequest } from '../../domain/entities/get_project_widgets_request';
12
+ import GetUserWidgetsRequest from '../../domain/entities/get_user_widgets_request';
11
13
  import GetUserWorkspaceRequest from '../../domain/entities/get_user_workspaces_request';
12
14
  import GetWorkspaceRequest from '../../domain/entities/get_workspace_request';
13
15
  import { GetWorkspacesByUserRequest } from '../../domain/entities/get_workspaces_by_user_request';
@@ -21,6 +23,7 @@ import SearchInstrumentRequest from '../../domain/entities/search_instruments_re
21
23
  import UpdateWidgetChartRequest from '../../domain/entities/update_widget_chart_request';
22
24
  import UpdateWidgetInstrumentsRequest from '../../domain/entities/update_widget_instruments_reques';
23
25
  import UpdateWorkspaceRequest from '../../domain/entities/update_workspace_request';
26
+ import UserWidgets from '../../domain/entities/user_widgets';
24
27
  import UserWorkspaces from '../../domain/entities/user_workspaces';
25
28
  import { Widget } from '../../domain/entities/widget';
26
29
  import { Workspace } from '../../domain/entities/workspace';
@@ -33,9 +36,11 @@ export default class MarketsDatasourceImpl implements MarketsDatasource {
33
36
  private readonly mapper;
34
37
  constructor(graphQlClient: GraphQlClient, marketsHttpClient: HttpClient, mapper: MarketsMapper);
35
38
  getUserWorkspaces(request: GetUserWorkspaceRequest): Promise<UserWorkspaces>;
39
+ getUserWidgets(request: GetUserWidgetsRequest): Promise<UserWidgets>;
36
40
  createWorkspace(request: CreateWorkspaceRequest): Promise<Workspace>;
37
41
  updateWorkspace(request: UpdateWorkspaceRequest): Promise<Workspace>;
38
42
  deleteWorkspace(request: DeleteWorkspaceRequest): Promise<string>;
43
+ duplicateWorkspace(request: DuplicateWorkspaceRequest): Promise<Workspace>;
39
44
  createWidget(request: CreateWidgetRequest): Promise<Widget>;
40
45
  duplicateWidget(request: DuplicateWidgetRequest): Promise<Widget>;
41
46
  updateWidgetInstruments(request: UpdateWidgetInstrumentsRequest): Promise<Instrument[]>;
@@ -61,4 +66,5 @@ export default class MarketsDatasourceImpl implements MarketsDatasource {
61
66
  getInstrumentDetailFinancialQuartely(request: InstrumentDetailFinancialQuarterlyRequest): Promise<InstrumentDetailFinancial[]>;
62
67
  getInstrumentDetailProfile(request: InstrumentDetailProfileRequest): Promise<InstrumentDetailProfile>;
63
68
  getInstrumentReportFinancialReasons(request: InstrumentReportFinancialReasonsRequest): Promise<InstrumentReportFinancialReasons>;
69
+ getWorkspacesByProjectId(request: GetWorkspacesRequest): Promise<WorkspacesContainer>;
64
70
  }
@@ -25,6 +25,8 @@ class MarketsDatasourceImpl {
25
25
  id
26
26
  name
27
27
  order
28
+ createdAt
29
+ updatedAt
28
30
  widgets {
29
31
  id
30
32
  name
@@ -46,6 +48,8 @@ class MarketsDatasourceImpl {
46
48
  id: workspace.id || '-',
47
49
  name: workspace.name || '-',
48
50
  order: workspace.order || 0,
51
+ createdAt: workspace.createdAt || '-',
52
+ updatedAt: workspace.updatedAt || '-',
49
53
  }));
50
54
  const widgets = this.mapper.mapWidgets(model.widgets || []);
51
55
  return {
@@ -56,6 +60,50 @@ class MarketsDatasourceImpl {
56
60
  };
57
61
  });
58
62
  }
63
+ getUserWidgets(request) {
64
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
+ const query = `
66
+ query user ($id: String!) {
67
+ user (id: $id) {
68
+ id
69
+ widgets {
70
+ id
71
+ name
72
+ type
73
+ tableColumns {
74
+ id
75
+ field
76
+ description
77
+ visible
78
+ active
79
+ format
80
+ }
81
+ instruments {
82
+ symbol
83
+ uniqueKey
84
+ }
85
+ chartConfiguration {
86
+ id
87
+ globalConfiguration
88
+ }
89
+ }
90
+ }
91
+ }
92
+ `;
93
+ const response = yield this.graphQlClient.query(query, {
94
+ id: request.id,
95
+ });
96
+ const model = response.user;
97
+ if (!model) {
98
+ throw new core_1.SdkError(core_1.SdkErrorType.USER_NOT_EXIST);
99
+ }
100
+ const widgets = this.mapper.mapWidgets(model.widgets || []);
101
+ return {
102
+ id: model.id || '-',
103
+ widgets,
104
+ };
105
+ });
106
+ }
59
107
  createWorkspace(request) {
60
108
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
109
  const query = `
@@ -75,6 +123,7 @@ class MarketsDatasourceImpl {
75
123
  });
76
124
  }
77
125
  updateWorkspace(request) {
126
+ var _a;
78
127
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
79
128
  const mutation = `
80
129
  mutation updateWorkspace ($updateWorkspaceInput: UpdateWorkspaceInput!, $whereInput: WhereWorkspaceInput!) {
@@ -82,6 +131,14 @@ class MarketsDatasourceImpl {
82
131
  id
83
132
  name
84
133
  order
134
+ widgets {
135
+ id
136
+ sizes {
137
+ id
138
+ x
139
+ y
140
+ }
141
+ }
85
142
  }
86
143
  }
87
144
  `;
@@ -89,6 +146,7 @@ class MarketsDatasourceImpl {
89
146
  updateWorkspaceInput: {
90
147
  name: request.name,
91
148
  order: request.order,
149
+ sizes: request.sizes,
92
150
  },
93
151
  whereInput: {
94
152
  id: request.id,
@@ -102,6 +160,15 @@ class MarketsDatasourceImpl {
102
160
  id: model.id || '-',
103
161
  name: model.name || '-',
104
162
  order: model.order,
163
+ widgets: (_a = model.widgets) === null || _a === void 0 ? void 0 : _a.map(widget => {
164
+ var _a;
165
+ return ({
166
+ id: widget.id || '-',
167
+ size: {
168
+ id: ((_a = widget.size) === null || _a === void 0 ? void 0 : _a.id) || '-',
169
+ },
170
+ });
171
+ }),
105
172
  };
106
173
  });
107
174
  }
@@ -120,6 +187,29 @@ class MarketsDatasourceImpl {
120
187
  return request.id;
121
188
  });
122
189
  }
190
+ duplicateWorkspace(request) {
191
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
192
+ const mutation = `
193
+ mutation DUPLICATE_WORKSPACE($duplicateWorkspaceInput: DuplicateWorkspaceInput!) {
194
+ duplicateWorkspace(duplicateWorkspaceInput: $duplicateWorkspaceInput) {
195
+ id
196
+ name
197
+ }
198
+ }
199
+ `;
200
+ const response = yield this.graphQlClient.mutate(mutation, {
201
+ duplicateWorkspaceInput: {
202
+ workspaceId: request.workspaceId,
203
+ userId: request.userId,
204
+ },
205
+ });
206
+ const model = response.duplicateWorkspace;
207
+ if (!model) {
208
+ throw new core_1.SdkError(core_1.SdkErrorType.UNABLE_TO_DUPLICATE_WORKSPACE);
209
+ }
210
+ return { id: (model === null || model === void 0 ? void 0 : model.id) || '-', name: (model === null || model === void 0 ? void 0 : model.name) || '-' };
211
+ });
212
+ }
123
213
  createWidget(request) {
124
214
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
125
215
  const mutation = `
@@ -137,10 +227,16 @@ class MarketsDatasourceImpl {
137
227
  `;
138
228
  // Build the input object dynamically based on optional fields
139
229
  const input = {
140
- workspaceId: request.workspaceId,
141
230
  type: request.type,
142
231
  name: request.name,
143
232
  };
233
+ // Add userId OR workspaceId based on what's provided
234
+ if (request.userId) {
235
+ input['userId'] = request.userId;
236
+ }
237
+ else if (request.workspaceId) {
238
+ input['workspaceId'] = request.workspaceId;
239
+ }
144
240
  // Add instruments only if provided
145
241
  if (request.instruments && request.instruments.length > 0) {
146
242
  input['instruments'] = {
@@ -165,13 +261,13 @@ class MarketsDatasourceImpl {
165
261
  },
166
262
  };
167
263
  }
168
- // Add size if provided
169
- if (request.size) {
170
- input['size'] = {
171
- create: {
172
- node: request.size,
173
- },
174
- };
264
+ // Add sizes if provided
265
+ if (request.sizes) {
266
+ input['sizes'] = request.sizes;
267
+ }
268
+ // Add layout if provided
269
+ if (request.layout) {
270
+ input['layout'] = request.layout;
175
271
  }
176
272
  // Add chartConfiguration if provided
177
273
  if (request.type === 'CHART' && request.chartConfiguration) {
@@ -196,8 +292,109 @@ class MarketsDatasourceImpl {
196
292
  const mutation = `
197
293
  mutation($duplicateWidgetInput: DuplicateWidgetInput!) {
198
294
  duplicateWidget(duplicateWidgetInput: $duplicateWidgetInput) {
199
- id
200
- name
295
+ id
296
+ name
297
+ type
298
+ layout {
299
+ x
300
+ y
301
+ draggable
302
+ resizable
303
+ }
304
+ tableColumns {
305
+ id
306
+ field
307
+ description
308
+ visible
309
+ active
310
+ format
311
+ }
312
+ size {
313
+ id
314
+ width
315
+ height
316
+ minWidth
317
+ minHeight
318
+ maxWidth
319
+ maxHeight
320
+ x
321
+ y
322
+ draggable
323
+ resizable
324
+ }
325
+ tickerConfiguration {
326
+ id
327
+ position
328
+ size
329
+ visible
330
+ speed
331
+ }
332
+ dynamicTableConfiguration {
333
+ id
334
+ period
335
+ instrumentLimit
336
+ field
337
+ condition
338
+ marketTypeId
339
+ valueTypeIds
340
+ exchangeId
341
+ hasActivity
342
+ scope
343
+ isFiltered
344
+ isYields
345
+ operatingCompany
346
+ }
347
+ instruments {
348
+ symbol
349
+ uniqueKey
350
+ }
351
+ chartConfiguration {
352
+ id
353
+ globalConfiguration
354
+ }
355
+ marketTotalConfiguration {
356
+ id
357
+ scope
358
+ }
359
+ tradedPackagesConfiguration {
360
+ id
361
+ scope
362
+ }
363
+ brokerageTradesConfiguration {
364
+ id
365
+ scope
366
+ }
367
+ brokerageConcentrationConfiguration {
368
+ id
369
+ scope
370
+ }
371
+ brokerageParticipationConfiguration {
372
+ id
373
+ broker
374
+ instrumentType
375
+ crosses
376
+ purchases
377
+ sales
378
+ totals
379
+ symbol
380
+ }
381
+ decreedRightsSearcherConfiguration {
382
+ id
383
+ scope
384
+ endDate
385
+ issuer
386
+ limit
387
+ offset
388
+ startDate
389
+ type
390
+ }
391
+ indicesComponentsConfiguration {
392
+ id
393
+ scope
394
+ component
395
+ sector
396
+ type
397
+ }
201
398
  }
202
399
  }
203
400
  `;
@@ -361,6 +558,10 @@ class MarketsDatasourceImpl {
361
558
  minHeight
362
559
  maxWidth
363
560
  maxHeight
561
+ x
562
+ y
563
+ draggable
564
+ resizable
364
565
  }
365
566
  tickerConfiguration {
366
567
  id
@@ -369,7 +570,40 @@ class MarketsDatasourceImpl {
369
570
  visible
370
571
  speed
371
572
  }
573
+ tradedPackagesConfiguration {
574
+ id
575
+ scope
576
+ }
577
+ brokerageTradesConfiguration {
578
+ id
579
+ scope
580
+ }
581
+ brokerageConcentrationConfiguration {
582
+ id
583
+ scope
584
+ }
585
+ brokerageParticipationConfiguration {
586
+ id
587
+ broker
588
+ instrumentType
589
+ crosses
590
+ purchases
591
+ sales
592
+ totals
593
+ symbol
594
+ }
595
+ decreedRightsSearcherConfiguration {
596
+ id
597
+ scope
598
+ endDate
599
+ issuer
600
+ limit
601
+ offset
602
+ startDate
603
+ type
604
+ }
372
605
  dynamicTableConfiguration {
606
+ id
373
607
  period
374
608
  instrumentLimit
375
609
  field
@@ -380,6 +614,15 @@ class MarketsDatasourceImpl {
380
614
  scope
381
615
  hasActivity
382
616
  isFiltered
617
+ operatingCompany
618
+ isYields
619
+ }
620
+ indicesComponentsConfiguration {
621
+ id
622
+ scope
623
+ component
624
+ sector
625
+ type
383
626
  }
384
627
  instruments (
385
628
  options: ${((_b = (_a = request.params) === null || _a === void 0 ? void 0 : _a.instruments) === null || _b === void 0 ? void 0 : _b.options)
@@ -443,6 +686,10 @@ class MarketsDatasourceImpl {
443
686
  minHeight
444
687
  maxWidth
445
688
  maxHeight
689
+ x
690
+ y
691
+ draggable
692
+ resizable
446
693
  }
447
694
  tickerConfiguration {
448
695
  id
@@ -452,6 +699,7 @@ class MarketsDatasourceImpl {
452
699
  speed
453
700
  }
454
701
  dynamicTableConfiguration {
702
+ id
455
703
  period
456
704
  instrumentLimit
457
705
  field
@@ -462,6 +710,18 @@ class MarketsDatasourceImpl {
462
710
  hasActivity
463
711
  scope
464
712
  isFiltered
713
+ operatingCompany
714
+ isYields
715
+ }
716
+ decreedRightsSearcherConfiguration {
717
+ id
718
+ scope
719
+ endDate
720
+ issuer
721
+ limit
722
+ offset
723
+ startDate
724
+ type
465
725
  }
466
726
  instruments {
467
727
  symbol
@@ -471,8 +731,41 @@ class MarketsDatasourceImpl {
471
731
  id
472
732
  globalConfiguration
473
733
  }
474
- }
734
+ marketTotalConfiguration {
735
+ id
736
+ scope
737
+ }
738
+ tradedPackagesConfiguration {
739
+ id
740
+ scope
741
+ }
742
+ brokerageTradesConfiguration {
743
+ id
744
+ scope
745
+ }
746
+ brokerageConcentrationConfiguration {
747
+ id
748
+ scope
749
+ }
750
+ brokerageParticipationConfiguration {
751
+ id
752
+ broker
753
+ instrumentType
754
+ crosses
755
+ purchases
756
+ sales
757
+ totals
758
+ symbol
759
+ }
760
+ indicesComponentsConfiguration {
761
+ id
762
+ scope
763
+ component
764
+ sector
765
+ type
766
+ }
475
767
  }
768
+ }
476
769
  }
477
770
  `;
478
771
  const response = yield this.graphQlClient.query(query, {
@@ -886,6 +1179,37 @@ class MarketsDatasourceImpl {
886
1179
  };
887
1180
  });
888
1181
  }
1182
+ getWorkspacesByProjectId(request) {
1183
+ var _a;
1184
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1185
+ const query = `
1186
+ query($id: String!) {
1187
+ project(id: $id) {
1188
+ id
1189
+ name
1190
+ client
1191
+ workspaces {
1192
+ id
1193
+ name
1194
+ createdAt
1195
+ updatedAt
1196
+ widgets {
1197
+ id
1198
+ name
1199
+ type
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+ `;
1205
+ const response = yield this.graphQlClient.query(query, {
1206
+ id: request.projectId,
1207
+ });
1208
+ const models = ((_a = response === null || response === void 0 ? void 0 : response.project) === null || _a === void 0 ? void 0 : _a.workspaces) || [];
1209
+ const { workspaces, widgets, instruments } = this.getMapperWorkspaces(models);
1210
+ return { workspaces, widgets, instruments };
1211
+ });
1212
+ }
889
1213
  }
890
1214
  exports.default = MarketsDatasourceImpl;
891
1215
  //# sourceMappingURL=markets_datasource_impl.js.map