rez_core 2.2.86 → 2.2.87

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 (31) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/dist/module/meta/controller/meta.controller.d.ts +6 -1
  3. package/dist/module/meta/controller/meta.controller.js +19 -2
  4. package/dist/module/meta/controller/meta.controller.js.map +1 -1
  5. package/dist/module/meta/service/populate-meta.service.js +5 -1
  6. package/dist/module/meta/service/populate-meta.service.js.map +1 -1
  7. package/dist/module/workflow/controller/action.controller.d.ts +1 -1
  8. package/dist/module/workflow/controller/action.controller.js +4 -3
  9. package/dist/module/workflow/controller/action.controller.js.map +1 -1
  10. package/dist/module/workflow/repository/action-data.repository.d.ts +1 -1
  11. package/dist/module/workflow/repository/action-data.repository.js +5 -2
  12. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  13. package/dist/module/workflow/repository/task.repository.js +1 -0
  14. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  15. package/dist/module/workflow/service/action-data.service.d.ts +1 -1
  16. package/dist/module/workflow/service/action-data.service.js +2 -2
  17. package/dist/module/workflow/service/action-data.service.js.map +1 -1
  18. package/dist/module/workflow/service/action.service.js +10 -14
  19. package/dist/module/workflow/service/action.service.js.map +1 -1
  20. package/dist/module/workflow/service/populate-workflow.service.js +3 -0
  21. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  22. package/dist/tsconfig.build.tsbuildinfo +1 -1
  23. package/package.json +1 -1
  24. package/src/module/meta/controller/meta.controller.ts +17 -1
  25. package/src/module/meta/service/populate-meta.service.ts +5 -1
  26. package/src/module/workflow/controller/action.controller.ts +4 -2
  27. package/src/module/workflow/repository/action-data.repository.ts +8 -4
  28. package/src/module/workflow/repository/task.repository.ts +1 -0
  29. package/src/module/workflow/service/action-data.service.ts +6 -4
  30. package/src/module/workflow/service/action.service.ts +13 -15
  31. package/src/module/workflow/service/populate-workflow.service.ts +11 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rez_core",
3
- "version": "2.2.86",
3
+ "version": "2.2.87",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -10,11 +10,15 @@ import {
10
10
  import { EntityTableService } from '../service/entity-table.service';
11
11
  import { Response } from 'express';
12
12
  import { JwtAuthGuard } from '../../auth/guards/jwt.guard';
13
+ import { PopulateMetaService } from '../service/populate-meta.service';
13
14
 
14
15
  @Controller('meta')
15
16
  @UseGuards(JwtAuthGuard)
16
17
  export class MetaController {
17
- constructor(private readonly entityTableService: EntityTableService) {}
18
+ constructor(
19
+ private readonly entityTableService: EntityTableService,
20
+ private readonly populateMetaService: PopulateMetaService,
21
+ ) {}
18
22
 
19
23
  @Post('get-table-data')
20
24
  async getTableMetaData(
@@ -36,4 +40,16 @@ export class MetaController {
36
40
  message: 'Data fetch successfully!',
37
41
  });
38
42
  }
43
+
44
+ @Post('populate')
45
+ async populateMetaData(
46
+ @Query('organization_id') organizationId: number,
47
+ @Res() response: Response,
48
+ @Req() req: Request & { user: any },
49
+ ) {
50
+ const loggedInUser = req.user.userData;
51
+ const result =
52
+ await this.populateMetaService.populateMetaData(organizationId);
53
+ return response.status(HttpStatus.OK).json(result);
54
+ }
39
55
  }
@@ -52,7 +52,11 @@ export class PopulateMetaService {
52
52
  // }
53
53
 
54
54
  async populateMetaData(organization_id: number) {
55
- const metadataTables = ['cr_entity_master', 'cr_attribute_master'];
55
+ const metadataTables = [
56
+ 'cr_entity_master',
57
+ 'cr_attribute_master',
58
+ 'cr_view_master',
59
+ ];
56
60
  const entityTypeToNewIdMap = new Map<string, number>();
57
61
 
58
62
  // Step 1: Insert basic metadata tables
@@ -80,13 +80,15 @@ export class ActionController {
80
80
  @Body('stage_id') stage_id: number,
81
81
  @Body('mapped_entity_id') mapped_entity_id: number,
82
82
  @Body('mapped_entity_type') mapped_entity_type: string,
83
+ @Body('action_id') action_id: number,
83
84
  ) {
84
85
  const loggedInUser = req.user.userData;
85
86
  const result = this.actionDataService.resubmitAction(
86
87
  loggedInUser,
87
- stage_id,
88
- mapped_entity_id,
89
88
  mapped_entity_type,
89
+ mapped_entity_id,
90
+ stage_id,
91
+ action_id,
90
92
  );
91
93
  return result;
92
94
  }
@@ -1,4 +1,4 @@
1
- import { Injectable } from '@nestjs/common';
1
+ import { BadRequestException, Injectable } from '@nestjs/common';
2
2
  import { InjectRepository } from '@nestjs/typeorm';
3
3
  import { ActionDataEntity } from '../entity/action-data.entity';
4
4
  import { DataSource, LessThan, Repository } from 'typeorm';
@@ -45,6 +45,8 @@ export class ActionDataRepository extends EntityServiceImpl {
45
45
  user_id: loggedInUser.id,
46
46
  action_id: act.id,
47
47
  sequence: act.sequence,
48
+ name: act.name,
49
+ organization_id: loggedInUser.organization_id,
48
50
  mapped_entity_id,
49
51
  mapped_entity_type,
50
52
  is_current: isFirst ? 'Y' : null,
@@ -124,9 +126,10 @@ export class ActionDataRepository extends EntityServiceImpl {
124
126
 
125
127
  async resubmitAction(
126
128
  organization_id: number,
127
- stage_id: number,
128
- mapped_entity_id: number,
129
129
  mapped_entity_type: string,
130
+ mapped_entity_id: number,
131
+ stage_id: number,
132
+ action_id: number,
130
133
  ) {
131
134
  // Get the current active action
132
135
  const currentAction = await this.actionDataRepo.findOne({
@@ -135,13 +138,14 @@ export class ActionDataRepository extends EntityServiceImpl {
135
138
  stage_id,
136
139
  mapped_entity_id,
137
140
  mapped_entity_type,
141
+ action_id,
138
142
  is_current: 'Y',
139
143
  },
140
144
  });
141
145
 
142
146
  if (!currentAction) {
143
147
  // skip
144
- return;
148
+ throw new BadRequestException('Current action not found');
145
149
  }
146
150
 
147
151
  // Find the immediate previous action in the sequence
@@ -54,6 +54,7 @@ export class TaskRepository {
54
54
  stage_id: act.stage_id,
55
55
  user_id: loggedInUser.id,
56
56
  action_id: act.id,
57
+ organization_id: loggedInUser.organization_id,
57
58
  name: act.name,
58
59
  sequence: act.sequence,
59
60
  is_mandatory: is_mandatory[0]?.code === 'mandatory' ? true : false,
@@ -45,16 +45,18 @@ export class ActionDataService extends EntityServiceImpl {
45
45
 
46
46
  async resubmitAction(
47
47
  loggedInUser: UserData,
48
- stage_id: number,
49
- mapped_entity_id: number,
50
48
  mapped_entity_type: string,
49
+ mapped_entity_id: number,
50
+ stage_id: number,
51
+ action_id: number,
51
52
  ) {
52
53
  const { organization_id } = loggedInUser;
53
54
  return this.actionDataRepo.resubmitAction(
54
55
  organization_id,
55
- stage_id,
56
- mapped_entity_id,
57
56
  mapped_entity_type,
57
+ mapped_entity_id,
58
+ stage_id,
59
+ action_id,
58
60
  );
59
61
  }
60
62
  }
@@ -97,23 +97,21 @@ export class ActionService extends EntityServiceImpl {
97
97
  }
98
98
  }
99
99
 
100
- // ➕ Step 5: Resource mapping for form (if form is sent)
101
- if (actionData.form && actionData.form.length > 0) {
102
- for (const formId of actionData.form) {
103
- const resourceMapping = {
104
- stg_act_mapping_id: stageActionMappingData.id,
105
- form_id: formId,
106
- type: 'form',
107
- entity_type: 'ARMS',
108
- form_entity_type: 'LEAD',
109
- } as any;
100
+ await this.dataSource.query(
101
+ `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'form'`,
102
+ [stageActionMappingData.id],
103
+ );
110
104
 
111
- if (entityData?.organization_id) {
112
- resourceMapping.organization_id = entityData.organization_id;
113
- }
105
+ if (actionData.form) {
106
+ const resourceMapping = {
107
+ stg_act_mapping_id: stageActionMappingData.id,
108
+ organization_id: entityData.organization_id,
109
+ form_id: actionData.form,
110
+ type: 'form',
111
+ entity_type: 'ARMS',
112
+ } as any;
114
113
 
115
- await super.createEntity(resourceMapping, loggedInUser);
116
- }
114
+ await super.createEntity(resourceMapping, loggedInUser);
117
115
  }
118
116
 
119
117
  return actionData;
@@ -272,6 +272,16 @@ export class PopulateWorkflowService extends EntityServiceImpl {
272
272
 
273
273
  console.log(`Matched new mandatory item:`, matchedNewMandatory);
274
274
 
275
+ const formActionCategory = await this.dataSource.query(
276
+ `SELECT id FROM cr_wf_action_category WHERE id = ? and is_form = 1`,
277
+ [row.action_category],
278
+ );
279
+
280
+ //get view master form
281
+ const formViewMaster = await this.dataSource.query(
282
+ `SELECT id FROM cr_view_master WHERE code = "LEAD_FORM"`,
283
+ );
284
+
275
285
  // Step 4: Use the matched new item's id (if found)
276
286
  await this.actionService.createEntity(
277
287
  {
@@ -282,6 +292,7 @@ export class PopulateWorkflowService extends EntityServiceImpl {
282
292
  action_requirement: matchedNewMandatory?.id ?? null,
283
293
  level_id: organization_id,
284
294
  entity_type: 'ACTN',
295
+ form: formActionCategory.length > 0 ? formViewMaster[0]?.id : null,
285
296
  },
286
297
  loggedInUser,
287
298
  );