@solidstarters/solid-core 1.2.56 → 1.2.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/controllers/chatter-message-details.controller.d.ts +41 -0
  2. package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -0
  3. package/dist/controllers/chatter-message-details.controller.js +179 -0
  4. package/dist/controllers/chatter-message-details.controller.js.map +1 -0
  5. package/dist/controllers/chatter-message.controller.d.ts +44 -0
  6. package/dist/controllers/chatter-message.controller.d.ts.map +1 -0
  7. package/dist/controllers/chatter-message.controller.js +199 -0
  8. package/dist/controllers/chatter-message.controller.js.map +1 -0
  9. package/dist/dtos/create-chatter-message-details.dto.d.ts +10 -0
  10. package/dist/dtos/create-chatter-message-details.dto.d.ts.map +1 -0
  11. package/dist/dtos/create-chatter-message-details.dto.js +66 -0
  12. package/dist/dtos/create-chatter-message-details.dto.js.map +1 -0
  13. package/dist/dtos/create-chatter-message.dto.d.ts +10 -0
  14. package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -0
  15. package/dist/dtos/create-chatter-message.dto.js +65 -0
  16. package/dist/dtos/create-chatter-message.dto.js.map +1 -0
  17. package/dist/dtos/create-field-metadata.dto.d.ts +1 -0
  18. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  19. package/dist/dtos/create-field-metadata.dto.js +6 -1
  20. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  21. package/dist/dtos/post-chatter-message.dto.d.ts +7 -0
  22. package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -0
  23. package/dist/dtos/post-chatter-message.dto.js +41 -0
  24. package/dist/dtos/post-chatter-message.dto.js.map +1 -0
  25. package/dist/dtos/update-chatter-message-details.dto.d.ts +11 -0
  26. package/dist/dtos/update-chatter-message-details.dto.d.ts.map +1 -0
  27. package/dist/dtos/update-chatter-message-details.dto.js +70 -0
  28. package/dist/dtos/update-chatter-message-details.dto.js.map +1 -0
  29. package/dist/dtos/update-chatter-message.dto.d.ts +11 -0
  30. package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -0
  31. package/dist/dtos/update-chatter-message.dto.js +74 -0
  32. package/dist/dtos/update-chatter-message.dto.js.map +1 -0
  33. package/dist/entities/chatter-message-details.entity.d.ts +11 -0
  34. package/dist/entities/chatter-message-details.entity.d.ts.map +1 -0
  35. package/dist/entities/chatter-message-details.entity.js +52 -0
  36. package/dist/entities/chatter-message-details.entity.js.map +1 -0
  37. package/dist/entities/chatter-message.entity.d.ts +11 -0
  38. package/dist/entities/chatter-message.entity.d.ts.map +1 -0
  39. package/dist/entities/chatter-message.entity.js +53 -0
  40. package/dist/entities/chatter-message.entity.js.map +1 -0
  41. package/dist/entities/field-metadata.entity.d.ts +1 -0
  42. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  43. package/dist/entities/field-metadata.entity.js +5 -1
  44. package/dist/entities/field-metadata.entity.js.map +1 -1
  45. package/dist/index.d.ts +10 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +10 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/seeders/module-metadata-seeder.service.js +1 -1
  50. package/dist/seeders/seed-data/solid-core-metadata.json +517 -1
  51. package/dist/services/chatter-message-details.service.d.ts +24 -0
  52. package/dist/services/chatter-message-details.service.d.ts.map +1 -0
  53. package/dist/services/chatter-message-details.service.js +59 -0
  54. package/dist/services/chatter-message-details.service.js.map +1 -0
  55. package/dist/services/chatter-message.service.d.ts +37 -0
  56. package/dist/services/chatter-message.service.d.ts.map +1 -0
  57. package/dist/services/chatter-message.service.js +279 -0
  58. package/dist/services/chatter-message.service.js.map +1 -0
  59. package/dist/services/crud-helper.service.d.ts +3 -0
  60. package/dist/services/crud-helper.service.d.ts.map +1 -1
  61. package/dist/services/crud-helper.service.js +30 -10
  62. package/dist/services/crud-helper.service.js.map +1 -1
  63. package/dist/services/crud.service.d.ts +3 -5
  64. package/dist/services/crud.service.d.ts.map +1 -1
  65. package/dist/services/crud.service.js +49 -63
  66. package/dist/services/crud.service.js.map +1 -1
  67. package/dist/services/user-context.service.d.ts +10 -0
  68. package/dist/services/user-context.service.d.ts.map +1 -0
  69. package/dist/services/user-context.service.js +42 -0
  70. package/dist/services/user-context.service.js.map +1 -0
  71. package/dist/solid-core.module.d.ts.map +1 -1
  72. package/dist/solid-core.module.js +18 -2
  73. package/dist/solid-core.module.js.map +1 -1
  74. package/dist/subscribers/audit.subscriber.d.ts +17 -0
  75. package/dist/subscribers/audit.subscriber.d.ts.map +1 -0
  76. package/dist/subscribers/audit.subscriber.js +83 -0
  77. package/dist/subscribers/audit.subscriber.js.map +1 -0
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +1 -1
  80. package/src/controllers/chatter-message-details.controller.ts +92 -0
  81. package/src/controllers/chatter-message.controller.ts +105 -0
  82. package/src/dtos/create-chatter-message-details.dto.ts +40 -0
  83. package/src/dtos/create-chatter-message.dto.ts +34 -0
  84. package/src/dtos/create-field-metadata.dto.ts +4 -0
  85. package/src/dtos/post-chatter-message.dto.ts +19 -0
  86. package/src/dtos/update-chatter-message-details.dto.ts +43 -0
  87. package/src/dtos/update-chatter-message.dto.ts +41 -0
  88. package/src/entities/chatter-message-details.entity.ts +25 -0
  89. package/src/entities/chatter-message.entity.ts +22 -0
  90. package/src/entities/field-metadata.entity.ts +3 -0
  91. package/src/index.ts +10 -2
  92. package/src/seeders/module-metadata-seeder.service.ts +1 -1
  93. package/src/seeders/seed-data/solid-core-metadata.json +518 -2
  94. package/src/services/chatter-message-details.service.ts +34 -0
  95. package/src/services/chatter-message.service.ts +301 -0
  96. package/src/services/crud-helper.service.ts +39 -13
  97. package/src/services/crud.service.ts +16 -81
  98. package/src/services/user-context.service.ts +31 -0
  99. package/src/solid-core.module.ts +18 -3
  100. package/src/subscribers/audit.subscriber.ts +73 -0
@@ -0,0 +1,37 @@
1
+ import { DiscoveryService, ModuleRef } from "@nestjs/core";
2
+ import { EntityManager, Repository, EntityMetadata } from 'typeorm';
3
+ import { CRUDService } from 'src/services/crud.service';
4
+ import { ModelMetadataService } from 'src/services/model-metadata.service';
5
+ import { ModuleMetadataService } from 'src/services/module-metadata.service';
6
+ import { ConfigService } from '@nestjs/config';
7
+ import { FileService } from 'src/services/file.service';
8
+ import { CrudHelperService } from 'src/services/crud-helper.service';
9
+ import { PostChatterMessageDto } from 'src/dtos/post-chatter-message.dto';
10
+ import { SolidRequestContextDto } from 'src/dtos/solid-request-context.dto';
11
+ import { ChatterMessage } from '../entities/chatter-message.entity';
12
+ import { ChatterMessageDetails } from '../entities/chatter-message-details.entity';
13
+ import { ModelMetadata } from 'src/entities/model-metadata.entity';
14
+ import { UserContextService } from './user-context.service';
15
+ export declare class ChatterMessageService extends CRUDService<ChatterMessage> {
16
+ readonly modelMetadataService: ModelMetadataService;
17
+ readonly moduleMetadataService: ModuleMetadataService;
18
+ readonly configService: ConfigService;
19
+ readonly fileService: FileService;
20
+ readonly discoveryService: DiscoveryService;
21
+ readonly crudHelperService: CrudHelperService;
22
+ readonly entityManager: EntityManager;
23
+ readonly repo: Repository<ChatterMessage>;
24
+ readonly chatterMessageDetailsRepo: Repository<ChatterMessageDetails>;
25
+ readonly moduleRef: ModuleRef;
26
+ private readonly modelMetadataRepo;
27
+ readonly userContextService: UserContextService;
28
+ constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<ChatterMessage>, chatterMessageDetailsRepo: Repository<ChatterMessageDetails>, moduleRef: ModuleRef, modelMetadataRepo: Repository<ModelMetadata>, userContextService: UserContextService);
29
+ postMessage(postDto: PostChatterMessageDto, solidRequestContext: SolidRequestContextDto, files?: Express.Multer.File[]): Promise<ChatterMessage>;
30
+ postAuditMessageOnInsert(entity: any, metadata: EntityMetadata, activeUser: any, messageQueue?: boolean): Promise<void>;
31
+ postAuditMessageOnUpdate(entity: any, metadata: EntityMetadata, databaseEntity: any, activeUser: any, messageQueue?: boolean): Promise<void>;
32
+ postAuditMessageOnDelete(entity: any, metadata: EntityMetadata, databaseEntity: any, activeUser: any, messageQueue?: boolean): Promise<void>;
33
+ private formatFieldValue;
34
+ private formatFieldValueDisplay;
35
+ private hasValueChanged;
36
+ }
37
+ //# sourceMappingURL=chatter-message.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatter-message.service.d.ts","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAG,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,qBACa,qBAAsB,SAAQ,WAAW,CAAC,cAAc,CAAC;IAElE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC;IAEzC,QAAQ,CAAC,yBAAyB,EAAE,UAAU,CAAC,qBAAqB,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,SAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;gBAftC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,EAEhC,yBAAyB,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAC5D,SAAS,EAAE,SAAS,EAEZ,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,EACpD,kBAAkB,EAAE,kBAAkB;IAK5C,WAAW,CAAC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAO;IAyC1H,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAE,OAAe;IAmD/G,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAE,OAAe;IAuEnI,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAE,OAAe;IAgCzI,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,eAAe;CAmBtB"}
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ChatterMessageService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const core_1 = require("@nestjs/core");
19
+ const typeorm_2 = require("typeorm");
20
+ const crud_service_1 = require("./crud.service");
21
+ const model_metadata_service_1 = require("./model-metadata.service");
22
+ const module_metadata_service_1 = require("./module-metadata.service");
23
+ const config_1 = require("@nestjs/config");
24
+ const file_service_1 = require("./file.service");
25
+ const crud_helper_service_1 = require("./crud-helper.service");
26
+ const chatter_message_entity_1 = require("../entities/chatter-message.entity");
27
+ const mediaStorageProviders_1 = require("./mediaStorageProviders");
28
+ const chatter_message_details_entity_1 = require("../entities/chatter-message-details.entity");
29
+ const model_metadata_entity_1 = require("../entities/model-metadata.entity");
30
+ const user_context_service_1 = require("./user-context.service");
31
+ let ChatterMessageService = class ChatterMessageService extends crud_service_1.CRUDService {
32
+ constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, chatterMessageDetailsRepo, moduleRef, modelMetadataRepo, userContextService) {
33
+ super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'chatterMessage', 'solid-core', moduleRef, userContextService);
34
+ this.modelMetadataService = modelMetadataService;
35
+ this.moduleMetadataService = moduleMetadataService;
36
+ this.configService = configService;
37
+ this.fileService = fileService;
38
+ this.discoveryService = discoveryService;
39
+ this.crudHelperService = crudHelperService;
40
+ this.entityManager = entityManager;
41
+ this.repo = repo;
42
+ this.chatterMessageDetailsRepo = chatterMessageDetailsRepo;
43
+ this.moduleRef = moduleRef;
44
+ this.modelMetadataRepo = modelMetadataRepo;
45
+ this.userContextService = userContextService;
46
+ }
47
+ async postMessage(postDto, solidRequestContext, files = []) {
48
+ const chatterMessage = new chatter_message_entity_1.ChatterMessage();
49
+ chatterMessage.messageType = 'custom';
50
+ chatterMessage.messageSubType = postDto.messageSubType || 'general';
51
+ chatterMessage.messageBody = postDto.messageBody;
52
+ chatterMessage.coModelEntityId = postDto.coModelEntityId;
53
+ chatterMessage.coModelName = postDto.coModelName;
54
+ const userId = typeof solidRequestContext.activeUser === 'object'
55
+ ? solidRequestContext.activeUser.sub
56
+ : solidRequestContext.activeUser;
57
+ chatterMessage.user = { id: userId };
58
+ const savedMessage = await this.repo.save(chatterMessage);
59
+ if (files && files.length > 0) {
60
+ const model = await this.modelMetadataService.findOneBySingularName('chatterMessage', {
61
+ fields: {
62
+ model: true,
63
+ mediaStorageProvider: true,
64
+ },
65
+ module: true,
66
+ });
67
+ const mediaFields = model.fields.filter(field => field.type === 'mediaSingle' || field.type === 'mediaMultiple');
68
+ for (const mediaField of mediaFields) {
69
+ const media = files.filter(multerFile => multerFile.fieldname === mediaField.name);
70
+ if (media.length > 0) {
71
+ const storageProviderMetadata = mediaField.mediaStorageProvider;
72
+ const storageProviderType = storageProviderMetadata.type;
73
+ const storageProvider = await (0, mediaStorageProviders_1.getMediaStorageProvider)(this.moduleRef, storageProviderType);
74
+ await storageProvider.store(media, savedMessage, mediaField);
75
+ }
76
+ }
77
+ }
78
+ return savedMessage;
79
+ }
80
+ async postAuditMessageOnInsert(entity, metadata, activeUser, messageQueue = false) {
81
+ const model = await this.modelMetadataRepo.findOne({
82
+ where: {
83
+ displayName: metadata.name
84
+ },
85
+ relations: {
86
+ fields: true,
87
+ module: true
88
+ }
89
+ });
90
+ if (!model || !model.enableAuditTracking) {
91
+ return;
92
+ }
93
+ const auditFields = model.fields.filter(field => field.enableAuditTracking &&
94
+ !['oneToMany', 'mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type));
95
+ const chatterMessage = new chatter_message_entity_1.ChatterMessage();
96
+ chatterMessage.messageType = 'audit';
97
+ chatterMessage.messageSubType = 'insert';
98
+ chatterMessage.coModelEntityId = entity.id;
99
+ chatterMessage.coModelName = model.singularName;
100
+ chatterMessage.messageBody = `New ${model.displayName} created`;
101
+ if (activeUser) {
102
+ const userId = typeof activeUser === 'object' ? activeUser.sub : activeUser;
103
+ chatterMessage.user = { id: userId };
104
+ }
105
+ else {
106
+ chatterMessage.user = null;
107
+ }
108
+ const savedMessage = await this.repo.save(chatterMessage);
109
+ for (const field of auditFields) {
110
+ const fieldValue = entity[field.name];
111
+ if (fieldValue !== undefined && fieldValue !== null) {
112
+ const messageDetail = new chatter_message_details_entity_1.ChatterMessageDetails();
113
+ messageDetail.chatterMessage = savedMessage;
114
+ messageDetail.fieldName = field.name;
115
+ messageDetail.oldValue = null;
116
+ messageDetail.oldValueDisplay = null;
117
+ messageDetail.newValue = this.formatFieldValue(field, fieldValue);
118
+ messageDetail.newValueDisplay = this.formatFieldValueDisplay(field, fieldValue);
119
+ await this.chatterMessageDetailsRepo.save(messageDetail);
120
+ }
121
+ }
122
+ }
123
+ async postAuditMessageOnUpdate(entity, metadata, databaseEntity, activeUser, messageQueue = false) {
124
+ const model = await this.modelMetadataRepo.findOne({
125
+ where: {
126
+ displayName: metadata.name
127
+ },
128
+ relations: {
129
+ fields: true,
130
+ module: true
131
+ }
132
+ });
133
+ if (!model || !model.enableAuditTracking) {
134
+ return;
135
+ }
136
+ const auditFields = model.fields.filter(field => field.enableAuditTracking &&
137
+ !['oneToMany', 'mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type));
138
+ const relationFields = auditFields.filter(field => field.type === 'relation');
139
+ if (relationFields.length > 0) {
140
+ const populatedEntity = await this.entityManager.findOne(metadata.target, {
141
+ where: { id: databaseEntity.id },
142
+ relations: relationFields.map(field => field.name)
143
+ });
144
+ if (populatedEntity) {
145
+ databaseEntity = populatedEntity;
146
+ }
147
+ }
148
+ const changedFields = auditFields.filter(field => {
149
+ const newValue = entity[field.name];
150
+ const oldValue = databaseEntity[field.name];
151
+ return this.hasValueChanged(newValue, oldValue);
152
+ });
153
+ if (changedFields.length === 0) {
154
+ return;
155
+ }
156
+ const chatterMessage = new chatter_message_entity_1.ChatterMessage();
157
+ chatterMessage.messageType = 'audit';
158
+ chatterMessage.messageSubType = 'update';
159
+ chatterMessage.coModelEntityId = entity.id;
160
+ chatterMessage.coModelName = model.singularName;
161
+ chatterMessage.messageBody = `${model.displayName} updated`;
162
+ if (activeUser) {
163
+ const userId = typeof activeUser === 'object' ? activeUser.sub : activeUser;
164
+ chatterMessage.user = { id: userId };
165
+ }
166
+ else {
167
+ chatterMessage.user = null;
168
+ }
169
+ const savedMessage = await this.repo.save(chatterMessage);
170
+ for (const field of changedFields) {
171
+ const messageDetail = new chatter_message_details_entity_1.ChatterMessageDetails();
172
+ messageDetail.chatterMessage = savedMessage;
173
+ messageDetail.fieldName = field.name;
174
+ messageDetail.oldValue = this.formatFieldValue(field, databaseEntity[field.name]);
175
+ messageDetail.newValue = this.formatFieldValue(field, entity[field.name]);
176
+ messageDetail.oldValueDisplay = this.formatFieldValueDisplay(field, databaseEntity[field.name]);
177
+ messageDetail.newValueDisplay = this.formatFieldValueDisplay(field, entity[field.name]);
178
+ await this.chatterMessageDetailsRepo.save(messageDetail);
179
+ }
180
+ }
181
+ async postAuditMessageOnDelete(entity, metadata, databaseEntity, activeUser, messageQueue = false) {
182
+ const model = await this.modelMetadataRepo.findOne({
183
+ where: {
184
+ displayName: metadata.name
185
+ },
186
+ relations: {
187
+ fields: true,
188
+ module: true
189
+ }
190
+ });
191
+ if (!model || !model.enableAuditTracking) {
192
+ return;
193
+ }
194
+ const chatterMessage = new chatter_message_entity_1.ChatterMessage();
195
+ chatterMessage.messageType = 'audit';
196
+ chatterMessage.messageSubType = 'delete';
197
+ chatterMessage.coModelEntityId = databaseEntity.id;
198
+ chatterMessage.coModelName = model.singularName;
199
+ chatterMessage.messageBody = `${model.displayName} deleted`;
200
+ if (activeUser) {
201
+ const userId = typeof activeUser === 'object' ? activeUser.sub : activeUser;
202
+ chatterMessage.user = { id: userId };
203
+ }
204
+ else {
205
+ chatterMessage.user = null;
206
+ }
207
+ await this.repo.save(chatterMessage);
208
+ }
209
+ formatFieldValue(field, value) {
210
+ if (value === null || value === undefined) {
211
+ return '';
212
+ }
213
+ if (field.type === 'selectionStatic' || field.type === 'selectionDynamic') {
214
+ return `${value}`;
215
+ }
216
+ if (field.type === 'relation') {
217
+ if (field.relationType === "many-to-one") {
218
+ return value.id;
219
+ }
220
+ if (field.relationType === 'manyToMany') {
221
+ return value.map(item => item.id).join(', ');
222
+ }
223
+ }
224
+ return value.toString();
225
+ }
226
+ formatFieldValueDisplay(field, value) {
227
+ if (value === null || value === undefined) {
228
+ return '';
229
+ }
230
+ if (field.type === 'selectionStatic' || field.type === 'selectionDynamic') {
231
+ return `${value}`;
232
+ }
233
+ if (field.type === 'relation') {
234
+ if (field.relationType === "many-to-one") {
235
+ return value.name;
236
+ }
237
+ if (field.relationType === 'many-toMany') {
238
+ return value.map(item => item.name).join(', ');
239
+ }
240
+ }
241
+ return value.toString();
242
+ }
243
+ hasValueChanged(newValue, oldValue) {
244
+ if (newValue === oldValue) {
245
+ return false;
246
+ }
247
+ if (newValue === null && oldValue === null) {
248
+ return false;
249
+ }
250
+ if (newValue === undefined && oldValue === undefined) {
251
+ return false;
252
+ }
253
+ if (Array.isArray(newValue) && Array.isArray(oldValue)) {
254
+ return JSON.stringify(newValue) !== JSON.stringify(oldValue);
255
+ }
256
+ return true;
257
+ }
258
+ };
259
+ exports.ChatterMessageService = ChatterMessageService;
260
+ exports.ChatterMessageService = ChatterMessageService = __decorate([
261
+ (0, common_1.Injectable)(),
262
+ __param(6, (0, typeorm_1.InjectEntityManager)()),
263
+ __param(7, (0, typeorm_1.InjectRepository)(chatter_message_entity_1.ChatterMessage, 'default')),
264
+ __param(8, (0, typeorm_1.InjectRepository)(chatter_message_details_entity_1.ChatterMessageDetails, 'default')),
265
+ __param(10, (0, typeorm_1.InjectRepository)(model_metadata_entity_1.ModelMetadata)),
266
+ __metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
267
+ module_metadata_service_1.ModuleMetadataService,
268
+ config_1.ConfigService,
269
+ file_service_1.FileService,
270
+ core_1.DiscoveryService,
271
+ crud_helper_service_1.CrudHelperService,
272
+ typeorm_2.EntityManager,
273
+ typeorm_2.Repository,
274
+ typeorm_2.Repository,
275
+ core_1.ModuleRef,
276
+ typeorm_2.Repository,
277
+ user_context_service_1.UserContextService])
278
+ ], ChatterMessageService);
279
+ //# sourceMappingURL=chatter-message.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatter-message.service.js","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,10 @@ export declare class CrudHelperService {
9
9
  private normalizeObjectKeys;
10
10
  normalize(value: string | string[]): string[];
11
11
  private isRelationJoined;
12
+ private hasJoins;
12
13
  buildFilterQuery(qb: SelectQueryBuilder<any>, basicFilterDto: BasicFilterDto, entityAlias: string): SelectQueryBuilder<any>;
14
+ private buildPopulateQuery;
15
+ private buildJoinQueryForRelation;
13
16
  private wrapFieldWithAlias;
14
17
  isAggregateField(field: string): boolean;
15
18
  isAggregateFieldKey(key: string, alias: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"crud-helper.service.d.ts","sourceRoot":"","sources":["../../src/services/crud-helper.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,kBAAkB,EAA0B,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,qBAAa,iBAAiB;;IAM1B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,kBAAkB;IAwE1B,OAAO,CAAC,mBAAmB;IAU3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;IAK7C,OAAO,CAAC,gBAAgB;IAIxB,gBAAgB,CAAC,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC;IAsE3H,OAAO,CAAC,kBAAkB;IAS1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxD,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvE,wBAAwB,CAAC,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC;IAazG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAO/C,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG;;;;IAO5D,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM;;;IAgBzC,wBAAwB,eAAgB,cAAc,aAAa,MAAM,aAIxE;IAED,yBAAyB,eAAgB,cAAc,aAAa,MAAM,aAIzE;IAED,0BAA0B,eAAgB,cAAc,aAAa,MAAM,aAI1E;IAED,0BAA0B,eAAgB,cAAc,aAAa,MAAM,aAI1E;IACD,0BAA0B,eAAgB,cAAc,aAAa,MAAM,aAI1E;IACD,2BAA2B,eAAgB,cAAc,aAAa,MAAM,aAI3E;CAIJ"}
1
+ {"version":3,"file":"crud-helper.service.d.ts","sourceRoot":"","sources":["../../src/services/crud-helper.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,kBAAkB,EAA0B,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,qBAAa,iBAAiB;;IAM1B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,kBAAkB;IAwE1B,OAAO,CAAC,mBAAmB;IAU3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;IAK7C,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,QAAQ;IAKhB,gBAAgB,CAAC,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC;IAmE3H,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,kBAAkB;IAS1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxD,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvE,wBAAwB,CAAC,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC;IAazG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAO/C,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG;;;;IAO5D,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM;;;IAgBzC,wBAAwB,eAAgB,cAAc,aAAa,MAAM,aAIxE;IAED,yBAAyB,eAAgB,cAAc,aAAa,MAAM,aAIzE;IAED,0BAA0B,eAAgB,cAAc,aAAa,MAAM,aAI1E;IAED,0BAA0B,eAAgB,cAAc,aAAa,MAAM,aAI1E;IACD,0BAA0B,eAAgB,cAAc,aAAa,MAAM,aAI1E;IACD,2BAA2B,eAAgB,cAAc,aAAa,MAAM,aAI3E;CAIJ"}
@@ -74,7 +74,9 @@ class CrudHelperService {
74
74
  return;
75
75
  }
76
76
  else {
77
- selectQb.leftJoin(`${alias}.${key}`, key);
77
+ const joinField = `${alias}.${key}`;
78
+ if (!this.isRelationJoined(selectQb, joinField))
79
+ selectQb.leftJoin(joinField, key);
78
80
  this.applyFilters(qb, primaryFilterObj, key, selectQb);
79
81
  }
80
82
  });
@@ -165,6 +167,9 @@ class CrudHelperService {
165
167
  isRelationJoined(queryBuilder, joinProperty) {
166
168
  return queryBuilder.expressionMap.joinAttributes.some(join => join.entityOrProperty === joinProperty);
167
169
  }
170
+ hasJoins(queryBuilder) {
171
+ return queryBuilder.expressionMap.joinAttributes.length > 0;
172
+ }
168
173
  buildFilterQuery(qb, basicFilterDto, entityAlias) {
169
174
  let { limit, offset, showSoftDeleted, filters } = basicFilterDto;
170
175
  const { fields, sort, groupBy, populate = [] } = basicFilterDto;
@@ -175,6 +180,9 @@ class CrudHelperService {
175
180
  if (normalizedGroupBy.length > 1) {
176
181
  throw new Error('buildFilterQuery: Only 1 Group by field is supported currently');
177
182
  }
183
+ if (normalizedPopulate && normalizedPopulate.length) {
184
+ this.buildPopulateQuery(normalizedPopulate, entityAlias, qb);
185
+ }
178
186
  if (filters) {
179
187
  qb.where(new typeorm_1.Brackets(whereQb => {
180
188
  this.applyFilters(whereQb, filters, entityAlias, qb);
@@ -185,13 +193,6 @@ class CrudHelperService {
185
193
  return this.wrapFieldWithAlias(field, entityAlias);
186
194
  }));
187
195
  }
188
- if (normalizedPopulate && normalizedPopulate.length) {
189
- normalizedPopulate.forEach((relation) => {
190
- const joinProperty = `${entityAlias}.${relation}`;
191
- if (!this.isRelationJoined(qb, joinProperty))
192
- qb.leftJoinAndSelect(joinProperty, relation);
193
- });
194
- }
195
196
  if (normalizedSort && normalizedSort.length) {
196
197
  const orderOptions = this.orderOptions(normalizedSort);
197
198
  if (orderOptions) {
@@ -215,9 +216,28 @@ class CrudHelperService {
215
216
  });
216
217
  }
217
218
  if (limit)
218
- qb.limit(limit);
219
+ this.hasJoins(qb) ? qb.take(limit) : qb.limit(limit);
219
220
  if (offset)
220
- qb.offset(offset);
221
+ this.hasJoins(qb) ? qb.skip(offset) : qb.offset(offset);
222
+ return qb;
223
+ }
224
+ buildPopulateQuery(normalizedPopulate, entityAlias, qb) {
225
+ normalizedPopulate.forEach((relation) => {
226
+ this.buildJoinQueryForRelation(qb, entityAlias, relation);
227
+ });
228
+ return qb;
229
+ }
230
+ buildJoinQueryForRelation(qb, entityAlias, relation) {
231
+ const relationParts = relation.split('.');
232
+ let parentAlias = entityAlias;
233
+ relationParts.forEach((part, i) => {
234
+ const joinProperty = `${parentAlias}.${part}`;
235
+ if (!this.isRelationJoined(qb, joinProperty)) {
236
+ const joinAlias = relationParts.slice(0, i + 1).join('_');
237
+ qb.leftJoinAndSelect(joinProperty, joinAlias);
238
+ }
239
+ parentAlias = part;
240
+ });
221
241
  return qb;
222
242
  }
223
243
  wrapFieldWithAlias(field, entityAlias) {
@@ -1 +1 @@
1
- {"version":3,"file":"crud-helper.service.js","sourceRoot":"","sources":["../../src/services/crud-helper.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-helper.service.js","sourceRoot":"","sources":["../../src/services/crud-helper.service.ts"],"names":[],"mappings":";;;AAAA,qCAA+E;AAE/E,oEAAkE;AAGlE,MAAa,iBAAiB;IAC1B;QAkTA,6BAAwB,GAAG,CAAC,UAA0B,EAAE,SAAiB,EAAE,EAAE;YACzE,MAAM,eAAe,GAAG,CAAC,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,oBAAoB,EAAE,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAClH,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,8BAAyB,GAAG,CAAC,UAA0B,EAAE,SAAiB,EAAE,EAAE;YAC1E,MAAM,eAAe,GAAG,CAAC,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,mBAAmB,EAAE,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9J,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,+BAA0B,GAAG,CAAC,UAA0B,EAAE,SAAiB,EAAE,EAAE;YAC3E,MAAM,eAAe,GAAG,CAAC,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,+BAA0B,GAAG,CAAC,UAA0B,EAAE,SAAiB,EAAE,EAAE;YAC3E,MAAM,eAAe,GAAG,CAAC,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,mBAAmB,EAAE,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACnH,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,CAAC,CAAA;QACD,+BAA0B,GAAG,CAAC,UAA0B,EAAE,SAAiB,EAAE,EAAE;YAC3E,MAAM,eAAe,GAAG,CAAC,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,CAAC,CAAA;QACD,gCAA2B,GAAG,CAAC,UAA0B,EAAE,SAAiB,EAAE,EAAE;YAC5E,MAAM,eAAe,GAAG,CAAC,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,oBAAoB,EAAE,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACrH,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,CAAC,CAAA;IAhVG,CAAC;IAGG,YAAY,CAAC,OAAc,EAAE;QACjC,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;YACvB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;YACpD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,YAAY,CAAC,EAA0B,EAAE,OAAY,EAAE,QAAgB,QAAQ,EAAE,QAAiC;QACtH,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;gBAC9C,EAAE,CAAC,QAAQ,CACP,IAAI,kBAAQ,CAAC,KAAK,CAAC,EAAE;oBACjB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACzD,CAAC,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC/B,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;gBAC5C,EAAE,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC,CAAC;YACR,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YAEJ,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,0BAA0B,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9E,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEnE,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,eAAe,CAAC;oBACjC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,0BAA0B,EAAE,QAAQ,CAAC,CAAC;oBAC9E,OAAO;gBACX,CAAC;qBACI,CAAC;oBACF,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC;wBAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBACnF,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,EAAO,EAAE,KAAa,EAAE,KAAa,EAAE,4BAAiC,EAAE,QAAgB;QACjH,MAAM,gBAAgB,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjF,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,KAAK;gBACN,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,OAAO,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClH,MAAM;YACV,KAAK,MAAM;gBACP,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,KAAK,QAAQ,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACxI,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,QAAQ,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnH,MAAM;YACV,KAAK,MAAM;gBACP,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,KAAK,SAAS,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACzI,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,OAAO,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClH,MAAM;YACV,KAAK,MAAM;gBACP,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,QAAQ,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpH,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,OAAO,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClH,MAAM;YACV,KAAK,MAAM;gBACP,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,QAAQ,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpH,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,YAAY,gBAAgB,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxH,MAAM;YACV,KAAK,QAAQ;gBACT,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,gBAAgB,gBAAgB,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/H,MAAM;YACV,KAAK,WAAW;gBACZ,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,UAAU,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,4BAA4B,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;gBAClI,MAAM;YACV,KAAK,cAAc;gBACf,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,cAAc,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,4BAA4B,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;gBACzI,MAAM;YACV,KAAK,YAAY;gBACb,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,KAAK,WAAW,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxJ,MAAM;YACV,KAAK,eAAe;gBAChB,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,KAAK,eAAe,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,4BAA4B,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/J,MAAM;YACV,KAAK,OAAO;gBACR,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,UAAU,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,UAAU;gBACX,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,cAAc,CAAC,CAAC;gBAC7C,MAAM;YACV,KAAK,UAAU;gBACX,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,aAAa,gBAAgB,UAAU,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrO,MAAM;YACV,KAAK,aAAa;gBACd,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,UAAU,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;gBACnI,MAAM;YACV,KAAK,cAAc;gBACf,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,KAAK,WAAW,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,4BAA4B,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzJ,MAAM;YACV,KAAK,WAAW;gBACZ,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,UAAU,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,4BAA4B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACjI,MAAM;YACV,KAAK,YAAY;gBACb,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,KAAK,WAAW,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvJ,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,mBAAmB,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAGO,mBAAmB,CAAC,GAAQ;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAExC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAE/C,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAEO,gBAAgB,CAAC,YAAqC,EAAE,YAAoB;QAChF,OAAO,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,YAAY,CAAC,CAAC;IAC1G,CAAC;IAEO,QAAQ,CAAC,YAAqC;QAClD,OAAO,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,CAAC;IAGD,gBAAgB,CAAC,EAA2B,EAAE,cAA8B,EAAE,WAAmB;QAC7F,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,cAAc,CAAC;QAGhE,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;QAGD,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,EAAE,CAAC,KAAK,CAAC,IAAI,kBAAQ,CAAC,OAAO,CAAC,EAAE;gBAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;QAGD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC9C,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAEnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;QAGD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACvD,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAqC,CAAC;gBACtF,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAmB,CAAC;oBAClD,EAAE,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAGD,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;YAClC,EAAE,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;YAClC,EAAE,CAAC,WAAW,EAAE,CAAC;YACjB,EAAE,CAAC,KAAK,CAAC,GAAG,WAAW,wBAAwB,CAAC,CAAC;QACrD,CAAC;QAGD,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAChD,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACxC,EAAE,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC;QAGD,IAAI,KAAK;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,kBAA4B,EAAE,WAAmB,EAAE,EAA2B;QACrG,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,yBAAyB,CAAC,EAA2B,EAAE,WAAmB,EAAE,QAAgB;QAEhG,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,KAAa,EAAE,WAAmB;QACzD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC;QAEpE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,iBAAiB,IAAI,WAAW,IAAI,SAAS,GAAG,CAAC;IAC/D,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,mBAAmB,CAAC,GAAW,EAAE,KAAa;QAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACvC,CAAC;IAED,yBAAyB,CAAC,aAAqB,EAAE,KAAa;QAC1D,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,wBAAwB,CAAC,EAA2B,EAAE,KAAU,EAAE,KAAa;QAC3E,EAAE,CAAC,QAAQ,CAAC,IAAI,kBAAQ,CAAC,EAAE,CAAC,EAAE;YAC1B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACzD,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,OAAO,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAU,EAAE,KAAa;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACpB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACtB,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,KAAU,EAAE,KAAa,EAAE,SAAc;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO;YACH,SAAS;YACT,SAAS;SACZ,CAAA;IACL,CAAC;IACD,eAAe,CAAC,KAAU,EAAE,KAAa;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,oBAAoB,GAAG,EAAE,CAAA;QAC/B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,oBAAoB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtC,CAAC;QACL,CAAC;QACD,OAAO;YACH,SAAS;YACT,GAAG,oBAAoB;SAC1B,CAAC;IACN,CAAC;CAuCJ;AAvVD,8CAuVC"}
@@ -7,6 +7,7 @@ import { CrudHelperService } from "./crud-helper.service";
7
7
  import { FileService } from "./file.service";
8
8
  import { ModelMetadataService } from "./model-metadata.service";
9
9
  import { ModuleMetadataService } from "./module-metadata.service";
10
+ import { UserContextService } from "./user-context.service";
10
11
  export declare class CRUDService<T> {
11
12
  readonly modelMetadataService: ModelMetadataService;
12
13
  readonly moduleMetadataService: ModuleMetadataService;
@@ -19,9 +20,9 @@ export declare class CRUDService<T> {
19
20
  readonly modelName: string;
20
21
  readonly moduleName: string;
21
22
  readonly moduleRef: ModuleRef;
22
- constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<T>, modelName: string, moduleName: string, moduleRef: ModuleRef);
23
+ readonly userContextService?: UserContextService;
24
+ constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<T>, modelName: string, moduleName: string, moduleRef: ModuleRef, userContextService?: UserContextService);
23
25
  create(createDto: any, files?: Express.Multer.File[], solidRequestContext?: any): Promise<T>;
24
- private loadInverseRelationFields;
25
26
  private loadModel;
26
27
  private validateAndTransformDto;
27
28
  private saveMedia;
@@ -46,10 +47,7 @@ export declare class CRUDService<T> {
46
47
  groupMeta?: undefined;
47
48
  groupRecords?: undefined;
48
49
  }>;
49
- private getRevisedFilterDto;
50
- private relationsExcludedFromInitialQuery;
51
50
  private handleNonGroupFind;
52
- private populateExcludedRelations;
53
51
  private handleGroupFind;
54
52
  private wrapFindResponse;
55
53
  private handlePopulateMedia;
@@ -1 +1 @@
1
- {"version":3,"file":"crud.service.d.ts","sourceRoot":"","sources":["../../src/services/crud.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.service.d.ts","sourceRoot":"","sources":["../../src/services/crud.service.ts"],"names":[],"mappings":"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"}