@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
@@ -11,8 +11,18 @@ class CreateWidgetUseCase {
11
11
  if (!request) {
12
12
  throw new core_1.SdkError(core_1.SdkErrorType.REQUEST_OBJECT_IS_REQUIRED);
13
13
  }
14
- if (!request.workspaceId) {
15
- throw new core_1.SdkError(core_1.SdkErrorType.INVALID_WORKSPACE_ID);
14
+ // Validate that exactly one target is provided (userId OR workspaceId)
15
+ const hasUserId = request.userId !== undefined &&
16
+ request.userId !== null &&
17
+ request.userId !== '';
18
+ const hasWorkspaceId = request.workspaceId !== undefined &&
19
+ request.workspaceId !== null &&
20
+ request.workspaceId !== '';
21
+ if (!hasUserId && !hasWorkspaceId) {
22
+ throw new core_1.SdkError(core_1.SdkErrorType.INVALID_WIDGET_TARGET, 'Either userId or workspaceId must be provided');
23
+ }
24
+ if (hasUserId && hasWorkspaceId) {
25
+ throw new core_1.SdkError(core_1.SdkErrorType.INVALID_WIDGET_TARGET, 'Cannot specify both userId and workspaceId. Only one target is allowed');
16
26
  }
17
27
  return yield this.repository.createWidget(request);
18
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create_widget_use_case.js","sourceRoot":"","sources":["../../../../../../packages/markets/src/domain/use_cases/create_widget_use_case.ts"],"names":[],"mappings":";;;AAAA,4CAAwE;AAMxE,MAAqB,mBAAmB;IAGtC,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAExD,OAAO,CAAC,OAA6B;;YACzC,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,eAAQ,CAAC,mBAAY,CAAC,0BAA0B,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACxB,MAAM,IAAI,eAAQ,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAC;aACvD;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;KAAA;CACF;AAdD,sCAcC"}
1
+ {"version":3,"file":"create_widget_use_case.js","sourceRoot":"","sources":["../../../../../../packages/markets/src/domain/use_cases/create_widget_use_case.ts"],"names":[],"mappings":";;;AAAA,4CAAwE;AAMxE,MAAqB,mBAAmB;IAGtC,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAExD,OAAO,CAAC,OAA6B;;YACzC,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,eAAQ,CAAC,mBAAY,CAAC,0BAA0B,CAAC,CAAC;aAC7D;YAED,uEAAuE;YACvE,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC5B,OAAO,CAAC,MAAM,KAAK,IAAI;gBACvB,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;YACxB,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW,KAAK,SAAS;gBACjC,OAAO,CAAC,WAAW,KAAK,IAAI;gBAC5B,OAAO,CAAC,WAAW,KAAK,EAAE,CAAC;YAE7B,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE;gBACjC,MAAM,IAAI,eAAQ,CAChB,mBAAY,CAAC,qBAAqB,EAClC,+CAA+C,CAChD,CAAC;aACH;YAED,IAAI,SAAS,IAAI,cAAc,EAAE;gBAC/B,MAAM,IAAI,eAAQ,CAChB,mBAAY,CAAC,qBAAqB,EAClC,wEAAwE,CACzE,CAAC;aACH;YAED,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;KAAA;CACF;AApCD,sCAoCC"}
@@ -0,0 +1,8 @@
1
+ import { Workspace } from '../entities';
2
+ import DuplicateWorkspaceRequest from '../entities/duplicate_workspace_request';
3
+ import MarketsRepository from '../repositories/markets_repository';
4
+ export default class DuplicateWorkspaceUseCase {
5
+ private readonly repository;
6
+ constructor(repository: MarketsRepository);
7
+ execute(request: DuplicateWorkspaceRequest): Promise<Workspace>;
8
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ class DuplicateWorkspaceUseCase {
5
+ constructor(repository) {
6
+ this.repository = repository;
7
+ }
8
+ execute(request) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ return this.repository.duplicateWorkspace(request);
11
+ });
12
+ }
13
+ }
14
+ exports.default = DuplicateWorkspaceUseCase;
15
+ //# sourceMappingURL=duplicate_workspace_use_case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate_workspace_use_case.js","sourceRoot":"","sources":["../../../../../../packages/markets/src/domain/use_cases/duplicate_workspace_use_case.ts"],"names":[],"mappings":";;;AAIA,MAAqB,yBAAyB;IAC5C,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAExD,OAAO,CAAC,OAAkC;;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;KAAA;CACF;AAND,4CAMC"}
@@ -0,0 +1,9 @@
1
+ import { BaseUseCase } from '@infosel-sdk/core';
2
+ import GetUserWidgetsRequest from '../entities/get_user_widgets_request';
3
+ import UserWidgets from '../entities/user_widgets';
4
+ import MarketsRepository from '../repositories/markets_repository';
5
+ export default class GetUserWidgetsUseCase implements BaseUseCase<GetUserWidgetsRequest, UserWidgets> {
6
+ private readonly repository;
7
+ constructor(repository: MarketsRepository);
8
+ execute(request?: GetUserWidgetsRequest): Promise<UserWidgets>;
9
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@infosel-sdk/core");
5
+ class GetUserWidgetsUseCase {
6
+ constructor(repository) {
7
+ this.repository = repository;
8
+ }
9
+ execute(request) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ if (!request) {
12
+ throw new core_1.SdkError(core_1.SdkErrorType.REQUEST_OBJECT_IS_REQUIRED);
13
+ }
14
+ if (!request.id) {
15
+ throw new core_1.SdkError(core_1.SdkErrorType.INVALID_PROJECT_ID);
16
+ }
17
+ return yield this.repository.getUserWidgets(request);
18
+ });
19
+ }
20
+ }
21
+ exports.default = GetUserWidgetsUseCase;
22
+ //# sourceMappingURL=get_user_widgets_use_case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_user_widgets_use_case.js","sourceRoot":"","sources":["../../../../../../packages/markets/src/domain/use_cases/get_user_widgets_use_case.ts"],"names":[],"mappings":";;;AAAA,4CAAwE;AAMxE,MAAqB,qBAAqB;IAGxC,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAExD,OAAO,CAAC,OAA+B;;YAC3C,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,eAAQ,CAAC,mBAAY,CAAC,0BAA0B,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;gBACf,MAAM,IAAI,eAAQ,CAAC,mBAAY,CAAC,kBAAkB,CAAC,CAAC;aACrD;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;KAAA;CACF;AAdD,wCAcC"}
@@ -0,0 +1,9 @@
1
+ import { BaseUseCase } from '@infosel-sdk/core';
2
+ import { GetWorkspacesRequest } from '../entities/get_workspaces_request';
3
+ import { WorkspacesContainer } from '../entities/workspaces_container';
4
+ import MarketsRepository from '../repositories/markets_repository';
5
+ export default class GetWorkspacesByProjectIdUseCase implements BaseUseCase<GetWorkspacesRequest, WorkspacesContainer> {
6
+ private readonly repository;
7
+ constructor(repository: MarketsRepository);
8
+ execute(request?: GetWorkspacesRequest): Promise<WorkspacesContainer>;
9
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@infosel-sdk/core");
5
+ class GetWorkspacesByProjectIdUseCase {
6
+ constructor(repository) {
7
+ this.repository = repository;
8
+ }
9
+ execute(request) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ if (!request) {
12
+ throw new core_1.SdkError(core_1.SdkErrorType.REQUEST_OBJECT_IS_REQUIRED);
13
+ }
14
+ return yield this.repository.getWorkspacesByProjectId(request);
15
+ });
16
+ }
17
+ }
18
+ exports.default = GetWorkspacesByProjectIdUseCase;
19
+ //# sourceMappingURL=get_workspaces_by_project_id_use_case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_workspaces_by_project_id_use_case.js","sourceRoot":"","sources":["../../../../../../packages/markets/src/domain/use_cases/get_workspaces_by_project_id_use_case.ts"],"names":[],"mappings":";;;AAAA,4CAAwE;AAMxE,MAAqB,+BAA+B;IAGlD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAExD,OAAO,CAAC,OAA8B;;YAC1C,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,eAAQ,CAAC,mBAAY,CAAC,0BAA0B,CAAC,CAAC;aAC7D;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;KAAA;CACF;AAXD,kDAWC"}