@solidstarters/solid-core 1.2.134 → 1.2.136
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.
- package/dist/controllers/ai-interaction.controller.d.ts +46 -0
- package/dist/controllers/ai-interaction.controller.d.ts.map +1 -0
- package/dist/controllers/ai-interaction.controller.js +204 -0
- package/dist/controllers/ai-interaction.controller.js.map +1 -0
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts +43 -0
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts.map +1 -0
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.js +179 -0
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.js.map +1 -0
- package/dist/controllers/dashboard-question.controller.d.ts +45 -0
- package/dist/controllers/dashboard-question.controller.d.ts.map +1 -0
- package/dist/controllers/dashboard-question.controller.js +194 -0
- package/dist/controllers/dashboard-question.controller.js.map +1 -0
- package/dist/controllers/dashboard-variable.controller.d.ts +43 -0
- package/dist/controllers/dashboard-variable.controller.d.ts.map +1 -0
- package/dist/controllers/dashboard-variable.controller.js +179 -0
- package/dist/controllers/dashboard-variable.controller.js.map +1 -0
- package/dist/controllers/dashboard.controller.d.ts +45 -0
- package/dist/controllers/dashboard.controller.d.ts.map +1 -0
- package/dist/controllers/dashboard.controller.js +192 -0
- package/dist/controllers/dashboard.controller.js.map +1 -0
- package/dist/controllers/test.controller.d.ts.map +1 -1
- package/dist/controllers/test.controller.js.map +1 -1
- package/dist/decorators/dashboard-question-data-provider.decorator.d.ts +3 -0
- package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/dashboard-question-data-provider.decorator.js +11 -0
- package/dist/decorators/dashboard-question-data-provider.decorator.js.map +1 -0
- package/dist/decorators/dashboard-selection-provider.decorator.d.ts +3 -0
- package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/dashboard-selection-provider.decorator.js +11 -0
- package/dist/decorators/dashboard-selection-provider.decorator.js.map +1 -0
- package/dist/dtos/create-ai-interaction.dto.d.ts +14 -0
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -0
- package/dist/dtos/create-ai-interaction.dto.js +90 -0
- package/dist/dtos/create-ai-interaction.dto.js.map +1 -0
- package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts +12 -0
- package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts.map +1 -0
- package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js +77 -0
- package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js.map +1 -0
- package/dist/dtos/create-dashboard-question.dto.d.ts +17 -0
- package/dist/dtos/create-dashboard-question.dto.d.ts.map +1 -0
- package/dist/dtos/create-dashboard-question.dto.js +105 -0
- package/dist/dtos/create-dashboard-question.dto.js.map +1 -0
- package/dist/dtos/create-dashboard-variable.dto.d.ts +18 -0
- package/dist/dtos/create-dashboard-variable.dto.d.ts.map +1 -0
- package/dist/dtos/create-dashboard-variable.dto.js +97 -0
- package/dist/dtos/create-dashboard-variable.dto.js.map +1 -0
- package/dist/dtos/create-dashboard.dto.d.ts +15 -0
- package/dist/dtos/create-dashboard.dto.d.ts.map +1 -0
- package/dist/dtos/create-dashboard.dto.js +90 -0
- package/dist/dtos/create-dashboard.dto.js.map +1 -0
- package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +8 -0
- package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts.map +1 -0
- package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js +52 -0
- package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js.map +1 -0
- package/dist/dtos/invoke-ai-prompt.dto.d.ts +4 -0
- package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +1 -0
- package/dist/dtos/invoke-ai-prompt.dto.js +25 -0
- package/dist/dtos/invoke-ai-prompt.dto.js.map +1 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts +15 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -0
- package/dist/dtos/update-ai-interaction.dto.js +96 -0
- package/dist/dtos/update-ai-interaction.dto.js.map +1 -0
- package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts +13 -0
- package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts.map +1 -0
- package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js +86 -0
- package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js.map +1 -0
- package/dist/dtos/update-dashboard-question.dto.d.ts +18 -0
- package/dist/dtos/update-dashboard-question.dto.d.ts.map +1 -0
- package/dist/dtos/update-dashboard-question.dto.js +112 -0
- package/dist/dtos/update-dashboard-question.dto.js.map +1 -0
- package/dist/dtos/update-dashboard-variable.dto.d.ts +15 -0
- package/dist/dtos/update-dashboard-variable.dto.d.ts.map +1 -0
- package/dist/dtos/update-dashboard-variable.dto.js +95 -0
- package/dist/dtos/update-dashboard-variable.dto.js.map +1 -0
- package/dist/dtos/update-dashboard.dto.d.ts +16 -0
- package/dist/dtos/update-dashboard.dto.d.ts.map +1 -0
- package/dist/dtos/update-dashboard.dto.js +96 -0
- package/dist/dtos/update-dashboard.dto.js.map +1 -0
- package/dist/entities/ai-interaction.entity.d.ts +15 -0
- package/dist/entities/ai-interaction.entity.d.ts.map +1 -0
- package/dist/entities/ai-interaction.entity.js +70 -0
- package/dist/entities/ai-interaction.entity.js.map +1 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +13 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +1 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js +60 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -0
- package/dist/entities/dashboard-question.entity.d.ts +16 -0
- package/dist/entities/dashboard-question.entity.d.ts.map +1 -0
- package/dist/entities/dashboard-question.entity.js +71 -0
- package/dist/entities/dashboard-question.entity.js.map +1 -0
- package/dist/entities/dashboard-variable.entity.d.ts +15 -0
- package/dist/entities/dashboard-variable.entity.d.ts.map +1 -0
- package/dist/entities/dashboard-variable.entity.js +73 -0
- package/dist/entities/dashboard-variable.entity.js.map +1 -0
- package/dist/entities/dashboard.entity.d.ts +12 -0
- package/dist/entities/dashboard.entity.d.ts.map +1 -0
- package/dist/entities/dashboard.entity.js +50 -0
- package/dist/entities/dashboard.entity.js.map +1 -0
- package/dist/helpers/solid-registry.d.ts +9 -1
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +32 -0
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +26 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +39 -0
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +8 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.js +10 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +16 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +71 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -0
- package/dist/mappers/dashboard-mapper.d.ts +6 -0
- package/dist/mappers/dashboard-mapper.d.ts.map +1 -0
- package/dist/mappers/dashboard-mapper.js +60 -0
- package/dist/mappers/dashboard-mapper.js.map +1 -0
- package/dist/repository/dashboard.repository.d.ts +9 -0
- package/dist/repository/dashboard.repository.d.ts.map +1 -0
- package/dist/repository/dashboard.repository.js +98 -0
- package/dist/repository/dashboard.repository.js.map +1 -0
- package/dist/seeders/module-metadata-seeder.service.d.ts +5 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +18 -2
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +4172 -2411
- package/dist/services/ai-interaction.service.d.ts +31 -0
- package/dist/services/ai-interaction.service.d.ts.map +1 -0
- package/dist/services/ai-interaction.service.js +182 -0
- package/dist/services/ai-interaction.service.js.map +1 -0
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +8 -6
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +22 -0
- package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +1 -0
- package/dist/services/dashboard-question-sql-dataset-config.service.js +56 -0
- package/dist/services/dashboard-question-sql-dataset-config.service.js.map +1 -0
- package/dist/services/dashboard-question.service.d.ts +29 -0
- package/dist/services/dashboard-question.service.d.ts.map +1 -0
- package/dist/services/dashboard-question.service.js +117 -0
- package/dist/services/dashboard-question.service.js.map +1 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts +12 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts.map +1 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js +55 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js.map +1 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts +11 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts.map +1 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js +45 -0
- package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js.map +1 -0
- package/dist/services/dashboard-variable.service.d.ts +23 -0
- package/dist/services/dashboard-variable.service.d.ts.map +1 -0
- package/dist/services/dashboard-variable.service.js +57 -0
- package/dist/services/dashboard-variable.service.js.map +1 -0
- package/dist/services/dashboard.service.d.ts +38 -0
- package/dist/services/dashboard.service.d.ts.map +1 -0
- package/dist/services/dashboard.service.js +179 -0
- package/dist/services/dashboard.service.js.map +1 -0
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +1 -0
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts +3 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +22 -0
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.d.ts +1 -0
- package/dist/services/list-of-values.service.d.ts.map +1 -1
- package/dist/services/list-of-values.service.js +3 -0
- package/dist/services/list-of-values.service.js.map +1 -1
- package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
- package/dist/services/menu-item-metadata.service.js +1 -1
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +36 -0
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +1 -0
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +89 -0
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +1 -0
- package/dist/services/question-data-providers/helpers.d.ts +7 -0
- package/dist/services/question-data-providers/helpers.d.ts.map +1 -0
- package/dist/services/question-data-providers/helpers.js +25 -0
- package/dist/services/question-data-providers/helpers.js.map +1 -0
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +17 -0
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +1 -0
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +70 -0
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +1 -0
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +19 -0
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +1 -0
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +92 -0
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +1 -0
- package/dist/services/queues/publisher-factory.service.js +1 -1
- package/dist/services/queues/publisher-factory.service.js.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.js +22 -11
- package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +11 -0
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts.map +1 -0
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js +46 -0
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js.map +1 -0
- package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +11 -0
- package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts.map +1 -0
- package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js +47 -0
- package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js.map +1 -0
- package/dist/services/solid-introspect.service.d.ts +2 -0
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +28 -0
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/sql-expression-resolver.service.d.ts +9 -0
- package/dist/services/sql-expression-resolver.service.d.ts.map +1 -0
- package/dist/services/sql-expression-resolver.service.js +105 -0
- package/dist/services/sql-expression-resolver.service.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +75 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +16 -0
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts.map +1 -0
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js +72 -0
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js.map +1 -0
- package/dist/subscribers/dashboard-question.subscriber.d.ts +16 -0
- package/dist/subscribers/dashboard-question.subscriber.d.ts.map +1 -0
- package/dist/subscribers/dashboard-question.subscriber.js +72 -0
- package/dist/subscribers/dashboard-question.subscriber.js.map +1 -0
- package/dist/subscribers/dashboard-variable.subscriber.d.ts +16 -0
- package/dist/subscribers/dashboard-variable.subscriber.d.ts.map +1 -0
- package/dist/subscribers/dashboard-variable.subscriber.js +72 -0
- package/dist/subscribers/dashboard-variable.subscriber.js.map +1 -0
- package/dist/subscribers/dashboard.subscriber.d.ts +15 -0
- package/dist/subscribers/dashboard.subscriber.d.ts.map +1 -0
- package/dist/subscribers/dashboard.subscriber.js +56 -0
- package/dist/subscribers/dashboard.subscriber.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/controllers/ai-interaction.controller.ts +104 -0
- package/src/controllers/dashboard-question-sql-dataset-config.controller.ts +93 -0
- package/src/controllers/dashboard-question.controller.ts +104 -0
- package/src/controllers/dashboard-variable.controller.ts +93 -0
- package/src/controllers/dashboard.controller.ts +99 -0
- package/src/controllers/test.controller.ts +1 -2
- package/src/decorators/dashboard-question-data-provider.decorator.ts +7 -0
- package/src/decorators/dashboard-selection-provider.decorator.ts +7 -0
- package/src/dtos/create-ai-interaction.dto.ts +60 -0
- package/src/dtos/create-dashboard-question-sql-dataset-config.dto.ts +42 -0
- package/src/dtos/create-dashboard-question.dto.ts +63 -0
- package/src/dtos/create-dashboard-variable.dto.ts +56 -0
- package/src/dtos/create-dashboard.dto.ts +53 -0
- package/src/dtos/dashboard-variable-selection-dynamic-query.dto.ts +29 -0
- package/src/dtos/invoke-ai-prompt.dto.ts +6 -0
- package/src/dtos/update-ai-interaction.dto.ts +65 -0
- package/src/dtos/update-dashboard-question-sql-dataset-config.dto.ts +49 -0
- package/src/dtos/update-dashboard-question.dto.ts +68 -0
- package/src/dtos/update-dashboard-variable.dto.ts +54 -0
- package/src/dtos/update-dashboard.dto.ts +57 -0
- package/src/entities/ai-interaction.entity.ts +39 -0
- package/src/entities/dashboard-question-sql-dataset-config.entity.ts +25 -0
- package/src/entities/dashboard-question.entity.ts +33 -0
- package/src/entities/dashboard-variable.entity.ts +30 -0
- package/src/entities/dashboard.entity.ts +21 -0
- package/src/helpers/solid-registry.ts +44 -2
- package/src/index.ts +10 -2
- package/src/interfaces.ts +57 -29
- package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +22 -0
- package/src/jobs/database/trigger-mcp-client-queue-options.ts +9 -0
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +71 -0
- package/src/mappers/dashboard-mapper.ts +52 -0
- package/src/repository/dashboard.repository.ts +101 -0
- package/src/seeders/module-metadata-seeder.service.ts +21 -1
- package/src/seeders/seed-data/solid-core-metadata.json +4175 -2414
- package/src/services/ai-interaction.service.ts +163 -0
- package/src/services/chatter-message.service.ts +12 -6
- package/src/services/dashboard-question-sql-dataset-config.service.ts +34 -0
- package/src/services/dashboard-question.service.ts +115 -0
- package/src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts +56 -0
- package/src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts +37 -0
- package/src/services/dashboard-variable.service.ts +36 -0
- package/src/services/dashboard.service.ts +147 -0
- package/src/services/field-metadata.service.ts +1 -0
- package/src/services/import-transaction.service.ts +29 -1
- package/src/services/list-of-values.service.ts +5 -0
- package/src/services/menu-item-metadata.service.ts +2 -1
- package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +125 -0
- package/src/services/question-data-providers/helpers.ts +30 -0
- package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +78 -0
- package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +119 -0
- package/src/services/question-data-providers/test.sql +1 -0
- package/src/services/queues/publisher-factory.service.ts +1 -1
- package/src/services/scheduled-jobs/scheduler.service.ts +32 -64
- package/src/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.ts +41 -0
- package/src/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.ts +41 -0
- package/src/services/solid-introspect.service.ts +42 -0
- package/src/services/sql-expression-resolver.service.ts +125 -0
- package/src/solid-core.module.ts +77 -2
- package/src/subscribers/dashboard-question-sql-dataset-config.subscriber.ts +61 -0
- package/src/subscribers/dashboard-question.subscriber.ts +62 -0
- package/src/subscribers/dashboard-variable.subscriber.ts +63 -0
- package/src/subscribers/dashboard.subscriber.ts +43 -0
|
@@ -0,0 +1,117 @@
|
|
|
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.DashboardQuestionService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const core_1 = require("@nestjs/core");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
20
|
+
const config_1 = require("@nestjs/config");
|
|
21
|
+
const crud_helper_service_1 = require("./crud-helper.service");
|
|
22
|
+
const crud_service_1 = require("./crud.service");
|
|
23
|
+
const file_service_1 = require("./file.service");
|
|
24
|
+
const model_metadata_service_1 = require("./model-metadata.service");
|
|
25
|
+
const module_metadata_service_1 = require("./module-metadata.service");
|
|
26
|
+
const solid_registry_1 = require("../helpers/solid-registry");
|
|
27
|
+
const dashboard_question_entity_1 = require("../entities/dashboard-question.entity");
|
|
28
|
+
var SOURCE_TYPE;
|
|
29
|
+
(function (SOURCE_TYPE) {
|
|
30
|
+
SOURCE_TYPE["SQL"] = "sql";
|
|
31
|
+
SOURCE_TYPE["PROVIDER"] = "provider";
|
|
32
|
+
})(SOURCE_TYPE || (SOURCE_TYPE = {}));
|
|
33
|
+
const CHARTJS_SQL_DATA_PROVIDER_NAME = 'ChartJsSqlDataProvider';
|
|
34
|
+
const PRIME_REACT_METER_GROUP_SQL_DATA_PROVIDER_NAME = 'PrimeReactMeterGroupSqlDataProvider';
|
|
35
|
+
const PRIME_REACT_DATATABLE_SQL_DATA_PROVIDER_NAME = 'PrimeReactDatatableSqlDataProvider';
|
|
36
|
+
let DashboardQuestionService = class DashboardQuestionService extends crud_service_1.CRUDService {
|
|
37
|
+
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef, solidRegistry) {
|
|
38
|
+
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboardQuestion', 'solid-core', moduleRef);
|
|
39
|
+
this.modelMetadataService = modelMetadataService;
|
|
40
|
+
this.moduleMetadataService = moduleMetadataService;
|
|
41
|
+
this.configService = configService;
|
|
42
|
+
this.fileService = fileService;
|
|
43
|
+
this.discoveryService = discoveryService;
|
|
44
|
+
this.crudHelperService = crudHelperService;
|
|
45
|
+
this.entityManager = entityManager;
|
|
46
|
+
this.repo = repo;
|
|
47
|
+
this.moduleRef = moduleRef;
|
|
48
|
+
this.solidRegistry = solidRegistry;
|
|
49
|
+
this.logger = new common_1.Logger(this.constructor.name);
|
|
50
|
+
}
|
|
51
|
+
async getData(id, inputExpressions = [], isPreview = false) {
|
|
52
|
+
const question = await this.loadQuestion(id);
|
|
53
|
+
if (!question) {
|
|
54
|
+
throw new common_1.BadRequestException(`Question with id ${id} not found`);
|
|
55
|
+
}
|
|
56
|
+
const dashboardVariables = question.dashboard?.dashboardVariables || [];
|
|
57
|
+
const expressions = this.getExpressions(isPreview, dashboardVariables, inputExpressions);
|
|
58
|
+
let dataProvider = null;
|
|
59
|
+
if (question.sourceType === SOURCE_TYPE.SQL && ['bar', 'pie', 'line', 'donut'].includes(question.visualisedAs)) {
|
|
60
|
+
dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(CHARTJS_SQL_DATA_PROVIDER_NAME);
|
|
61
|
+
}
|
|
62
|
+
if (question.sourceType === SOURCE_TYPE.SQL && ['prime-meter-group'].includes(question.visualisedAs)) {
|
|
63
|
+
dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(PRIME_REACT_METER_GROUP_SQL_DATA_PROVIDER_NAME);
|
|
64
|
+
}
|
|
65
|
+
if (question.sourceType === SOURCE_TYPE.SQL && ['prime-datatable'].includes(question.visualisedAs)) {
|
|
66
|
+
dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(PRIME_REACT_DATATABLE_SQL_DATA_PROVIDER_NAME);
|
|
67
|
+
}
|
|
68
|
+
if (!dataProvider) {
|
|
69
|
+
throw new common_1.NotImplementedException(`Invalid data source type ${question.sourceType}`);
|
|
70
|
+
}
|
|
71
|
+
return await dataProvider.getData(question, expressions);
|
|
72
|
+
}
|
|
73
|
+
getExpressions(isPreview, dashboardVariables, inputExpressions) {
|
|
74
|
+
const expressions = [];
|
|
75
|
+
if (isPreview) {
|
|
76
|
+
const expr = dashboardVariables.map(variable => {
|
|
77
|
+
return {
|
|
78
|
+
variableName: variable.variableName,
|
|
79
|
+
operator: variable.defaultOperator,
|
|
80
|
+
value: JSON.parse(variable.defaultValue || '[]'),
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
expressions.push(...expr);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
expressions.push(...inputExpressions);
|
|
87
|
+
}
|
|
88
|
+
return expressions;
|
|
89
|
+
}
|
|
90
|
+
async loadQuestion(id) {
|
|
91
|
+
const repo = this.entityManager.getRepository(dashboard_question_entity_1.DashboardQuestion);
|
|
92
|
+
const question = await repo.findOne({
|
|
93
|
+
where: {
|
|
94
|
+
id,
|
|
95
|
+
},
|
|
96
|
+
relations: ['questionSqlDatasetConfigs', 'dashboard', 'dashboard.dashboardVariables'],
|
|
97
|
+
});
|
|
98
|
+
return question;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
exports.DashboardQuestionService = DashboardQuestionService;
|
|
102
|
+
exports.DashboardQuestionService = DashboardQuestionService = __decorate([
|
|
103
|
+
(0, common_1.Injectable)(),
|
|
104
|
+
__param(6, (0, typeorm_1.InjectEntityManager)()),
|
|
105
|
+
__param(7, (0, typeorm_1.InjectRepository)(dashboard_question_entity_1.DashboardQuestion, 'default')),
|
|
106
|
+
__metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
|
|
107
|
+
module_metadata_service_1.ModuleMetadataService,
|
|
108
|
+
config_1.ConfigService,
|
|
109
|
+
file_service_1.FileService,
|
|
110
|
+
core_1.DiscoveryService,
|
|
111
|
+
crud_helper_service_1.CrudHelperService,
|
|
112
|
+
typeorm_2.EntityManager,
|
|
113
|
+
typeorm_2.Repository,
|
|
114
|
+
core_1.ModuleRef,
|
|
115
|
+
solid_registry_1.SolidRegistry])
|
|
116
|
+
], DashboardQuestionService);
|
|
117
|
+
//# sourceMappingURL=dashboard-question.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-question.service.js","sourceRoot":"","sources":["../../src/services/dashboard-question.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Injectable, Logger, NotImplementedException } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { DashboardVariable } from 'src/entities/dashboard-variable.entity';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { DashboardQuestion } from '../entities/dashboard-question.entity';\nimport { SqlExpression, SqlExpressionOperator } from './question-data-providers/chartjs-sql-data-provider.service';\nimport { DashboardService } from './dashboard.service';\nimport { Dashboard } from 'src/entities/dashboard.entity';\n\nenum SOURCE_TYPE {\n SQL = 'sql',\n PROVIDER = 'provider',\n}\n\nconst CHARTJS_SQL_DATA_PROVIDER_NAME = 'ChartJsSqlDataProvider';\nconst PRIME_REACT_METER_GROUP_SQL_DATA_PROVIDER_NAME = 'PrimeReactMeterGroupSqlDataProvider';\nconst PRIME_REACT_DATATABLE_SQL_DATA_PROVIDER_NAME = 'PrimeReactDatatableSqlDataProvider';\n\n@Injectable()\nexport class DashboardQuestionService extends CRUDService<DashboardQuestion> {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(DashboardQuestion, 'default')\n readonly repo: Repository<DashboardQuestion>,\n readonly moduleRef: ModuleRef,\n readonly solidRegistry: SolidRegistry, // Assuming solidRegistry is injected for data providers\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboardQuestion', 'solid-core', moduleRef);\n }\n\n // Get the data for a specific question \n async getData(id: number, inputExpressions: SqlExpression[] = [], isPreview = false): Promise<any> {\n // Load the question\n const question = await this.loadQuestion(id);\n if (!question) {\n throw new BadRequestException(`Question with id ${id} not found`);\n }\n\n // Get the dashbbard variables from the question\n const dashboardVariables = question.dashboard?.dashboardVariables || [];\n const expressions: SqlExpression[] = this.getExpressions(isPreview, dashboardVariables, inputExpressions);\n\n // Try to resolve the dataProvider based on a combination of sourceType and visualisedAs\n let dataProvider = null;\n\n if (question.sourceType === SOURCE_TYPE.SQL && ['bar', 'pie', 'line', 'donut'].includes(question.visualisedAs)) {\n dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(CHARTJS_SQL_DATA_PROVIDER_NAME);\n }\n if (question.sourceType === SOURCE_TYPE.SQL && ['prime-meter-group'].includes(question.visualisedAs)) {\n dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(PRIME_REACT_METER_GROUP_SQL_DATA_PROVIDER_NAME);\n }\n if (question.sourceType === SOURCE_TYPE.SQL && ['prime-datatable'].includes(question.visualisedAs)) {\n dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(PRIME_REACT_DATATABLE_SQL_DATA_PROVIDER_NAME);\n }\n\n if (!dataProvider) {\n throw new NotImplementedException(`Invalid data source type ${question.sourceType}`);\n }\n\n return await dataProvider.getData(question, expressions);\n\n }\n\n private getExpressions(isPreview: boolean, dashboardVariables: DashboardVariable[], inputExpressions: SqlExpression[]) {\n const expressions: SqlExpression[] = [];\n if (isPreview) {\n // Convert the dashboard variables into objects of interface type SqlExpression using the default value, default operator and the variable name\n const expr: SqlExpression[] = dashboardVariables.map(variable => {\n return {\n variableName: variable.variableName,\n operator: variable.defaultOperator as SqlExpressionOperator, // Assuming defaultOperator is a valid SqlExpressionOperator\n value: JSON.parse(variable.defaultValue || '[]'), // Assuming defaultValue is a string or can be converted to a string array\n };\n });\n expressions.push(...expr);\n }\n else {\n expressions.push(...inputExpressions);\n }\n return expressions;\n }\n\n private async loadQuestion(id: number) {\n const repo = this.entityManager.getRepository(DashboardQuestion);\n\n // Load the dashboard record using the field\n const question = await repo.findOne({\n where: {\n id,\n },\n relations: ['questionSqlDatasetConfigs', 'dashboard', 'dashboard.dashboardVariables'],\n });\n return question;\n }\n\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
|
|
2
|
+
import { EntityManager } from "typeorm";
|
|
3
|
+
export declare class DashboardVariableSQLDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {
|
|
4
|
+
private readonly entityManager;
|
|
5
|
+
constructor(entityManager: EntityManager);
|
|
6
|
+
help(): string;
|
|
7
|
+
name(): string;
|
|
8
|
+
value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any>;
|
|
9
|
+
values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]>;
|
|
10
|
+
appendLimitOffset(sql: string): string;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=dashboard-variable-sql-dynamic-provider.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-variable-sql-dynamic-provider.service.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,qBAEa,mCAAoC,YAAW,mCAAmC,CAAC,yBAAyB,CAAC;IAE1G,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGzD,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAIR,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,GAAG,GAAG,CAAC;IAIpG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;IAqB1G,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CASzC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
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.DashboardVariableSQLDynamicProvider = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const typeorm_1 = require("typeorm");
|
|
15
|
+
const dashboard_selection_provider_decorator_1 = require("../../decorators/dashboard-selection-provider.decorator");
|
|
16
|
+
let DashboardVariableSQLDynamicProvider = class DashboardVariableSQLDynamicProvider {
|
|
17
|
+
constructor(entityManager) {
|
|
18
|
+
this.entityManager = entityManager;
|
|
19
|
+
}
|
|
20
|
+
help() {
|
|
21
|
+
return "# Get the dashboard variable after executing the SQL query configured for the dashboard variable.\n";
|
|
22
|
+
}
|
|
23
|
+
name() {
|
|
24
|
+
return 'DashboardVariableSQLDynamicProvider';
|
|
25
|
+
}
|
|
26
|
+
async value(optionValue, ctxt) {
|
|
27
|
+
throw new Error("DashboardVariableSQLDynamicProvider does not support value method. Use values method instead.");
|
|
28
|
+
}
|
|
29
|
+
async values(query, ctxt) {
|
|
30
|
+
const { sql, limit, offset } = ctxt;
|
|
31
|
+
if (!sql) {
|
|
32
|
+
throw new Error("DashboardVariableSQLDynamicProvider requires a SQL query to be provided in the context.");
|
|
33
|
+
}
|
|
34
|
+
const results = await this.entityManager.query(this.appendLimitOffset(sql), [limit, offset]);
|
|
35
|
+
return results.map((result) => {
|
|
36
|
+
const transformedResult = {
|
|
37
|
+
value: result.value,
|
|
38
|
+
label: result.label,
|
|
39
|
+
};
|
|
40
|
+
return transformedResult;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
appendLimitOffset(sql) {
|
|
44
|
+
const trimmedSql = sql.trim().replace(/;$/, '');
|
|
45
|
+
const finalSql = `${trimmedSql} LIMIT $1 OFFSET $2`;
|
|
46
|
+
return finalSql;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.DashboardVariableSQLDynamicProvider = DashboardVariableSQLDynamicProvider;
|
|
50
|
+
exports.DashboardVariableSQLDynamicProvider = DashboardVariableSQLDynamicProvider = __decorate([
|
|
51
|
+
(0, dashboard_selection_provider_decorator_1.DashboardVariableSelectionProvider)(),
|
|
52
|
+
(0, common_1.Injectable)(),
|
|
53
|
+
__metadata("design:paramtypes", [typeorm_1.EntityManager])
|
|
54
|
+
], DashboardVariableSQLDynamicProvider);
|
|
55
|
+
//# sourceMappingURL=dashboard-variable-sql-dynamic-provider.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-variable-sql-dynamic-provider.service.js","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,qCAAwC;AACxC,oHAA2G;AAIpG,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAE5C,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IACzD,CAAC;IAED,IAAI;QACA,OAAO,qGAAqG,CAAC;IACjH,CAAC;IAED,IAAI;QACA,OAAO,qCAAqC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,IAA+B;QAC5D,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAA+B;QACvD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAmE,CAAC;QACnG,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC/G,CAAC;QAID,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAG7F,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;YAC/B,MAAM,iBAAiB,GAA6B;gBAChD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aAEtB,CAAC;YACF,OAAO,iBAAiB,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAGhD,MAAM,QAAQ,GAAG,GAAG,UAAU,qBAAqB,CAAC;QAEpD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAA;AA/CY,kFAAmC;8CAAnC,mCAAmC;IAF/C,IAAA,2EAAkC,GAAE;IACpC,IAAA,mBAAU,GAAE;qCAGmC,uBAAa;GAFhD,mCAAmC,CA+C/C","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from \"../../interfaces\";\n// import localeCodes from 'locale-codes';\nimport { EntityManager } from \"typeorm\";\nimport { DashboardVariableSelectionProvider } from \"src/decorators/dashboard-selection-provider.decorator\";\n\n@DashboardVariableSelectionProvider()\n@Injectable()\nexport class DashboardVariableSQLDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {\n\n constructor(private readonly entityManager: EntityManager) {\n }\n\n help(): string {\n return \"# Get the dashboard variable after executing the SQL query configured for the dashboard variable.\\n\";\n }\n\n name(): string {\n return 'DashboardVariableSQLDynamicProvider';\n }\n\n async value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any> {\n throw new Error(\"DashboardVariableSQLDynamicProvider does not support value method. Use values method instead.\");\n }\n\n async values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]> {\n const { sql, limit, offset } = ctxt as unknown as { sql: string, limit?: number, offset?: number };\n if (!sql) {\n throw new Error(\"DashboardVariableSQLDynamicProvider requires a SQL query to be provided in the context.\");\n }\n\n // Here you would execute the SQL query against your database\n // For demonstration, let's assume we have a mock database function that executes the SQL query\n const results = await this.entityManager.query(this.appendLimitOffset(sql), [limit, offset]);\n\n // Transform the results into the expected format\n return results.map((result: any) => {\n const transformedResult: ISelectionProviderValues = {\n value: result.value, // Assuming the result has a 'value' field\n label: result.label, // Assuming the result has a 'label' field\n // Add any other fields you need to transform here\n };\n return transformedResult;\n });\n }\n\n appendLimitOffset(sql: string): string {\n // Strip trailing semicolon if present\n const trimmedSql = sql.trim().replace(/;$/, '');\n\n // Append the LIMIT/OFFSET\n const finalSql = `${trimmedSql} LIMIT $1 OFFSET $2`; // FIXME This works with PostgreSQL. for mysql use ?. For this we will need to identify the datasource using the model for the particular dashboard variable\n\n return finalSql;\n }\n}"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
|
|
2
|
+
import { EntityManager } from "typeorm";
|
|
3
|
+
export declare class DasbhoardVariableTestDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {
|
|
4
|
+
private readonly entityManager;
|
|
5
|
+
constructor(entityManager: EntityManager);
|
|
6
|
+
help(): string;
|
|
7
|
+
name(): string;
|
|
8
|
+
value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any>;
|
|
9
|
+
values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dashboard-variable-test-dynamic-provider.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-variable-test-dynamic-provider.service.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,qBAEa,oCAAqC,YAAW,mCAAmC,CAAC,yBAAyB,CAAC;IAE3G,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGzD,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAIR,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,GAAG,GAAG,CAAC;IAIpG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;CAW7G"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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.DasbhoardVariableTestDynamicProvider = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const typeorm_1 = require("typeorm");
|
|
15
|
+
const dashboard_selection_provider_decorator_1 = require("../../decorators/dashboard-selection-provider.decorator");
|
|
16
|
+
let DasbhoardVariableTestDynamicProvider = class DasbhoardVariableTestDynamicProvider {
|
|
17
|
+
constructor(entityManager) {
|
|
18
|
+
this.entityManager = entityManager;
|
|
19
|
+
}
|
|
20
|
+
help() {
|
|
21
|
+
return "# Get the dashboard variable values.\n";
|
|
22
|
+
}
|
|
23
|
+
name() {
|
|
24
|
+
return 'DasbhoardVariableTestDynamicProvider';
|
|
25
|
+
}
|
|
26
|
+
async value(optionValue, ctxt) {
|
|
27
|
+
throw new Error("DasbhoardVariableTestDynamicProvider does not support value method. Use values method instead.");
|
|
28
|
+
}
|
|
29
|
+
async values(query, ctxt) {
|
|
30
|
+
const { sql, limit, offset } = ctxt;
|
|
31
|
+
return [
|
|
32
|
+
{ value: '1', label: 'Option 1' },
|
|
33
|
+
{ value: '2', label: 'Option 2' },
|
|
34
|
+
{ value: '3', label: 'Option 3' },
|
|
35
|
+
{ value: '4', label: 'Option 4' },
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.DasbhoardVariableTestDynamicProvider = DasbhoardVariableTestDynamicProvider;
|
|
40
|
+
exports.DasbhoardVariableTestDynamicProvider = DasbhoardVariableTestDynamicProvider = __decorate([
|
|
41
|
+
(0, dashboard_selection_provider_decorator_1.DashboardVariableSelectionProvider)(),
|
|
42
|
+
(0, common_1.Injectable)(),
|
|
43
|
+
__metadata("design:paramtypes", [typeorm_1.EntityManager])
|
|
44
|
+
], DasbhoardVariableTestDynamicProvider);
|
|
45
|
+
//# sourceMappingURL=dashboard-variable-test-dynamic-provider.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-variable-test-dynamic-provider.service.js","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,qCAAwC;AACxC,oHAA2G;AAIpG,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAE7C,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IACzD,CAAC;IAED,IAAI;QACA,OAAO,wCAAwC,CAAC;IACpD,CAAC;IAED,IAAI;QACA,OAAO,sCAAsC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,IAA+B;QAC5D,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACtH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAA+B;QAEvD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAmE,CAAC;QACnG,OAAO;YACH,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;SACpC,CAAC;IACN,CAAC;CAEJ,CAAA;AA5BY,oFAAoC;+CAApC,oCAAoC;IAFhD,IAAA,2EAAkC,GAAE;IACpC,IAAA,mBAAU,GAAE;qCAGmC,uBAAa;GAFhD,oCAAoC,CA4BhD","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from \"../../interfaces\";\n// import localeCodes from 'locale-codes';\nimport { EntityManager } from \"typeorm\";\nimport { DashboardVariableSelectionProvider } from \"src/decorators/dashboard-selection-provider.decorator\";\n\n@DashboardVariableSelectionProvider()\n@Injectable()\nexport class DasbhoardVariableTestDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {\n\n constructor(private readonly entityManager: EntityManager) {\n }\n\n help(): string {\n return \"# Get the dashboard variable values.\\n\";\n }\n\n name(): string {\n return 'DasbhoardVariableTestDynamicProvider';\n }\n\n async value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any> {\n throw new Error(\"DasbhoardVariableTestDynamicProvider does not support value method. Use values method instead.\");\n }\n\n async values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]> {\n // Return some dummy data for testing\n const { sql, limit, offset } = ctxt as unknown as { sql: string, limit?: number, offset?: number };\n return [\n { value: '1', label: 'Option 1' },\n { value: '2', label: 'Option 2' },\n { value: '3', label: 'Option 3' },\n { value: '4', label: 'Option 4' },\n ]; \n }\n\n}"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
2
|
+
import { EntityManager, Repository } from 'typeorm';
|
|
3
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
|
+
import { CrudHelperService } from 'src/services/crud-helper.service';
|
|
5
|
+
import { CRUDService } from 'src/services/crud.service';
|
|
6
|
+
import { FileService } from 'src/services/file.service';
|
|
7
|
+
import { ModelMetadataService } from 'src/services/model-metadata.service';
|
|
8
|
+
import { ModuleMetadataService } from 'src/services/module-metadata.service';
|
|
9
|
+
import { DashboardVariable } from '../entities/dashboard-variable.entity';
|
|
10
|
+
export declare class DashboardVariableService extends CRUDService<DashboardVariable> {
|
|
11
|
+
readonly modelMetadataService: ModelMetadataService;
|
|
12
|
+
readonly moduleMetadataService: ModuleMetadataService;
|
|
13
|
+
readonly configService: ConfigService;
|
|
14
|
+
readonly fileService: FileService;
|
|
15
|
+
readonly discoveryService: DiscoveryService;
|
|
16
|
+
readonly crudHelperService: CrudHelperService;
|
|
17
|
+
readonly entityManager: EntityManager;
|
|
18
|
+
readonly repo: Repository<DashboardVariable>;
|
|
19
|
+
readonly moduleRef: ModuleRef;
|
|
20
|
+
private readonly logger;
|
|
21
|
+
constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<DashboardVariable>, moduleRef: ModuleRef);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=dashboard-variable.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-variable.service.d.ts","sourceRoot":"","sources":["../../src/services/dashboard-variable.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBACa,wBAAyB,SAAQ,WAAW,CAAC,iBAAiB,CAAC;IAGxE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS;IAZ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,EACnC,SAAS,EAAE,SAAS;CAMhC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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.DashboardVariableService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const core_1 = require("@nestjs/core");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
20
|
+
const config_1 = require("@nestjs/config");
|
|
21
|
+
const crud_helper_service_1 = require("./crud-helper.service");
|
|
22
|
+
const crud_service_1 = require("./crud.service");
|
|
23
|
+
const file_service_1 = require("./file.service");
|
|
24
|
+
const model_metadata_service_1 = require("./model-metadata.service");
|
|
25
|
+
const module_metadata_service_1 = require("./module-metadata.service");
|
|
26
|
+
const dashboard_variable_entity_1 = require("../entities/dashboard-variable.entity");
|
|
27
|
+
let DashboardVariableService = class DashboardVariableService extends crud_service_1.CRUDService {
|
|
28
|
+
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
|
|
29
|
+
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboardVariable', 'solid-core', moduleRef);
|
|
30
|
+
this.modelMetadataService = modelMetadataService;
|
|
31
|
+
this.moduleMetadataService = moduleMetadataService;
|
|
32
|
+
this.configService = configService;
|
|
33
|
+
this.fileService = fileService;
|
|
34
|
+
this.discoveryService = discoveryService;
|
|
35
|
+
this.crudHelperService = crudHelperService;
|
|
36
|
+
this.entityManager = entityManager;
|
|
37
|
+
this.repo = repo;
|
|
38
|
+
this.moduleRef = moduleRef;
|
|
39
|
+
this.logger = new common_1.Logger(this.constructor.name);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.DashboardVariableService = DashboardVariableService;
|
|
43
|
+
exports.DashboardVariableService = DashboardVariableService = __decorate([
|
|
44
|
+
(0, common_1.Injectable)(),
|
|
45
|
+
__param(6, (0, typeorm_1.InjectEntityManager)()),
|
|
46
|
+
__param(7, (0, typeorm_1.InjectRepository)(dashboard_variable_entity_1.DashboardVariable, 'default')),
|
|
47
|
+
__metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
|
|
48
|
+
module_metadata_service_1.ModuleMetadataService,
|
|
49
|
+
config_1.ConfigService,
|
|
50
|
+
file_service_1.FileService,
|
|
51
|
+
core_1.DiscoveryService,
|
|
52
|
+
crud_helper_service_1.CrudHelperService,
|
|
53
|
+
typeorm_2.EntityManager,
|
|
54
|
+
typeorm_2.Repository,
|
|
55
|
+
core_1.ModuleRef])
|
|
56
|
+
], DashboardVariableService);
|
|
57
|
+
//# sourceMappingURL=dashboard-variable.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-variable.service.js","sourceRoot":"","sources":["../../src/services/dashboard-variable.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAA2D;AAC3D,6CAAwE;AACxE,qCAAoD;AAEpD,2CAA+C;AAC/C,+DAAqE;AACrE,iDAAwD;AACxD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAG7E,qFAA0E;AAGnE,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,0BAA8B;IAE1E,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAE7C,aAAqC,EAErC,IAA4C,EACnC,SAAoB;QAE7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAZ9K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAA+B;QACnC,cAAS,GAAT,SAAS,CAAW;QAZd,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAe5D,CAAC;CAGF,CAAA;AAnBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,6CAAiB,EAAE,SAAS,CAAC,CAAA;qCARhB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAbpB,wBAAwB,CAmBpC","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { DashboardVariable } from '../entities/dashboard-variable.entity';\n\n@Injectable()\nexport class DashboardVariableService extends CRUDService<DashboardVariable> {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(DashboardVariable, 'default')\n readonly repo: Repository<DashboardVariable>,\n readonly moduleRef: ModuleRef,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboardVariable', 'solid-core', moduleRef);\n }\n\n\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
2
|
+
import { EntityManager } from 'typeorm';
|
|
3
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
|
+
import { CrudHelperService } from 'src/services/crud-helper.service';
|
|
5
|
+
import { CRUDService } from 'src/services/crud.service';
|
|
6
|
+
import { FileService } from 'src/services/file.service';
|
|
7
|
+
import { ModelMetadataService } from 'src/services/model-metadata.service';
|
|
8
|
+
import { ModuleMetadataService } from 'src/services/module-metadata.service';
|
|
9
|
+
import { DashboardVariableSelectionDynamicQueryDto } from 'src/dtos/dashboard-variable-selection-dynamic-query.dto';
|
|
10
|
+
import { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';
|
|
11
|
+
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
12
|
+
import { DashboardMapper } from 'src/mappers/dashboard-mapper';
|
|
13
|
+
import { DashboardRepository } from 'src/repository/dashboard.repository';
|
|
14
|
+
import { Dashboard } from '../entities/dashboard.entity';
|
|
15
|
+
export declare const SQL_DYNAMIC_PROVIDER_NAME = "DashboardVariableSQLDynamicProvider";
|
|
16
|
+
export declare class DashboardService extends CRUDService<Dashboard> {
|
|
17
|
+
readonly modelMetadataService: ModelMetadataService;
|
|
18
|
+
readonly moduleMetadataService: ModuleMetadataService;
|
|
19
|
+
readonly configService: ConfigService;
|
|
20
|
+
readonly fileService: FileService;
|
|
21
|
+
readonly discoveryService: DiscoveryService;
|
|
22
|
+
readonly crudHelperService: CrudHelperService;
|
|
23
|
+
readonly entityManager: EntityManager;
|
|
24
|
+
readonly repo: DashboardRepository;
|
|
25
|
+
readonly moduleRef: ModuleRef;
|
|
26
|
+
readonly solidRegistry: SolidRegistry;
|
|
27
|
+
readonly moduleMetadataHelperService: ModuleMetadataHelperService;
|
|
28
|
+
readonly dashboardMapper: DashboardMapper;
|
|
29
|
+
private readonly logger;
|
|
30
|
+
constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: DashboardRepository, moduleRef: ModuleRef, solidRegistry: SolidRegistry, moduleMetadataHelperService: ModuleMetadataHelperService, dashboardMapper: DashboardMapper);
|
|
31
|
+
getSelectionDynamicValues(query: DashboardVariableSelectionDynamicQueryDto): Promise<readonly import("..").ISelectionProviderValues[]>;
|
|
32
|
+
private getProviderNameAndContext;
|
|
33
|
+
private loadDashboardVariable;
|
|
34
|
+
saveDashboardToConfig(entity: Dashboard): Promise<void>;
|
|
35
|
+
private getConfigFileDetails;
|
|
36
|
+
private writeToConfig;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=dashboard.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/services/dashboard.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAK7E,OAAO,EAAE,yCAAyC,EAAE,MAAM,yDAAyD,CAAC;AAEpH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAC/E,qBACa,gBAAiB,SAAQ,WAAW,CAAC,SAAS,CAAC;IAGxD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B;IACjE,QAAQ,CAAC,eAAe,EAAE,eAAe;IAd3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,2BAA2B,EAAE,2BAA2B,EACxD,eAAe,EAAE,eAAe;IAKrC,yBAAyB,CAAC,KAAK,EAAE,yCAAyC;IAkBhF,OAAO,CAAC,yBAAyB;YAoBnB,qBAAqB;IAY7B,qBAAqB,CAAC,MAAM,EAAE,SAAS;YAuB/B,oBAAoB;YAWpB,aAAa;CAgB5B"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.DashboardService = exports.SQL_DYNAMIC_PROVIDER_NAME = void 0;
|
|
49
|
+
const common_1 = require("@nestjs/common");
|
|
50
|
+
const core_1 = require("@nestjs/core");
|
|
51
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
52
|
+
const typeorm_2 = require("typeorm");
|
|
53
|
+
const config_1 = require("@nestjs/config");
|
|
54
|
+
const crud_helper_service_1 = require("./crud-helper.service");
|
|
55
|
+
const crud_service_1 = require("./crud.service");
|
|
56
|
+
const file_service_1 = require("./file.service");
|
|
57
|
+
const model_metadata_service_1 = require("./model-metadata.service");
|
|
58
|
+
const module_metadata_service_1 = require("./module-metadata.service");
|
|
59
|
+
const fs = __importStar(require("fs/promises"));
|
|
60
|
+
const create_dashboard_variable_dto_1 = require("../dtos/create-dashboard-variable.dto");
|
|
61
|
+
const dashboard_variable_entity_1 = require("../entities/dashboard-variable.entity");
|
|
62
|
+
const module_metadata_helper_service_1 = require("../helpers/module-metadata-helper.service");
|
|
63
|
+
const solid_registry_1 = require("../helpers/solid-registry");
|
|
64
|
+
const dashboard_mapper_1 = require("../mappers/dashboard-mapper");
|
|
65
|
+
const dashboard_repository_1 = require("../repository/dashboard.repository");
|
|
66
|
+
exports.SQL_DYNAMIC_PROVIDER_NAME = 'DashboardVariableSQLDynamicProvider';
|
|
67
|
+
let DashboardService = class DashboardService extends crud_service_1.CRUDService {
|
|
68
|
+
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef, solidRegistry, moduleMetadataHelperService, dashboardMapper) {
|
|
69
|
+
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboard', 'solid-core', moduleRef);
|
|
70
|
+
this.modelMetadataService = modelMetadataService;
|
|
71
|
+
this.moduleMetadataService = moduleMetadataService;
|
|
72
|
+
this.configService = configService;
|
|
73
|
+
this.fileService = fileService;
|
|
74
|
+
this.discoveryService = discoveryService;
|
|
75
|
+
this.crudHelperService = crudHelperService;
|
|
76
|
+
this.entityManager = entityManager;
|
|
77
|
+
this.repo = repo;
|
|
78
|
+
this.moduleRef = moduleRef;
|
|
79
|
+
this.solidRegistry = solidRegistry;
|
|
80
|
+
this.moduleMetadataHelperService = moduleMetadataHelperService;
|
|
81
|
+
this.dashboardMapper = dashboardMapper;
|
|
82
|
+
this.logger = new common_1.Logger(this.constructor.name);
|
|
83
|
+
}
|
|
84
|
+
async getSelectionDynamicValues(query) {
|
|
85
|
+
const dashboardVariable = await this.loadDashboardVariable(query.variableId);
|
|
86
|
+
const [providerName, context] = this.getProviderNameAndContext(dashboardVariable, query);
|
|
87
|
+
const selectionProviderInstance = this.solidRegistry.getDashboardVariableSelectionProviderInstance(providerName);
|
|
88
|
+
if (!selectionProviderInstance) {
|
|
89
|
+
throw new common_1.NotFoundException(`Field incorrectly configured. No provider with name ${providerName} registered in backend.`);
|
|
90
|
+
}
|
|
91
|
+
return selectionProviderInstance.values(query.query, context);
|
|
92
|
+
}
|
|
93
|
+
getProviderNameAndContext(dashboardVariable, query) {
|
|
94
|
+
const sourceType = dashboardVariable.selectionDynamicSourceType;
|
|
95
|
+
let providerName;
|
|
96
|
+
const context = { limit: query.limit, offset: query.offset };
|
|
97
|
+
switch (sourceType) {
|
|
98
|
+
case create_dashboard_variable_dto_1.SelectionDynamicSourceType.SQL:
|
|
99
|
+
providerName = exports.SQL_DYNAMIC_PROVIDER_NAME;
|
|
100
|
+
context['sql'] = dashboardVariable.selectionDynamicSQL;
|
|
101
|
+
break;
|
|
102
|
+
case create_dashboard_variable_dto_1.SelectionDynamicSourceType.PROVIDER:
|
|
103
|
+
providerName = dashboardVariable.selectionDynamicProviderName;
|
|
104
|
+
break;
|
|
105
|
+
default:
|
|
106
|
+
throw new Error(`Unsupported selection dynamic source type: ${sourceType}`);
|
|
107
|
+
}
|
|
108
|
+
return [providerName, context];
|
|
109
|
+
}
|
|
110
|
+
async loadDashboardVariable(variableId) {
|
|
111
|
+
const dashboardVariableRepo = this.entityManager.getRepository(dashboard_variable_entity_1.DashboardVariable);
|
|
112
|
+
const dashboardVariable = await dashboardVariableRepo.findOne({
|
|
113
|
+
where: {
|
|
114
|
+
id: variableId,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
return dashboardVariable;
|
|
118
|
+
}
|
|
119
|
+
async saveDashboardToConfig(entity) {
|
|
120
|
+
if (!entity) {
|
|
121
|
+
this.logger.debug('No entity found in the DashboardSubscriber saveDashboardToConfig method');
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const dashboard = entity;
|
|
125
|
+
const moduleMetadata = entity.module;
|
|
126
|
+
if (!moduleMetadata) {
|
|
127
|
+
throw new Error(`Module metadata not found for dashboard id ${entity.id}`);
|
|
128
|
+
}
|
|
129
|
+
const { filePath, metaData } = await this.getConfigFileDetails(moduleMetadata.name);
|
|
130
|
+
if (!filePath || !metaData) {
|
|
131
|
+
throw new Error(`Configuration details not found for module: ${moduleMetadata.name}`);
|
|
132
|
+
}
|
|
133
|
+
await this.writeToConfig(metaData, dashboard, filePath);
|
|
134
|
+
}
|
|
135
|
+
async getConfigFileDetails(moduleName) {
|
|
136
|
+
const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);
|
|
137
|
+
try {
|
|
138
|
+
await fs.access(filePath);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
throw new Error(`Configuration file not found for module: ${moduleName}`);
|
|
142
|
+
}
|
|
143
|
+
const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);
|
|
144
|
+
return { filePath, metaData };
|
|
145
|
+
}
|
|
146
|
+
async writeToConfig(metaData, dashboard, filePath) {
|
|
147
|
+
if (metaData.dashboards) {
|
|
148
|
+
const dashboardIndex = metaData.dashboards?.findIndex((dashboardFromFile) => dashboardFromFile.name === dashboard.name);
|
|
149
|
+
const dto = await this.dashboardMapper.toDto(dashboard);
|
|
150
|
+
metaData.dashboards[dashboardIndex] = dto;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
const dashboards = [];
|
|
154
|
+
const dto = await this.dashboardMapper.toDto(dashboard);
|
|
155
|
+
dashboards.push(dto);
|
|
156
|
+
metaData.dashboards = dashboards;
|
|
157
|
+
}
|
|
158
|
+
const updatedContent = JSON.stringify(metaData, null, 2);
|
|
159
|
+
await fs.writeFile(filePath, updatedContent);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
exports.DashboardService = DashboardService;
|
|
163
|
+
exports.DashboardService = DashboardService = __decorate([
|
|
164
|
+
(0, common_1.Injectable)(),
|
|
165
|
+
__param(6, (0, typeorm_1.InjectEntityManager)()),
|
|
166
|
+
__metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
|
|
167
|
+
module_metadata_service_1.ModuleMetadataService,
|
|
168
|
+
config_1.ConfigService,
|
|
169
|
+
file_service_1.FileService,
|
|
170
|
+
core_1.DiscoveryService,
|
|
171
|
+
crud_helper_service_1.CrudHelperService,
|
|
172
|
+
typeorm_2.EntityManager,
|
|
173
|
+
dashboard_repository_1.DashboardRepository,
|
|
174
|
+
core_1.ModuleRef,
|
|
175
|
+
solid_registry_1.SolidRegistry,
|
|
176
|
+
module_metadata_helper_service_1.ModuleMetadataHelperService,
|
|
177
|
+
dashboard_mapper_1.DashboardMapper])
|
|
178
|
+
], DashboardService);
|
|
179
|
+
//# sourceMappingURL=dashboard.service.js.map
|