@solidxai/core 0.1.12-beta.0 → 0.1.12-beta.10
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/commands/seed.command.d.ts.map +1 -1
- package/dist/commands/seed.command.js +10 -2
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/constants/error-messages.d.ts +1 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +1 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/media-file-types.d.ts +5 -0
- package/dist/constants/media-file-types.d.ts.map +1 -0
- package/dist/constants/media-file-types.js +27 -0
- package/dist/constants/media-file-types.js.map +1 -0
- package/dist/controllers/media.controller.d.ts +14 -11
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.js +72 -33
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/create-chatter-message.dto.js +7 -1
- package/dist/dtos/create-chatter-message.dto.js.map +1 -1
- package/dist/dtos/create-media.dto.d.ts +1 -0
- package/dist/dtos/create-media.dto.d.ts.map +1 -1
- package/dist/dtos/create-media.dto.js +7 -1
- package/dist/dtos/create-media.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +3 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/post-chatter-message.dto.js +6 -1
- package/dist/dtos/post-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/update-chatter-message.dto.js +8 -1
- package/dist/dtos/update-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-chatter-note-message.dto.d.ts +1 -0
- package/dist/dtos/update-chatter-note-message.dto.d.ts.map +1 -1
- package/dist/dtos/update-chatter-note-message.dto.js +7 -1
- package/dist/dtos/update-chatter-note-message.dto.js.map +1 -1
- package/dist/dtos/update-media.dto.d.ts +1 -0
- package/dist/dtos/update-media.dto.d.ts.map +1 -1
- package/dist/dtos/update-media.dto.js +7 -1
- package/dist/dtos/update-media.dto.js.map +1 -1
- package/dist/entities/chatter-message.entity.d.ts +1 -0
- package/dist/entities/chatter-message.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message.entity.js +5 -1
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/enums/auth-type.enum.d.ts +2 -1
- package/dist/enums/auth-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-type.enum.js +1 -0
- package/dist/enums/auth-type.enum.js.map +1 -1
- package/dist/guards/authentication.guard.d.ts +3 -1
- package/dist/guards/authentication.guard.d.ts.map +1 -1
- package/dist/guards/authentication.guard.js +5 -1
- package/dist/guards/authentication.guard.js.map +1 -1
- package/dist/guards/media-signed-url.guard.d.ts +9 -0
- package/dist/guards/media-signed-url.guard.d.ts.map +1 -0
- package/dist/guards/media-signed-url.guard.js +49 -0
- package/dist/guards/media-signed-url.guard.js.map +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +10 -13
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.d.ts.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.js +9 -0
- package/dist/helpers/solid-core-error-codes-provider.service.js.map +1 -1
- package/dist/interfaces/chatter-mention-notification.interface.d.ts +27 -0
- package/dist/interfaces/chatter-mention-notification.interface.d.ts.map +1 -0
- package/dist/interfaces/chatter-mention-notification.interface.js +3 -0
- package/dist/interfaces/chatter-mention-notification.interface.js.map +1 -0
- package/dist/interfaces.d.ts +19 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +2 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.d.ts +17 -0
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.d.ts.map +1 -0
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.js +106 -0
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.js.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.d.ts +12 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.js +39 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.js +10 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.js.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.d.ts +20 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.js +48 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.js.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.d.ts +12 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.js +39 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.js.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.d.ts +8 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.js +10 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.js.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.d.ts +18 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.js +45 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.js.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.d.ts +12 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.d.ts.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.js +39 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.js.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.d.ts +8 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.d.ts.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.js +10 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.js.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.d.ts +18 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.d.ts.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.js +45 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.js.map +1 -0
- package/dist/repository/media.repository.d.ts.map +1 -1
- package/dist/repository/media.repository.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +7 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +87 -3
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -0
- package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.js +6 -1
- package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +95 -13
- package/dist/services/authentication.service.d.ts +2 -2
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +52 -43
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +7 -1
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +85 -4
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/media-download-url.service.d.ts +22 -0
- package/dist/services/media-download-url.service.d.ts.map +1 -0
- package/dist/services/media-download-url.service.js +70 -0
- package/dist/services/media-download-url.service.js.map +1 -0
- package/dist/services/media-storage.utils.d.ts +24 -0
- package/dist/services/media-storage.utils.d.ts.map +1 -0
- package/dist/services/media-storage.utils.js +73 -0
- package/dist/services/media-storage.utils.js.map +1 -0
- package/dist/services/media.service.d.ts +20 -4
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +155 -55
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +4 -4
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +34 -63
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js +34 -38
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/role-metadata.service.d.ts +1 -0
- package/dist/services/role-metadata.service.d.ts.map +1 -1
- package/dist/services/role-metadata.service.js +8 -5
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +25 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.js +1 -1
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/seed.command.ts +12 -3
- package/src/constants/error-messages.ts +1 -0
- package/src/constants/media-file-types.ts +44 -0
- package/src/controllers/media.controller.ts +44 -24
- package/src/dtos/create-chatter-message.dto.ts +5 -0
- package/src/dtos/create-media.dto.ts +8 -3
- package/src/dtos/create-role-metadata.dto.ts +2 -0
- package/src/dtos/post-chatter-message.dto.ts +4 -0
- package/src/dtos/update-chatter-message.dto.ts +6 -0
- package/src/dtos/update-chatter-note-message.dto.ts +5 -0
- package/src/dtos/update-media.dto.ts +8 -3
- package/src/entities/chatter-message.entity.ts +3 -0
- package/src/entities/media.entity.ts +1 -1
- package/src/enums/auth-type.enum.ts +1 -0
- package/src/guards/authentication.guard.ts +3 -0
- package/src/guards/media-signed-url.guard.ts +41 -0
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +12 -24
- package/src/helpers/solid-core-error-codes-provider.service.ts +9 -0
- package/src/interfaces/chatter-mention-notification.interface.ts +29 -0
- package/src/interfaces.ts +20 -0
- package/src/jobs/chatter-mention-notification-email-queue-handler.service.ts +114 -0
- package/src/jobs/database/chatter-mention-notification-email-publisher-database.service.ts +23 -0
- package/src/jobs/database/chatter-mention-notification-email-queue-options-database.ts +9 -0
- package/src/jobs/database/chatter-mention-notification-email-subscriber-database.service.ts +32 -0
- package/src/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.ts +23 -0
- package/src/jobs/rabbitmq/chatter-mention-notification-email-queue-options.ts +9 -0
- package/src/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.ts +30 -0
- package/src/jobs/redis/chatter-mention-notification-email-publisher-redis.service.ts +23 -0
- package/src/jobs/redis/chatter-mention-notification-email-queue-options-redis.ts +9 -0
- package/src/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.ts +30 -0
- package/src/repository/media.repository.ts +1 -0
- package/src/seeders/module-metadata-seeder.service.ts +109 -3
- package/src/seeders/permission-metadata-seeder.service.ts +6 -1
- package/src/seeders/seed-data/email-templates/chatter-mention-notification.handlebars.html +200 -0
- package/src/seeders/seed-data/solid-core-metadata.json +95 -13
- package/src/services/authentication.service.ts +66 -55
- package/src/services/chatter-message.service.ts +97 -2
- package/src/services/media-download-url.service.ts +74 -0
- package/src/services/media-storage.utils.ts +70 -0
- package/src/services/media.service.ts +187 -59
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +49 -76
- package/src/services/mediaStorageProviders/file-storage-provider.ts +41 -48
- package/src/services/role-metadata.service.ts +17 -5
- package/src/solid-core.module.ts +35 -2
- package/src/subscribers/audit.subscriber.ts +1 -1
|
@@ -51,9 +51,11 @@ var ModuleMetadataSeederService_1;
|
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
52
|
exports.ModuleMetadataSeederService = void 0;
|
|
53
53
|
const common_1 = require("@nestjs/common");
|
|
54
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
54
55
|
const fs = __importStar(require("fs"));
|
|
55
56
|
const os = __importStar(require("os"));
|
|
56
57
|
const path = __importStar(require("path"));
|
|
58
|
+
const uuid_1 = require("uuid");
|
|
57
59
|
const security_rule_repository_1 = require("../repository/security-rule.repository");
|
|
58
60
|
const authentication_service_1 = require("../services/authentication.service");
|
|
59
61
|
const email_template_service_1 = require("../services/email-template.service");
|
|
@@ -98,10 +100,12 @@ const field_metadata_entity_1 = require("../entities/field-metadata.entity");
|
|
|
98
100
|
const model_metadata_entity_1 = require("../entities/model-metadata.entity");
|
|
99
101
|
const permission_metadata_entity_1 = require("../entities/permission-metadata.entity");
|
|
100
102
|
const view_metadata_entity_1 = require("../entities/view-metadata.entity");
|
|
103
|
+
const interfaces_1 = require("../interfaces");
|
|
101
104
|
let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMetadataSeederService {
|
|
102
|
-
constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, apiKeyService, solidActionService, solidViewService, emailTemplateService, smsTemplateService, listOfValuesService, userApiKeyRepository, permissionRepo, solidRegistry, settingService, settingsRepo, securityRuleRepo, systemFieldsSeederService, scheduledJobRepository, savedFiltersRepo, dataSource, modelSequenceRepo, localeRepo) {
|
|
105
|
+
constructor(moduleMetadataService, modelMetadataService, eventEmitter, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, apiKeyService, solidActionService, solidViewService, emailTemplateService, smsTemplateService, listOfValuesService, userApiKeyRepository, permissionRepo, solidRegistry, settingService, settingsRepo, securityRuleRepo, systemFieldsSeederService, scheduledJobRepository, savedFiltersRepo, dataSource, modelSequenceRepo, localeRepo) {
|
|
103
106
|
this.moduleMetadataService = moduleMetadataService;
|
|
104
107
|
this.modelMetadataService = modelMetadataService;
|
|
108
|
+
this.eventEmitter = eventEmitter;
|
|
105
109
|
this.fieldMetadataService = fieldMetadataService;
|
|
106
110
|
this.mediaStorageProviderMetadataService = mediaStorageProviderMetadataService;
|
|
107
111
|
this.roleService = roleService;
|
|
@@ -125,6 +129,11 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
125
129
|
this.dataSource = dataSource;
|
|
126
130
|
this.modelSequenceRepo = modelSequenceRepo;
|
|
127
131
|
this.localeRepo = localeRepo;
|
|
132
|
+
this.adminPermissionExclusionPrefixes = [
|
|
133
|
+
'ImportTransactionController.',
|
|
134
|
+
'ExportTemplateController.',
|
|
135
|
+
'ExportTransactionController.',
|
|
136
|
+
];
|
|
128
137
|
this.logger = new common_1.Logger(ModuleMetadataSeederService_1.name);
|
|
129
138
|
this.seedTimingTag = 'SEED_TIMING';
|
|
130
139
|
this.permissionSeedBatchSize = 500;
|
|
@@ -140,7 +149,22 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
140
149
|
let currentModule = 'global';
|
|
141
150
|
let currentStep = 'bootstrap';
|
|
142
151
|
let modulesToSeed = null;
|
|
152
|
+
const requestedModulesToSeed = Array.isArray(conf?.modulesToSeed) ? [...conf.modulesToSeed] : null;
|
|
143
153
|
const shouldSeedGlobalMetadata = conf?.seedGlobalMetadata !== false;
|
|
154
|
+
const seedOptions = {
|
|
155
|
+
modulesToSeed: requestedModulesToSeed,
|
|
156
|
+
pruneMetadata: Boolean(conf?.pruneMetadata),
|
|
157
|
+
seedGlobalMetadata: shouldSeedGlobalMetadata,
|
|
158
|
+
};
|
|
159
|
+
const seedRunId = (0, uuid_1.v4)();
|
|
160
|
+
const startedAt = new Date();
|
|
161
|
+
const seededModuleNames = [];
|
|
162
|
+
this.emitModuleMetadataSeederEvent(interfaces_1.EventType.MODULE_METADATA_SEEDER_STARTED, {
|
|
163
|
+
seedRunId,
|
|
164
|
+
options: seedOptions,
|
|
165
|
+
startedAt: startedAt.toISOString(),
|
|
166
|
+
currentStep,
|
|
167
|
+
});
|
|
144
168
|
try {
|
|
145
169
|
this.enablePruning = Boolean(conf?.pruneMetadata);
|
|
146
170
|
this.resetLookupCaches();
|
|
@@ -180,6 +204,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
180
204
|
}
|
|
181
205
|
console.log(`▶ Seeding Metadata for Module: ${moduleMetadata.name}`);
|
|
182
206
|
this.logger.log(`Seeding Metadata for Module: ${moduleMetadata.name}`);
|
|
207
|
+
seededModuleNames.push(moduleMetadata.name);
|
|
183
208
|
await this.timeOperation('module-total', async () => {
|
|
184
209
|
currentStep = 'seedMediaStorageProviders';
|
|
185
210
|
this.logger.log(`Seeding Media Storage Providers`);
|
|
@@ -252,8 +277,29 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
252
277
|
await this.timeOperation('setup-default-roles-with-permissions', () => this.setupDefaultRolesWithPermissions(), { moduleName: 'global', component: 'default-roles' });
|
|
253
278
|
}, { moduleName: 'global', component: 'seed-run' });
|
|
254
279
|
console.log(`✔ Seeding completed.`);
|
|
280
|
+
await this.emitModuleMetadataSeederFinishedEvent(interfaces_1.EventType.MODULE_METADATA_SEEDER_FINISHED, {
|
|
281
|
+
seedRunId,
|
|
282
|
+
options: seedOptions,
|
|
283
|
+
startedAt: startedAt.toISOString(),
|
|
284
|
+
finishedAt: new Date().toISOString(),
|
|
285
|
+
durationMs: Date.now() - startedAt.getTime(),
|
|
286
|
+
success: true,
|
|
287
|
+
seededModuleNames,
|
|
288
|
+
currentStep,
|
|
289
|
+
});
|
|
255
290
|
}
|
|
256
291
|
catch (error) {
|
|
292
|
+
await this.emitModuleMetadataSeederFinishedEvent(interfaces_1.EventType.MODULE_METADATA_SEEDER_FINISHED, {
|
|
293
|
+
seedRunId,
|
|
294
|
+
options: seedOptions,
|
|
295
|
+
startedAt: startedAt.toISOString(),
|
|
296
|
+
finishedAt: new Date().toISOString(),
|
|
297
|
+
durationMs: Date.now() - startedAt.getTime(),
|
|
298
|
+
success: false,
|
|
299
|
+
seededModuleNames,
|
|
300
|
+
currentStep,
|
|
301
|
+
errorMessage: error?.message,
|
|
302
|
+
});
|
|
257
303
|
this.logSeedFailureForCli(error, {
|
|
258
304
|
moduleName: currentModule,
|
|
259
305
|
step: currentStep,
|
|
@@ -263,6 +309,25 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
263
309
|
throw error;
|
|
264
310
|
}
|
|
265
311
|
}
|
|
312
|
+
emitModuleMetadataSeederEvent(type, payload) {
|
|
313
|
+
try {
|
|
314
|
+
this.eventEmitter.emit(type, new interfaces_1.EventDetails(type, payload));
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
this.logger.warn(`Failed to emit ${type}: ${error?.message ?? error}`);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
async emitModuleMetadataSeederFinishedEvent(type, payload) {
|
|
321
|
+
try {
|
|
322
|
+
console.log(`▶ Running post-seed hooks for runId=${payload.seedRunId}`);
|
|
323
|
+
await this.eventEmitter.emitAsync(type, new interfaces_1.EventDetails(type, payload));
|
|
324
|
+
console.log(`✔ Post-seed hooks completed for runId=${payload.seedRunId}`);
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
console.log(`✖ Post-seed hooks failed for runId=${payload.seedRunId}: ${error?.message ?? error}`);
|
|
328
|
+
this.logger.warn(`Failed to emit ${type}: ${error?.message ?? error}`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
266
331
|
buildTimingPrefix(itemTag, options) {
|
|
267
332
|
const parts = [`[${this.seedTimingTag}]`, `[ITEM:${itemTag}]`];
|
|
268
333
|
if (options?.moduleName) {
|
|
@@ -428,13 +493,31 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
|
|
|
428
493
|
}
|
|
429
494
|
async setupDefaultRolesWithPermissions() {
|
|
430
495
|
this.logger.debug(`About to add all permissions to the Admin role`);
|
|
431
|
-
await this.timeOperation('role-add-all-permissions', () => this.roleService.
|
|
496
|
+
await this.timeOperation('role-add-all-permissions', () => this.roleService.addAllPermissionsToRoleExceptPrefixes(create_role_metadata_dto_1.ADMIN_ROLE_NAME, this.adminPermissionExclusionPrefixes), {
|
|
497
|
+
moduleName: 'global',
|
|
498
|
+
component: 'default-roles',
|
|
499
|
+
serviceCall: 'roleService.addAllPermissionsToRoleExceptPrefixes',
|
|
500
|
+
details: `role=${create_role_metadata_dto_1.ADMIN_ROLE_NAME}`,
|
|
501
|
+
});
|
|
502
|
+
await this.timeOperation('attach-capability-roles-to-admin-users', () => this.attachCapabilityRolesToAdminUsers(), {
|
|
432
503
|
moduleName: 'global',
|
|
433
504
|
component: 'default-roles',
|
|
434
|
-
serviceCall: '
|
|
505
|
+
serviceCall: 'attachCapabilityRolesToAdminUsers',
|
|
435
506
|
details: `role=${create_role_metadata_dto_1.ADMIN_ROLE_NAME}`,
|
|
436
507
|
});
|
|
437
508
|
}
|
|
509
|
+
async attachCapabilityRolesToAdminUsers() {
|
|
510
|
+
const adminUsers = await this.userService.findUsersByRole(create_role_metadata_dto_1.ADMIN_ROLE_NAME, {});
|
|
511
|
+
if (!adminUsers?.length) {
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
const capabilityRoles = [create_role_metadata_dto_1.ALLOWED_TO_IMPORT_ROLE_NAME, create_role_metadata_dto_1.ALLOWED_TO_EXPORT_ROLE_NAME];
|
|
515
|
+
for (const adminUser of adminUsers) {
|
|
516
|
+
for (const capabilityRole of capabilityRoles) {
|
|
517
|
+
await this.userService.addRoleToUser(adminUser.username, capabilityRole);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
438
521
|
async seedSecurityRules(overallMetadata) {
|
|
439
522
|
const securityRules = this.getSeedArray(overallMetadata?.securityRules);
|
|
440
523
|
const pruned = this.enablePruning ? await this.timeOperation('prune-security-rules', () => this.pruneSecurityRules(securityRules, overallMetadata?.moduleMetadata?.name), {
|
|
@@ -2191,6 +2274,7 @@ exports.ModuleMetadataSeederService = ModuleMetadataSeederService = ModuleMetada
|
|
|
2191
2274
|
__param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => model_metadata_service_1.ModelMetadataService))),
|
|
2192
2275
|
__metadata("design:paramtypes", [module_metadata_service_1.ModuleMetadataService,
|
|
2193
2276
|
model_metadata_service_1.ModelMetadataService,
|
|
2277
|
+
event_emitter_1.EventEmitter2,
|
|
2194
2278
|
field_metadata_service_1.FieldMetadataService,
|
|
2195
2279
|
media_storage_provider_metadata_service_1.MediaStorageProviderMetadataService,
|
|
2196
2280
|
role_metadata_service_1.RoleMetadataService,
|