rez_core 5.0.211 → 6.1.0

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 (95) hide show
  1. package/dist/config/database.config.js +1 -1
  2. package/dist/config/database.config.js.map +1 -1
  3. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +6 -0
  4. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +32 -0
  5. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +1 -0
  6. package/dist/module/entity_json/controller/entity_json.controller.d.ts +2 -9
  7. package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
  8. package/dist/module/entity_json/entity/entityJson.entity.d.ts +2 -1
  9. package/dist/module/entity_json/entity/entityJson.entity.js +5 -1
  10. package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
  11. package/dist/module/entity_json/entity_json.module.js +7 -2
  12. package/dist/module/entity_json/entity_json.module.js.map +1 -1
  13. package/dist/module/entity_json/service/entity_json.service.d.ts +5 -12
  14. package/dist/module/entity_json/service/entity_json.service.js +111 -29
  15. package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
  16. package/dist/module/filter/controller/filter.controller.d.ts +12 -0
  17. package/dist/module/filter/controller/filter.controller.js +1 -1
  18. package/dist/module/filter/controller/filter.controller.js.map +1 -1
  19. package/dist/module/filter/filter.module.js +11 -2
  20. package/dist/module/filter/filter.module.js.map +1 -1
  21. package/dist/module/filter/service/filter.service.d.ts +38 -2
  22. package/dist/module/filter/service/filter.service.js +42 -49
  23. package/dist/module/filter/service/filter.service.js.map +1 -1
  24. package/dist/module/filter/service/flatjson-filter.service.d.ts +32 -0
  25. package/dist/module/filter/service/flatjson-filter.service.js +632 -0
  26. package/dist/module/filter/service/flatjson-filter.service.js.map +1 -0
  27. package/dist/module/filter/service/saved-filter.service.d.ts +3 -2
  28. package/dist/module/filter/service/saved-filter.service.js +14 -18
  29. package/dist/module/filter/service/saved-filter.service.js.map +1 -1
  30. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +19 -0
  31. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +77 -0
  32. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
  33. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +13 -0
  34. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +64 -0
  35. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +1 -0
  36. package/dist/module/linked_attributes/linked_attributes.module.js +4 -2
  37. package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
  38. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +41 -1
  39. package/dist/module/linked_attributes/service/linked_attributes.service.js +265 -1
  40. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
  41. package/dist/module/meta/controller/attribute-master.controller.d.ts +3 -0
  42. package/dist/module/meta/controller/attribute-master.controller.js +12 -0
  43. package/dist/module/meta/controller/attribute-master.controller.js.map +1 -1
  44. package/dist/module/meta/entity.module.js +2 -2
  45. package/dist/module/meta/entity.module.js.map +1 -1
  46. package/dist/module/meta/service/attribute-master.service.d.ts +6 -1
  47. package/dist/module/meta/service/attribute-master.service.js +20 -2
  48. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  49. package/dist/module/meta/service/entity-master.service.js +1 -0
  50. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  51. package/dist/module/meta/service/entity-relation.service.d.ts +4 -3
  52. package/dist/module/meta/service/entity-relation.service.js +10 -4
  53. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  54. package/dist/module/meta/service/entity-service-impl.service.d.ts +1 -1
  55. package/dist/module/meta/service/entity-service-impl.service.js +2 -2
  56. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  57. package/dist/module/meta/service/entity-table.service.d.ts +5 -4
  58. package/dist/module/meta/service/entity-table.service.js +45 -24
  59. package/dist/module/meta/service/entity-table.service.js.map +1 -1
  60. package/dist/module/meta/service/resolver.service.d.ts +1 -1
  61. package/dist/module/meta/service/resolver.service.js +6 -3
  62. package/dist/module/meta/service/resolver.service.js.map +1 -1
  63. package/dist/module/workflow-automation/service/workflow-automation.service.js +2 -3
  64. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  65. package/dist/table.config.d.ts +1 -1
  66. package/dist/tsconfig.build.tsbuildinfo +1 -1
  67. package/package.json +1 -1
  68. package/src/config/database.config.ts +1 -1
  69. package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +41 -0
  70. package/src/module/entity_json/controller/entity_json.controller.ts +13 -0
  71. package/src/module/entity_json/docs/FlatJson_Filterin_System.md +2804 -0
  72. package/src/module/entity_json/entity/entityJson.entity.ts +4 -1
  73. package/src/module/entity_json/entity_json.module.ts +9 -5
  74. package/src/module/entity_json/service/entity_json.service.ts +236 -49
  75. package/src/module/filter/controller/filter.controller.ts +4 -4
  76. package/src/module/filter/filter.module.ts +12 -3
  77. package/src/module/filter/service/filter.service.ts +130 -71
  78. package/src/module/filter/service/flatjson-filter.service.ts +903 -0
  79. package/src/module/filter/service/saved-filter.service.ts +16 -26
  80. package/src/module/filter/test/flatjson-filter.service.spec.ts +415 -0
  81. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +85 -0
  82. package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +54 -0
  83. package/src/module/linked_attributes/linked_attributes.module.ts +5 -3
  84. package/src/module/linked_attributes/service/linked_attributes.service.ts +545 -2
  85. package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +244 -0
  86. package/src/module/meta/controller/attribute-master.controller.ts +12 -0
  87. package/src/module/meta/entity.module.ts +3 -3
  88. package/src/module/meta/service/attribute-master.service.ts +29 -1
  89. package/src/module/meta/service/entity-master.service.ts +1 -0
  90. package/src/module/meta/service/entity-relation.service.ts +10 -6
  91. package/src/module/meta/service/entity-service-impl.service.ts +2 -1
  92. package/src/module/meta/service/entity-table.service.ts +82 -68
  93. package/src/module/meta/service/entity.service.ts +0 -1
  94. package/src/module/meta/service/resolver.service.ts +7 -3
  95. package/src/module/workflow-automation/service/workflow-automation.service.ts +2 -4
@@ -2,9 +2,10 @@ import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.s
2
2
  import { BaseEntity } from '../../meta/entity/base-entity.entity';
3
3
  import { UserData } from '../../user/entity/user.entity';
4
4
  import { SavedFilterRepositoryService } from '../repository/saved-filter.repository';
5
- export declare class SavedFilterService extends EntityServiceImpl {
5
+ export declare class SavedFilterService {
6
6
  private readonly savedFilterRepo;
7
- constructor(savedFilterRepo: SavedFilterRepositoryService);
7
+ private readonly entityServiceImpl;
8
+ constructor(savedFilterRepo: SavedFilterRepositoryService, entityServiceImpl: EntityServiceImpl);
8
9
  createEntity(entityData: any, loggedInUser: UserData): Promise<BaseEntity>;
9
10
  updateEntity(entityData: BaseEntity, loggedInUser: UserData): Promise<BaseEntity>;
10
11
  deleteEntity(entityType: string, entityId: number, loggedInUser: any): Promise<{
@@ -8,16 +8,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.SavedFilterService = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
17
  const entity_service_impl_service_1 = require("../../meta/service/entity-service-impl.service");
15
18
  const global_constant_1 = require("../../../constant/global.constant");
16
19
  const saved_filter_repository_1 = require("../repository/saved-filter.repository");
17
- let SavedFilterService = class SavedFilterService extends entity_service_impl_service_1.EntityServiceImpl {
18
- constructor(savedFilterRepo) {
19
- super();
20
+ let SavedFilterService = class SavedFilterService {
21
+ constructor(savedFilterRepo, entityServiceImpl) {
20
22
  this.savedFilterRepo = savedFilterRepo;
23
+ this.entityServiceImpl = entityServiceImpl;
21
24
  }
22
25
  async createEntity(entityData, loggedInUser) {
23
26
  const master = entityData;
@@ -32,7 +35,7 @@ let SavedFilterService = class SavedFilterService extends entity_service_impl_se
32
35
  throw new common_1.BadRequestException('Saved filter name already exists.');
33
36
  }
34
37
  entityData.user_id = loggedInUser?.id ?? null;
35
- const savedMaster = await super.createEntity(master, loggedInUser);
38
+ const savedMaster = await this.entityServiceImpl.createEntity(master, loggedInUser);
36
39
  const code = `SFM${savedMaster.id.toString().padStart(5, '0')}`;
37
40
  savedMaster.code = code;
38
41
  await this.savedFilterRepo.updateCode(savedMaster.id, code);
@@ -58,7 +61,7 @@ let SavedFilterService = class SavedFilterService extends entity_service_impl_se
58
61
  }
59
62
  async updateEntity(entityData, loggedInUser) {
60
63
  const master = entityData;
61
- const existing = await this.getEntityData(global_constant_1.ENTITYTYPE_SAVEDFILTERMASTER, master.id, loggedInUser);
64
+ const existing = await this.entityServiceImpl.getEntityData(global_constant_1.ENTITYTYPE_SAVEDFILTERMASTER, master.id, loggedInUser);
62
65
  if (!existing) {
63
66
  throw new common_1.BadRequestException('Saved filter not found.');
64
67
  }
@@ -72,7 +75,7 @@ let SavedFilterService = class SavedFilterService extends entity_service_impl_se
72
75
  throw new common_1.BadRequestException('Saved filter name already exists.');
73
76
  }
74
77
  const { filterDetails, ...persistableData } = master;
75
- const updated = await super.updateEntity(persistableData, loggedInUser);
78
+ const updated = await this.entityServiceImpl.updateEntity(persistableData, loggedInUser);
76
79
  if (filterDetails?.length) {
77
80
  await this.savedFilterRepo.deleteDetailsByCode(updated.code);
78
81
  const prepared = filterDetails.map((detail) => {
@@ -91,21 +94,12 @@ let SavedFilterService = class SavedFilterService extends entity_service_impl_se
91
94
  return updated;
92
95
  }
93
96
  async deleteEntity(entityType, entityId, loggedInUser) {
94
- const entityMaster = await this.entityMasterService.getEntityData(entityType, loggedInUser);
95
- const repoService = this.reflectionHelper.getRepoService(entityMaster.entity_data_class);
96
- if (!repoService) {
97
- throw new Error(`Repository service not found for entityType: ${entityType}`);
98
- }
99
- const entityData = await repoService.findOne({ where: { id: entityId } });
97
+ const entityData = await this.entityServiceImpl.getEntityData(entityType, entityId, loggedInUser);
100
98
  if (!entityData) {
101
99
  throw new Error(`Entity not found for entityType: ${entityType}`);
102
100
  }
103
101
  await this.savedFilterRepo.deleteDetailsByCode(entityData.code);
104
- await repoService.delete(entityId);
105
- return {
106
- success: true,
107
- message: `Entity with id ${entityId} deleted successfully.`,
108
- };
102
+ return await this.entityServiceImpl.deleteEntity(entityType, entityId, loggedInUser);
109
103
  }
110
104
  async getDetailsByCode(code) {
111
105
  return this.savedFilterRepo.getDetailsByCode(code);
@@ -120,6 +114,8 @@ let SavedFilterService = class SavedFilterService extends entity_service_impl_se
120
114
  exports.SavedFilterService = SavedFilterService;
121
115
  exports.SavedFilterService = SavedFilterService = __decorate([
122
116
  (0, common_1.Injectable)(),
123
- __metadata("design:paramtypes", [saved_filter_repository_1.SavedFilterRepositoryService])
117
+ __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => entity_service_impl_service_1.EntityServiceImpl))),
118
+ __metadata("design:paramtypes", [saved_filter_repository_1.SavedFilterRepositoryService,
119
+ entity_service_impl_service_1.EntityServiceImpl])
124
120
  ], SavedFilterService);
125
121
  //# sourceMappingURL=saved-filter.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"saved-filter.service.js","sourceRoot":"","sources":["../../../../src/module/filter/service/saved-filter.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saved-filter.service.js","sourceRoot":"","sources":["../../../../src/module/filter/service/saved-filter.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { LinkedAttributesService } from '../service/linked_attributes.service';
2
+ import { CreateLinkedAttributeSmartDto } from '../dto/create-linked-attribute-smart.dto';
2
3
  export declare class LinkedAttributesController {
3
4
  private readonly linkedAttributesService;
4
5
  constructor(linkedAttributesService: LinkedAttributesService);
@@ -26,4 +27,22 @@ export declare class LinkedAttributesController {
26
27
  };
27
28
  } | import("../entity/linked_attribute.entity").LinkedAttributes[]>;
28
29
  upsertLinkedAttributes(req: any, payload: any): Promise<import("../entity/linked_attribute.entity").LinkedAttributes[]>;
30
+ createSmart(dto: CreateLinkedAttributeSmartDto, req: any): Promise<import("../entity/linked_attribute.entity").LinkedAttributes>;
31
+ backfill(id: number, req: any): Promise<{
32
+ total: number;
33
+ updated: number;
34
+ failed: number;
35
+ errors: Array<{
36
+ entity_id: number;
37
+ error: string;
38
+ }>;
39
+ }>;
40
+ backfillAll(entity_type: string, req: any): Promise<{
41
+ updated: number;
42
+ failed: number;
43
+ }>;
44
+ previewKey(mapped_entity_type: string, entity_type: string, attribute_key: string, organization_id: number, req: any): Promise<{
45
+ generated_key: string;
46
+ sequence: number;
47
+ }>;
29
48
  }
@@ -14,8 +14,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.LinkedAttributesController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
17
18
  const linked_attributes_service_1 = require("../service/linked_attributes.service");
18
19
  const jwt_guard_1 = require("../../auth/guards/jwt.guard");
20
+ const create_linked_attribute_smart_dto_1 = require("../dto/create-linked-attribute-smart.dto");
19
21
  let LinkedAttributesController = class LinkedAttributesController {
20
22
  constructor(linkedAttributesService) {
21
23
  this.linkedAttributesService = linkedAttributesService;
@@ -32,6 +34,24 @@ let LinkedAttributesController = class LinkedAttributesController {
32
34
  const loggedInUser = req.user?.userData;
33
35
  return this.linkedAttributesService.upsertLinkedAttributes(payload, loggedInUser);
34
36
  }
37
+ async createSmart(dto, req) {
38
+ const loggedInUser = req.user?.userData;
39
+ return await this.linkedAttributesService.createLinkedAttributeSmart(dto, loggedInUser);
40
+ }
41
+ async backfill(id, req) {
42
+ const loggedInUser = req.user?.userData;
43
+ return await this.linkedAttributesService.backfillLinkedAttribute(id, loggedInUser);
44
+ }
45
+ async backfillAll(entity_type, req) {
46
+ const loggedInUser = req.user?.userData;
47
+ return await this.linkedAttributesService.backfillAllForEntity(entity_type, loggedInUser);
48
+ }
49
+ async previewKey(mapped_entity_type, entity_type, attribute_key, organization_id, req) {
50
+ const loggedInUser = req.user?.userData;
51
+ const sequence = await this.linkedAttributesService['generateNextSequence'](mapped_entity_type, entity_type, attribute_key, organization_id);
52
+ const generated_key = this.linkedAttributesService.generateAttributeKey(entity_type, attribute_key, sequence);
53
+ return { generated_key, sequence };
54
+ }
35
55
  };
36
56
  exports.LinkedAttributesController = LinkedAttributesController;
37
57
  __decorate([
@@ -60,7 +80,64 @@ __decorate([
60
80
  __metadata("design:paramtypes", [Object, Object]),
61
81
  __metadata("design:returntype", Promise)
62
82
  ], LinkedAttributesController.prototype, "upsertLinkedAttributes", null);
83
+ __decorate([
84
+ (0, common_1.Post)('smart'),
85
+ (0, common_1.UseGuards)(jwt_guard_1.JwtAuthGuard),
86
+ (0, swagger_1.ApiOperation)({ summary: 'Create linked attribute with auto-generation' }),
87
+ (0, swagger_1.ApiResponse)({
88
+ status: 201,
89
+ description: 'Linked attribute created successfully',
90
+ }),
91
+ (0, swagger_1.ApiResponse)({ status: 400, description: 'Validation failed' }),
92
+ __param(0, (0, common_1.Body)()),
93
+ __param(1, (0, common_1.Req)()),
94
+ __metadata("design:type", Function),
95
+ __metadata("design:paramtypes", [create_linked_attribute_smart_dto_1.CreateLinkedAttributeSmartDto, Object]),
96
+ __metadata("design:returntype", Promise)
97
+ ], LinkedAttributesController.prototype, "createSmart", null);
98
+ __decorate([
99
+ (0, common_1.Post)(':id/backfill'),
100
+ (0, common_1.UseGuards)(jwt_guard_1.JwtAuthGuard),
101
+ (0, swagger_1.ApiOperation)({
102
+ summary: 'Backfill existing entities with new linked attribute',
103
+ }),
104
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Backfill completed' }),
105
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Linked attribute not found' }),
106
+ __param(0, (0, common_1.Param)('id')),
107
+ __param(1, (0, common_1.Req)()),
108
+ __metadata("design:type", Function),
109
+ __metadata("design:paramtypes", [Number, Object]),
110
+ __metadata("design:returntype", Promise)
111
+ ], LinkedAttributesController.prototype, "backfill", null);
112
+ __decorate([
113
+ (0, common_1.Post)('backfill-all'),
114
+ (0, common_1.UseGuards)(jwt_guard_1.JwtAuthGuard),
115
+ (0, swagger_1.ApiOperation)({ summary: 'Backfill all entities of a given type' }),
116
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Backfill completed' }),
117
+ __param(0, (0, common_1.Query)('entity_type')),
118
+ __param(1, (0, common_1.Req)()),
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", [String, Object]),
121
+ __metadata("design:returntype", Promise)
122
+ ], LinkedAttributesController.prototype, "backfillAll", null);
123
+ __decorate([
124
+ (0, common_1.Get)('preview-key'),
125
+ (0, common_1.UseGuards)(jwt_guard_1.JwtAuthGuard),
126
+ (0, swagger_1.ApiOperation)({
127
+ summary: 'Preview generated attribute key before creation',
128
+ }),
129
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Preview generated successfully' }),
130
+ __param(0, (0, common_1.Query)('mapped_entity_type')),
131
+ __param(1, (0, common_1.Query)('entity_type')),
132
+ __param(2, (0, common_1.Query)('attribute_key')),
133
+ __param(3, (0, common_1.Query)('organization_id')),
134
+ __param(4, (0, common_1.Req)()),
135
+ __metadata("design:type", Function),
136
+ __metadata("design:paramtypes", [String, String, String, Number, Object]),
137
+ __metadata("design:returntype", Promise)
138
+ ], LinkedAttributesController.prototype, "previewKey", null);
63
139
  exports.LinkedAttributesController = LinkedAttributesController = __decorate([
140
+ (0, swagger_1.ApiTags)('Linked Attributes'),
64
141
  (0, common_1.Controller)('linked-attributes'),
65
142
  __param(0, (0, common_1.Inject)('LinkedAttributesService')),
66
143
  __metadata("design:paramtypes", [linked_attributes_service_1.LinkedAttributesService])
@@ -1 +1 @@
1
- {"version":3,"file":"linked_attributes.controller.js","sourceRoot":"","sources":["../../../../src/module/linked_attributes/controller/linked_attributes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,oFAA+E;AAC/E,2DAAgE;AAGzD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,YAEmB,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;IAChE,CAAC;IAIE,AAAN,KAAK,CAAC,MAAM,CAAQ,GAAQ;QAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;QAExC,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CAChB,GAAQ,EACO,WAAmB;QAEzC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;QAExC,OAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAClD,WAAW,EACX,YAAY,CACb,CAAC;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,sBAAsB,CAAQ,GAAQ,EAAU,OAAY;QAChE,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxC,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CACxD,OAAO,EACP,YAAY,CACb,CAAC;IACJ,CAAC;CACF,CAAA;AArCY,gEAA0B;AAQ/B;IAFL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,kBAAS,EAAC,wBAAY,CAAC;IACV,WAAA,IAAA,YAAG,GAAE,CAAA;;;;wDAIlB;AAIK;IAFL,IAAA,YAAG,EAAC,sBAAsB,CAAC;IAC3B,IAAA,kBAAS,EAAC,wBAAY,CAAC;IAErB,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;;;;qEAQtB;AAIK;IAFL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,kBAAS,EAAC,wBAAY,CAAC;IACM,WAAA,IAAA,YAAG,GAAE,CAAA;IAAY,WAAA,IAAA,aAAI,GAAE,CAAA;;;;wEAMpD;qCApCU,0BAA0B;IADtC,IAAA,mBAAU,EAAC,mBAAmB,CAAC;IAG3B,WAAA,IAAA,eAAM,EAAC,yBAAyB,CAAC,CAAA;qCACQ,mDAAuB;GAHxD,0BAA0B,CAqCtC"}
1
+ {"version":3,"file":"linked_attributes.controller.js","sourceRoot":"","sources":["../../../../src/module/linked_attributes/controller/linked_attributes.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare class FilterConditionDto {
2
+ filter_attribute: string;
3
+ filter_operator: string;
4
+ filter_value: any;
5
+ }
6
+ export declare class CreateLinkedAttributeSmartDto {
7
+ field_name: string;
8
+ mapped_entity_type: string;
9
+ applicable_entity_type: string;
10
+ applicable_attribute_key: string;
11
+ saved_filter_code: string;
12
+ backfill?: boolean;
13
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateLinkedAttributeSmartDto = exports.FilterConditionDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class FilterConditionDto {
15
+ }
16
+ exports.FilterConditionDto = FilterConditionDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.IsNotEmpty)(),
20
+ __metadata("design:type", String)
21
+ ], FilterConditionDto.prototype, "filter_attribute", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", String)
26
+ ], FilterConditionDto.prototype, "filter_operator", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsNotEmpty)(),
29
+ __metadata("design:type", Object)
30
+ ], FilterConditionDto.prototype, "filter_value", void 0);
31
+ class CreateLinkedAttributeSmartDto {
32
+ }
33
+ exports.CreateLinkedAttributeSmartDto = CreateLinkedAttributeSmartDto;
34
+ __decorate([
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.IsNotEmpty)(),
37
+ __metadata("design:type", String)
38
+ ], CreateLinkedAttributeSmartDto.prototype, "field_name", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsString)(),
41
+ (0, class_validator_1.IsNotEmpty)(),
42
+ __metadata("design:type", String)
43
+ ], CreateLinkedAttributeSmartDto.prototype, "mapped_entity_type", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsString)(),
46
+ (0, class_validator_1.IsNotEmpty)(),
47
+ __metadata("design:type", String)
48
+ ], CreateLinkedAttributeSmartDto.prototype, "applicable_entity_type", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.IsNotEmpty)(),
52
+ __metadata("design:type", String)
53
+ ], CreateLinkedAttributeSmartDto.prototype, "applicable_attribute_key", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsString)(),
56
+ (0, class_validator_1.IsNotEmpty)(),
57
+ __metadata("design:type", String)
58
+ ], CreateLinkedAttributeSmartDto.prototype, "saved_filter_code", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsBoolean)(),
61
+ (0, class_validator_1.IsOptional)(),
62
+ __metadata("design:type", Boolean)
63
+ ], CreateLinkedAttributeSmartDto.prototype, "backfill", void 0);
64
+ //# sourceMappingURL=create-linked-attribute-smart.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-linked-attribute-smart.dto.js","sourceRoot":"","sources":["../../../../src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AAGzB,MAAa,kBAAkB;CAW9B;AAXD,gDAWC;AARC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACY;AAIzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACW;AAGxB;IADC,IAAA,4BAAU,GAAE;;wDACK;AAGpB,MAAa,6BAA6B;CA8BzC;AA9BD,sEA8BC;AA3BC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iEACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yEACc;AAI3B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6EACkB;AAI/B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+EACoB;AAIjC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wEACa;AAU1B;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;+DACM"}
@@ -9,11 +9,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LinkedAttributesModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const entity_module_1 = require("../meta/entity.module");
12
+ const filter_module_1 = require("../filter/filter.module");
13
+ const entity_json_module_1 = require("../entity_json/entity_json.module");
12
14
  const typeorm_1 = require("@nestjs/typeorm");
13
15
  const linked_attribute_entity_1 = require("./entity/linked_attribute.entity");
14
16
  const linked_attributes_controller_1 = require("./controller/linked_attributes.controller");
15
17
  const linked_attributes_service_1 = require("./service/linked_attributes.service");
16
- const filter_module_1 = require("../filter/filter.module");
17
18
  let LinkedAttributesModule = class LinkedAttributesModule {
18
19
  };
19
20
  exports.LinkedAttributesModule = LinkedAttributesModule;
@@ -21,8 +22,9 @@ exports.LinkedAttributesModule = LinkedAttributesModule = __decorate([
21
22
  (0, common_1.Module)({
22
23
  imports: [
23
24
  entity_module_1.EntityModule,
25
+ (0, common_1.forwardRef)(() => filter_module_1.FilterModule),
26
+ (0, common_1.forwardRef)(() => entity_json_module_1.EntityJSONModule),
24
27
  typeorm_1.TypeOrmModule.forFeature([linked_attribute_entity_1.LinkedAttributes]),
25
- filter_module_1.FilterModule,
26
28
  ],
27
29
  controllers: [linked_attributes_controller_1.LinkedAttributesController],
28
30
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"linked_attributes.module.js","sourceRoot":"","sources":["../../../src/module/linked_attributes/linked_attributes.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AACrD,6CAAgD;AAChD,8EAAoE;AACpE,4FAAuF;AACvF,mFAA8E;AAC9E,2DAAuD;AAchD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,wDAAsB;iCAAtB,sBAAsB;IAZlC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,4BAAY;YACZ,uBAAa,CAAC,UAAU,CAAC,CAAC,0CAAgB,CAAC,CAAC;YAC5C,4BAAY;SACb;QACD,WAAW,EAAE,CAAC,yDAA0B,CAAC;QACzC,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,mDAAuB,EAAE;SAC1E;QACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACrC,CAAC;GACW,sBAAsB,CAAG"}
1
+ {"version":3,"file":"linked_attributes.module.js","sourceRoot":"","sources":["../../../src/module/linked_attributes/linked_attributes.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,yDAAqD;AACrD,2DAAuD;AACvD,0EAAqE;AACrE,6CAAgD;AAChD,8EAAoE;AACpE,4FAAuF;AACvF,mFAA8E;AAevE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,wDAAsB;iCAAtB,sBAAsB;IAblC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,4BAAY;YACZ,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,4BAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qCAAgB,CAAC;YAClC,uBAAa,CAAC,UAAU,CAAC,CAAC,0CAAgB,CAAC,CAAC;SAC7C;QACD,WAAW,EAAE,CAAC,yDAA0B,CAAC;QACzC,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,mDAAuB,EAAE;SAC1E;QACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACrC,CAAC;GACW,sBAAsB,CAAG"}
@@ -1,11 +1,19 @@
1
1
  import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
2
2
  import { DataSource } from 'typeorm';
3
3
  import { LinkedAttributes } from '../entity/linked_attribute.entity';
4
+ import { EntityMasterService } from 'src/module/meta/service/entity-master.service';
5
+ import { AttributeMasterService } from 'src/module/meta/service/attribute-master.service';
6
+ import { SavedFilterService } from 'src/module/filter/service/saved-filter.service';
7
+ import { EntityJSONService } from 'src/module/entity_json/service/entity_json.service';
8
+ import { CreateLinkedAttributeSmartDto } from '../dto/create-linked-attribute-smart.dto';
4
9
  import { FilterService } from 'src/module/filter/service/filter.service';
5
10
  export declare class LinkedAttributesService extends EntityServiceImpl {
6
11
  private readonly dataSource;
12
+ private readonly attributeMasterService;
13
+ private readonly savedFilterService;
14
+ private readonly entityJsonService;
7
15
  private readonly filterService;
8
- constructor(dataSource: DataSource, filterService: FilterService);
16
+ constructor(dataSource: DataSource, entityMasterService: EntityMasterService, attributeMasterService: AttributeMasterService, savedFilterService: SavedFilterService, entityJsonService: EntityJSONService, filterService: FilterService);
9
17
  createEntity(payload: any, loggedInUser: any): Promise<any>;
10
18
  getAllLinkedAttributes(loggedInUser: any): Promise<LinkedAttributes[]>;
11
19
  upsertLinkedAttributes(payloadList: any[], loggedInUser: any): Promise<LinkedAttributes[]>;
@@ -31,4 +39,36 @@ export declare class LinkedAttributesService extends EntityServiceImpl {
31
39
  pagination: {};
32
40
  };
33
41
  } | LinkedAttributes[]>;
42
+ private generateNextSequence;
43
+ generateAttributeKey(applicable_entity_type: string, applicable_attribute_key: string, sequence: number): string;
44
+ private createFilterForLinkedAttribute;
45
+ createLinkedAttributeSmart(payload: CreateLinkedAttributeSmartDto, loggedInUser: any): Promise<LinkedAttributes>;
46
+ validateLinkedAttribute(payload: {
47
+ field_name: string;
48
+ mapped_entity_type: string;
49
+ applicable_entity_type: string;
50
+ applicable_attribute_key: string;
51
+ attribute_key?: string;
52
+ organization_id: number;
53
+ }, loggedInUser: any): Promise<{
54
+ valid: boolean;
55
+ errors: string[];
56
+ }>;
57
+ private validateRequiredFields;
58
+ private checkDuplicateAttributeKey;
59
+ private validateEntityTypeExists;
60
+ private validateAttributeKeyExists;
61
+ backfillLinkedAttribute(linked_attribute_id: number, loggedInUser: any): Promise<{
62
+ total: number;
63
+ updated: number;
64
+ failed: number;
65
+ errors: Array<{
66
+ entity_id: number;
67
+ error: string;
68
+ }>;
69
+ }>;
70
+ backfillAllForEntity(mapped_entity_type: string, loggedInUser: any): Promise<{
71
+ updated: number;
72
+ failed: number;
73
+ }>;
34
74
  }