@solidstarters/solid-core 1.2.179 → 1.2.183
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/dev-grooming-docs/ozzy-prompts.txt +28 -3
- package/dist/config/iam.config.d.ts.map +1 -1
- package/dist/config/iam.config.js +2 -1
- package/dist/config/iam.config.js.map +1 -1
- package/dist/controllers/service.controller.d.ts +8 -1
- package/dist/controllers/service.controller.d.ts.map +1 -1
- package/dist/controllers/service.controller.js +38 -2
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/decorators/active-user.decorator.d.ts +1 -1
- package/dist/dtos/create-menu-item-metadata.dto.d.ts +3 -0
- package/dist/dtos/create-menu-item-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-menu-item-metadata.dto.js +4 -1
- package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +4 -0
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +45 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/helpers/date.helper.d.ts +2 -0
- package/dist/helpers/date.helper.d.ts.map +1 -0
- package/dist/helpers/date.helper.js +18 -0
- package/dist/helpers/date.helper.js.map +1 -0
- package/dist/interfaces.d.ts +20 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +7 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +82 -17
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/repository/view-metadata.repository.d.ts +1 -0
- package/dist/repository/view-metadata.repository.d.ts.map +1 -1
- package/dist/repository/view-metadata.repository.js +14 -0
- package/dist/repository/view-metadata.repository.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +52 -42
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +259 -202
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.js +0 -1
- package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +2 -3
- package/dist/services/ai-interaction.service.d.ts +3 -3
- package/dist/services/ai-interaction.service.d.ts.map +1 -1
- package/dist/services/ai-interaction.service.js +16 -9
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/excel.service.js +2 -2
- package/dist/services/excel.service.js.map +1 -1
- package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -1
- package/dist/services/genai/ingest-metadata.service.js +46 -35
- package/dist/services/genai/ingest-metadata.service.js.map +1 -1
- package/dist/services/{mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.d.ts → genai/mcp-handlers/mcp-handler-factory.service.d.ts} +3 -3
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.js → genai/mcp-handlers/mcp-handler-factory.service.js} +10 -10
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts +12 -0
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js} +19 -20
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts +16 -0
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js +75 -0
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.d.ts → genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts} +9 -9
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js} +13 -13
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +12 -0
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js} +8 -8
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.d.ts → genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts} +4 -4
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js} +8 -8
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +12 -0
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js} +8 -8
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts +14 -0
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js} +15 -17
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service.d.ts → genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts} +4 -4
- package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-create-module-mcp-handler.service.js} +13 -10
- package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service.d.ts → genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts} +3 -3
- package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/{mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service.js → genai/mcp-handlers/solid-update-layout-mcp-handler.service.js} +12 -10
- package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js.map +1 -0
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +6 -3
- package/dist/services/import-transaction.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 +0 -2
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +1 -1
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/role-metadata.service.d.ts.map +1 -1
- package/dist/services/role-metadata.service.js +1 -7
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/services/solid-ts-morph.service.d.ts +28 -0
- package/dist/services/solid-ts-morph.service.d.ts.map +1 -0
- package/dist/services/solid-ts-morph.service.js +222 -0
- package/dist/services/solid-ts-morph.service.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +22 -18
- package/dist/solid-core.module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -4
- package/solid_seed_fixes.ts.txt +93 -0
- package/src/config/iam.config.ts +2 -1
- package/src/controllers/service.controller.ts +43 -2
- package/src/dtos/create-menu-item-metadata.dto.ts +5 -1
- package/src/dtos/create-role-metadata.dto.ts +60 -1
- package/src/helpers/date.helper.ts +13 -0
- package/src/interfaces.ts +29 -2
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +86 -16
- package/src/repository/view-metadata.repository.ts +15 -0
- package/src/seeders/module-metadata-seeder.service.ts +355 -282
- package/src/seeders/permission-metadata-seeder.service.ts +1 -1
- package/src/seeders/seed-data/solid-core-metadata.json +3 -5
- package/src/services/ai-interaction.service.ts +17 -13
- package/src/services/excel.service.ts +2 -2
- package/src/services/genai/ingest-metadata.service.ts +115 -39
- package/src/services/{mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.ts → genai/mcp-handlers/mcp-handler-factory.service.ts} +5 -5
- package/src/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.ts +68 -0
- package/src/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.ts +71 -0
- package/src/services/{mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.ts} +8 -8
- package/src/services/{mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.ts} +3 -3
- package/src/services/{mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.ts} +3 -3
- package/src/services/{mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.ts} +3 -3
- package/src/services/{mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.ts} +9 -10
- package/src/services/{mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-create-module-mcp-handler.service.ts} +8 -5
- package/src/services/{mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service.ts → genai/mcp-handlers/solid-update-layout-mcp-handler.service.ts} +11 -5
- package/src/services/import-transaction.service.ts +12 -4
- package/src/services/menu-item-metadata.service.ts +3 -7
- package/src/services/model-metadata.service.ts +0 -3
- package/src/services/module-metadata.service.ts +2 -3
- package/src/services/role-metadata.service.ts +22 -8
- package/src/services/solid-ts-morph.service.ts +263 -0
- package/src/solid-core.module.ts +25 -19
- package/dist/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.d.ts +0 -16
- package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.d.ts +0 -12
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.d.ts +0 -12
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.d.ts +0 -16
- package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service.js.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service.d.ts.map +0 -1
- package/dist/services/mcp-tool-response-handlers/solid-save-model-layout-mcp-tool-response-handler.service.js.map +0 -1
- package/src/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.ts +0 -56
|
@@ -53,37 +53,39 @@ exports.ModuleMetadataSeederService = void 0;
|
|
|
53
53
|
const common_1 = require("@nestjs/common");
|
|
54
54
|
const fs = __importStar(require("fs"));
|
|
55
55
|
const path = __importStar(require("path"));
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const
|
|
56
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
57
|
+
const common_config_1 = __importDefault(require("../config/common.config"));
|
|
58
|
+
const iam_config_1 = require("../config/iam.config");
|
|
59
|
+
const setting_entity_1 = require("../entities/setting.entity");
|
|
60
|
+
const dashboard_repository_1 = require("../repository/dashboard.repository");
|
|
61
|
+
const security_rule_repository_1 = require("../repository/security-rule.repository");
|
|
62
62
|
const authentication_service_1 = require("../services/authentication.service");
|
|
63
|
-
const media_storage_provider_metadata_seeder_service_1 = require("../services/media-storage-provider-metadata-seeder.service");
|
|
64
63
|
const email_template_service_1 = require("../services/email-template.service");
|
|
64
|
+
const list_of_values_service_1 = require("../services/list-of-values.service");
|
|
65
|
+
const setting_service_1 = require("../services/setting.service");
|
|
65
66
|
const sms_template_service_1 = require("../services/sms-template.service");
|
|
66
|
-
const
|
|
67
|
-
const action_metadata_service_1 = require("../services/action-metadata.service");
|
|
68
|
-
const menu_item_metadata_service_1 = require("../services/menu-item-metadata.service");
|
|
69
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
70
|
-
const permission_metadata_entity_1 = require("../entities/permission-metadata.entity");
|
|
67
|
+
const user_service_1 = require("../services/user.service");
|
|
71
68
|
const typeorm_2 = require("typeorm");
|
|
69
|
+
const app_builder_config_1 = __importDefault(require("../config/app-builder.config"));
|
|
70
|
+
const permission_metadata_entity_1 = require("../entities/permission-metadata.entity");
|
|
71
|
+
const module_helper_1 = require("../helpers/module.helper");
|
|
72
72
|
const solid_registry_1 = require("../helpers/solid-registry");
|
|
73
|
+
const action_metadata_service_1 = require("../services/action-metadata.service");
|
|
74
|
+
const field_metadata_service_1 = require("../services/field-metadata.service");
|
|
75
|
+
const media_storage_provider_metadata_seeder_service_1 = require("../services/media-storage-provider-metadata-seeder.service");
|
|
76
|
+
const media_storage_provider_metadata_service_1 = require("../services/media-storage-provider-metadata.service");
|
|
77
|
+
const menu_item_metadata_service_1 = require("../services/menu-item-metadata.service");
|
|
78
|
+
const model_metadata_service_1 = require("../services/model-metadata.service");
|
|
79
|
+
const module_metadata_service_1 = require("../services/module-metadata.service");
|
|
73
80
|
const role_metadata_service_1 = require("../services/role-metadata.service");
|
|
74
|
-
const
|
|
81
|
+
const view_metadata_service_1 = require("../services/view-metadata.service");
|
|
75
82
|
const solid_core_metadata_json_1 = __importDefault(require("./seed-data/solid-core-metadata.json"));
|
|
76
|
-
const iam_config_1 = require("../config/iam.config");
|
|
77
|
-
const common_config_1 = __importDefault(require("../config/common.config"));
|
|
78
|
-
const setting_service_1 = require("../services/setting.service");
|
|
79
|
-
const setting_entity_1 = require("../entities/setting.entity");
|
|
80
|
-
const security_rule_repository_1 = require("../repository/security-rule.repository");
|
|
81
|
-
const list_of_values_service_1 = require("../services/list-of-values.service");
|
|
82
83
|
const system_fields_seeder_service_1 = require("./system-fields-seeder.service");
|
|
83
|
-
const
|
|
84
|
+
const create_role_metadata_dto_1 = require("../dtos/create-role-metadata.dto");
|
|
84
85
|
const scheduled_job_repository_1 = require("../repository/scheduled-job.repository");
|
|
86
|
+
const src_1 = require("..");
|
|
85
87
|
let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMetadataSeederService {
|
|
86
|
-
constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, solidActionService, solidMenuItemService, solidViewService, mediaStorageProviderSeederService, emailTemplateService, smsTemplateService, listOfValuesService, permissionRepo, solidRegistry, appBuilderConfiguration, iamConfiguration, commonConfiguration,
|
|
88
|
+
constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, solidActionService, solidMenuItemService, solidViewService, mediaStorageProviderSeederService, emailTemplateService, smsTemplateService, listOfValuesService, permissionRepo, solidRegistry, appBuilderConfiguration, iamConfiguration, commonConfiguration, settingService, settingsRepo, securityRuleRepo, systemFieldsSeederService, dashboardRepo, scheduledJobRepository, dataSource) {
|
|
87
89
|
this.moduleMetadataService = moduleMetadataService;
|
|
88
90
|
this.modelMetadataService = modelMetadataService;
|
|
89
91
|
this.fieldMetadataService = fieldMetadataService;
|
|
@@ -103,159 +105,171 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
103
105
|
this.appBuilderConfiguration = appBuilderConfiguration;
|
|
104
106
|
this.iamConfiguration = iamConfiguration;
|
|
105
107
|
this.commonConfiguration = commonConfiguration;
|
|
106
|
-
this.
|
|
108
|
+
this.settingService = settingService;
|
|
107
109
|
this.settingsRepo = settingsRepo;
|
|
108
110
|
this.securityRuleRepo = securityRuleRepo;
|
|
109
111
|
this.systemFieldsSeederService = systemFieldsSeederService;
|
|
110
112
|
this.dashboardRepo = dashboardRepo;
|
|
111
113
|
this.scheduledJobRepository = scheduledJobRepository;
|
|
114
|
+
this.dataSource = dataSource;
|
|
112
115
|
this.logger = new common_1.Logger(ModuleMetadataSeederService_1.name);
|
|
113
116
|
}
|
|
114
117
|
async seed() {
|
|
115
|
-
|
|
116
|
-
this.
|
|
117
|
-
await this.seedPermissions();
|
|
118
|
-
this.logger.log(`Seeding media storage providers`);
|
|
119
|
-
await this.mediaStorageProviderSeederService.seed();
|
|
120
|
-
this.logger.log(`Seeding system fields metadata`);
|
|
121
|
-
await this.systemFieldsSeederService.seed();
|
|
122
|
-
const coreModules = (0, module_helper_1.getCoreModuleNames)();
|
|
123
|
-
const seedDataFiles = [
|
|
124
|
-
typedSolidCoreMetadata
|
|
125
|
-
];
|
|
126
|
-
this.logger.debug(`getting dynamics modules`);
|
|
127
|
-
const enabledModules = (0, module_helper_1.getDynamicModuleNames)();
|
|
128
|
-
this.logger.log(`Seeding metadata`);
|
|
129
|
-
for (let i = 0; i < enabledModules.length; i++) {
|
|
130
|
-
const enabledModule = enabledModules[i];
|
|
131
|
-
const enabledModuleSeedFile = `module-metadata/${enabledModule}/${enabledModule}-metadata.json`;
|
|
132
|
-
const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
|
|
133
|
-
if (fs.existsSync(fullPath)) {
|
|
134
|
-
const overallMetadata = JSON.parse(fs.readFileSync(fullPath, 'utf-8').toString());
|
|
135
|
-
seedDataFiles.push(overallMetadata);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
118
|
+
await this.seedGlobalMetadata();
|
|
119
|
+
const seedDataFiles = this.seedDataFiles;
|
|
138
120
|
this.logger.debug(`Seed data files are: ${seedDataFiles}`);
|
|
139
|
-
let usersDetail;
|
|
140
121
|
for (let i = 0; i < seedDataFiles.length; i++) {
|
|
141
122
|
const overallMetadata = seedDataFiles[i];
|
|
142
123
|
const moduleMetadata = overallMetadata.moduleMetadata;
|
|
143
|
-
this.logger.log(`
|
|
124
|
+
this.logger.log(`Seeding Metadata for Module: ${moduleMetadata.name}`);
|
|
125
|
+
this.logger.log(`Seeding Module / Model / Fields`);
|
|
144
126
|
await this.seedModuleModelFields(moduleMetadata);
|
|
145
|
-
this.logger.log(`
|
|
146
|
-
this.
|
|
147
|
-
|
|
148
|
-
await this.
|
|
149
|
-
this.logger.log(`
|
|
150
|
-
this.
|
|
151
|
-
|
|
152
|
-
await this.
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
this.logger.log(`
|
|
160
|
-
this.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
this.
|
|
165
|
-
this.logger.log(`
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
this.
|
|
169
|
-
this.logger.log(`
|
|
170
|
-
|
|
171
|
-
await this.seedActions(actions);
|
|
172
|
-
this.logger.log(`[End] Processing actions for ${moduleMetadata.name}`);
|
|
173
|
-
this.logger.log(`[Start] Processing menus for ${moduleMetadata.name}`);
|
|
174
|
-
const menus = overallMetadata.menus;
|
|
175
|
-
await this.seedMenus(menus);
|
|
176
|
-
this.logger.log(`[End] Processing menus for ${moduleMetadata.name}`);
|
|
177
|
-
this.logger.log(`[Start] Processing email templates for ${moduleMetadata.name}`);
|
|
178
|
-
const emailTemplates = overallMetadata.emailTemplates;
|
|
179
|
-
await this.seedEmailTemplates(emailTemplates, moduleMetadata);
|
|
180
|
-
this.logger.log(`[End] Processing email templates for ${moduleMetadata.name}`);
|
|
181
|
-
this.logger.log(`[Start] Processing sms templates for ${moduleMetadata.name}`);
|
|
182
|
-
const smsTemplates = overallMetadata.smsTemplates;
|
|
183
|
-
await this.seedSmsTemplates(smsTemplates, moduleMetadata);
|
|
184
|
-
this.logger.log(`[End] Processing sms templates for ${moduleMetadata.name}`);
|
|
185
|
-
this.logger.log(`[Start] Processing settings for ${moduleMetadata.name}`);
|
|
186
|
-
await this.seetingService.seedDefaultSettings();
|
|
187
|
-
this.logger.log(`[End] Processing settings for ${moduleMetadata.name}`);
|
|
188
|
-
this.logger.log(`[Start] Processing security rules for ${moduleMetadata.name}`);
|
|
189
|
-
const securityRules = overallMetadata.securityRules;
|
|
190
|
-
await this.seedSecurityRules(securityRules);
|
|
191
|
-
this.logger.log(`[End] Processing security rules for ${moduleMetadata.name}`);
|
|
192
|
-
this.logger.log(`[Start] Processing List Of Values for ${moduleMetadata.name}`);
|
|
193
|
-
const listOfValues = overallMetadata.listOfValues;
|
|
194
|
-
await this.seedListOfValues(listOfValues);
|
|
195
|
-
this.logger.log(`[End] Processing List Of Values for ${moduleMetadata.name}`);
|
|
196
|
-
this.logger.log(`[Start] Processing dashboards for ${moduleMetadata.name}`);
|
|
197
|
-
const dashboards = overallMetadata.dashboards;
|
|
198
|
-
await this.seedDashboards(dashboards);
|
|
199
|
-
this.logger.log(`[End] Processing dashboards for ${moduleMetadata.name}`);
|
|
200
|
-
this.logger.debug(`[Start] Processing scheduled jobs for ${moduleMetadata.name}`);
|
|
201
|
-
const scheduledJobs = overallMetadata.scheduledJobs;
|
|
202
|
-
if (scheduledJobs?.length > 0) {
|
|
203
|
-
await this.seedScheduledJobs(scheduledJobs);
|
|
204
|
-
}
|
|
205
|
-
this.logger.debug(`[End] Processing scheduled jobs for ${moduleMetadata.name}`);
|
|
127
|
+
this.logger.log(`Seeding Media Storage Providers`);
|
|
128
|
+
await this.seedMediaStorageProviders(overallMetadata.mediaStorageProviders);
|
|
129
|
+
this.logger.log(`Seeding Roles`);
|
|
130
|
+
await this.seedRoles(overallMetadata);
|
|
131
|
+
this.logger.log(`Seeding Users`);
|
|
132
|
+
await this.seedUsers(overallMetadata);
|
|
133
|
+
this.logger.log(`Seeding Views`);
|
|
134
|
+
await this.seedViews(overallMetadata);
|
|
135
|
+
this.logger.log(`Seeding Actions`);
|
|
136
|
+
await this.seedActions(overallMetadata);
|
|
137
|
+
this.logger.log(`Seeding Menus`);
|
|
138
|
+
await this.seedMenus(overallMetadata);
|
|
139
|
+
this.logger.log(`Seeding Email Templates`);
|
|
140
|
+
await this.seedEmailTemplates(overallMetadata, moduleMetadata.name);
|
|
141
|
+
this.logger.log(`Seeding Sms Templates`);
|
|
142
|
+
await this.seedSmsTemplates(overallMetadata, moduleMetadata.name);
|
|
143
|
+
this.logger.log(`Seeding Default Settings`);
|
|
144
|
+
await this.seedDefaultSettings();
|
|
145
|
+
this.logger.log(`Seeding Security Rules`);
|
|
146
|
+
await this.seedSecurityRules(overallMetadata);
|
|
147
|
+
this.logger.log(`Seeding List Of Values`);
|
|
148
|
+
await this.seedListOfValues(moduleMetadata, overallMetadata);
|
|
149
|
+
this.logger.log(`Seeding Dashboards`);
|
|
150
|
+
await this.seedDashboards(moduleMetadata, overallMetadata);
|
|
151
|
+
this.logger.log(`Seeding Scheduled Jobs`);
|
|
152
|
+
await this.seedScheduledJobs(moduleMetadata, overallMetadata);
|
|
206
153
|
this.logger.debug(`[End] module seed data: ${overallMetadata}`);
|
|
207
154
|
}
|
|
208
|
-
this.
|
|
209
|
-
await this.roleService.addAllPermissionsToRole("Admin");
|
|
210
|
-
const internalRolePermission = [
|
|
211
|
-
'UserController.findMany',
|
|
212
|
-
'UserController.checkIfPermissionExists',
|
|
213
|
-
'UserController.findOne',
|
|
214
|
-
'MenuItemMetadataController.findMany',
|
|
215
|
-
'MenuItemMetadataController.findUserMenus',
|
|
216
|
-
'MenuItemMetadataController.findOne',
|
|
217
|
-
'ViewMetadataController.getLayout',
|
|
218
|
-
'ViewMetadataController.findMany',
|
|
219
|
-
'ViewMetadataController.findOne',
|
|
220
|
-
'AuthenticationController.changePassword',
|
|
221
|
-
'FieldMetadataController.getSelectionDynamicValues',
|
|
222
|
-
'FieldMetadataController.getSelectionDynamicValue',
|
|
223
|
-
'FieldMetadataController.findFieldDefaultMetaData',
|
|
224
|
-
'SavedFiltersController.delete',
|
|
225
|
-
'SavedFiltersController.deleteMany',
|
|
226
|
-
'SavedFiltersController.findOne',
|
|
227
|
-
'SavedFiltersController.findMany',
|
|
228
|
-
'SavedFiltersController.recover',
|
|
229
|
-
'SavedFiltersController.recoverMany',
|
|
230
|
-
'SavedFiltersController.partialUpdate',
|
|
231
|
-
'SavedFiltersController.update',
|
|
232
|
-
'SavedFiltersController.insertMany',
|
|
233
|
-
'SavedFiltersController.create',
|
|
234
|
-
'AuthenticationController.logout',
|
|
235
|
-
'ChatterMessageController.create',
|
|
236
|
-
'ChatterMessageController.getChatterMessages',
|
|
237
|
-
'ImportTransactionController.getImportTemplate',
|
|
238
|
-
'ImportTransactionController.getImportInstructions',
|
|
239
|
-
'ImportTransactionController.getImportMappingInfo',
|
|
240
|
-
'ImportTransactionController.startImportSync',
|
|
241
|
-
'ImportTransactionController.startImportAsync',
|
|
242
|
-
'ImportTransactionController.exportFailedImportedImports',
|
|
243
|
-
'ExportTemplateController.startExportSync',
|
|
244
|
-
'ExportTemplateController.startExportAsync',
|
|
245
|
-
'ListOfValuesController.findMany',
|
|
246
|
-
'ListOfValuesController.findOne',
|
|
247
|
-
];
|
|
248
|
-
await this.roleService.addPermissionToRole('Internal User', internalRolePermission);
|
|
249
|
-
await this.roleService.addPermissionToRole('Public', ['SettingController.wrapSettings', 'AuthenticationController.logout']);
|
|
155
|
+
await this.setupDefaultRolesWithPermissions();
|
|
250
156
|
this.logger.log(`All Seeders finished`);
|
|
251
|
-
|
|
157
|
+
}
|
|
158
|
+
async seedScheduledJobs(moduleMetadata, overallMetadata) {
|
|
159
|
+
this.logger.debug(`[Start] Processing scheduled jobs for ${moduleMetadata.name}`);
|
|
160
|
+
const scheduledJobs = overallMetadata.scheduledJobs;
|
|
161
|
+
if (scheduledJobs?.length > 0) {
|
|
162
|
+
await this.handleSeedScheduledJobs(scheduledJobs);
|
|
163
|
+
}
|
|
164
|
+
this.logger.debug(`[End] Processing scheduled jobs for ${moduleMetadata.name}`);
|
|
165
|
+
}
|
|
166
|
+
async seedDashboards(moduleMetadata, overallMetadata) {
|
|
167
|
+
this.logger.debug(`[Start] Processing dashboards for ${moduleMetadata.name}`);
|
|
168
|
+
const dashboards = overallMetadata.dashboards;
|
|
169
|
+
await this.handleSeedDashboards(dashboards);
|
|
170
|
+
this.logger.debug(`[End] Processing dashboards for ${moduleMetadata.name}`);
|
|
171
|
+
}
|
|
172
|
+
async seedListOfValues(moduleMetadata, overallMetadata) {
|
|
173
|
+
this.logger.debug(`[Start] Processing List Of Values for ${moduleMetadata.name}`);
|
|
174
|
+
const listOfValues = overallMetadata.listOfValues;
|
|
175
|
+
await this.handleSeedListOfValues(listOfValues);
|
|
176
|
+
this.logger.debug(`[End] Processing List Of Values for ${moduleMetadata.name}`);
|
|
177
|
+
}
|
|
178
|
+
async setupDefaultRolesWithPermissions() {
|
|
179
|
+
this.logger.debug(`About to add all permissions to the Admin role`);
|
|
180
|
+
await this.roleService.addAllPermissionsToRole(create_role_metadata_dto_1.ADMIN_ROLE_NAME);
|
|
181
|
+
this.logger.debug(`About to add all permissions to the Internal role`);
|
|
182
|
+
await this.roleService.addPermissionToRole(create_role_metadata_dto_1.INTERNAL_ROLE_NAME, create_role_metadata_dto_1.INTERNAL_ROLE_PERMISSIONS);
|
|
183
|
+
this.logger.debug(`About to add all permissions to the Public role`);
|
|
184
|
+
await this.roleService.addPermissionToRole(create_role_metadata_dto_1.PUBLIC_ROLE_NAME, ['SettingController.wrapSettings', 'AuthenticationController.logout']);
|
|
185
|
+
}
|
|
186
|
+
async seedSecurityRules(overallMetadata) {
|
|
187
|
+
this.logger.debug(`[Start] Processing security rules`);
|
|
188
|
+
const securityRules = overallMetadata.securityRules;
|
|
189
|
+
await this.handleSeedSecurityRules(securityRules);
|
|
190
|
+
this.logger.debug(`[End] Processing security rules`);
|
|
191
|
+
}
|
|
192
|
+
async seedDefaultSettings() {
|
|
193
|
+
this.logger.debug(`[Start] Processing settings`);
|
|
194
|
+
await this.settingService.seedDefaultSettings();
|
|
195
|
+
this.logger.debug(`[End] Processing settings`);
|
|
196
|
+
}
|
|
197
|
+
async seedSmsTemplates(overallMetadata, moduleName) {
|
|
198
|
+
this.logger.debug(`[Start] Processing sms templates`);
|
|
199
|
+
const smsTemplates = overallMetadata.smsTemplates;
|
|
200
|
+
await this.handleSeedSmsTemplates(smsTemplates, moduleName);
|
|
201
|
+
this.logger.debug(`[End] Processing sms templates`);
|
|
202
|
+
}
|
|
203
|
+
async seedEmailTemplates(overallMetadata, moduleName) {
|
|
204
|
+
this.logger.debug(`[Start] Processing email templates`);
|
|
205
|
+
const emailTemplates = overallMetadata.emailTemplates;
|
|
206
|
+
await this.handleSeedEmailTemplates(emailTemplates, moduleName);
|
|
207
|
+
this.logger.debug(`[End] Processing email templates`);
|
|
208
|
+
}
|
|
209
|
+
async seedMenus(overallMetadata) {
|
|
210
|
+
this.logger.debug(`[Start] Processing menus`);
|
|
211
|
+
const menus = overallMetadata.menus;
|
|
212
|
+
await this.handleSeedMenus(menus);
|
|
213
|
+
this.logger.debug(`[End] Processing menus`);
|
|
214
|
+
}
|
|
215
|
+
async seedActions(overallMetadata) {
|
|
216
|
+
this.logger.debug(`[Start] Processing actions`);
|
|
217
|
+
const actions = overallMetadata.actions;
|
|
218
|
+
await this.handleSeedActions(actions);
|
|
219
|
+
this.logger.debug(`[End] Processing actions`);
|
|
220
|
+
}
|
|
221
|
+
async seedViews(overallMetadata) {
|
|
222
|
+
this.logger.debug(`[Start] Processing views`);
|
|
223
|
+
const views = overallMetadata.views;
|
|
224
|
+
await this.handleSeedViews(views);
|
|
225
|
+
this.logger.debug(`[End] Processing views`);
|
|
226
|
+
}
|
|
227
|
+
async seedUsers(overallMetadata) {
|
|
228
|
+
this.logger.debug(`[Start] Processing users`);
|
|
229
|
+
const users = overallMetadata.users;
|
|
230
|
+
await this.handleSeedUsers(users);
|
|
231
|
+
this.logger.debug(`[End] Processing users`);
|
|
232
|
+
}
|
|
233
|
+
async seedRoles(overallMetadata) {
|
|
234
|
+
this.logger.debug(`[Start] Processing roles`);
|
|
235
|
+
await this.roleService.createRolesIfNotExists(overallMetadata.roles.map(role => { return { name: role.name }; }));
|
|
236
|
+
for (const role of overallMetadata.roles) {
|
|
237
|
+
if (role.permissions) {
|
|
238
|
+
await this.roleService.addPermissionsToRole(role.name, role.permissions);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
this.logger.debug(`[End] Processing roles`);
|
|
242
|
+
}
|
|
243
|
+
get seedDataFiles() {
|
|
244
|
+
const typedSolidCoreMetadata = structuredClone(solid_core_metadata_json_1.default);
|
|
245
|
+
const seedDataFiles = [typedSolidCoreMetadata];
|
|
246
|
+
const enabledModules = (0, module_helper_1.getDynamicModuleNames)();
|
|
247
|
+
for (const enabledModule of enabledModules) {
|
|
248
|
+
const enabledModuleSeedFile = `module-metadata/${enabledModule}/${enabledModule}-metadata.json`;
|
|
249
|
+
const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
|
|
250
|
+
if (fs.existsSync(fullPath)) {
|
|
251
|
+
const overallMetadata = JSON.parse(fs.readFileSync(fullPath, 'utf-8'));
|
|
252
|
+
seedDataFiles.push(overallMetadata);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return seedDataFiles;
|
|
256
|
+
}
|
|
257
|
+
async seedGlobalMetadata() {
|
|
258
|
+
this.logger.log(`Seeding Permissions`);
|
|
259
|
+
await this.seedPermissions();
|
|
260
|
+
this.logger.log(`Seeding Default Media Storage Providers`);
|
|
261
|
+
await this.seedDefaultMediaStorageProviders();
|
|
262
|
+
this.logger.log(`Seeding System Fields Metadata`);
|
|
263
|
+
await this.seedDefaultSystemFields();
|
|
264
|
+
}
|
|
265
|
+
async seedDefaultSystemFields() {
|
|
266
|
+
await this.systemFieldsSeederService.seed();
|
|
252
267
|
}
|
|
253
268
|
async seedPermissions() {
|
|
254
269
|
const controllers = this.solidRegistry.getControllers();
|
|
255
270
|
for (let id = 0; id < controllers.length; id++) {
|
|
256
271
|
try {
|
|
257
272
|
const controller = controllers[id];
|
|
258
|
-
this.logger.log(`Resolving controller: ${controller.name}`);
|
|
259
273
|
const methods = controller.methods;
|
|
260
274
|
for (let mId = 0; mId < methods.length; mId++) {
|
|
261
275
|
const methodName = methods[mId];
|
|
@@ -265,10 +279,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
265
279
|
name: permissionName
|
|
266
280
|
}
|
|
267
281
|
});
|
|
268
|
-
if (existingPermission) {
|
|
269
|
-
this.logger.log(`Permission ${permissionName} already exists.`);
|
|
270
|
-
}
|
|
271
|
-
else {
|
|
282
|
+
if (!existingPermission) {
|
|
272
283
|
this.logger.log(`Permission ${permissionName} does not exist, creating new.`);
|
|
273
284
|
const newPermission = this.permissionRepo.create({
|
|
274
285
|
name: permissionName
|
|
@@ -282,32 +293,34 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
282
293
|
}
|
|
283
294
|
}
|
|
284
295
|
}
|
|
296
|
+
async seedDefaultMediaStorageProviders() {
|
|
297
|
+
await this.mediaStorageProviderSeederService.seed();
|
|
298
|
+
}
|
|
285
299
|
async seedMediaStorageProviders(mediaStorageProviders) {
|
|
300
|
+
this.logger.debug(`[Start] Processing Media Storage Provider`);
|
|
286
301
|
for (let i = 0; i < mediaStorageProviders.length; i++) {
|
|
287
|
-
const
|
|
288
|
-
await this.mediaStorageProviderMetadataService.upsert(
|
|
302
|
+
const mediaStorageProvider = mediaStorageProviders[i];
|
|
303
|
+
await this.mediaStorageProviderMetadataService.upsert(mediaStorageProvider);
|
|
289
304
|
}
|
|
305
|
+
this.logger.debug(`[End] Processing Media Storage Provider`);
|
|
290
306
|
}
|
|
291
|
-
async
|
|
307
|
+
async handleSeedEmailTemplates(emailTemplates, moduleName) {
|
|
292
308
|
if (!emailTemplates) {
|
|
293
309
|
return;
|
|
294
310
|
}
|
|
295
311
|
for (let i = 0; i < emailTemplates.length; i++) {
|
|
296
312
|
const emailTemplate = emailTemplates[i];
|
|
297
|
-
|
|
298
|
-
if (moduleMetadata.name === 'solid-core') {
|
|
313
|
+
if (moduleName === 'solid-core') {
|
|
299
314
|
const modulePath = path.dirname(require.resolve('@solidstarters/solid-core'));
|
|
300
315
|
const seedDataPath = path.join(modulePath, '../src/seeders/seed-data/email-templates');
|
|
301
316
|
const filePath = path.join(seedDataPath, emailTemplate.body);
|
|
302
|
-
this.logger.log(`Seeding email template from solid-core at path: ${filePath}`);
|
|
303
317
|
if (fs.existsSync(filePath)) {
|
|
304
318
|
emailTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
|
|
305
319
|
}
|
|
306
320
|
}
|
|
307
321
|
else {
|
|
308
|
-
const emailTemplateHandlebar = `module-metadata/${
|
|
322
|
+
const emailTemplateHandlebar = `module-metadata/${moduleName}/email-templates/${emailTemplate.body}`;
|
|
309
323
|
const fullPath = path.join(process.cwd(), emailTemplateHandlebar);
|
|
310
|
-
this.logger.log(`Seeding custom email template from consuming model at path: ${fullPath}`);
|
|
311
324
|
if (fs.existsSync(fullPath)) {
|
|
312
325
|
emailTemplate.body = fs.readFileSync(fullPath, 'utf-8').toString();
|
|
313
326
|
}
|
|
@@ -316,26 +329,23 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
316
329
|
await this.emailTemplateService.create(emailTemplate);
|
|
317
330
|
}
|
|
318
331
|
}
|
|
319
|
-
async
|
|
332
|
+
async handleSeedSmsTemplates(smsTemplates, moduleName) {
|
|
320
333
|
if (!smsTemplates) {
|
|
321
334
|
return;
|
|
322
335
|
}
|
|
323
336
|
for (let i = 0; i < smsTemplates.length; i++) {
|
|
324
337
|
const smsTemplate = smsTemplates[i];
|
|
325
|
-
|
|
326
|
-
if (moduleMetadata.name === 'solid-core') {
|
|
338
|
+
if (moduleName === 'solid-core') {
|
|
327
339
|
const modulePath = path.dirname(require.resolve('@solidstarters/solid-core'));
|
|
328
340
|
const seedDataPath = path.join(modulePath, '../src/seeders/seed-data/sms-templates');
|
|
329
341
|
const filePath = path.join(seedDataPath, smsTemplate.body);
|
|
330
|
-
this.logger.log(`Seeding sms template from solid-core at path: ${filePath}`);
|
|
331
342
|
if (fs.existsSync(filePath)) {
|
|
332
343
|
smsTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
|
|
333
344
|
}
|
|
334
345
|
}
|
|
335
346
|
else {
|
|
336
|
-
const emailTemplateHandlebar = `module-metadata/${
|
|
347
|
+
const emailTemplateHandlebar = `module-metadata/${moduleName}/sms-templates/${smsTemplate.body}`;
|
|
337
348
|
const fullPath = path.join(process.cwd(), emailTemplateHandlebar);
|
|
338
|
-
this.logger.log(`Seeding custom sms template from consuming model at path: ${fullPath}`);
|
|
339
349
|
if (fs.existsSync(fullPath)) {
|
|
340
350
|
smsTemplate.body = fs.readFileSync(fullPath, 'utf-8').toString();
|
|
341
351
|
}
|
|
@@ -344,38 +354,82 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
344
354
|
await this.smsTemplateService.create(smsTemplate);
|
|
345
355
|
}
|
|
346
356
|
}
|
|
347
|
-
async
|
|
357
|
+
async handleSeedMenus(menus) {
|
|
348
358
|
if (!menus) {
|
|
349
359
|
return;
|
|
350
360
|
}
|
|
351
|
-
|
|
352
|
-
const
|
|
353
|
-
const
|
|
354
|
-
const
|
|
355
|
-
const
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
361
|
+
await this.dataSource.transaction(async (trx) => {
|
|
362
|
+
const menuRepo = trx.getRepository(src_1.MenuItemMetadata);
|
|
363
|
+
const roleRepo = trx.getRepository(src_1.RoleMetadata);
|
|
364
|
+
const actionRepo = trx.getRepository(src_1.ActionMetadata);
|
|
365
|
+
const moduleRepo = trx.getRepository(src_1.ModuleMetadata);
|
|
366
|
+
for (const m of menus) {
|
|
367
|
+
const entity = menuRepo.create({
|
|
368
|
+
name: m.name,
|
|
369
|
+
displayName: m.displayName,
|
|
370
|
+
action: m.actionUserKey
|
|
371
|
+
? await actionRepo.findOne({ where: { name: m.actionUserKey }, select: ["id"] })
|
|
372
|
+
: null,
|
|
373
|
+
module: m.moduleUserKey
|
|
374
|
+
? await moduleRepo.findOne({ where: { name: m.moduleUserKey }, select: ["id"] })
|
|
375
|
+
: null,
|
|
376
|
+
parentMenuItem: m.parentMenuItemUserKey
|
|
377
|
+
? await menuRepo.findOne({ where: { name: m.parentMenuItemUserKey }, select: ["id"] })
|
|
378
|
+
: null,
|
|
379
|
+
});
|
|
380
|
+
await menuRepo.upsert(entity, ["name"]);
|
|
381
|
+
}
|
|
382
|
+
const seeded = await menuRepo.find({
|
|
383
|
+
where: { name: (0, typeorm_2.In)(menus.map((m) => m.name)) },
|
|
384
|
+
select: ["id", "name"],
|
|
385
|
+
});
|
|
386
|
+
const idByName = new Map(seeded.map(s => [s.name, s.id]));
|
|
387
|
+
const admin = await roleRepo.findOne({ where: { name: create_role_metadata_dto_1.ADMIN_ROLE_NAME }, select: ["id", "name"] });
|
|
388
|
+
const allRoleNames = new Set();
|
|
389
|
+
for (const m of menus)
|
|
390
|
+
(m.roles ?? []).forEach((r) => allRoleNames.add(r));
|
|
391
|
+
if (admin)
|
|
392
|
+
allRoleNames.add(admin.name);
|
|
393
|
+
const roles = await roleRepo.find({
|
|
394
|
+
where: { name: (0, typeorm_2.In)([...allRoleNames]) },
|
|
395
|
+
select: ["id", "name"],
|
|
396
|
+
});
|
|
397
|
+
const roleByName = new Map(roles.map(r => [r.name, r]));
|
|
398
|
+
const joinRows = [];
|
|
399
|
+
for (const m of menus) {
|
|
400
|
+
const menuId = idByName.get(m.name);
|
|
401
|
+
const roleNames = new Set([...(m.roles ?? []), admin?.name].filter(Boolean));
|
|
402
|
+
for (const rn of roleNames) {
|
|
403
|
+
const role = roleByName.get(rn);
|
|
404
|
+
if (role)
|
|
405
|
+
joinRows.push({ menuId, roleId: role.id });
|
|
364
406
|
}
|
|
365
407
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
408
|
+
const menuIds = [...new Set(joinRows.map(r => r.menuId))];
|
|
409
|
+
if (menuIds.length) {
|
|
410
|
+
await trx
|
|
411
|
+
.createQueryBuilder()
|
|
412
|
+
.delete()
|
|
413
|
+
.from(src_1.MENU_ROLE_JOIN_TABLE_NAME)
|
|
414
|
+
.where(`${src_1.MENU_ROLE_JOIN_TABLE_NAME_MENU_COL} IN (:...ids)`, { ids: menuIds })
|
|
415
|
+
.execute();
|
|
371
416
|
}
|
|
372
|
-
|
|
373
|
-
|
|
417
|
+
if (joinRows.length) {
|
|
418
|
+
const values = joinRows.map(r => ({
|
|
419
|
+
[src_1.MENU_ROLE_JOIN_TABLE_NAME_MENU_COL]: r.menuId,
|
|
420
|
+
[src_1.MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL]: r.roleId,
|
|
421
|
+
}));
|
|
422
|
+
await trx
|
|
423
|
+
.createQueryBuilder()
|
|
424
|
+
.insert()
|
|
425
|
+
.into(src_1.MENU_ROLE_JOIN_TABLE_NAME)
|
|
426
|
+
.values(values)
|
|
427
|
+
.orIgnore()
|
|
428
|
+
.execute();
|
|
374
429
|
}
|
|
375
|
-
|
|
376
|
-
}
|
|
430
|
+
});
|
|
377
431
|
}
|
|
378
|
-
async
|
|
432
|
+
async handleSeedActions(actions) {
|
|
379
433
|
if (!actions) {
|
|
380
434
|
return;
|
|
381
435
|
}
|
|
@@ -394,7 +448,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
394
448
|
await this.solidActionService.upsert(actionData);
|
|
395
449
|
}
|
|
396
450
|
}
|
|
397
|
-
async
|
|
451
|
+
async handleSeedViews(views) {
|
|
398
452
|
if (!views) {
|
|
399
453
|
return;
|
|
400
454
|
}
|
|
@@ -406,7 +460,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
406
460
|
await this.solidViewService.upsert(viewData);
|
|
407
461
|
}
|
|
408
462
|
}
|
|
409
|
-
async
|
|
463
|
+
async handleSeedUsers(users) {
|
|
410
464
|
if (!users) {
|
|
411
465
|
return;
|
|
412
466
|
}
|
|
@@ -420,6 +474,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
420
474
|
}
|
|
421
475
|
}
|
|
422
476
|
async seedModuleModelFields(moduleMetadata) {
|
|
477
|
+
this.logger.debug(`[Start] Processing module metadata`);
|
|
423
478
|
const module = await this.moduleMetadataService.upsert(moduleMetadata);
|
|
424
479
|
const modelsMetadata = moduleMetadata.models;
|
|
425
480
|
for (let j = 0; j < modelsMetadata.length; j++) {
|
|
@@ -451,14 +506,15 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
451
506
|
await this.modelMetadataService.upsert(modelMetaDataWithoutFields);
|
|
452
507
|
}
|
|
453
508
|
}
|
|
509
|
+
this.logger.debug(`[End] Processing module metadata`);
|
|
454
510
|
}
|
|
455
511
|
async seedSettings(createDto) {
|
|
456
512
|
const settingsArray = await this.settingsRepo.find();
|
|
457
513
|
if (!settingsArray || settingsArray.length === 0) {
|
|
458
|
-
this.
|
|
514
|
+
this.settingService.create(createDto);
|
|
459
515
|
}
|
|
460
516
|
}
|
|
461
|
-
async
|
|
517
|
+
async handleSeedSecurityRules(rulesDto) {
|
|
462
518
|
if (!rulesDto || rulesDto.length === 0) {
|
|
463
519
|
this.logger.debug(`No security rules found to seed`);
|
|
464
520
|
return;
|
|
@@ -467,7 +523,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
467
523
|
await this.securityRuleRepo.upsertWithDto({ ...dto, securityRuleConfig: JSON.stringify(dto.securityRuleConfig) });
|
|
468
524
|
}
|
|
469
525
|
}
|
|
470
|
-
async
|
|
526
|
+
async handleSeedListOfValues(listOfValuesDto) {
|
|
471
527
|
if (!listOfValuesDto || listOfValuesDto.length === 0) {
|
|
472
528
|
this.logger.debug(`No List Of Values found to seed`);
|
|
473
529
|
return;
|
|
@@ -478,7 +534,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
478
534
|
await this.listOfValuesService.upsert(listOfValuesDto[j]);
|
|
479
535
|
}
|
|
480
536
|
}
|
|
481
|
-
async
|
|
537
|
+
async handleSeedDashboards(dashboardDtos) {
|
|
482
538
|
if (!dashboardDtos || dashboardDtos.length === 0) {
|
|
483
539
|
this.logger.debug(`No dashboards found to seed`);
|
|
484
540
|
return;
|
|
@@ -487,7 +543,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
487
543
|
await this.dashboardRepo.upsertWithDto(dto);
|
|
488
544
|
}
|
|
489
545
|
}
|
|
490
|
-
async
|
|
546
|
+
async handleSeedScheduledJobs(createScheduledJobDto) {
|
|
491
547
|
if (!createScheduledJobDto || createScheduledJobDto.length === 0) {
|
|
492
548
|
this.logger.debug(`No scheduled jobs found to seed`);
|
|
493
549
|
return;
|
|
@@ -525,6 +581,7 @@ exports.ModuleMetadataSeederService = ModuleMetadataSeederService = ModuleMetada
|
|
|
525
581
|
security_rule_repository_1.SecurityRuleRepository,
|
|
526
582
|
system_fields_seeder_service_1.SystemFieldsSeederService,
|
|
527
583
|
dashboard_repository_1.DashboardRepository,
|
|
528
|
-
scheduled_job_repository_1.ScheduledJobRepository
|
|
584
|
+
scheduled_job_repository_1.ScheduledJobRepository,
|
|
585
|
+
typeorm_2.DataSource])
|
|
529
586
|
], ModuleMetadataSeederService);
|
|
530
587
|
//# sourceMappingURL=module-metadata-seeder.service.js.map
|