@solidxai/core 0.1.13-beta.6 → 0.1.13-beta.8
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/CHANGELOG.md +1076 -0
- package/dist/constants/draft-publish-fields.d.ts +2 -0
- package/dist/constants/draft-publish-fields.d.ts.map +1 -0
- package/dist/constants/draft-publish-fields.js +5 -0
- package/dist/constants/draft-publish-fields.js.map +1 -0
- package/dist/constants/media-file-types.d.ts +9 -0
- package/dist/constants/media-file-types.d.ts.map +1 -1
- package/dist/constants/media-file-types.js +27 -1
- package/dist/constants/media-file-types.js.map +1 -1
- package/dist/controllers/action-metadata.controller.d.ts +1 -1
- package/dist/controllers/action-metadata.controller.js +1 -1
- package/dist/controllers/agent-event.controller.d.ts +1 -1
- package/dist/controllers/agent-event.controller.js +1 -1
- package/dist/controllers/agent-session.controller.d.ts +1 -1
- package/dist/controllers/agent-session.controller.js +1 -1
- package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -1
- package/dist/controllers/dashboard-user-layout.controller.js +1 -1
- package/dist/controllers/email-template.controller.d.ts +1 -1
- package/dist/controllers/email-template.controller.js +1 -1
- package/dist/controllers/export-template.controller.d.ts +1 -1
- package/dist/controllers/export-template.controller.d.ts.map +1 -1
- package/dist/controllers/export-template.controller.js +6 -4
- package/dist/controllers/export-template.controller.js.map +1 -1
- package/dist/controllers/export-transaction.controller.d.ts +1 -1
- package/dist/controllers/export-transaction.controller.js +1 -1
- package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -1
- package/dist/controllers/import-transaction-error-log.controller.js +1 -1
- package/dist/controllers/import-transaction.controller.d.ts +1 -1
- package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
- package/dist/controllers/import-transaction.controller.js +7 -7
- package/dist/controllers/import-transaction.controller.js.map +1 -1
- package/dist/controllers/list-of-values.controller.d.ts +1 -1
- package/dist/controllers/list-of-values.controller.js +1 -1
- package/dist/controllers/locale.controller.d.ts +1 -1
- package/dist/controllers/locale.controller.js +1 -1
- package/dist/controllers/mcp-audit-log.controller.d.ts +1 -1
- package/dist/controllers/mcp-audit-log.controller.js +1 -1
- package/dist/controllers/media.controller.d.ts +2 -2
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.js +13 -8
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.d.ts +1 -1
- package/dist/controllers/menu-item-metadata.controller.js +1 -1
- package/dist/controllers/model-sequence.controller.d.ts +1 -1
- package/dist/controllers/model-sequence.controller.js +1 -1
- package/dist/controllers/module-package.controller.d.ts.map +1 -1
- package/dist/controllers/module-package.controller.js +2 -3
- package/dist/controllers/module-package.controller.js.map +1 -1
- package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
- package/dist/controllers/mq-message-queue.controller.js +1 -1
- package/dist/controllers/mq-message.controller.d.ts +1 -1
- package/dist/controllers/mq-message.controller.js +1 -1
- package/dist/controllers/permission-metadata.controller.d.ts +1 -1
- package/dist/controllers/permission-metadata.controller.js +1 -1
- package/dist/controllers/role-metadata.controller.d.ts +1 -1
- package/dist/controllers/role-metadata.controller.js +1 -1
- package/dist/controllers/saved-filters.controller.d.ts +1 -1
- package/dist/controllers/saved-filters.controller.js +1 -1
- package/dist/controllers/scheduled-job.controller.d.ts +1 -1
- package/dist/controllers/scheduled-job.controller.js +1 -1
- package/dist/controllers/security-rule.controller.d.ts +1 -1
- package/dist/controllers/security-rule.controller.js +1 -1
- package/dist/controllers/sms-template.controller.d.ts +1 -1
- package/dist/controllers/sms-template.controller.js +1 -1
- package/dist/controllers/user-activity-history.controller.d.ts +1 -1
- package/dist/controllers/user-activity-history.controller.js +1 -1
- package/dist/controllers/user-view-metadata.controller.d.ts +1 -1
- package/dist/controllers/user-view-metadata.controller.js +1 -1
- package/dist/controllers/user.controller.d.ts +2 -2
- package/dist/controllers/user.controller.js +2 -2
- package/dist/controllers/view-metadata.controller.d.ts +2 -2
- package/dist/controllers/view-metadata.controller.js +1 -1
- package/dist/controllers/workflow-definition.controller.d.ts +1 -1
- package/dist/controllers/workflow-definition.controller.js +1 -1
- package/dist/controllers/workflow-execution-artifact.controller.d.ts +1 -1
- package/dist/controllers/workflow-execution-artifact.controller.js +1 -1
- package/dist/controllers/workflow-execution-log.controller.d.ts +1 -1
- package/dist/controllers/workflow-execution-log.controller.js +1 -1
- package/dist/controllers/workflow-execution.controller.d.ts +1 -1
- package/dist/controllers/workflow-execution.controller.js +1 -1
- package/dist/controllers/workflow-secret.controller.d.ts +1 -1
- package/dist/controllers/workflow-secret.controller.js +1 -1
- package/dist/controllers/workflow-step-execution.controller.d.ts +1 -1
- package/dist/controllers/workflow-step-execution.controller.js +1 -1
- package/dist/controllers/workflow-trigger-execution.controller.d.ts +1 -1
- package/dist/controllers/workflow-trigger-execution.controller.js +1 -1
- package/dist/dtos/basic-filters.dto.d.ts +0 -1
- package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
- package/dist/dtos/basic-filters.dto.js +1 -6
- package/dist/dtos/basic-filters.dto.js.map +1 -1
- package/dist/entities/common.entity.d.ts +4 -0
- package/dist/entities/common.entity.d.ts.map +1 -1
- package/dist/entities/common.entity.js +25 -1
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/user.entity.js +2 -2
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/factories/mail.factory.d.ts.map +1 -1
- package/dist/factories/mail.factory.js +4 -0
- package/dist/factories/mail.factory.js.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +18 -11
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/file-download.helper.d.ts +9 -0
- package/dist/helpers/file-download.helper.d.ts.map +1 -0
- package/dist/helpers/file-download.helper.js +14 -0
- package/dist/helpers/file-download.helper.js.map +1 -0
- package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js +30 -1
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/helpers/solid-registry.js +1 -1
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/seeders/module-test-data.service.d.ts +3 -1
- package/dist/seeders/module-test-data.service.d.ts.map +1 -1
- package/dist/seeders/module-test-data.service.js +8 -2
- package/dist/seeders/module-test-data.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +30 -2
- package/dist/services/authentication.service.d.ts +4 -1
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +52 -4
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +1 -0
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +8 -0
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts +5 -2
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +30 -32
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +11 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +79 -66
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/datasource-introspection.service.d.ts.map +1 -1
- package/dist/services/datasource-introspection.service.js.map +1 -1
- package/dist/services/draft-publish-helper.service.d.ts +52 -0
- package/dist/services/draft-publish-helper.service.d.ts.map +1 -0
- package/dist/services/draft-publish-helper.service.js +368 -0
- package/dist/services/draft-publish-helper.service.js.map +1 -0
- package/dist/services/internationalisation-helper.service.d.ts +19 -0
- package/dist/services/internationalisation-helper.service.d.ts.map +1 -0
- package/dist/services/internationalisation-helper.service.js +107 -0
- package/dist/services/internationalisation-helper.service.js.map +1 -0
- package/dist/services/locale.service.d.ts +1 -1
- package/dist/services/media.service.d.ts +3 -2
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +44 -29
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/metadata-validation.service.d.ts +7 -0
- package/dist/services/metadata-validation.service.d.ts.map +1 -0
- package/dist/services/metadata-validation.service.js +42 -0
- package/dist/services/metadata-validation.service.js.map +1 -0
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +2 -1
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/object.utils.d.ts +2 -0
- package/dist/services/object.utils.d.ts.map +1 -0
- package/dist/services/object.utils.js +11 -0
- package/dist/services/object.utils.js.map +1 -0
- package/dist/services/settings/default-settings-provider.service.d.ts +6 -6
- package/dist/services/settings/default-settings-provider.service.js +3 -3
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -2
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +9 -3
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts +1 -2
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +3 -55
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/services/workflow-definition.service.d.ts +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +10 -1
- package/dist/solid-core.module.js.map +1 -1
- package/package.json +1 -1
- package/src/constants/draft-publish-fields.ts +5 -0
- package/src/constants/media-file-types.ts +50 -0
- package/src/controllers/export-template.controller.ts +5 -3
- package/src/controllers/import-transaction.controller.ts +6 -6
- package/src/controllers/media.controller.ts +17 -6
- package/src/controllers/module-package.controller.ts +2 -3
- package/src/dtos/basic-filters.dto.ts +0 -4
- package/src/entities/common.entity.ts +20 -0
- package/src/entities/user.entity.ts +2 -2
- package/src/factories/mail.factory.ts +7 -1
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +26 -12
- package/src/helpers/file-download.helper.ts +31 -0
- package/src/helpers/model-metadata-helper.service.ts +32 -1
- package/src/helpers/solid-registry.ts +1 -1
- package/src/index.ts +2 -0
- package/src/seeders/module-test-data.service.ts +6 -0
- package/src/seeders/seed-data/solid-core-metadata.json +30 -2
- package/src/services/authentication.service.ts +76 -5
- package/src/services/chatter-message.service.ts +16 -0
- package/src/services/crud-helper.service.ts +16 -34
- package/src/services/crud.service.ts +98 -103
- package/src/services/datasource-introspection.service.ts +5 -0
- package/src/services/draft-publish-helper.service.ts +529 -0
- package/src/services/internationalisation-helper.service.ts +148 -0
- package/src/services/media.service.ts +67 -36
- package/src/services/metadata-validation.service.ts +39 -0
- package/src/services/model-metadata.service.ts +4 -1
- package/src/services/object.utils.ts +10 -0
- package/src/services/settings/default-settings-provider.service.ts +3 -3
- package/src/services/user.service.ts +18 -3
- package/src/services/view-metadata.service.ts +5 -145
- package/src/solid-core.module.ts +16 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.service.d.ts","sourceRoot":"","sources":["../../src/services/crud.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,aAAa,EAA2E,MAAM,SAAS,CAAC;AAEjH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAuBlE,OAAO,EAAoB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAkC,MAAM,uBAAuB,CAAC;AAI1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKhE,qBAAa,WAAW,CAAC,CAAC,SAAS,YAAY;
|
|
1
|
+
{"version":3,"file":"crud.service.d.ts","sourceRoot":"","sources":["../../src/services/crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,8 @@ const SelectionStaticFieldCrudManager_1 = require("../helpers/field-crud-manager
|
|
|
66
66
|
const ShortTextFieldCrudManager_1 = require("../helpers/field-crud-managers/ShortTextFieldCrudManager");
|
|
67
67
|
const UUIDFieldCrudManager_1 = require("../helpers/field-crud-managers/UUIDFieldCrudManager");
|
|
68
68
|
const model_metadata_helper_service_1 = require("../helpers/model-metadata-helper.service");
|
|
69
|
+
const draft_publish_helper_service_1 = require("./draft-publish-helper.service");
|
|
70
|
+
const internationalisation_helper_service_1 = require("./internationalisation-helper.service");
|
|
69
71
|
const crud_helper_service_1 = require("./crud-helper.service");
|
|
70
72
|
const hashing_service_1 = require("./hashing.service");
|
|
71
73
|
const solid_registry_1 = require("../helpers/solid-registry");
|
|
@@ -88,12 +90,30 @@ class CRUDService {
|
|
|
88
90
|
get crudHelperService() {
|
|
89
91
|
return this._crudHelperService ??= this.moduleRef.get(crud_helper_service_1.CrudHelperService, { strict: false });
|
|
90
92
|
}
|
|
93
|
+
get draftPublishHelperService() {
|
|
94
|
+
return this._draftPublishHelperService ??= this.moduleRef.get(draft_publish_helper_service_1.DraftPublishHelperService, { strict: false });
|
|
95
|
+
}
|
|
96
|
+
get internationalisationHelperService() {
|
|
97
|
+
return this._internationalisationHelperService ??= this.moduleRef.get(internationalisation_helper_service_1.InternationalisationHelperService, { strict: false });
|
|
98
|
+
}
|
|
91
99
|
get discoveryService() {
|
|
92
100
|
return this._discoveryService ??= this.moduleRef.get(core_1.DiscoveryService, { strict: false });
|
|
93
101
|
}
|
|
94
102
|
get settingService() {
|
|
95
103
|
return this._settingService ??= this.moduleRef.get(setting_service_1.SettingService, { strict: false });
|
|
96
104
|
}
|
|
105
|
+
getDraftPublishCrudContext() {
|
|
106
|
+
return {
|
|
107
|
+
repo: this.repo,
|
|
108
|
+
modelName: this.modelName,
|
|
109
|
+
moduleName: this.moduleName,
|
|
110
|
+
validateAndTransformDto: this.validateAndTransformDto.bind(this),
|
|
111
|
+
saveMedia: this.saveMedia.bind(this),
|
|
112
|
+
getDatasourceDefaultEntityManager: this.getDatasourceDefaultEntityManager.bind(this),
|
|
113
|
+
getColumnDatabaseName: this.getColumnDatabaseName.bind(this),
|
|
114
|
+
escapeDatabaseName: this.escapeDatabaseName.bind(this),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
97
117
|
async tryCreateAsExtensionUser(createDto) {
|
|
98
118
|
if (this.repo.metadata?.parentEntityMetadata?.target !== user_entity_1.User)
|
|
99
119
|
return null;
|
|
@@ -125,8 +145,11 @@ class CRUDService {
|
|
|
125
145
|
}
|
|
126
146
|
;
|
|
127
147
|
try {
|
|
148
|
+
this.draftPublishHelperService.applyCreateDefaults(model, createDto);
|
|
149
|
+
this.internationalisationHelperService.applyCreateDefaults(model, createDto, this.moduleRef.get(solid_registry_1.SolidRegistry, { strict: false }));
|
|
128
150
|
const entity = this.repo.create(createDto);
|
|
129
|
-
|
|
151
|
+
let savedEntity = await this.repo.save(entity);
|
|
152
|
+
savedEntity = await this.draftPublishHelperService.ensureInitialEntityVersionId(model, this.repo, savedEntity);
|
|
130
153
|
if (hasMediaFields) {
|
|
131
154
|
await this.saveMedia(model, files, savedEntity);
|
|
132
155
|
}
|
|
@@ -194,8 +217,9 @@ class CRUDService {
|
|
|
194
217
|
if (!entity) {
|
|
195
218
|
throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
|
|
196
219
|
}
|
|
197
|
-
|
|
198
|
-
|
|
220
|
+
this.draftPublishHelperService.assertUpdateAllowed(model, entity, this.modelName);
|
|
221
|
+
if (this.draftPublishHelperService.shouldCopyPublishedVersionForUpdate(model, entity)) {
|
|
222
|
+
return this.draftPublishHelperService.copyPublishedVersionAndUpdate(this.getDraftPublishCrudContext(), id, updateDto, files, isPartialUpdate, model);
|
|
199
223
|
}
|
|
200
224
|
await this.prepareManyToManyAuditSnapshot(entity, id, model.singularName);
|
|
201
225
|
let hasMediaFields = false;
|
|
@@ -213,6 +237,16 @@ class CRUDService {
|
|
|
213
237
|
}
|
|
214
238
|
return savedEntity;
|
|
215
239
|
}
|
|
240
|
+
getColumnDatabaseName(propertyName) {
|
|
241
|
+
const column = this.repo.metadata.findColumnWithPropertyName(propertyName);
|
|
242
|
+
if (!column) {
|
|
243
|
+
throw new Error(`Column ${propertyName} not found in entity ${this.repo.metadata.name}`);
|
|
244
|
+
}
|
|
245
|
+
return column.databaseName;
|
|
246
|
+
}
|
|
247
|
+
escapeDatabaseName(databaseName) {
|
|
248
|
+
return this.repo.manager.connection.driver.escape(databaseName);
|
|
249
|
+
}
|
|
216
250
|
async prepareManyToManyAuditSnapshot(entity, id, modelSingularName) {
|
|
217
251
|
const modelMetadataHelperService = this.moduleRef.get(model_metadata_helper_service_1.ModelMetadataHelperService, { strict: false });
|
|
218
252
|
const auditRelationFields = (await modelMetadataHelperService.loadFieldHierarchy(modelSingularName)).filter(field => field.enableAuditTracking &&
|
|
@@ -263,29 +297,32 @@ class CRUDService {
|
|
|
263
297
|
if (!entity) {
|
|
264
298
|
throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
|
|
265
299
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (model.internationalisation) {
|
|
270
|
-
const childEntities = await this.repo.find({
|
|
271
|
-
where: { defaultEntityLocaleId: id }
|
|
272
|
-
});
|
|
273
|
-
if (childEntities.length > 0) {
|
|
274
|
-
if (model.enableSoftDelete === true) {
|
|
275
|
-
await this.repo.softRemove(childEntities);
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
await this.repo.remove(childEntities);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
300
|
+
const entitiesToDelete = [entity];
|
|
301
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(model)) {
|
|
302
|
+
this.draftPublishHelperService.assertDraftPublishDeleteAllowed(this.modelName, entitiesToDelete);
|
|
281
303
|
}
|
|
304
|
+
await this.internationalisationHelperService.deleteChildLocaleEntities(this.repo, model, [id]);
|
|
305
|
+
return this.deleteEntitiesAndPromote(model, entitiesToDelete);
|
|
306
|
+
}
|
|
307
|
+
async deleteEntitiesAndPromote(model, entitiesToDelete) {
|
|
308
|
+
const isDraftPublishEnabled = this.draftPublishHelperService.isDraftPublishEnabled(model);
|
|
309
|
+
const deletedLatestChainIds = isDraftPublishEnabled
|
|
310
|
+
? this.draftPublishHelperService.getLatestDraftPublishChainIds(entitiesToDelete)
|
|
311
|
+
: [];
|
|
312
|
+
let deleteResult;
|
|
282
313
|
if (model.enableSoftDelete === true) {
|
|
283
|
-
|
|
284
|
-
|
|
314
|
+
this.draftPublishHelperService.markDeletedDraftPublishVersionsAsNotLatest(model, entitiesToDelete);
|
|
315
|
+
await this.repo.softRemove(entitiesToDelete);
|
|
316
|
+
deleteResult = await this.repo.save(entitiesToDelete);
|
|
285
317
|
}
|
|
286
318
|
else {
|
|
287
|
-
|
|
319
|
+
deleteResult = await this.repo.remove(entitiesToDelete);
|
|
288
320
|
}
|
|
321
|
+
if (isDraftPublishEnabled) {
|
|
322
|
+
const deletedEntityIds = this.draftPublishHelperService.getEntityIds(entitiesToDelete);
|
|
323
|
+
await this.draftPublishHelperService.promoteLatestDraftPublishVersionAfterDelete(this.repo, deletedLatestChainIds, deletedEntityIds);
|
|
324
|
+
}
|
|
325
|
+
return deleteResult;
|
|
289
326
|
}
|
|
290
327
|
async fieldCrudManager(fieldMetadata, entityManager, isPartialUpdate = false, isUpdate = false, entityId) {
|
|
291
328
|
const commonOptions = { required: fieldMetadata.required && !isPartialUpdate, fieldName: fieldMetadata.name, isUpdate };
|
|
@@ -442,9 +479,7 @@ class CRUDService {
|
|
|
442
479
|
requestContextService.setRequestFilter(basicFilterDto);
|
|
443
480
|
var qb = await this.repo.createSecurityRuleAwareQueryBuilder(alias);
|
|
444
481
|
if (basicFilterDto.groupBy?.length) {
|
|
445
|
-
const groupFilterQb = (internationalisation
|
|
446
|
-
? this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef, crud_helper_service_1.FilterCombinator.AND, false, false)
|
|
447
|
-
: this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, undefined, undefined, undefined, crud_helper_service_1.FilterCombinator.AND, false, false);
|
|
482
|
+
const groupFilterQb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef, crud_helper_service_1.FilterCombinator.AND, false, false);
|
|
448
483
|
return this.crudHelperService.executeGroupPipeline(groupFilterQb, basicFilterDto, alias, () => this.repo.createSecurityRuleAwareQueryBuilder(alias), async (entities) => {
|
|
449
484
|
if (populateUserIdFields?.length)
|
|
450
485
|
await this.handlePopulateUserIdFields(populateUserIdFields, entities);
|
|
@@ -453,9 +488,7 @@ class CRUDService {
|
|
|
453
488
|
});
|
|
454
489
|
}
|
|
455
490
|
else {
|
|
456
|
-
qb = (internationalisation
|
|
457
|
-
? this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef)
|
|
458
|
-
: this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);
|
|
491
|
+
qb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef);
|
|
459
492
|
const { meta, records } = await this.handleNonGroupFind(qb, populateUserIdFields, populateMedia, offset, limit, alias);
|
|
460
493
|
return {
|
|
461
494
|
meta,
|
|
@@ -629,6 +662,7 @@ class CRUDService {
|
|
|
629
662
|
},
|
|
630
663
|
module: true,
|
|
631
664
|
});
|
|
665
|
+
const solidRegistry = this.moduleRef.get(solid_registry_1.SolidRegistry, { strict: false });
|
|
632
666
|
const entitiesForSave = [];
|
|
633
667
|
for (const createDto of createDtos) {
|
|
634
668
|
let transformedDto = createDto;
|
|
@@ -640,6 +674,7 @@ class CRUDService {
|
|
|
640
674
|
}
|
|
641
675
|
transformedDto = await fieldManager.transformForCreate(createDto);
|
|
642
676
|
}
|
|
677
|
+
this.internationalisationHelperService.applyCreateDefaults(model, transformedDto, solidRegistry);
|
|
643
678
|
const entity = this.repo.create(transformedDto);
|
|
644
679
|
entitiesForSave.push(entity);
|
|
645
680
|
}
|
|
@@ -676,24 +711,16 @@ class CRUDService {
|
|
|
676
711
|
id: id,
|
|
677
712
|
},
|
|
678
713
|
});
|
|
714
|
+
if (!entity) {
|
|
715
|
+
throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
|
|
716
|
+
}
|
|
679
717
|
removedEntities.push(entity);
|
|
680
718
|
}
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
if (isDraftPublishEnabled) {
|
|
684
|
-
publishedEntitiesExists = removedEntities.filter((x) => !!x?.publishedAt);
|
|
685
|
-
}
|
|
686
|
-
if (publishedEntitiesExists.length > 0) {
|
|
687
|
-
const publishedEntitiesExistsID = publishedEntitiesExists.map(x => x.id);
|
|
688
|
-
throw new common_1.BadRequestException(`Cannot delete published record(s) for model ${this.modelName} with Ids ${publishedEntitiesExistsID.join(', ')}. Unpublish them first.`);
|
|
689
|
-
}
|
|
690
|
-
if (model.enableSoftDelete === true) {
|
|
691
|
-
await this.repo.softRemove(removedEntities);
|
|
692
|
-
return this.repo.save(removedEntities);
|
|
693
|
-
}
|
|
694
|
-
else {
|
|
695
|
-
return this.repo.remove(removedEntities);
|
|
719
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(model)) {
|
|
720
|
+
this.draftPublishHelperService.assertDraftPublishDeleteAllowed(this.modelName, removedEntities);
|
|
696
721
|
}
|
|
722
|
+
await this.internationalisationHelperService.deleteChildLocaleEntities(this.repo, model, ids);
|
|
723
|
+
return this.deleteEntitiesAndPromote(model, removedEntities);
|
|
697
724
|
}
|
|
698
725
|
async recover(id, solidRequestContext = {}) {
|
|
699
726
|
try {
|
|
@@ -716,6 +743,9 @@ class CRUDService {
|
|
|
716
743
|
await this.repo.update(id, {
|
|
717
744
|
deletedAt: null, deletedTracker: "not-deleted"
|
|
718
745
|
});
|
|
746
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(loadedmodel)) {
|
|
747
|
+
await this.draftPublishHelperService.promoteRecoveredDraftPublishVersion(this.repo, softDeletedRows);
|
|
748
|
+
}
|
|
719
749
|
return { message: success_messages_1.SUCCESS_MESSAGES.RECORD_RECOVERED, data: softDeletedRows };
|
|
720
750
|
}
|
|
721
751
|
catch (error) {
|
|
@@ -751,6 +781,11 @@ class CRUDService {
|
|
|
751
781
|
throw new common_1.NotFoundException(error_messages_1.ERROR_MESSAGES.NO_SOFT_DELETED_RECORDS_FOUND);
|
|
752
782
|
}
|
|
753
783
|
await this.repo.update({ id: (0, typeorm_1.In)(ids) }, { deletedAt: null, deletedTracker: "not-deleted" });
|
|
784
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(loadedmodel)) {
|
|
785
|
+
for (const entity of softDeletedRows) {
|
|
786
|
+
await this.draftPublishHelperService.promoteRecoveredDraftPublishVersion(this.repo, entity);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
754
789
|
return { message: success_messages_1.SUCCESS_MESSAGES.SELECTED_RECORDS_RECOVERED, recoveredIds: ids };
|
|
755
790
|
}
|
|
756
791
|
catch (error) {
|
|
@@ -796,45 +831,23 @@ class CRUDService {
|
|
|
796
831
|
}
|
|
797
832
|
async publishRecord(id, solidRequestContext = {}) {
|
|
798
833
|
const model = await this.loadModel();
|
|
799
|
-
if (!model.draftPublishWorkflow) {
|
|
800
|
-
throw new common_1.BadRequestException(`Publish workflow is not enabled for ${this.modelName}`);
|
|
801
|
-
}
|
|
802
834
|
if (solidRequestContext.activeUser) {
|
|
803
835
|
const hasPermission = this.crudHelperService.hasPublishPermissionOnModel(solidRequestContext.activeUser, model.singularName);
|
|
804
836
|
if (!hasPermission) {
|
|
805
837
|
throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.FORBIDDEN);
|
|
806
838
|
}
|
|
807
839
|
}
|
|
808
|
-
|
|
809
|
-
if (!entity) {
|
|
810
|
-
throw new common_1.NotFoundException(`${this.modelName} with id ${id} not found`);
|
|
811
|
-
}
|
|
812
|
-
if (entity.publishedAt) {
|
|
813
|
-
throw new common_1.BadRequestException(`${this.modelName} with id ${id} is already published`);
|
|
814
|
-
}
|
|
815
|
-
const updatedEntity = await this.repo.save({ ...entity, publishedAt: new Date() });
|
|
816
|
-
return updatedEntity;
|
|
840
|
+
return this.draftPublishHelperService.publishRecord(this.repo, model, this.modelName, id, solidRequestContext.activeUser);
|
|
817
841
|
}
|
|
818
842
|
async unpublishRecord(id, solidRequestContext = {}) {
|
|
819
843
|
const model = await this.loadModel();
|
|
820
|
-
if (!model.draftPublishWorkflow) {
|
|
821
|
-
throw new common_1.BadRequestException(`Publish workflow is not enabled for ${this.modelName}`);
|
|
822
|
-
}
|
|
823
844
|
if (solidRequestContext.activeUser) {
|
|
824
845
|
const hasPermission = this.crudHelperService.hasUnpublishPermissionOnModel(solidRequestContext.activeUser, model.singularName);
|
|
825
846
|
if (!hasPermission) {
|
|
826
847
|
throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.FORBIDDEN);
|
|
827
848
|
}
|
|
828
849
|
}
|
|
829
|
-
|
|
830
|
-
if (!entity) {
|
|
831
|
-
throw new common_1.NotFoundException(`${this.modelName} with id ${id} not found`);
|
|
832
|
-
}
|
|
833
|
-
if (!entity.publishedAt) {
|
|
834
|
-
throw new common_1.BadRequestException(`${this.modelName} with id ${id} is already unpublished`);
|
|
835
|
-
}
|
|
836
|
-
const updatedEntity = await this.repo.save({ ...entity, publishedAt: null });
|
|
837
|
-
return updatedEntity;
|
|
850
|
+
return this.draftPublishHelperService.unpublishRecord(this.repo, model, this.modelName, id, solidRequestContext.activeUser);
|
|
838
851
|
}
|
|
839
852
|
getDatasourceDefaultEntityManager() {
|
|
840
853
|
return this.defaultDatasourceEntityManager ?? this.entityManager;
|