rez_core 2.1.154 → 2.1.157

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 (55) hide show
  1. package/dist/module/filter/service/filter.service.js +2 -1
  2. package/dist/module/filter/service/filter.service.js.map +1 -1
  3. package/dist/module/workflow/controller/action.controller.d.ts +12 -0
  4. package/dist/module/workflow/controller/action.controller.js +17 -1
  5. package/dist/module/workflow/controller/action.controller.js.map +1 -1
  6. package/dist/module/workflow/controller/task.controller.d.ts +9 -0
  7. package/dist/module/workflow/controller/task.controller.js +14 -1
  8. package/dist/module/workflow/controller/task.controller.js.map +1 -1
  9. package/dist/module/workflow/repository/action-data.repository.d.ts +10 -0
  10. package/dist/module/workflow/repository/action-data.repository.js +85 -0
  11. package/dist/module/workflow/repository/action-data.repository.js.map +1 -0
  12. package/dist/module/workflow/repository/action.repository.d.ts +17 -0
  13. package/dist/module/workflow/repository/action.repository.js +97 -0
  14. package/dist/module/workflow/repository/action.repository.js.map +1 -0
  15. package/dist/module/workflow/repository/comm-template.repository.d.ts +1 -1
  16. package/dist/module/workflow/repository/comm-template.repository.js +16 -11
  17. package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
  18. package/dist/module/workflow/repository/stage-movement.repository.d.ts +1 -1
  19. package/dist/module/workflow/repository/stage-movement.repository.js +5 -1
  20. package/dist/module/workflow/repository/stage-movement.repository.js.map +1 -1
  21. package/dist/module/workflow/repository/task.repository.d.ts +6 -3
  22. package/dist/module/workflow/repository/task.repository.js +42 -7
  23. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  24. package/dist/module/workflow/service/action-data.service.d.ts +11 -0
  25. package/dist/module/workflow/service/action-data.service.js +36 -0
  26. package/dist/module/workflow/service/action-data.service.js.map +1 -0
  27. package/dist/module/workflow/service/action.service.d.ts +13 -1
  28. package/dist/module/workflow/service/action.service.js +12 -6
  29. package/dist/module/workflow/service/action.service.js.map +1 -1
  30. package/dist/module/workflow/service/comm-template.service.js +1 -1
  31. package/dist/module/workflow/service/comm-template.service.js.map +1 -1
  32. package/dist/module/workflow/service/task.service.d.ts +11 -1
  33. package/dist/module/workflow/service/task.service.js +35 -3
  34. package/dist/module/workflow/service/task.service.js.map +1 -1
  35. package/dist/module/workflow/service/workflow-meta.service.d.ts +6 -2
  36. package/dist/module/workflow/service/workflow-meta.service.js +14 -6
  37. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  38. package/dist/module/workflow/workflow.module.js +6 -0
  39. package/dist/module/workflow/workflow.module.js.map +1 -1
  40. package/dist/tsconfig.build.tsbuildinfo +1 -1
  41. package/package.json +1 -1
  42. package/src/module/filter/service/filter.service.ts +4 -2
  43. package/src/module/workflow/controller/action.controller.ts +19 -1
  44. package/src/module/workflow/controller/task.controller.ts +20 -3
  45. package/src/module/workflow/repository/action-data.repository.ts +93 -0
  46. package/src/module/workflow/repository/action.repository.ts +104 -0
  47. package/src/module/workflow/repository/comm-template.repository.ts +25 -17
  48. package/src/module/workflow/repository/stage-movement.repository.ts +7 -3
  49. package/src/module/workflow/repository/task.repository.ts +66 -11
  50. package/src/module/workflow/service/action-data.service.ts +45 -0
  51. package/src/module/workflow/service/action.service.ts +30 -11
  52. package/src/module/workflow/service/comm-template.service.ts +1 -1
  53. package/src/module/workflow/service/task.service.ts +77 -7
  54. package/src/module/workflow/service/workflow-meta.service.ts +40 -34
  55. package/src/module/workflow/workflow.module.ts +6 -0
@@ -2,10 +2,14 @@ import { Injectable } from '@nestjs/common';
2
2
  import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
3
3
  import { UserData } from 'src/module/user/entity/user.entity';
4
4
  import { TaskRepository } from '../repository/task.repository';
5
+ import { ActionDataService } from './action-data.service';
5
6
 
6
7
  @Injectable()
7
8
  export class TaskService extends EntityServiceImpl {
8
- constructor(private readonly taskRepository: TaskRepository) {
9
+ constructor(
10
+ private readonly taskRepository: TaskRepository,
11
+ private readonly actionDataService: ActionDataService,
12
+ ) {
9
13
  super();
10
14
  }
11
15
 
@@ -13,13 +17,79 @@ export class TaskService extends EntityServiceImpl {
13
17
  loggedInUser: UserData,
14
18
  data,
15
19
  ): Promise<any> {
16
- const taskData = await this.taskRepository.getAllTaskByUserIdAndStageId(
17
- loggedInUser.id,
18
- data.stage_id,
19
- data.mapped_entity_type,
20
- data.mapped_entity_id,
21
- );
20
+ const taskData = await this.taskRepository.getAllTaskByUserIdAndStageId({
21
+ user_id: data.user_id,
22
+ stage_id: data.stage_id,
23
+ mapped_entity_type: data.mapped_entity_type,
24
+ mapped_entity_id: data.mapped_entity_id,
25
+ });
26
+
27
+ const grouped: { mandatory: any[]; non_mandatory: any[] } = {
28
+ mandatory: [],
29
+ non_mandatory: [],
30
+ };
31
+
32
+ for (const task of taskData) {
33
+ if (task && task.is_mandatory) {
34
+ grouped.mandatory.push(task);
35
+ } else {
36
+ grouped.non_mandatory.push(task);
37
+ }
38
+ }
39
+
40
+ return grouped;
41
+ }
42
+
43
+ async getEntityData(entityType: string, id: number, loggedInUser: any) {
44
+ const taskData = await super.getEntityData(entityType, id, loggedInUser);
22
45
 
23
46
  return taskData;
24
47
  }
48
+
49
+ async saveActionData(
50
+ action: any,
51
+ loggedInUser: UserData,
52
+ mapped_entity_id: number,
53
+ mapped_entity_type: string,
54
+ ): Promise<any> {
55
+ await this.taskRepository.saveActionDataInTask(
56
+ action,
57
+ loggedInUser,
58
+ mapped_entity_id,
59
+ mapped_entity_type,
60
+ );
61
+ }
62
+
63
+ async moveTask(
64
+ loggedInUser: UserData,
65
+ body: {
66
+ mapped_entity_type: string;
67
+ mapped_entity_id: number;
68
+ stage_id: number;
69
+ action_id: number;
70
+ },
71
+ ): Promise<any> {
72
+ // Logic to move task based on the provided body parameters
73
+ // This could involve updating the task's stage, action, etc.
74
+
75
+ // update task status
76
+ this.taskRepository.updateTaskStatus(
77
+ loggedInUser,
78
+ body.mapped_entity_type,
79
+ body.mapped_entity_id,
80
+ body.stage_id,
81
+ body.action_id,
82
+ );
83
+
84
+ // update action status
85
+ await this.actionDataService.updateActionStatus(
86
+ loggedInUser,
87
+ body.mapped_entity_type,
88
+ body.mapped_entity_id,
89
+ body.stage_id,
90
+ body.action_id,
91
+ );
92
+
93
+ return 'Task moved successfully';
94
+ }
25
95
  }
@@ -1,11 +1,13 @@
1
1
  import { log } from 'console';
2
- import { Injectable } from '@nestjs/common';
2
+ import { Inject, Injectable } from '@nestjs/common';
3
3
  import { InjectRepository } from '@nestjs/typeorm';
4
4
  import { Repository, DataSource } from 'typeorm';
5
5
  import { StageMovementData } from '../entity/stage-movement-data.entity';
6
6
  import { UserData } from 'src/module/user/entity/user.entity';
7
7
  import { StageMovementRepository } from '../repository/stage-movement.repository';
8
8
  import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
9
+ import { ActionDataService } from './action-data.service';
10
+ import { TaskService } from './task.service';
9
11
 
10
12
  @Injectable()
11
13
  export class WorkflowMetaService extends EntityServiceImpl {
@@ -14,6 +16,9 @@ export class WorkflowMetaService extends EntityServiceImpl {
14
16
  private readonly stageMovementRepo: Repository<StageMovementData>,
15
17
  private readonly stageMovementRepository: StageMovementRepository,
16
18
  private readonly dataSource: DataSource,
19
+ private readonly actionDataService: ActionDataService,
20
+ @Inject('TaskService')
21
+ private readonly taskService: TaskService,
17
22
  ) {
18
23
  super();
19
24
  }
@@ -136,7 +141,12 @@ export class WorkflowMetaService extends EntityServiceImpl {
136
141
  is_current: 'Y',
137
142
  });
138
143
 
139
- this.populateActionService(currentStage.stage_id, loggedInUser);
144
+ this.populateActionService(
145
+ currentStage.stage_id,
146
+ loggedInUser,
147
+ mapped_entity_id,
148
+ mapped_entity_type,
149
+ );
140
150
 
141
151
  return `Initialized workflow with first stage (Stage ID: ${firstStage.id}).`;
142
152
  }
@@ -168,6 +178,13 @@ export class WorkflowMetaService extends EntityServiceImpl {
168
178
  is_current: 'Y',
169
179
  });
170
180
 
181
+ this.populateActionService(
182
+ currentStage.stage_id,
183
+ loggedInUser,
184
+ mapped_entity_id,
185
+ mapped_entity_type,
186
+ );
187
+
171
188
  return `Moved to next stage (Stage ID: ${nextStage.id}).`;
172
189
  }
173
190
 
@@ -181,7 +198,12 @@ export class WorkflowMetaService extends EntityServiceImpl {
181
198
  return 'Workflow completed. No next stage available.';
182
199
  }
183
200
 
184
- async populateActionService(stage_id: number, loggedInUser: UserData) {
201
+ async populateActionService(
202
+ stage_id: number,
203
+ loggedInUser: UserData,
204
+ mapped_entity_id: number,
205
+ mapped_entity_type: string,
206
+ ): Promise<any> {
185
207
  const actions =
186
208
  await this.stageMovementRepository.getAllActionByStageId(stage_id);
187
209
  // Populate the action service with the retrieved actions
@@ -190,36 +212,20 @@ export class WorkflowMetaService extends EntityServiceImpl {
190
212
  return 'No actions found for this stage.';
191
213
  }
192
214
 
193
- await this.stageMovementRepository.saveActionData(actions, loggedInUser);
194
- await this.stageMovementRepository.saveTaskData(actions, loggedInUser);
195
-
196
- // // loop through each action and get the action data and populate the task data
197
- // for (const action of actions) {
198
- // const actionData = await super.getEntityData(
199
- // 'STAGE_ACTION',
200
- // action.id,
201
- // loggedInUser,
202
- // );
203
-
204
- // await super.createEntity(
205
- // {
206
- // user_id: loggedInUser.id,
207
- // stage_id: action.stage_id,
208
- // action_id: action.id,
209
- // } as any,
210
- // loggedInUser,
211
- // );
212
-
213
- // await super.createEntity(
214
- // {
215
- // user_id: loggedInUser.id,
216
- // stage_id: action.stage_id,
217
- // action_id: action.id,
218
- // mapped_entity_type: actionData?.entity_type,
219
- // mapped_entity_id: actionData?.entity_id,
220
- // } as any,
221
- // loggedInUser,
222
- // );
223
- // }
215
+ // save in action data
216
+ await this.actionDataService.saveActionData(
217
+ actions,
218
+ loggedInUser,
219
+ mapped_entity_id,
220
+ mapped_entity_type,
221
+ );
222
+
223
+ // save in task data
224
+ await this.taskService.saveActionData(
225
+ actions,
226
+ loggedInUser,
227
+ mapped_entity_id,
228
+ mapped_entity_type,
229
+ );
224
230
  }
225
231
  }
@@ -46,6 +46,9 @@ import { ActionDataEntity } from './entity/action-data.entity';
46
46
  import { TaskController } from './controller/task.controller';
47
47
  import { TaskService } from './service/task.service';
48
48
  import { TaskRepository } from './repository/task.repository';
49
+ import { ActionRepository } from './repository/action.repository';
50
+ import { ActionDataRepository } from './repository/action-data.repository';
51
+ import { ActionDataService } from './service/action-data.service';
49
52
 
50
53
  @Module({
51
54
  imports: [
@@ -96,6 +99,9 @@ import { TaskRepository } from './repository/task.repository';
96
99
  PopulateWorkflowService,
97
100
  StageMovementRepository,
98
101
  TaskRepository,
102
+ ActionRepository,
103
+ ActionDataRepository,
104
+ ActionDataService,
99
105
  ],
100
106
  exports: [
101
107
  'ActionCategoryService',