@owox/backend 0.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 (107) hide show
  1. package/README.md +144 -0
  2. package/dist/app.module.js +39 -0
  3. package/dist/common/authorization-context/authorization.context.js +21 -0
  4. package/dist/common/common.module.js +21 -0
  5. package/dist/common/exceptions/access-validation.exception.js +15 -0
  6. package/dist/common/exceptions/base-exception.filter.js +30 -0
  7. package/dist/common/exceptions/base.exception.js +3 -0
  8. package/dist/common/exceptions/business-violation.exception.js +14 -0
  9. package/dist/common/resolver/type-resolver.js +33 -0
  10. package/dist/common/resolver/typed-component.resolver.js +3 -0
  11. package/dist/common/scheduler/facades/scheduler-facade.impl.js +55 -0
  12. package/dist/common/scheduler/scheduler.module.js +32 -0
  13. package/dist/common/scheduler/services/fetchers/time-based-trigger-fetcher.factory.js +24 -0
  14. package/dist/common/scheduler/services/fetchers/time-based-trigger-fetcher.service.js +82 -0
  15. package/dist/common/scheduler/services/graceful-shutdown.service.js +96 -0
  16. package/dist/common/scheduler/services/runners/abstract-trigger-runner.service.js +82 -0
  17. package/dist/common/scheduler/services/runners/direct-trigger-runner.service.js +14 -0
  18. package/dist/common/scheduler/services/runners/pubsub-trigger-runner.service.js +145 -0
  19. package/dist/common/scheduler/services/runners/trigger-runner.factory.js +87 -0
  20. package/dist/common/scheduler/services/runners/trigger-runner.interface.js +3 -0
  21. package/dist/common/scheduler/services/system-time.service.js +20 -0
  22. package/dist/common/scheduler/shared/entities/scheduled-trigger.entity.js +47 -0
  23. package/dist/common/scheduler/shared/entities/time-based-trigger.entity.js +72 -0
  24. package/dist/common/scheduler/shared/scheduler.facade.js +5 -0
  25. package/dist/common/scheduler/shared/time-based-trigger-handler.interface.js +3 -0
  26. package/dist/config/database.config.js +31 -0
  27. package/dist/config/express-static.config.js +33 -0
  28. package/dist/config/global-pipes.config.js +12 -0
  29. package/dist/config/swagger.config.js +16 -0
  30. package/dist/data-marts/controllers/data-mart.controller.js +182 -0
  31. package/dist/data-marts/controllers/data-storage.controller.js +124 -0
  32. package/dist/data-marts/controllers/spec/data-mart.api.js +43 -0
  33. package/dist/data-marts/controllers/spec/data-storage.api.js +29 -0
  34. package/dist/data-marts/data-marts.module.js +65 -0
  35. package/dist/data-marts/data-storage-types/athena/schemas/athena-config.schema.js +10 -0
  36. package/dist/data-marts/data-storage-types/athena/schemas/athena-credentials.schema.js +12 -0
  37. package/dist/data-marts/data-storage-types/athena/services/athena-access.validator.js +39 -0
  38. package/dist/data-marts/data-storage-types/athena/services/athena-title.generator.js +24 -0
  39. package/dist/data-marts/data-storage-types/bigquery/schemas/bigquery-config.schema.js +9 -0
  40. package/dist/data-marts/data-storage-types/bigquery/schemas/bigquery-credentials.schema.js +11 -0
  41. package/dist/data-marts/data-storage-types/bigquery/services/bigquery-access.validator.js +39 -0
  42. package/dist/data-marts/data-storage-types/bigquery/services/bigquery-title.generator.js +24 -0
  43. package/dist/data-marts/data-storage-types/data-storage-config.type.js +3 -0
  44. package/dist/data-marts/data-storage-types/data-storage-facades.js +7 -0
  45. package/dist/data-marts/data-storage-types/data-storage-providers.js +27 -0
  46. package/dist/data-marts/data-storage-types/enums/data-storage-type.enum.js +20 -0
  47. package/dist/data-marts/data-storage-types/facades/data-storage-access.facade.js +38 -0
  48. package/dist/data-marts/data-storage-types/facades/data-storage-title.facade.js +38 -0
  49. package/dist/data-marts/data-storage-types/interfaces/data-storage-access-validator.interface.js +15 -0
  50. package/dist/data-marts/data-storage-types/interfaces/data-storage-title-generator.interface.js +3 -0
  51. package/dist/data-marts/dto/domain/create-data-mart.command.js +17 -0
  52. package/dist/data-marts/dto/domain/create-data-storage.command.js +13 -0
  53. package/dist/data-marts/dto/domain/data-mart.dto.js +27 -0
  54. package/dist/data-marts/dto/domain/data-storage.dto.js +25 -0
  55. package/dist/data-marts/dto/domain/delete-data-mart.command.js +15 -0
  56. package/dist/data-marts/dto/domain/delete-data-storage.command.js +13 -0
  57. package/dist/data-marts/dto/domain/get-data-mart.command.js +15 -0
  58. package/dist/data-marts/dto/domain/get-data-storage.command.js +13 -0
  59. package/dist/data-marts/dto/domain/list-data-marts.command.js +13 -0
  60. package/dist/data-marts/dto/domain/list-data-storages.command.js +11 -0
  61. package/dist/data-marts/dto/domain/publish-data-mart.command.js +15 -0
  62. package/dist/data-marts/dto/domain/update-data-mart-definition.command.js +19 -0
  63. package/dist/data-marts/dto/domain/update-data-mart-description.command.js +17 -0
  64. package/dist/data-marts/dto/domain/update-data-mart-title.command.js +17 -0
  65. package/dist/data-marts/dto/domain/update-data-storage.command.js +19 -0
  66. package/dist/data-marts/dto/presentation/create-data-mart-request-api.dto.js +32 -0
  67. package/dist/data-marts/dto/presentation/create-data-mart-response-api.dto.js +27 -0
  68. package/dist/data-marts/dto/presentation/create-data-storage-api.dto.js +25 -0
  69. package/dist/data-marts/dto/presentation/data-mart-response-api.dto.js +65 -0
  70. package/dist/data-marts/dto/presentation/data-storage-list-response-api.dto.js +43 -0
  71. package/dist/data-marts/dto/presentation/data-storage-response-api.dto.js +64 -0
  72. package/dist/data-marts/dto/presentation/update-data-mart-definition-api.dto.js +31 -0
  73. package/dist/data-marts/dto/presentation/update-data-mart-description-api.dto.js +27 -0
  74. package/dist/data-marts/dto/presentation/update-data-mart-title-api.dto.js +25 -0
  75. package/dist/data-marts/dto/presentation/update-data-storage-api.dto.js +50 -0
  76. package/dist/data-marts/dto/schemas/data-mart-table-definitions/data-mart-definition.js +3 -0
  77. package/dist/data-marts/dto/schemas/data-mart-table-definitions/sql-definition.schema.js +8 -0
  78. package/dist/data-marts/dto/schemas/data-mart-table-definitions/table-definition.schema.js +8 -0
  79. package/dist/data-marts/dto/schemas/data-mart-table-definitions/table-pattern-definition.schema.js +8 -0
  80. package/dist/data-marts/dto/schemas/data-mart-table-definitions/view-definition.schema.js +8 -0
  81. package/dist/data-marts/entities/data-mart.entity.js +84 -0
  82. package/dist/data-marts/entities/data-storage.entity.js +66 -0
  83. package/dist/data-marts/enums/data-mart-definition-type.enum.js +11 -0
  84. package/dist/data-marts/enums/data-mart-status.enum.js +9 -0
  85. package/dist/data-marts/mappers/data-mart.mapper.js +87 -0
  86. package/dist/data-marts/mappers/data-storage.mapper.js +75 -0
  87. package/dist/data-marts/services/data-mart.service.js +44 -0
  88. package/dist/data-marts/services/data-storage.service.js +39 -0
  89. package/dist/data-marts/use-cases/create-data-mart.service.js +51 -0
  90. package/dist/data-marts/use-cases/create-data-storage.service.js +44 -0
  91. package/dist/data-marts/use-cases/delete-data-mart.service.js +39 -0
  92. package/dist/data-marts/use-cases/delete-data-storage.service.js +52 -0
  93. package/dist/data-marts/use-cases/get-data-mart.service.js +34 -0
  94. package/dist/data-marts/use-cases/get-data-storage.service.js +34 -0
  95. package/dist/data-marts/use-cases/list-data-marts.service.js +42 -0
  96. package/dist/data-marts/use-cases/list-data-storages.service.js +42 -0
  97. package/dist/data-marts/use-cases/publish-data-mart.service.js +54 -0
  98. package/dist/data-marts/use-cases/update-data-mart-definition.service.js +51 -0
  99. package/dist/data-marts/use-cases/update-data-mart-description.service.js +46 -0
  100. package/dist/data-marts/use-cases/update-data-mart-title.service.js +46 -0
  101. package/dist/data-marts/use-cases/update-data-storage.service.js +53 -0
  102. package/dist/main.js +33 -0
  103. package/dist/public/assets/index-BZJIHZWS.js +502 -0
  104. package/dist/public/assets/index-BpZgB8Pl.css +1 -0
  105. package/dist/public/favicon.png +0 -0
  106. package/dist/public/index.html +14 -0
  107. package/package.json +106 -0
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DataStorageService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const data_storage_entity_1 = require("../entities/data-storage.entity");
20
+ let DataStorageService = class DataStorageService {
21
+ dataStorageRepository;
22
+ constructor(dataStorageRepository) {
23
+ this.dataStorageRepository = dataStorageRepository;
24
+ }
25
+ async getByIdAndProjectId(projectId, id) {
26
+ const entity = await this.dataStorageRepository.findOne({ where: { id, projectId } });
27
+ if (!entity) {
28
+ throw new common_1.NotFoundException(`DataStorage with id ${id} and projectId ${projectId} not found`);
29
+ }
30
+ return entity;
31
+ }
32
+ };
33
+ exports.DataStorageService = DataStorageService;
34
+ exports.DataStorageService = DataStorageService = __decorate([
35
+ (0, common_1.Injectable)(),
36
+ __param(0, (0, typeorm_1.InjectRepository)(data_storage_entity_1.DataStorage)),
37
+ __metadata("design:paramtypes", [typeorm_2.Repository])
38
+ ], DataStorageService);
39
+ //# sourceMappingURL=data-storage.service.js.map
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CreateDataMartService = void 0;
16
+ const typeorm_1 = require("typeorm");
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_2 = require("@nestjs/typeorm");
19
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
20
+ const data_storage_service_1 = require("../services/data-storage.service");
21
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
22
+ let CreateDataMartService = class CreateDataMartService {
23
+ dataMartRepository;
24
+ dataStorageService;
25
+ mapper;
26
+ constructor(dataMartRepository, dataStorageService, mapper) {
27
+ this.dataMartRepository = dataMartRepository;
28
+ this.dataStorageService = dataStorageService;
29
+ this.mapper = mapper;
30
+ }
31
+ async run(command) {
32
+ const dataStorage = await this.dataStorageService.getByIdAndProjectId(command.projectId, command.storageId);
33
+ const dataMart = this.dataMartRepository.create({
34
+ title: command.title,
35
+ projectId: command.projectId,
36
+ createdById: command.userId,
37
+ storage: dataStorage,
38
+ });
39
+ const newDataMart = await this.dataMartRepository.save(dataMart);
40
+ return this.mapper.toDomainDto(newDataMart);
41
+ }
42
+ };
43
+ exports.CreateDataMartService = CreateDataMartService;
44
+ exports.CreateDataMartService = CreateDataMartService = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __param(0, (0, typeorm_2.InjectRepository)(data_mart_entity_1.DataMart)),
47
+ __metadata("design:paramtypes", [typeorm_1.Repository,
48
+ data_storage_service_1.DataStorageService,
49
+ data_mart_mapper_1.DataMartMapper])
50
+ ], CreateDataMartService);
51
+ //# sourceMappingURL=create-data-mart.service.js.map
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CreateDataStorageService = void 0;
16
+ const typeorm_1 = require("typeorm");
17
+ const data_storage_entity_1 = require("../entities/data-storage.entity");
18
+ const typeorm_2 = require("@nestjs/typeorm");
19
+ const common_1 = require("@nestjs/common");
20
+ const data_storage_mapper_1 = require("../mappers/data-storage.mapper");
21
+ let CreateDataStorageService = class CreateDataStorageService {
22
+ dataStorageRepository;
23
+ dataStorageMapper;
24
+ constructor(dataStorageRepository, dataStorageMapper) {
25
+ this.dataStorageRepository = dataStorageRepository;
26
+ this.dataStorageMapper = dataStorageMapper;
27
+ }
28
+ async run(command) {
29
+ const entity = this.dataStorageRepository.create({
30
+ type: command.type,
31
+ projectId: command.projectId,
32
+ });
33
+ const savedEntity = await this.dataStorageRepository.save(entity);
34
+ return this.dataStorageMapper.toDomainDto(savedEntity);
35
+ }
36
+ };
37
+ exports.CreateDataStorageService = CreateDataStorageService;
38
+ exports.CreateDataStorageService = CreateDataStorageService = __decorate([
39
+ (0, common_1.Injectable)(),
40
+ __param(0, (0, typeorm_2.InjectRepository)(data_storage_entity_1.DataStorage)),
41
+ __metadata("design:paramtypes", [typeorm_1.Repository,
42
+ data_storage_mapper_1.DataStorageMapper])
43
+ ], CreateDataStorageService);
44
+ //# sourceMappingURL=create-data-storage.service.js.map
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DeleteDataMartService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
20
+ let DeleteDataMartService = class DeleteDataMartService {
21
+ dataMartRepo;
22
+ constructor(dataMartRepo) {
23
+ this.dataMartRepo = dataMartRepo;
24
+ }
25
+ async run(command) {
26
+ await this.dataMartRepo.softDelete({
27
+ id: command.id,
28
+ projectId: command.projectId,
29
+ createdById: command.userId,
30
+ });
31
+ }
32
+ };
33
+ exports.DeleteDataMartService = DeleteDataMartService;
34
+ exports.DeleteDataMartService = DeleteDataMartService = __decorate([
35
+ (0, common_1.Injectable)(),
36
+ __param(0, (0, typeorm_1.InjectRepository)(data_mart_entity_1.DataMart)),
37
+ __metadata("design:paramtypes", [typeorm_2.Repository])
38
+ ], DeleteDataMartService);
39
+ //# sourceMappingURL=delete-data-mart.service.js.map
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DeleteDataStorageService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const data_storage_entity_1 = require("../entities/data-storage.entity");
20
+ const data_mart_service_1 = require("../services/data-mart.service");
21
+ const data_storage_service_1 = require("../services/data-storage.service");
22
+ const business_violation_exception_1 = require("../../common/exceptions/business-violation.exception");
23
+ let DeleteDataStorageService = class DeleteDataStorageService {
24
+ dataStorageRepository;
25
+ dataStorageService;
26
+ dataMartService;
27
+ constructor(dataStorageRepository, dataStorageService, dataMartService) {
28
+ this.dataStorageRepository = dataStorageRepository;
29
+ this.dataStorageService = dataStorageService;
30
+ this.dataMartService = dataMartService;
31
+ }
32
+ async run(command) {
33
+ const dataStorage = await this.dataStorageService.getByIdAndProjectId(command.projectId, command.id);
34
+ const dataMartsForStorage = await this.dataMartService.findByStorage(dataStorage);
35
+ if (dataMartsForStorage.length > 0) {
36
+ throw new business_violation_exception_1.BusinessViolationException('Cannot delete the storage because it is referenced by existing data marts.', { referencedDataMarts: dataMartsForStorage.map(mart => mart.id) });
37
+ }
38
+ await this.dataStorageRepository.softDelete({
39
+ id: command.id,
40
+ projectId: command.projectId,
41
+ });
42
+ }
43
+ };
44
+ exports.DeleteDataStorageService = DeleteDataStorageService;
45
+ exports.DeleteDataStorageService = DeleteDataStorageService = __decorate([
46
+ (0, common_1.Injectable)(),
47
+ __param(0, (0, typeorm_1.InjectRepository)(data_storage_entity_1.DataStorage)),
48
+ __metadata("design:paramtypes", [typeorm_2.Repository,
49
+ data_storage_service_1.DataStorageService,
50
+ data_mart_service_1.DataMartService])
51
+ ], DeleteDataStorageService);
52
+ //# sourceMappingURL=delete-data-storage.service.js.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GetDataMartService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
15
+ const data_mart_service_1 = require("../services/data-mart.service");
16
+ let GetDataMartService = class GetDataMartService {
17
+ dataMartService;
18
+ mapper;
19
+ constructor(dataMartService, mapper) {
20
+ this.dataMartService = dataMartService;
21
+ this.mapper = mapper;
22
+ }
23
+ async run(command) {
24
+ const dataMart = await this.dataMartService.getByIdAndProjectIdAndUserId(command.id, command.projectId, command.userId);
25
+ return this.mapper.toDomainDto(dataMart);
26
+ }
27
+ };
28
+ exports.GetDataMartService = GetDataMartService;
29
+ exports.GetDataMartService = GetDataMartService = __decorate([
30
+ (0, common_1.Injectable)(),
31
+ __metadata("design:paramtypes", [data_mart_service_1.DataMartService,
32
+ data_mart_mapper_1.DataMartMapper])
33
+ ], GetDataMartService);
34
+ //# sourceMappingURL=get-data-mart.service.js.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GetDataStorageService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const data_storage_mapper_1 = require("../mappers/data-storage.mapper");
15
+ const data_storage_service_1 = require("../services/data-storage.service");
16
+ let GetDataStorageService = class GetDataStorageService {
17
+ dataStorageService;
18
+ dataStorageMapper;
19
+ constructor(dataStorageService, dataStorageMapper) {
20
+ this.dataStorageService = dataStorageService;
21
+ this.dataStorageMapper = dataStorageMapper;
22
+ }
23
+ async run(command) {
24
+ const dataStorageEntity = await this.dataStorageService.getByIdAndProjectId(command.projectId, command.id);
25
+ return this.dataStorageMapper.toDomainDto(dataStorageEntity);
26
+ }
27
+ };
28
+ exports.GetDataStorageService = GetDataStorageService;
29
+ exports.GetDataStorageService = GetDataStorageService = __decorate([
30
+ (0, common_1.Injectable)(),
31
+ __metadata("design:paramtypes", [data_storage_service_1.DataStorageService,
32
+ data_storage_mapper_1.DataStorageMapper])
33
+ ], GetDataStorageService);
34
+ //# sourceMappingURL=get-data-storage.service.js.map
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ListDataMartsService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
20
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
21
+ let ListDataMartsService = class ListDataMartsService {
22
+ dataMartRepo;
23
+ mapper;
24
+ constructor(dataMartRepo, mapper) {
25
+ this.dataMartRepo = dataMartRepo;
26
+ this.mapper = mapper;
27
+ }
28
+ async run(command) {
29
+ const dataMarts = await this.dataMartRepo.find({
30
+ where: { projectId: command.projectId, createdById: command.userId },
31
+ });
32
+ return this.mapper.toDomainDtoList(dataMarts);
33
+ }
34
+ };
35
+ exports.ListDataMartsService = ListDataMartsService;
36
+ exports.ListDataMartsService = ListDataMartsService = __decorate([
37
+ (0, common_1.Injectable)(),
38
+ __param(0, (0, typeorm_1.InjectRepository)(data_mart_entity_1.DataMart)),
39
+ __metadata("design:paramtypes", [typeorm_2.Repository,
40
+ data_mart_mapper_1.DataMartMapper])
41
+ ], ListDataMartsService);
42
+ //# sourceMappingURL=list-data-marts.service.js.map
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ListDataStoragesService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const data_storage_entity_1 = require("../entities/data-storage.entity");
20
+ const data_storage_mapper_1 = require("../mappers/data-storage.mapper");
21
+ let ListDataStoragesService = class ListDataStoragesService {
22
+ dataStorageRepo;
23
+ mapper;
24
+ constructor(dataStorageRepo, mapper) {
25
+ this.dataStorageRepo = dataStorageRepo;
26
+ this.mapper = mapper;
27
+ }
28
+ async run(command) {
29
+ const dataStorages = await this.dataStorageRepo.find({
30
+ where: { projectId: command.projectId },
31
+ });
32
+ return this.mapper.toDomainDtoList(dataStorages);
33
+ }
34
+ };
35
+ exports.ListDataStoragesService = ListDataStoragesService;
36
+ exports.ListDataStoragesService = ListDataStoragesService = __decorate([
37
+ (0, common_1.Injectable)(),
38
+ __param(0, (0, typeorm_1.InjectRepository)(data_storage_entity_1.DataStorage)),
39
+ __metadata("design:paramtypes", [typeorm_2.Repository,
40
+ data_storage_mapper_1.DataStorageMapper])
41
+ ], ListDataStoragesService);
42
+ //# sourceMappingURL=list-data-storages.service.js.map
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PublishDataMartService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
18
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
19
+ const typeorm_1 = require("typeorm");
20
+ const data_mart_service_1 = require("../services/data-mart.service");
21
+ const data_mart_status_enum_1 = require("../enums/data-mart-status.enum");
22
+ const business_violation_exception_1 = require("../../common/exceptions/business-violation.exception");
23
+ const typeorm_2 = require("@nestjs/typeorm");
24
+ let PublishDataMartService = class PublishDataMartService {
25
+ dataMartRepository;
26
+ dataMartService;
27
+ mapper;
28
+ constructor(dataMartRepository, dataMartService, mapper) {
29
+ this.dataMartRepository = dataMartRepository;
30
+ this.dataMartService = dataMartService;
31
+ this.mapper = mapper;
32
+ }
33
+ async run(command) {
34
+ const dataMart = await this.dataMartService.getByIdAndProjectIdAndUserId(command.id, command.projectId, command.userId);
35
+ if (dataMart.status !== data_mart_status_enum_1.DataMartStatus.DRAFT) {
36
+ throw new business_violation_exception_1.BusinessViolationException(`DataMart is not in ${data_mart_status_enum_1.DataMartStatus.DRAFT} status`);
37
+ }
38
+ if (!dataMart.definition || !dataMart.definitionType) {
39
+ throw new business_violation_exception_1.BusinessViolationException('DataMart has no definition');
40
+ }
41
+ dataMart.status = data_mart_status_enum_1.DataMartStatus.PUBLISHED;
42
+ await this.dataMartRepository.save(dataMart);
43
+ return this.mapper.toDomainDto(dataMart);
44
+ }
45
+ };
46
+ exports.PublishDataMartService = PublishDataMartService;
47
+ exports.PublishDataMartService = PublishDataMartService = __decorate([
48
+ (0, common_1.Injectable)(),
49
+ __param(0, (0, typeorm_2.InjectRepository)(data_mart_entity_1.DataMart)),
50
+ __metadata("design:paramtypes", [typeorm_1.Repository,
51
+ data_mart_service_1.DataMartService,
52
+ data_mart_mapper_1.DataMartMapper])
53
+ ], PublishDataMartService);
54
+ //# sourceMappingURL=publish-data-mart.service.js.map
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateDataMartDefinitionService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
18
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
19
+ const typeorm_1 = require("typeorm");
20
+ const data_mart_service_1 = require("../services/data-mart.service");
21
+ const business_violation_exception_1 = require("../../common/exceptions/business-violation.exception");
22
+ const typeorm_2 = require("@nestjs/typeorm");
23
+ let UpdateDataMartDefinitionService = class UpdateDataMartDefinitionService {
24
+ dataMartRepository;
25
+ dataMartService;
26
+ mapper;
27
+ constructor(dataMartRepository, dataMartService, mapper) {
28
+ this.dataMartRepository = dataMartRepository;
29
+ this.dataMartService = dataMartService;
30
+ this.mapper = mapper;
31
+ }
32
+ async run(command) {
33
+ const dataMart = await this.dataMartService.getByIdAndProjectIdAndUserId(command.id, command.projectId, command.userId);
34
+ if (dataMart.definitionType && dataMart.definitionType !== command.definitionType) {
35
+ throw new business_violation_exception_1.BusinessViolationException('DataMart already has definition');
36
+ }
37
+ dataMart.definitionType = command.definitionType;
38
+ dataMart.definition = command.definition;
39
+ await this.dataMartRepository.save(dataMart);
40
+ return this.mapper.toDomainDto(dataMart);
41
+ }
42
+ };
43
+ exports.UpdateDataMartDefinitionService = UpdateDataMartDefinitionService;
44
+ exports.UpdateDataMartDefinitionService = UpdateDataMartDefinitionService = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __param(0, (0, typeorm_2.InjectRepository)(data_mart_entity_1.DataMart)),
47
+ __metadata("design:paramtypes", [typeorm_1.Repository,
48
+ data_mart_service_1.DataMartService,
49
+ data_mart_mapper_1.DataMartMapper])
50
+ ], UpdateDataMartDefinitionService);
51
+ //# sourceMappingURL=update-data-mart-definition.service.js.map
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateDataMartDescriptionService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
18
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
19
+ const typeorm_1 = require("typeorm");
20
+ const data_mart_service_1 = require("../services/data-mart.service");
21
+ const typeorm_2 = require("@nestjs/typeorm");
22
+ let UpdateDataMartDescriptionService = class UpdateDataMartDescriptionService {
23
+ dataMartRepository;
24
+ dataMartService;
25
+ mapper;
26
+ constructor(dataMartRepository, dataMartService, mapper) {
27
+ this.dataMartRepository = dataMartRepository;
28
+ this.dataMartService = dataMartService;
29
+ this.mapper = mapper;
30
+ }
31
+ async run(command) {
32
+ const dataMart = await this.dataMartService.getByIdAndProjectIdAndUserId(command.id, command.projectId, command.userId);
33
+ dataMart.description = command.description;
34
+ await this.dataMartRepository.save(dataMart);
35
+ return this.mapper.toDomainDto(dataMart);
36
+ }
37
+ };
38
+ exports.UpdateDataMartDescriptionService = UpdateDataMartDescriptionService;
39
+ exports.UpdateDataMartDescriptionService = UpdateDataMartDescriptionService = __decorate([
40
+ (0, common_1.Injectable)(),
41
+ __param(0, (0, typeorm_2.InjectRepository)(data_mart_entity_1.DataMart)),
42
+ __metadata("design:paramtypes", [typeorm_1.Repository,
43
+ data_mart_service_1.DataMartService,
44
+ data_mart_mapper_1.DataMartMapper])
45
+ ], UpdateDataMartDescriptionService);
46
+ //# sourceMappingURL=update-data-mart-description.service.js.map
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateDataMartTitleService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const data_mart_entity_1 = require("../entities/data-mart.entity");
18
+ const data_mart_mapper_1 = require("../mappers/data-mart.mapper");
19
+ const typeorm_1 = require("typeorm");
20
+ const data_mart_service_1 = require("../services/data-mart.service");
21
+ const typeorm_2 = require("@nestjs/typeorm");
22
+ let UpdateDataMartTitleService = class UpdateDataMartTitleService {
23
+ dataMartRepository;
24
+ dataMartService;
25
+ mapper;
26
+ constructor(dataMartRepository, dataMartService, mapper) {
27
+ this.dataMartRepository = dataMartRepository;
28
+ this.dataMartService = dataMartService;
29
+ this.mapper = mapper;
30
+ }
31
+ async run(command) {
32
+ const dataMart = await this.dataMartService.getByIdAndProjectIdAndUserId(command.id, command.projectId, command.userId);
33
+ dataMart.title = command.title;
34
+ await this.dataMartRepository.save(dataMart);
35
+ return this.mapper.toDomainDto(dataMart);
36
+ }
37
+ };
38
+ exports.UpdateDataMartTitleService = UpdateDataMartTitleService;
39
+ exports.UpdateDataMartTitleService = UpdateDataMartTitleService = __decorate([
40
+ (0, common_1.Injectable)(),
41
+ __param(0, (0, typeorm_2.InjectRepository)(data_mart_entity_1.DataMart)),
42
+ __metadata("design:paramtypes", [typeorm_1.Repository,
43
+ data_mart_service_1.DataMartService,
44
+ data_mart_mapper_1.DataMartMapper])
45
+ ], UpdateDataMartTitleService);
46
+ //# sourceMappingURL=update-data-mart-title.service.js.map
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateDataStorageService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const data_storage_entity_1 = require("../entities/data-storage.entity");
19
+ const typeorm_2 = require("typeorm");
20
+ const data_storage_mapper_1 = require("../mappers/data-storage.mapper");
21
+ const data_storage_service_1 = require("../services/data-storage.service");
22
+ const data_storage_access_facade_1 = require("../data-storage-types/facades/data-storage-access.facade");
23
+ let UpdateDataStorageService = class UpdateDataStorageService {
24
+ dataStorageRepository;
25
+ dataStorageService;
26
+ dataStorageMapper;
27
+ dataStorageAccessFacade;
28
+ constructor(dataStorageRepository, dataStorageService, dataStorageMapper, dataStorageAccessFacade) {
29
+ this.dataStorageRepository = dataStorageRepository;
30
+ this.dataStorageService = dataStorageService;
31
+ this.dataStorageMapper = dataStorageMapper;
32
+ this.dataStorageAccessFacade = dataStorageAccessFacade;
33
+ }
34
+ async run(command) {
35
+ const dataStorageEntity = await this.dataStorageService.getByIdAndProjectId(command.projectId, command.id);
36
+ await this.dataStorageAccessFacade.checkAccess(dataStorageEntity.type, command.config, command.credentials);
37
+ dataStorageEntity.credentials = command.credentials;
38
+ dataStorageEntity.config = command.config;
39
+ dataStorageEntity.title = command.title;
40
+ const updatedDataStorageEntity = await this.dataStorageRepository.save(dataStorageEntity);
41
+ return this.dataStorageMapper.toDomainDto(updatedDataStorageEntity);
42
+ }
43
+ };
44
+ exports.UpdateDataStorageService = UpdateDataStorageService;
45
+ exports.UpdateDataStorageService = UpdateDataStorageService = __decorate([
46
+ (0, common_1.Injectable)(),
47
+ __param(0, (0, typeorm_1.InjectRepository)(data_storage_entity_1.DataStorage)),
48
+ __metadata("design:paramtypes", [typeorm_2.Repository,
49
+ data_storage_service_1.DataStorageService,
50
+ data_storage_mapper_1.DataStorageMapper,
51
+ data_storage_access_facade_1.DataStorageAccessFacade])
52
+ ], UpdateDataStorageService);
53
+ //# sourceMappingURL=update-data-storage.service.js.map