@infosel-sdk/markets 1.2.3 → 2.0.0

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 (212) hide show
  1. package/CHANGELOG.md +281 -3
  2. package/README.md +111 -423
  3. package/package.json +1 -1
  4. package/src/__tests__/__mocks__/apis/markets-api.mock.d.ts +0 -73
  5. package/src/__tests__/__mocks__/apis/markets-api.mock.js +3 -45
  6. package/src/__tests__/__mocks__/apis/markets-api.mock.js.map +1 -1
  7. package/src/__tests__/utils/mock-datasource.js +0 -16
  8. package/src/__tests__/utils/mock-datasource.js.map +1 -1
  9. package/src/__tests__/utils/mock-factories.d.ts +0 -104
  10. package/src/__tests__/utils/mock-factories.js +6 -24
  11. package/src/__tests__/utils/mock-factories.js.map +1 -1
  12. package/src/__tests__/utils/mock-repository.d.ts +0 -12
  13. package/src/__tests__/utils/mock-repository.js +2 -46
  14. package/src/__tests__/utils/mock-repository.js.map +1 -1
  15. package/src/__tests__/utils/test-helpers.d.ts +0 -2
  16. package/src/__tests__/utils/test-helpers.js +0 -6
  17. package/src/__tests__/utils/test-helpers.js.map +1 -1
  18. package/src/data/datasources/markets_datasource_impl.d.ts +6 -49
  19. package/src/data/datasources/markets_datasource_impl.js +11 -661
  20. package/src/data/datasources/markets_datasource_impl.js.map +1 -1
  21. package/src/data/di/infosel_markets_component.d.ts +4 -51
  22. package/src/data/di/infosel_markets_component.js +11 -115
  23. package/src/data/di/infosel_markets_component.js.map +1 -1
  24. package/src/data/di/infosel_markets_module.d.ts +1 -4
  25. package/src/data/di/infosel_markets_module.js +1 -7
  26. package/src/data/di/infosel_markets_module.js.map +1 -1
  27. package/src/data/mappers/markets_mapper.d.ts +1 -41
  28. package/src/data/mappers/markets_mapper.js +17 -114
  29. package/src/data/mappers/markets_mapper.js.map +1 -1
  30. package/src/data/models/instrument_fields_model.d.ts +17 -0
  31. package/src/data/repositories/markets_repository_impl.d.ts +4 -42
  32. package/src/data/repositories/markets_repository_impl.js +0 -48
  33. package/src/data/repositories/markets_repository_impl.js.map +1 -1
  34. package/src/domain/datasources/markets_datasource.d.ts +4 -41
  35. package/src/domain/di/markets_component.d.ts +18 -35
  36. package/src/domain/di/markets_module.d.ts +1 -2
  37. package/src/domain/entities/get_last_request.d.ts +4 -0
  38. package/src/{data/models/user_model.js → domain/entities/get_last_request.js} +1 -1
  39. package/src/domain/entities/get_last_request.js.map +1 -0
  40. package/src/domain/entities/index.d.ts +0 -18
  41. package/src/domain/entities/index.js +0 -18
  42. package/src/domain/entities/index.js.map +1 -1
  43. package/src/domain/entities/instrument_fields.d.ts +17 -0
  44. package/src/domain/repositories/markets_repository.d.ts +4 -37
  45. package/src/domain/use_cases/get_instrument_fields_use_case.d.ts +3 -2
  46. package/src/domain/use_cases/get_instrument_fields_use_case.js.map +1 -1
  47. package/src/domain/use_cases/get_instrument_multiple_fields_use_case.d.ts +2 -1
  48. package/src/domain/use_cases/get_instrument_multiple_fields_use_case.js.map +1 -1
  49. package/src/index.d.ts +1 -4
  50. package/src/index.js +0 -2
  51. package/src/index.js.map +1 -1
  52. package/src/data/models/delete_workspace_response_model.d.ts +0 -5
  53. package/src/data/models/delete_workspace_response_model.js +0 -3
  54. package/src/data/models/delete_workspace_response_model.js.map +0 -1
  55. package/src/data/models/get_user_workspaces_response_model.d.ts +0 -13
  56. package/src/data/models/get_user_workspaces_response_model.js +0 -3
  57. package/src/data/models/get_user_workspaces_response_model.js.map +0 -1
  58. package/src/data/models/project_model.d.ts +0 -12
  59. package/src/data/models/project_model.js +0 -3
  60. package/src/data/models/project_model.js.map +0 -1
  61. package/src/data/models/project_widgets_response_model.d.ts +0 -8
  62. package/src/data/models/project_widgets_response_model.js +0 -3
  63. package/src/data/models/project_widgets_response_model.js.map +0 -1
  64. package/src/data/models/user_model.d.ts +0 -7
  65. package/src/data/models/user_model.js.map +0 -1
  66. package/src/data/models/widget_chart_configuration_model.d.ts +0 -4
  67. package/src/data/models/widget_chart_configuration_model.js +0 -3
  68. package/src/data/models/widget_chart_configuration_model.js.map +0 -1
  69. package/src/data/models/widget_dynamic_table_configuration.d.ts +0 -12
  70. package/src/data/models/widget_dynamic_table_configuration.js +0 -3
  71. package/src/data/models/widget_dynamic_table_configuration.js.map +0 -1
  72. package/src/data/models/widget_layout_model.d.ts +0 -6
  73. package/src/data/models/widget_layout_model.js +0 -3
  74. package/src/data/models/widget_layout_model.js.map +0 -1
  75. package/src/data/models/widget_model.d.ts +0 -19
  76. package/src/data/models/widget_model.js +0 -3
  77. package/src/data/models/widget_model.js.map +0 -1
  78. package/src/data/models/widget_size_model.d.ts +0 -9
  79. package/src/data/models/widget_size_model.js +0 -3
  80. package/src/data/models/widget_size_model.js.map +0 -1
  81. package/src/data/models/widget_table_column_format_model.d.ts +0 -6
  82. package/src/data/models/widget_table_column_format_model.js +0 -3
  83. package/src/data/models/widget_table_column_format_model.js.map +0 -1
  84. package/src/data/models/widget_table_column_model.d.ts +0 -8
  85. package/src/data/models/widget_table_column_model.js +0 -3
  86. package/src/data/models/widget_table_column_model.js.map +0 -1
  87. package/src/data/models/widget_ticker_configuration.d.ts +0 -7
  88. package/src/data/models/widget_ticker_configuration.js +0 -3
  89. package/src/data/models/widget_ticker_configuration.js.map +0 -1
  90. package/src/data/models/workspace_model.d.ts +0 -6
  91. package/src/data/models/workspace_model.js +0 -3
  92. package/src/data/models/workspace_model.js.map +0 -1
  93. package/src/domain/entities/chart_configuration.d.ts +0 -5
  94. package/src/domain/entities/chart_configuration.js +0 -3
  95. package/src/domain/entities/chart_configuration.js.map +0 -1
  96. package/src/domain/entities/create_instrument_request.d.ts +0 -5
  97. package/src/domain/entities/create_instrument_request.js +0 -3
  98. package/src/domain/entities/create_instrument_request.js.map +0 -1
  99. package/src/domain/entities/create_widget_request.d.ts +0 -30
  100. package/src/domain/entities/create_widget_request.js +0 -3
  101. package/src/domain/entities/create_widget_request.js.map +0 -1
  102. package/src/domain/entities/create_workspace_request.d.ts +0 -5
  103. package/src/domain/entities/create_workspace_request.js +0 -3
  104. package/src/domain/entities/create_workspace_request.js.map +0 -1
  105. package/src/domain/entities/delete_workspace_request.d.ts +0 -3
  106. package/src/domain/entities/delete_workspace_request.js +0 -3
  107. package/src/domain/entities/delete_workspace_request.js.map +0 -1
  108. package/src/domain/entities/duplicate_widget_request.d.ts +0 -5
  109. package/src/domain/entities/duplicate_widget_request.js +0 -3
  110. package/src/domain/entities/duplicate_widget_request.js.map +0 -1
  111. package/src/domain/entities/get_instruments_request.d.ts +0 -12
  112. package/src/domain/entities/get_instruments_request.js +0 -3
  113. package/src/domain/entities/get_instruments_request.js.map +0 -1
  114. package/src/domain/entities/get_project_widgets_request.d.ts +0 -12
  115. package/src/domain/entities/get_project_widgets_request.js +0 -3
  116. package/src/domain/entities/get_project_widgets_request.js.map +0 -1
  117. package/src/domain/entities/get_user_workspaces_request.d.ts +0 -4
  118. package/src/domain/entities/get_user_workspaces_request.js +0 -3
  119. package/src/domain/entities/get_user_workspaces_request.js.map +0 -1
  120. package/src/domain/entities/get_workspace_request.d.ts +0 -3
  121. package/src/domain/entities/get_workspace_request.js +0 -3
  122. package/src/domain/entities/get_workspace_request.js.map +0 -1
  123. package/src/domain/entities/get_workspaces_by_user_request.d.ts +0 -12
  124. package/src/domain/entities/get_workspaces_by_user_request.js +0 -3
  125. package/src/domain/entities/get_workspaces_by_user_request.js.map +0 -1
  126. package/src/domain/entities/get_workspaces_request.d.ts +0 -12
  127. package/src/domain/entities/get_workspaces_request.js +0 -3
  128. package/src/domain/entities/get_workspaces_request.js.map +0 -1
  129. package/src/domain/entities/instruments_response.d.ts +0 -6
  130. package/src/domain/entities/instruments_response.js +0 -3
  131. package/src/domain/entities/instruments_response.js.map +0 -1
  132. package/src/domain/entities/news_configuration.d.ts +0 -8
  133. package/src/domain/entities/news_configuration.js +0 -3
  134. package/src/domain/entities/news_configuration.js.map +0 -1
  135. package/src/domain/entities/project_widgets_container.d.ts +0 -12
  136. package/src/domain/entities/project_widgets_container.js +0 -3
  137. package/src/domain/entities/project_widgets_container.js.map +0 -1
  138. package/src/domain/entities/update_widget_chart_request.d.ts +0 -4
  139. package/src/domain/entities/update_widget_chart_request.js +0 -3
  140. package/src/domain/entities/update_widget_chart_request.js.map +0 -1
  141. package/src/domain/entities/update_widget_instruments_reques.d.ts +0 -11
  142. package/src/domain/entities/update_widget_instruments_reques.js +0 -3
  143. package/src/domain/entities/update_widget_instruments_reques.js.map +0 -1
  144. package/src/domain/entities/update_workspace_request.d.ts +0 -5
  145. package/src/domain/entities/update_workspace_request.js +0 -3
  146. package/src/domain/entities/update_workspace_request.js.map +0 -1
  147. package/src/domain/entities/user_workspaces.d.ts +0 -8
  148. package/src/domain/entities/user_workspaces.js +0 -3
  149. package/src/domain/entities/user_workspaces.js.map +0 -1
  150. package/src/domain/entities/widget.d.ts +0 -66
  151. package/src/domain/entities/widget.js +0 -3
  152. package/src/domain/entities/widget.js.map +0 -1
  153. package/src/domain/entities/widget_size_config.d.ts +0 -13
  154. package/src/domain/entities/widget_size_config.js +0 -3
  155. package/src/domain/entities/widget_size_config.js.map +0 -1
  156. package/src/domain/entities/workspace.d.ts +0 -5
  157. package/src/domain/entities/workspace.js +0 -3
  158. package/src/domain/entities/workspace.js.map +0 -1
  159. package/src/domain/entities/workspace_widgets.d.ts +0 -6
  160. package/src/domain/entities/workspace_widgets.js +0 -3
  161. package/src/domain/entities/workspace_widgets.js.map +0 -1
  162. package/src/domain/entities/workspaces_container.d.ts +0 -18
  163. package/src/domain/entities/workspaces_container.js +0 -3
  164. package/src/domain/entities/workspaces_container.js.map +0 -1
  165. package/src/domain/use_cases/create_instrument_use_case.d.ts +0 -9
  166. package/src/domain/use_cases/create_instrument_use_case.js +0 -22
  167. package/src/domain/use_cases/create_instrument_use_case.js.map +0 -1
  168. package/src/domain/use_cases/create_widget_use_case.d.ts +0 -9
  169. package/src/domain/use_cases/create_widget_use_case.js +0 -22
  170. package/src/domain/use_cases/create_widget_use_case.js.map +0 -1
  171. package/src/domain/use_cases/create_workspace_use_case.d.ts +0 -9
  172. package/src/domain/use_cases/create_workspace_use_case.js +0 -22
  173. package/src/domain/use_cases/create_workspace_use_case.js.map +0 -1
  174. package/src/domain/use_cases/delete_instrument_use_case.d.ts +0 -7
  175. package/src/domain/use_cases/delete_instrument_use_case.js +0 -19
  176. package/src/domain/use_cases/delete_instrument_use_case.js.map +0 -1
  177. package/src/domain/use_cases/delete_widget_use_case.d.ts +0 -7
  178. package/src/domain/use_cases/delete_widget_use_case.js +0 -19
  179. package/src/domain/use_cases/delete_widget_use_case.js.map +0 -1
  180. package/src/domain/use_cases/delete_workspace_use_case.d.ts +0 -8
  181. package/src/domain/use_cases/delete_workspace_use_case.js +0 -22
  182. package/src/domain/use_cases/delete_workspace_use_case.js.map +0 -1
  183. package/src/domain/use_cases/duplicate_widget_use_case.d.ts +0 -8
  184. package/src/domain/use_cases/duplicate_widget_use_case.js +0 -15
  185. package/src/domain/use_cases/duplicate_widget_use_case.js.map +0 -1
  186. package/src/domain/use_cases/get_instruments_use_case.d.ts +0 -9
  187. package/src/domain/use_cases/get_instruments_use_case.js +0 -16
  188. package/src/domain/use_cases/get_instruments_use_case.js.map +0 -1
  189. package/src/domain/use_cases/get_project_widgets_use_case.d.ts +0 -9
  190. package/src/domain/use_cases/get_project_widgets_use_case.js +0 -19
  191. package/src/domain/use_cases/get_project_widgets_use_case.js.map +0 -1
  192. package/src/domain/use_cases/get_user_workspace_use_case.d.ts +0 -9
  193. package/src/domain/use_cases/get_user_workspace_use_case.js +0 -22
  194. package/src/domain/use_cases/get_user_workspace_use_case.js.map +0 -1
  195. package/src/domain/use_cases/get_workspace_use_case.d.ts +0 -9
  196. package/src/domain/use_cases/get_workspace_use_case.js +0 -19
  197. package/src/domain/use_cases/get_workspace_use_case.js.map +0 -1
  198. package/src/domain/use_cases/get_workspaces_by_user_use_case.d.ts +0 -9
  199. package/src/domain/use_cases/get_workspaces_by_user_use_case.js +0 -19
  200. package/src/domain/use_cases/get_workspaces_by_user_use_case.js.map +0 -1
  201. package/src/domain/use_cases/get_workspaces_use_case.d.ts +0 -9
  202. package/src/domain/use_cases/get_workspaces_use_case.js +0 -19
  203. package/src/domain/use_cases/get_workspaces_use_case.js.map +0 -1
  204. package/src/domain/use_cases/update_widget_chart_use_case.d.ts +0 -7
  205. package/src/domain/use_cases/update_widget_chart_use_case.js +0 -15
  206. package/src/domain/use_cases/update_widget_chart_use_case.js.map +0 -1
  207. package/src/domain/use_cases/update_widget_instruments_use_case.d.ts +0 -9
  208. package/src/domain/use_cases/update_widget_instruments_use_case.js +0 -22
  209. package/src/domain/use_cases/update_widget_instruments_use_case.js.map +0 -1
  210. package/src/domain/use_cases/update_workspace_use_case.d.ts +0 -8
  211. package/src/domain/use_cases/update_workspace_use_case.js +0 -15
  212. package/src/domain/use_cases/update_workspace_use_case.js.map +0 -1
@@ -3,672 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const core_1 = require("@infosel-sdk/core");
5
5
  class MarketsDatasourceImpl {
6
- constructor(graphQlClient, marketsHttpClient, mapper) {
7
- this.graphQlClient = graphQlClient;
6
+ constructor(marketsHttpClient, mapper) {
8
7
  this.marketsHttpClient = marketsHttpClient;
9
8
  this.mapper = mapper;
10
- this.getMapperWorkspaces = (models) => {
11
- const workspaces = this.mapper.mapWorkspaces(models);
12
- const widgets = this.mapper.mapWidgetsContainer(models);
13
- const instruments = this.mapper.mapInstrumentsContainer(models);
14
- return { workspaces, widgets, instruments };
15
- };
16
- }
17
- getUserWorkspaces(request) {
18
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
- const query = `
20
- query($connectionId: String!, $projectId: String!) {
21
- userByConnectionId(connectionId: $connectionId, projectId: $projectId) {
22
- id
23
- connectionId
24
- workspaces {
25
- id
26
- name
27
- order
28
- widgets {
29
- id
30
- name
31
- type
32
- }
33
- }
34
- }
35
- }
36
- `;
37
- const response = yield this.graphQlClient.query(query, {
38
- connectionId: request.connectionId,
39
- projectId: request.projectId,
40
- });
41
- const model = response.userByConnectionId;
42
- if (!model) {
43
- throw new core_1.SdkError(core_1.SdkErrorType.USER_NOT_EXIST);
44
- }
45
- const workspaces = (model.workspaces || []).map(workspace => ({
46
- id: workspace.id || '-',
47
- name: workspace.name || '-',
48
- order: workspace.order || 0,
49
- }));
50
- const widgets = this.mapper.mapWidgets(model.widgets || []);
51
- return {
52
- id: model.id || '-',
53
- connectionId: model.connectionId || '-',
54
- workspaces,
55
- widgets,
56
- };
57
- });
58
- }
59
- createWorkspace(request) {
60
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
- const query = `
62
- mutation($input: CreateWorkspaceInput!) {
63
- createWorkspace(createWorkspaceInput: $input) {
64
- id
65
- name
66
- }
67
- }
68
- `;
69
- const response = yield this.graphQlClient.mutate(query, { input: request });
70
- const model = response.createWorkspace;
71
- if (!model) {
72
- throw new core_1.SdkError(core_1.SdkErrorType.UNABLE_TO_CREATE_WORKSPACE);
73
- }
74
- return { id: (model === null || model === void 0 ? void 0 : model.id) || '-', name: (model === null || model === void 0 ? void 0 : model.name) || '-' };
75
- });
76
- }
77
- updateWorkspace(request) {
78
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
79
- const mutation = `
80
- mutation updateWorkspace ($updateWorkspaceInput: UpdateWorkspaceInput!, $whereInput: WhereWorkspaceInput!) {
81
- updateWorkspace (updateWorkspaceInput: $updateWorkspaceInput, whereInput: $whereInput) {
82
- id
83
- name
84
- order
85
- }
86
- }
87
- `;
88
- const response = yield this.graphQlClient.mutate(mutation, {
89
- updateWorkspaceInput: {
90
- name: request.name,
91
- order: request.order,
92
- },
93
- whereInput: {
94
- id: request.id,
95
- },
96
- });
97
- const model = response.updateWorkspace;
98
- if (!model) {
99
- throw new core_1.SdkError(core_1.SdkErrorType.UNABLE_TO_UPDATE_WORKSPACE);
100
- }
101
- return {
102
- id: model.id || '-',
103
- name: model.name || '-',
104
- order: model.order,
105
- };
106
- });
107
- }
108
- deleteWorkspace(request) {
109
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
110
- const mutation = `
111
- mutation deleteWorkspace ($whereInput: WhereWorkspaceInput!) {
112
- deleteWorkspace (whereInput: $whereInput) {
113
- nodesDeleted
114
- }
115
- }
116
- `;
117
- yield this.graphQlClient.mutate(mutation, {
118
- whereInput: { id: request.id },
119
- });
120
- return request.id;
121
- });
122
- }
123
- createWidget(request) {
124
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
125
- const mutation = `
126
- mutation($input: CreateWidgetInput!) {
127
- createWidget(createWidgetInput: $input) {
128
- id
129
- name
130
- type
131
- instruments {
132
- symbol
133
- uniqueKey
134
- }
135
- }
136
- }
137
- `;
138
- // Build the input object dynamically based on optional fields
139
- const input = {
140
- workspaceId: request.workspaceId,
141
- type: request.type,
142
- name: request.name,
143
- };
144
- // Add instruments only if provided
145
- if (request.instruments && request.instruments.length > 0) {
146
- input['instruments'] = {
147
- create: request.instruments.map(node => ({
148
- node,
149
- })),
150
- };
151
- }
152
- // Add newsConfiguration if provided
153
- if (request.type === 'NEWS_LIST' && request.newsConfiguration) {
154
- input['newsConfiguration'] = {
155
- create: {
156
- node: request.newsConfiguration,
157
- },
158
- };
159
- }
160
- // Add dynamicTableConfiguration if provided
161
- if (request.type === 'DYNAMIC_TABLE' && request.dynamicTableConfiguration) {
162
- input['dynamicTableConfiguration'] = {
163
- create: {
164
- node: request.dynamicTableConfiguration,
165
- },
166
- };
167
- }
168
- // Add size if provided
169
- if (request.size) {
170
- input['size'] = {
171
- create: {
172
- node: request.size,
173
- },
174
- };
175
- }
176
- // Add chartConfiguration if provided
177
- if (request.type === 'CHART' && request.chartConfiguration) {
178
- input['chartConfiguration'] = {
179
- create: {
180
- node: request.chartConfiguration,
181
- },
182
- };
183
- }
184
- const response = yield this.graphQlClient.mutate(mutation, {
185
- input,
186
- });
187
- const model = response.createWidget;
188
- if (!model) {
189
- throw new core_1.SdkError(core_1.SdkErrorType.UNABLE_TO_CREATE_WIDGET);
190
- }
191
- return this.mapper.mapWidget(model);
192
- });
193
- }
194
- duplicateWidget(request) {
195
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
196
- const mutation = `
197
- mutation($duplicateWidgetInput: DuplicateWidgetInput!) {
198
- duplicateWidget(duplicateWidgetInput: $duplicateWidgetInput) {
199
- id
200
- name
201
- }
202
- }
203
- `;
204
- const response = yield this.graphQlClient.mutate(mutation, {
205
- duplicateWidgetInput: {
206
- workspaceId: request.workspaceId,
207
- widgetId: request.widgetId,
208
- },
209
- });
210
- const model = response.duplicateWidget;
211
- if (!model) {
212
- throw new core_1.SdkError(core_1.SdkErrorType.UNABLE_TO_CREATE_WIDGET);
213
- }
214
- return this.mapper.mapWidget(model);
215
- });
216
- }
217
- updateWidgetInstruments(request) {
218
- var _a, _b;
219
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
220
- const MUTATION = `
221
- mutation ($whereInput: WhereWidgetInput!,
222
- $updateInput: UpdateWidgetInstrumentsInput!
223
- $sortInput: InstrumentOptionsInput!
224
- ) {
225
- updateWidgetInstruments(whereInput: $whereInput, updateWidgetInstrumentsInput: $updateInput) {
226
- instruments (
227
- options: $sortInput
228
- ) {
229
- symbol
230
- uniqueKey
231
- }
232
- }
233
- }
234
- `;
235
- const response = yield this.graphQlClient.mutate(MUTATION, {
236
- whereInput: { id: request.widgetId },
237
- updateInput: { instrumentKeys: request.instruments.keys },
238
- sortInput: ((_a = request.instruments) === null || _a === void 0 ? void 0 : _a.options) || {
239
- sort: {
240
- field: 'symbol',
241
- direction: 'ASC',
242
- },
243
- offset: 0,
244
- limit: 40,
245
- },
246
- });
247
- const models = ((_b = response.updateWidgetInstruments) === null || _b === void 0 ? void 0 : _b.instruments) || [];
248
- return this.mapper.mapInstruments(models);
249
- });
250
- }
251
- updateWidgetChart(request) {
252
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
253
- const mutation = `
254
- mutation UPDATE_CHART($id: String!, $chartConfiguration: String!) {
255
- updateChartConfiguration(
256
- updateChartConfigurationInput: { globalConfiguration: $chartConfiguration }
257
- whereInput: { id: $id }
258
- ) {
259
- id
260
- }
261
- }
262
- `;
263
- const response = yield this.graphQlClient.mutate(mutation, {
264
- id: request.id,
265
- chartConfiguration: request.chartConfiguration,
266
- });
267
- const model = response.updateChartConfiguration;
268
- if (!model) {
269
- throw new core_1.SdkError(core_1.SdkErrorType.UNABLE_TO_CREATE_WIDGET);
270
- }
271
- return model.id || request.id;
272
- });
273
- }
274
- deleteWidget(request) {
275
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
276
- const MUTATION = `
277
- mutation ($input: WhereWidgetInput!) {
278
- deleteWidget(whereInput: $input) {
279
- nodesDeleted
280
- }
281
- }
282
- `;
283
- yield this.graphQlClient.mutate(MUTATION, {
284
- input: { id: request },
285
- });
286
- return request;
287
- });
288
- }
289
- createInstrument(request) {
290
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
291
- const mutation = `
292
- mutation($input: CreateInstrumentInput!) {
293
- createInstrument(createInstrumentInput: $input) {
294
- symbol
295
- uniqueKey
296
- }
297
- }
298
- `;
299
- const response = yield this.graphQlClient.mutate(mutation, {
300
- input: request,
301
- });
302
- const model = response.createInstrument;
303
- if (!model) {
304
- throw new core_1.SdkError(core_1.SdkErrorType.INVALID_TO_CREATE_INSTRUMENT);
305
- }
306
- const symbol = model.symbol || '';
307
- const uniqueKey = model.uniqueKey || '';
308
- return { instrumentKey: `${uniqueKey}/${symbol}`, symbol };
309
- });
310
- }
311
- deleteInstrument(request) {
312
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
313
- const mutation = `
314
- mutation($input: WhereInstrumentInput!) {
315
- deleteInstrument(whereInput: $input) {
316
- nodesDeleted
317
- }
318
- }
319
- `;
320
- yield this.graphQlClient.mutate(mutation, {
321
- input: { id: request },
322
- });
323
- return request;
324
- });
325
- }
326
- getWorkspaces(request) {
327
- var _a, _b, _c, _d, _e;
328
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
329
- const query = `
330
- query($id: String!) {
331
- project(id: $id) {
332
- id
333
- name
334
- client
335
- workspaces {
336
- id
337
- name
338
- widgets {
339
- id
340
- name
341
- type
342
- layout {
343
- x
344
- y
345
- draggable
346
- resizable
347
- }
348
- tableColumns {
349
- id
350
- field
351
- description
352
- visible
353
- active
354
- format
355
- }
356
- size {
357
- id
358
- width
359
- height
360
- minWidth
361
- minHeight
362
- maxWidth
363
- maxHeight
364
- }
365
- tickerConfiguration {
366
- id
367
- position
368
- size
369
- visible
370
- speed
371
- }
372
- dynamicTableConfiguration {
373
- period
374
- instrumentLimit
375
- field
376
- condition
377
- marketTypeId
378
- valueTypeIds
379
- exchangeId
380
- scope
381
- hasActivity
382
- isFiltered
383
- }
384
- instruments (
385
- options: ${((_b = (_a = request.params) === null || _a === void 0 ? void 0 : _a.instruments) === null || _b === void 0 ? void 0 : _b.options)
386
- ? (0, core_1.queryfy)((_d = (_c = request.params) === null || _c === void 0 ? void 0 : _c.instruments) === null || _d === void 0 ? void 0 : _d.options)
387
- : `{
388
- sort: {
389
- field: symbol,
390
- direction: ASC
391
- }
392
- offset: 0
393
- limit: 40
394
- }`}
395
- ) {
396
- symbol
397
- uniqueKey
398
- }
399
- }
400
- }
401
- }
402
- }
403
- `;
404
- const response = yield this.graphQlClient.query(query, {
405
- id: request.projectId,
406
- });
407
- const models = ((_e = response === null || response === void 0 ? void 0 : response.project) === null || _e === void 0 ? void 0 : _e.workspaces) || [];
408
- const { workspaces, widgets, instruments } = this.getMapperWorkspaces(models);
409
- return { workspaces, widgets, instruments };
410
- });
411
- }
412
- getWorkspace(request) {
413
- var _a, _b, _c;
414
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
415
- const query = `
416
- query ($id: String!) {
417
- workspace(id: $id) {
418
- id
419
- name
420
- widgets {
421
- id
422
- name
423
- type
424
- layout {
425
- x
426
- y
427
- draggable
428
- resizable
429
- }
430
- tableColumns {
431
- id
432
- field
433
- description
434
- visible
435
- active
436
- format
437
- }
438
- size {
439
- id
440
- width
441
- height
442
- minWidth
443
- minHeight
444
- maxWidth
445
- maxHeight
446
- }
447
- tickerConfiguration {
448
- id
449
- position
450
- size
451
- visible
452
- speed
453
- }
454
- dynamicTableConfiguration {
455
- period
456
- instrumentLimit
457
- field
458
- condition
459
- marketTypeId
460
- valueTypeIds
461
- exchangeId
462
- hasActivity
463
- scope
464
- isFiltered
465
- }
466
- instruments {
467
- symbol
468
- uniqueKey
469
- }
470
- chartConfiguration {
471
- id
472
- globalConfiguration
473
- }
474
- }
475
- }
476
- }
477
- `;
478
- const response = yield this.graphQlClient.query(query, {
479
- id: request.workspaceId,
480
- });
481
- const models = ((_a = response === null || response === void 0 ? void 0 : response.workspace) === null || _a === void 0 ? void 0 : _a.widgets) || [];
482
- const widgets = this.mapper.mapWidgets(models);
483
- return {
484
- id: ((_b = response.workspace) === null || _b === void 0 ? void 0 : _b.id) || '-',
485
- name: ((_c = response.workspace) === null || _c === void 0 ? void 0 : _c.name) || 'unknown workspace',
486
- widgets,
487
- };
488
- });
489
- }
490
- getWorkspacesByUser(request) {
491
- var _a;
492
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
493
- const query = `
494
- query($id: String!) {
495
- user(id: $id) {
496
- id
497
- workspaces {
498
- id
499
- name
500
- widgets {
501
- id
502
- name
503
- type
504
- layout {
505
- x
506
- y
507
- draggable
508
- resizable
509
- }
510
- tableColumns {
511
- id
512
- field
513
- description
514
- visible
515
- active
516
- format
517
- }
518
- size {
519
- id
520
- width
521
- height
522
- minWidth
523
- minHeight
524
- maxWidth
525
- maxHeight
526
- }
527
- tickerConfiguration {
528
- id
529
- position
530
- size
531
- visible
532
- speed
533
- }
534
- instruments {
535
- symbol
536
- uniqueKey
537
- }
538
- }
539
- }
540
- }
541
- }
542
- `;
543
- const response = yield this.graphQlClient.query(query, {
544
- id: request.userId,
545
- });
546
- const models = ((_a = response === null || response === void 0 ? void 0 : response.user) === null || _a === void 0 ? void 0 : _a.workspaces) || [];
547
- const { workspaces, widgets, instruments } = this.getMapperWorkspaces(models);
548
- return { workspaces, widgets, instruments };
549
- });
550
- }
551
- getProjectWidgets(request) {
552
- var _a, _b, _c, _d, _e, _f, _g;
553
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
554
- const query = `
555
- query($id: String!) {
556
- project(id: $id) {
557
- id
558
- name
559
- client
560
- widgets {
561
- id
562
- name
563
- type
564
- tickerConfiguration {
565
- id
566
- position
567
- size
568
- visible
569
- speed
570
- }
571
- layout {
572
- x
573
- y
574
- draggable
575
- resizable
576
- }
577
- tableColumns {
578
- id
579
- field
580
- description
581
- visible
582
- active
583
- format
584
- }
585
- size {
586
- id
587
- width
588
- height
589
- minWidth
590
- minHeight
591
- maxWidth
592
- maxHeight
593
- }
594
- instruments (
595
- options: ${((_b = (_a = request.params) === null || _a === void 0 ? void 0 : _a.instruments) === null || _b === void 0 ? void 0 : _b.options)
596
- ? (0, core_1.queryfy)((_d = (_c = request.params) === null || _c === void 0 ? void 0 : _c.instruments) === null || _d === void 0 ? void 0 : _d.options)
597
- : `{
598
- sort: {
599
- field: symbol,
600
- direction: ASC
601
- }
602
- offset: 0
603
- limit: 40
604
- }`}
605
- ) {
606
- symbol
607
- uniqueKey
608
- }
609
- }
610
- }
611
- }
612
- `;
613
- const response = yield this.graphQlClient.query(query, {
614
- id: request.projectId,
615
- });
616
- const widgetsProject = ((_e = response.project) === null || _e === void 0 ? void 0 : _e.widgets) || [];
617
- const widgets = this.mapper.mapWidgets(widgetsProject);
618
- const instrumentsHolder = {};
619
- const instruments = widgetsProject
620
- .flat()
621
- .reduce((holder, widget) => {
622
- const id = widget.id || '-';
623
- holder[id] = this.mapper.mapInstruments(widget.instruments || []);
624
- return holder;
625
- }, instrumentsHolder);
626
- return {
627
- id: ((_f = response.project) === null || _f === void 0 ? void 0 : _f.id) || '-',
628
- name: ((_g = response.project) === null || _g === void 0 ? void 0 : _g.name) || '',
629
- widgets,
630
- instruments,
631
- };
632
- });
633
- }
634
- getInstruments(request) {
635
- var _a, _b, _c, _d, _e;
636
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
637
- const query = `
638
- query($input: WidgetLastInput!) {
639
- widgetInstrumentLast(lastInput:$input) {
640
- instruments {
641
- symbol
642
- uniqueKey
643
- fields
644
- }
645
- }
646
- }
647
- `;
648
- const input = Object.fromEntries(Object.entries({
649
- widgetId: request.widgetId,
650
- columnSort: (_a = request.sort) === null || _a === void 0 ? void 0 : _a.column,
651
- sortDirection: (_b = request.sort) === null || _b === void 0 ? void 0 : _b.direction,
652
- offset: (_c = request.pagination) === null || _c === void 0 ? void 0 : _c.offset,
653
- limit: (_d = request.pagination) === null || _d === void 0 ? void 0 : _d.limit,
654
- }).filter(([_, value]) => value !== undefined));
655
- const response = yield this.graphQlClient.query(query, { input });
656
- const instrumentModels = ((_e = response.widgetInstrumentLast) === null || _e === void 0 ? void 0 : _e.instruments) || [];
657
- const instruments = this.mapper.mapInstruments(instrumentModels);
658
- const fieldsHolder = {};
659
- const fields = instrumentModels.reduce((holder, model) => {
660
- const fieldsModel = this.mapper.parseInstrumentFields(model);
661
- const item = this.mapper.mapInstrumentFields(fieldsModel);
662
- holder[item.instrumentKey] = item;
663
- return holder;
664
- }, fieldsHolder);
665
- return { instruments, fields };
666
- });
667
9
  }
668
10
  getInstrumentFields(request) {
669
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ const params = Object.fromEntries(Object.entries({
13
+ instrumentKey: request.instrumentKey,
14
+ useCache: request.useCache,
15
+ }).filter(([_, value]) => value !== undefined));
670
16
  const response = yield this.marketsHttpClient.get('/instruments/last', {
671
- params: { instrumentKey: request },
17
+ params,
672
18
  });
673
19
  const models = response.data || [];
674
20
  if (models.length <= 0) {
@@ -680,8 +26,12 @@ class MarketsDatasourceImpl {
680
26
  }
681
27
  getInstrumentMultipleFields(request) {
682
28
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
+ const params = Object.fromEntries(Object.entries({
30
+ instrumentKey: request.instrumentKey,
31
+ useCache: request.useCache,
32
+ }).filter(([_, value]) => value !== undefined));
683
33
  const response = yield this.marketsHttpClient.get('/instruments/last', {
684
- params: { instrumentKey: request },
34
+ params,
685
35
  });
686
36
  const models = response.data || [];
687
37
  if (models.length <= 0) {