rez_core 5.0.294 → 5.0.296
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/meta/service/media-data.service.js +108 -38
- package/dist/module/meta/service/media-data.service.js.map +1 -1
- package/dist/module/workflow-automation/service/schedule-handler.service.d.ts +2 -2
- package/dist/module/workflow-automation/service/schedule-handler.service.js +18 -22
- package/dist/module/workflow-automation/service/schedule-handler.service.js.map +1 -1
- package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.d.ts +7 -7
- package/dist/module/workflow-schedule/processors/schedule.processor.d.ts +2 -0
- package/dist/module/workflow-schedule/processors/schedule.processor.js +115 -19
- package/dist/module/workflow-schedule/processors/schedule.processor.js.map +1 -1
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js +14 -14
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/module/meta/service/media-data.service.ts +142 -40
- package/src/module/workflow-automation/service/schedule-handler.service.ts +19 -27
- package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +7 -7
- package/src/module/workflow-schedule/processors/schedule.processor.ts +156 -156
- package/src/module/workflow-schedule/service/workflow-schedule.service.ts +14 -14
- package/src/resources/dev.properties.yaml +0 -31
- package/src/resources/local.properties.yaml +0 -27
- package/src/resources/uat.properties.yaml +0 -31
- package/.idea/250218_ether_core.iml +0 -12
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
|
@@ -41,32 +41,55 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
41
41
|
if (!fileName || !mappedAttributeKey) {
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
44
|
+
if (!this.s3AccessKeyID || !this.s3AccessKeySecret) {
|
|
45
|
+
throw new Error('AWS credentials not configured. Please check AWS_ACCESS_KEY_ID and AWS_SECRET_KEY in configuration.');
|
|
46
|
+
}
|
|
47
|
+
if (!this.bucketName) {
|
|
48
|
+
throw new Error('S3 bucket name not configured. Please check BUCKET_NAME in configuration.');
|
|
49
|
+
}
|
|
50
|
+
if (!this.s3Region) {
|
|
51
|
+
throw new Error('AWS region not configured. Please check AWS_REGION in configuration.');
|
|
52
|
+
}
|
|
44
53
|
const ext = fileName.split('.').pop()?.toLowerCase() ?? '';
|
|
45
54
|
const id = (0, uuid_1.v4)();
|
|
46
55
|
const s3Path = (await this.buildUploadPathGeneric(mappedEntityType || '', loggedInUser, mappedEntityId, parentId, parentType)) || `uploads`;
|
|
47
56
|
const s3Key = `${s3Path}/${id}.${ext}`;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
try {
|
|
58
|
+
const uploadUrl = await this.s3.getSignedUrlPromise('putObject', {
|
|
59
|
+
Bucket: this.bucketName,
|
|
60
|
+
Key: s3Key,
|
|
61
|
+
Expires: 60 * 5,
|
|
62
|
+
ContentType: this.getContentType(ext),
|
|
63
|
+
});
|
|
64
|
+
const mediaData = new media_data_entity_1.MediaData();
|
|
65
|
+
mediaData.file_name = fileName;
|
|
66
|
+
mediaData.mapped_attribute_key = mappedAttributeKey;
|
|
67
|
+
mediaData.status = global_constant_1.STATUS_PENDING;
|
|
68
|
+
if (mappedEntityType) {
|
|
69
|
+
mediaData.mapped_entity_type = mappedEntityType;
|
|
70
|
+
}
|
|
71
|
+
if (mappedEntityId) {
|
|
72
|
+
mediaData.mapped_entity_id = mappedEntityId;
|
|
73
|
+
}
|
|
74
|
+
mediaData.media_url = s3Key;
|
|
75
|
+
const savedEntity = await super.createEntity(mediaData, loggedInUser);
|
|
76
|
+
if (savedEntity) {
|
|
77
|
+
return { id: savedEntity.id, path: s3Key, uploadUrl };
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
63
80
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error('Error generating upload URL:', error);
|
|
83
|
+
console.error('Error details:', {
|
|
84
|
+
message: error.message,
|
|
85
|
+
code: error.code,
|
|
86
|
+
statusCode: error.statusCode,
|
|
87
|
+
bucketName: this.bucketName,
|
|
88
|
+
region: this.s3Region,
|
|
89
|
+
hasCredentials: !!(this.s3AccessKeyID && this.s3AccessKeySecret),
|
|
90
|
+
});
|
|
91
|
+
throw new Error(`Failed to generate upload URL: ${error.message}`);
|
|
68
92
|
}
|
|
69
|
-
return null;
|
|
70
93
|
}
|
|
71
94
|
async findByAttributeKeyAndMappedEntityIdAndMappedEntityType(attributeKey, mappedEntityId, mappedEntityType) {
|
|
72
95
|
return await this.mediaRepository.findByAttributeKeyAndMappedEntityIdAndMappedEntityType(attributeKey, mappedEntityId, mappedEntityType);
|
|
@@ -99,17 +122,34 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
99
122
|
}
|
|
100
123
|
async getMediaDownloadUrl(id, loggedInUser, expiresIn) {
|
|
101
124
|
try {
|
|
125
|
+
if (!this.s3AccessKeyID || !this.s3AccessKeySecret) {
|
|
126
|
+
throw new Error('AWS credentials not configured. Please check AWS_ACCESS_KEY_ID and AWS_SECRET_KEY in configuration.');
|
|
127
|
+
}
|
|
128
|
+
if (!this.bucketName) {
|
|
129
|
+
throw new Error('S3 bucket name not configured. Please check BUCKET_NAME in configuration.');
|
|
130
|
+
}
|
|
131
|
+
if (!this.s3Region) {
|
|
132
|
+
throw new Error('AWS region not configured. Please check AWS_REGION in configuration.');
|
|
133
|
+
}
|
|
102
134
|
const entityData = await this.getEntityData(global_constant_1.ENTITYTYPE_MEDIA, id, loggedInUser);
|
|
103
135
|
const mediaData = entityData;
|
|
136
|
+
if (!mediaData || !mediaData.media_url) {
|
|
137
|
+
throw new Error(`Media data not found or invalid for id: ${id}`);
|
|
138
|
+
}
|
|
104
139
|
let fileSize;
|
|
105
140
|
if (this.bucketName) {
|
|
106
|
-
|
|
107
|
-
.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
141
|
+
try {
|
|
142
|
+
const head = await this.s3
|
|
143
|
+
.headObject({
|
|
144
|
+
Bucket: this.bucketName,
|
|
145
|
+
Key: mediaData.media_url,
|
|
146
|
+
})
|
|
147
|
+
.promise();
|
|
148
|
+
fileSize = head.ContentLength;
|
|
149
|
+
}
|
|
150
|
+
catch (headError) {
|
|
151
|
+
console.error(`Error checking file in S3 bucket '${this.bucketName}' with key '${mediaData.media_url}':`, headError.message);
|
|
152
|
+
}
|
|
113
153
|
}
|
|
114
154
|
const signedUrl = await this.s3.getSignedUrlPromise('getObject', {
|
|
115
155
|
Bucket: this.bucketName,
|
|
@@ -127,26 +167,48 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
127
167
|
}
|
|
128
168
|
catch (error) {
|
|
129
169
|
console.error('Error generating signed URL for media:', error);
|
|
130
|
-
|
|
170
|
+
console.error('Error details:', {
|
|
171
|
+
message: error.message,
|
|
172
|
+
code: error.code,
|
|
173
|
+
statusCode: error.statusCode,
|
|
174
|
+
bucketName: this.bucketName,
|
|
175
|
+
region: this.s3Region,
|
|
176
|
+
hasCredentials: !!(this.s3AccessKeyID && this.s3AccessKeySecret),
|
|
177
|
+
});
|
|
178
|
+
throw new Error(`Failed to generate signed URL: ${error.message}`);
|
|
131
179
|
}
|
|
132
180
|
}
|
|
133
181
|
async getMediaInlineUrl(id, loggedInUser, expiresIn) {
|
|
134
182
|
try {
|
|
183
|
+
if (!this.s3AccessKeyID || !this.s3AccessKeySecret) {
|
|
184
|
+
throw new Error('AWS credentials not configured. Please check AWS_ACCESS_KEY_ID and AWS_SECRET_KEY in configuration.');
|
|
185
|
+
}
|
|
186
|
+
if (!this.bucketName) {
|
|
187
|
+
throw new Error('S3 bucket name not configured. Please check BUCKET_NAME in configuration.');
|
|
188
|
+
}
|
|
189
|
+
if (!this.s3Region) {
|
|
190
|
+
throw new Error('AWS region not configured. Please check AWS_REGION in configuration.');
|
|
191
|
+
}
|
|
135
192
|
const entityData = await this.getEntityData(global_constant_1.ENTITYTYPE_MEDIA, id, loggedInUser);
|
|
136
193
|
const mediaData = entityData;
|
|
137
194
|
let fileSize;
|
|
138
|
-
if (!mediaData) {
|
|
139
|
-
throw new Error(
|
|
195
|
+
if (!mediaData || !mediaData.media_url) {
|
|
196
|
+
throw new Error(`Media data not found or invalid for id: ${id}`);
|
|
140
197
|
}
|
|
141
198
|
const ext = mediaData.file_name.split('.').pop()?.toLowerCase() || '';
|
|
142
199
|
if (this.bucketName) {
|
|
143
|
-
|
|
144
|
-
.
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
200
|
+
try {
|
|
201
|
+
const head = await this.s3
|
|
202
|
+
.headObject({
|
|
203
|
+
Bucket: this.bucketName,
|
|
204
|
+
Key: mediaData.media_url,
|
|
205
|
+
})
|
|
206
|
+
.promise();
|
|
207
|
+
fileSize = head.ContentLength;
|
|
208
|
+
}
|
|
209
|
+
catch (headError) {
|
|
210
|
+
console.error(`Error checking file in S3 bucket '${this.bucketName}' with key '${mediaData.media_url}':`, headError.message);
|
|
211
|
+
}
|
|
150
212
|
}
|
|
151
213
|
const signedUrl = await this.s3.getSignedUrlPromise('getObject', {
|
|
152
214
|
Bucket: this.bucketName,
|
|
@@ -166,7 +228,15 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
166
228
|
}
|
|
167
229
|
catch (error) {
|
|
168
230
|
console.error('Error generating inline URL:', error);
|
|
169
|
-
|
|
231
|
+
console.error('Error details:', {
|
|
232
|
+
message: error.message,
|
|
233
|
+
code: error.code,
|
|
234
|
+
statusCode: error.statusCode,
|
|
235
|
+
bucketName: this.bucketName,
|
|
236
|
+
region: this.s3Region,
|
|
237
|
+
hasCredentials: !!(this.s3AccessKeyID && this.s3AccessKeySecret),
|
|
238
|
+
});
|
|
239
|
+
throw new Error(`Failed to generate inline URL: ${error.message}`);
|
|
170
240
|
}
|
|
171
241
|
}
|
|
172
242
|
async buildUploadPathGenericdd(mappedEntityType, loggedInUser, mappedEntityId, parentId, parentType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-data.service.js","sourceRoot":"","sources":["../../../../src/module/meta/service/media-data.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media-data.service.js","sourceRoot":"","sources":["../../../../src/module/meta/service/media-data.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,qCAA6B;AAC7B,iCAA0B;AAC1B,qCAAwC;AACxC,+BAAoC;AACpC,uEAG2C;AAC3C,mEAAwD;AACxD,+EAA0E;AAC1E,+EAAkE;AAG3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,+CAAiB;IACrD,YACmB,aAA4B,EAC5B,eAAoC,EAC7C,aAA4B;QAEpC,KAAK,EAAE,CAAC;QAJS,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAqB;QAC7C,kBAAa,GAAb,aAAa,CAAe;QAKtC,kBAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACnE,sBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACpE,aAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACvD,eAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAC;QAElE,OAAE,GAAG,IAAI,YAAE,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,eAAe,EAAE,IAAI,CAAC,iBAAiB;YACvC,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IAZH,CAAC;IAcD,KAAK,CAAC,0BAA0B,CAC9B,QAAgB,EAChB,kBAA0B,EAC1B,YAAY,EACZ,gBAAyB,EACzB,cAAuB,EACvB,QAAiB,EACjB,UAAmB;QAEnB,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QAEpB,MAAM,MAAM,GACV,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAChC,gBAAgB,IAAI,EAAE,EACtB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,CACX,CAAC,IAAI,SAAS,CAAC;QAElB,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAC/D,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE,EAAE,GAAG,CAAC;gBACf,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;aACtC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,6BAAS,EAAE,CAAC;YAClC,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC/B,SAAS,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;YACpD,SAAS,CAAC,MAAM,GAAG,gCAAc,CAAC;YAClC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,SAAS,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;YAClD,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,CAAC,gBAAgB,GAAG,cAAc,CAAC;YAC9C,CAAC;YACD,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;YAG5B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAEtE,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC;aACjE,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sDAAsD,CAC1D,YAAoB,EACpB,cAAsB,EACtB,gBAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,sDAAsD,CACtF,YAAY,EACZ,cAAc,EACd,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uCAAuC,CAC3C,cAAsB,EACtB,gBAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,uCAAuC,CACvE,cAAc,EACd,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wDAAwD,CAC5D,YAAoB,EACpB,cAAsB,EACtB,gBAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,wDAAwD,CACxF,YAAY,EACZ,cAAc,EACd,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,MAAM,GAAG,GAAG;YACV,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,yEAAyE;YAC9E,IAAI,EAAE,yEAAyE;YAC/E,GAAG,EAAE,0BAA0B;YAC/B,IAAI,EAAE,mEAAmE;YACzE,GAAG,EAAE,+BAA+B;YACpC,IAAI,EAAE,2EAA2E;SAClF,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;IAChD,CAAC;IAGD,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,YAAY,EAAE,SAAkB;QACpE,IAAI,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,kCAAgB,EAChB,EAAE,EACF,YAAY,CACb,CAAC;YACF,MAAM,SAAS,GAAG,UAAuB,CAAC;YAE1C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,QAA4B,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;yBACvB,UAAU,CAAC;wBACV,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,GAAG,EAAE,SAAS,CAAC,SAAS;qBACzB,CAAC;yBACD,OAAO,EAAE,CAAC;oBACb,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;gBAChC,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CACX,qCAAqC,IAAI,CAAC,UAAU,eAAe,SAAS,CAAC,SAAS,IAAI,EAC1F,SAAS,CAAC,OAAO,CAClB,CAAC;gBAEJ,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAC/D,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,SAAS,CAAC,SAAS;gBACxB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;gBACpC,0BAA0B,EAAE,QAAQ;aACrC,CAAC,CAAC;YACH,OAAO;gBACL,SAAS;gBACT,QAAQ,EAAE,SAAS,CAAC,SAAS;gBAC7B,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC;aACjE,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,YAAY,EAAE,SAAkB;QAClE,IAAI,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,kCAAgB,EAChB,EAAE,EACF,YAAY,CACb,CAAC;YACF,MAAM,SAAS,GAAG,UAAuB,CAAC;YAC1C,IAAI,QAA4B,CAAC;YAEjC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAEtE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;yBACvB,UAAU,CAAC;wBACV,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,GAAG,EAAE,SAAS,CAAC,SAAS;qBACzB,CAAC;yBACD,OAAO,EAAE,CAAC;oBACb,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;gBAChC,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CACX,qCAAqC,IAAI,CAAC,UAAU,eAAe,SAAS,CAAC,SAAS,IAAI,EAC1F,SAAS,CAAC,OAAO,CAClB,CAAC;gBAEJ,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAC/D,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,SAAS,CAAC,SAAS;gBACxB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;gBACpC,0BAA0B,EAAE,QAAQ;gBACpC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;aAC9C,CAAC,CAAC;YAEH,IAAI,UAAU,GAAG,SAAS,CAAC;YAO3B,OAAO;gBACL,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,SAAS,CAAC,SAAS;gBAC7B,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,SAAS,CAAC,YAAY;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC;aACjE,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,wBAAwB,CACnC,gBAAwB,EACxB,YAAY,EACZ,cAAuB,EACvB,QAAiB,EACjB,UAAmB;QAGnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAC/D,gBAAgB,EAChB,YAAY,CACb,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,gBAAgB,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,YAAY,GAAG,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC;QACtD,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,gBAAgB,EAAE,CAAC,CAAC;QACzE,CAAC;QAGD,MAAM,YAAY,GAAkC,EAAE,CAAC;QAGvD,MAAM,gBAAgB,GACpB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC3D,IAAI,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY,CAAC,eAAe;aACjC;SACF,CAAC,CAAC;QAEH,YAAY,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAIjD,IAAI,aAAqB,CAAC;QAC1B,IAAI,eAAuB,CAAC;QAE5B,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YAE3B,aAAa,GAAG,QAAQ,CAAC;YACzB,eAAe,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,CAAC;YAEN,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YACzE,eAAe,GAAG,eAAe;gBAC/B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;QAC9B,CAAC;QAGD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAChE,eAAe,EACf,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC1D;cACQ,aAAa,EAAE,aAAa;qBACrB,EACf,CAAC,aAAa,CAAC,CAChB,CAAC;QAEF,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAEzD,IAAI,eAAe,EAAE,IAAI,EAAE,CAAC;YAC1B,YAAY,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;QACpD,CAAC;QAID,IAAI,QAAQ,IAAI,UAAU,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC;YACjE,MAAM,eAAe,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC;YACjE,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,aAAa,CAChD,gBAAgB,EAChB,cAAc,EACd,YAAY,CACb,CAAC;YACF,IAAI,gBAAgB,EAAE,IAAI,EAAE,CAAC;gBAC3B,YAAY,CAAC,eAAe,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBAItD,MAAM,cAAc,GAAG,MAAM,eAAe,GAAG,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC3C,YAAY,GAAG,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAID,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YAQ3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAChE,gBAAgB,EAChB,YAAY,CACb,CAAC;YAEF,IAAI,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC1D;gBACQ,aAAa,EAAE,aAAa;uBACrB,EACf,CAAC,cAAc,CAAC,CACjB,CAAC;YAEF,IACE,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/B,UAAU,IAAI,KAAK;gBACnB,YAAY,CAAC,UAAU,IAAI,KAAK,EAChC,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE9D,YAAY,GAAG,uCAAuC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAChE,gBAAgB,EAChB,YAAY,CACb,CAAC;gBAEF,IAAI,CAAC,aAAa;oBAAE,OAAO,IAAI,CAAC;gBAChC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC1D;kBACQ,aAAa,EAAE,aAAa;yBACrB,EACf,CAAC,cAAc,CAAC,CACjB,CAAC;gBAEF,YAAY,CAAC,eAAe,CAAC,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEhE,YAAY,GAAG,qDAAqD,CAAC;YACvE,CAAC;QACH,CAAC;QAGD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAEzD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,YAAY,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEhC,IAAI,GAAG,KAAK,UAAU;gBAAE,SAAS;YACjC,IAAI,GAAG,KAAK,YAAY;gBAAE,SAAS;YACnC,IAAI,GAAG,KAAK,eAAe;gBAAE,SAAS;YAEtC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAE1B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE1D,IAAI,QAA4B,CAAC;gBAGjC,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;oBAC5B,IAAI,UAAU,EAAE,WAAW,EAAE,KAAK,UAAU,IAAI,QAAQ,EAAE,CAAC;wBACzD,QAAQ,GAAG,QAAQ,CAAC;oBACtB,CAAC;yBAAM,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;wBAC3C,QAAQ,GAAG,cAAc,CAAC;oBAC5B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBAEN,IAAI,UAAU,EAAE,WAAW,EAAE,KAAK,UAAU,IAAI,QAAQ,EAAE,CAAC;wBACzD,QAAQ,GAAG,QAAQ,CAAC;oBACtB,CAAC;yBAAM,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;wBAC3C,QAAQ,GAAG,cAAc,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAGD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,CAC1C,UAAU,EACV,QAAQ,EACR,YAAY,CACb,CAAC;oBACF,YAAY,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAID,IAAI,YAAY,CAAC,UAAU,KAAK,KAAK,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAGjE,CAAC;QAGD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,sBAAsB,CACjC,gBAAwB,EACxB,YAAY,EACZ,cAAuB,EACvB,QAAiB,EACjB,UAAmB;QAGnB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;QAC1C,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,QAAQ,GACV,YAAY,CAAC,UAAU,IAAI,KAAK,IAAI,gBAAgB,IAAI,KAAK;YAC3D,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;QAE5B,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAE1B,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,iBAAiB,CAAC,CAAC;YAGlE,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACtC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3C,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEd,gBAAgB,GAAG,MAAM,eAAK;iBAC3B,GAAG,CACF,GAAG,OAAO,wBAAwB,YAAY,CAAC,eAAe,IAAI,WAAW,EAAE,CAChF;iBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;iBACvB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEL,SAAS,GAAG,MAAM,eAAK;iBACpB,GAAG,CAAC,GAAG,OAAO,mBAAmB,WAAW,EAAE,CAAC;iBAC/C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;iBACvB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAClE,qBAAqB,CACtB,CAAC;YACF,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC;gBACpD,KAAK,EAAE;oBACL,EAAE,EAAE,YAAY,CAAC,eAAe;iBACjC;aACF,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEzE,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC;gBACvC,KAAK,EAAE;oBACL,EAAE,EAAE,YAAY,CAAC,QAAQ;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAWvB,IAAI,SAAS,GACX,gBAAgB,IAAI,UAAU;YAC5B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,GAAG,UAAU,IAAI,QAAQ,IAAI,gBAAgB,EAAE;gBACjD,CAAC,CAAC,gBAAgB,CAAC;QACzB,IAAI,IAAI,GACN,4BAA4B;YAC5B,CAAC,SAAS,KAAK,MAAM;gBACnB,CAAC,CAAC,GAAG,SAAS,IAAI,cAAc,EAAE;gBAClC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;QAGtB,MAAM,YAAY,GAAkC,EAAE,CAAC;QACvD,YAAY,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QACrD,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAGhD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,iBAAiB,CACvB,QAAgB,EAChB,YAA2C;QAE3C,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAgBD,KAAK,CAAC,eAAe,CACnB,gBAAwB,EACxB,YAAiB,EACjB,cAAuB,EACvB,QAAiB,EACjB,UAAmB;QAEnB,OAAO,IAAI,CAAC,sBAAsB,CAChC,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,CACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAAU,EAAE,UAAe,EAAE,YAAY;QACrE,MAAM,KAAK,CAAC,YAAY,CACtB;YACE,EAAE;YACF,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,UAAU;SACjB,EACR,YAAY,CACb,CAAC;IACJ,CAAC;CACF,CAAA;AAjrBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGuB,sBAAa;QACX,2CAAmB;QAC9B,uBAAa;GAJ3B,gBAAgB,CAirB5B"}
|
|
@@ -13,10 +13,10 @@ export declare class ScheduleHandlerService {
|
|
|
13
13
|
private readonly listMasterRepo;
|
|
14
14
|
private readonly logger;
|
|
15
15
|
constructor(dataSource: DataSource, filterEvaluator: FilterEvaluatorService, workflowAutomationEngineService: WorkflowAutomationEngineService, workflowAutomation: Repository<WorkflowAutomation>, entityMasterRepository: Repository<EntityMaster>, listMasterRepo: Repository<ListMasterData>);
|
|
16
|
-
scheduleQueryBuilder(
|
|
16
|
+
scheduleQueryBuilder(workflowId: number, jobData: any): Promise<{
|
|
17
17
|
results: any[];
|
|
18
18
|
workflow: WorkflowAutomation;
|
|
19
19
|
tableName: string;
|
|
20
20
|
}>;
|
|
21
|
-
handleScheduledWorkflow(
|
|
21
|
+
handleScheduledWorkflow(workflowId: number, jobData: any): Promise<void>;
|
|
22
22
|
}
|
|
@@ -32,15 +32,15 @@ let ScheduleHandlerService = ScheduleHandlerService_1 = class ScheduleHandlerSer
|
|
|
32
32
|
this.listMasterRepo = listMasterRepo;
|
|
33
33
|
this.logger = new common_1.Logger(ScheduleHandlerService_1.name);
|
|
34
34
|
}
|
|
35
|
-
async scheduleQueryBuilder(
|
|
35
|
+
async scheduleQueryBuilder(workflowId, jobData) {
|
|
36
36
|
const workflow = await this.workflowAutomation.findOne({
|
|
37
37
|
where: {
|
|
38
|
-
id:
|
|
39
|
-
organization_id: jobData.
|
|
38
|
+
id: workflowId,
|
|
39
|
+
organization_id: jobData.organizationId,
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
42
|
if (!workflow)
|
|
43
|
-
throw new Error(`Workflow with ID ${
|
|
43
|
+
throw new Error(`Workflow with ID ${workflowId} not found`);
|
|
44
44
|
const scheduleJson = typeof workflow.schedule === 'string'
|
|
45
45
|
? JSON.parse(workflow.schedule)
|
|
46
46
|
: workflow.schedule;
|
|
@@ -48,13 +48,13 @@ let ScheduleHandlerService = ScheduleHandlerService_1 = class ScheduleHandlerSer
|
|
|
48
48
|
const entity = await this.entityMasterRepository.findOne({
|
|
49
49
|
where: {
|
|
50
50
|
mapped_entity_type: entityType,
|
|
51
|
-
organization_id: jobData.
|
|
51
|
+
organization_id: jobData.organizationId,
|
|
52
52
|
},
|
|
53
|
-
select: ['
|
|
53
|
+
select: ['data_source'],
|
|
54
54
|
});
|
|
55
|
-
if (!entity?.
|
|
55
|
+
if (!entity?.data_source)
|
|
56
56
|
throw new Error(`Entity ${entityType} not found`);
|
|
57
|
-
const tableName = entity.
|
|
57
|
+
const tableName = entity.data_source;
|
|
58
58
|
const executionDateItem = await this.listMasterRepo.findOne({
|
|
59
59
|
where: {
|
|
60
60
|
id: scheduleJson.executionDate,
|
|
@@ -86,28 +86,24 @@ let ScheduleHandlerService = ScheduleHandlerService_1 = class ScheduleHandlerSer
|
|
|
86
86
|
}
|
|
87
87
|
const qb = this.dataSource
|
|
88
88
|
.createQueryBuilder()
|
|
89
|
-
.from(tableName,
|
|
90
|
-
.
|
|
91
|
-
sm.mapped_entity_id = e.id
|
|
92
|
-
AND sm.is_current = 'Y'
|
|
93
|
-
`)
|
|
94
|
-
.select('e.*')
|
|
89
|
+
.from(tableName, tableName)
|
|
90
|
+
.select('*')
|
|
95
91
|
.where(comparisonDateCondition)
|
|
96
|
-
.andWhere(
|
|
97
|
-
orgId: jobData.
|
|
92
|
+
.andWhere(`${tableName}.organization_id = :orgId`, {
|
|
93
|
+
orgId: jobData.organizationId,
|
|
98
94
|
});
|
|
99
95
|
this.logger.debug(`Executing Scheduler Query: ${qb.getSql()}`);
|
|
100
96
|
const results = await qb.getRawMany();
|
|
101
97
|
this.logger.log(`Found ${results.length} scheduled records for ${tableName}`);
|
|
102
98
|
return { results, workflow, tableName };
|
|
103
99
|
}
|
|
104
|
-
async handleScheduledWorkflow(
|
|
105
|
-
const { results, workflow, tableName } = await this.scheduleQueryBuilder(
|
|
100
|
+
async handleScheduledWorkflow(workflowId, jobData) {
|
|
101
|
+
const { results, workflow, tableName } = await this.scheduleQueryBuilder(workflowId, jobData);
|
|
106
102
|
if (!results?.length) {
|
|
107
|
-
this.logger.warn(`No records found for scheduled workflow ${
|
|
103
|
+
this.logger.warn(`No records found for scheduled workflow ${workflowId}`);
|
|
108
104
|
return;
|
|
109
105
|
}
|
|
110
|
-
this.logger.log(`Processing ${results.length} records for workflow ${
|
|
106
|
+
this.logger.log(`Processing ${results.length} records for workflow ${workflowId}`);
|
|
111
107
|
const filter = workflow.condition_filter_code;
|
|
112
108
|
const mappedEntityType = workflow.applicable_entity_type;
|
|
113
109
|
const matchedEntities = [];
|
|
@@ -120,12 +116,12 @@ let ScheduleHandlerService = ScheduleHandlerService_1 = class ScheduleHandlerSer
|
|
|
120
116
|
}
|
|
121
117
|
}
|
|
122
118
|
if (!matchedEntities.length) {
|
|
123
|
-
this.logger.log(`No records passed criteria for workflow ${
|
|
119
|
+
this.logger.log(`No records passed criteria for workflow ${workflowId}`);
|
|
124
120
|
return;
|
|
125
121
|
}
|
|
126
122
|
this.logger.log(`✅ ${matchedEntities.length} entities passed criteria, executing actions...`);
|
|
127
123
|
for (const entity of matchedEntities) {
|
|
128
|
-
await this.workflowAutomationEngineService.executeActions(
|
|
124
|
+
await this.workflowAutomationEngineService.executeActions(workflowId, entity, jobData);
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
127
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-handler.service.js","sourceRoot":"","sources":["../../../../src/module/workflow-automation/service/schedule-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,4FAA4F;AAC5F,qCAAiD;AACjD,6FAAuF;AACvF,qFAA0E;AAC1E,6CAAmD;AACnD,iFAA2E;AAC3E,mFAAiF;AAG1E,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAGjC,YACmB,UAAsB,EACtB,eAAuC,EACvC,+BAAgE,EAEjF,kBAAmE,EAEnE,sBAAiE,EAEjE,cAA2D;QAR1C,eAAU,GAAV,UAAU,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAwB;QACvC,oCAA+B,GAA/B,+BAA+B,CAAiC;QAEhE,uBAAkB,GAAlB,kBAAkB,CAAgC;QAElD,2BAAsB,GAAtB,sBAAsB,CAA0B;QAEhD,mBAAc,GAAd,cAAc,CAA4B;QAX5C,WAAM,GAAG,IAAI,eAAM,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;IAY/D,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"schedule-handler.service.js","sourceRoot":"","sources":["../../../../src/module/workflow-automation/service/schedule-handler.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { UserData } from "src/module/user/entity/user.entity";
|
|
2
2
|
export interface ScheduleJobData {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
scheduleId: number;
|
|
4
|
+
workflowId: number;
|
|
5
|
+
workflowName: string;
|
|
6
|
+
organizationId: number;
|
|
7
|
+
enterpriseId: number;
|
|
8
|
+
levelId?: string;
|
|
9
|
+
levelType?: string;
|
|
10
10
|
appcode?: string;
|
|
11
11
|
createdBy: number;
|
|
12
12
|
triggeredBy: 'SCHEDULE' | 'MANUAL';
|
|
@@ -22,6 +22,8 @@ export declare class ScheduleProcessor {
|
|
|
22
22
|
private executeAction;
|
|
23
23
|
private executeSendEmailAction;
|
|
24
24
|
private executeUpdateRecordsAction;
|
|
25
|
+
private executeCreateTaskAction;
|
|
26
|
+
private executeSendNotificationAction;
|
|
25
27
|
private getTargetRecords;
|
|
26
28
|
private getTableNameForEntityType;
|
|
27
29
|
private chunkArray;
|
|
@@ -33,17 +33,17 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
33
33
|
this.logger = new common_1.Logger(ScheduleProcessor_1.name);
|
|
34
34
|
}
|
|
35
35
|
async handleScheduledWorkflowExecution(job) {
|
|
36
|
-
const {
|
|
37
|
-
this.logger.log(`🚀 [handleScheduledWorkflowExecution] Invoked for
|
|
36
|
+
const { scheduleId, workflowId, organizationId, triggeredBy, createdBy } = job.data;
|
|
37
|
+
this.logger.log(`🚀 [handleScheduledWorkflowExecution] Invoked for scheduleId=${scheduleId}, workflowId=${workflowId}`);
|
|
38
38
|
const executionLog = this.executionLogRepository.create({
|
|
39
|
-
schedule_id:
|
|
40
|
-
workflow_id:
|
|
39
|
+
schedule_id: scheduleId,
|
|
40
|
+
workflow_id: workflowId,
|
|
41
41
|
job_id: job.id.toString(),
|
|
42
42
|
execution_status: schedule_constants_1.EXECUTION_STATUS_PENDING,
|
|
43
43
|
triggered_by: triggeredBy,
|
|
44
44
|
triggered_by_user_id: triggeredBy === 'MANUAL' ? createdBy : null,
|
|
45
|
-
organization_id:
|
|
46
|
-
enterprise_id: job.data.
|
|
45
|
+
organization_id: organizationId,
|
|
46
|
+
enterprise_id: job.data.enterpriseId,
|
|
47
47
|
created_by: createdBy,
|
|
48
48
|
entity_type: 'WFEL',
|
|
49
49
|
});
|
|
@@ -53,12 +53,12 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
53
53
|
executionLog.execution_status = schedule_constants_1.EXECUTION_STATUS_RUNNING;
|
|
54
54
|
executionLog.started_at = new Date();
|
|
55
55
|
await this.executionLogRepository.save(executionLog);
|
|
56
|
-
this.logger.log(`🏃 Workflow execution started for
|
|
56
|
+
this.logger.log(`🏃 Workflow execution started for scheduleId=${scheduleId}`);
|
|
57
57
|
const schedule = await this.scheduledWorkflowRepository.findOne({
|
|
58
|
-
where: { id:
|
|
58
|
+
where: { id: scheduleId },
|
|
59
59
|
});
|
|
60
60
|
if (!schedule) {
|
|
61
|
-
throw new Error(`Scheduled workflow not found: ${
|
|
61
|
+
throw new Error(`Scheduled workflow not found: ${scheduleId}`);
|
|
62
62
|
}
|
|
63
63
|
this.logger.debug(`📋 Loaded schedule from DB: ${JSON.stringify(schedule)}`);
|
|
64
64
|
this.logger.log(`⚙️ Executing workflow actions...`);
|
|
@@ -85,7 +85,7 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
85
85
|
schedule.execution_count += 1;
|
|
86
86
|
schedule.last_execution_at = completedAt;
|
|
87
87
|
await this.scheduledWorkflowRepository.save(schedule);
|
|
88
|
-
this.logger.log(`✅ Workflow execution completed:
|
|
88
|
+
this.logger.log(`✅ Workflow execution completed: scheduleId=${scheduleId}, status=${executionLog.execution_status}, processed=${result.totalRecords}`);
|
|
89
89
|
return {
|
|
90
90
|
success: true,
|
|
91
91
|
executionLogId: executionLog.id,
|
|
@@ -93,7 +93,7 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
catch (error) {
|
|
96
|
-
this.logger.error(`🔥 Workflow execution failed:
|
|
96
|
+
this.logger.error(`🔥 Workflow execution failed: scheduleId=${scheduleId}, error=${error.message}`, error.stack);
|
|
97
97
|
executionLog.execution_status = schedule_constants_1.EXECUTION_STATUS_FAILED;
|
|
98
98
|
executionLog.completed_at = new Date();
|
|
99
99
|
executionLog.duration_ms = executionLog.started_at
|
|
@@ -114,7 +114,7 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
114
114
|
failedRecords: 0,
|
|
115
115
|
errors: [],
|
|
116
116
|
};
|
|
117
|
-
const resultData = await this.scheduleHandlerService.handleScheduledWorkflow(jobData.
|
|
117
|
+
const resultData = await this.scheduleHandlerService.handleScheduledWorkflow(jobData.workflowId, jobData);
|
|
118
118
|
if (!schedule.actions || schedule.actions.length === 0) {
|
|
119
119
|
this.logger.warn(`No actions defined for schedule: ${schedule.id}`);
|
|
120
120
|
return result;
|
|
@@ -141,9 +141,9 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
141
141
|
async executeAction(action, jobData) {
|
|
142
142
|
this.logger.log(`🚀 Executing scheduled action: ${action.actionType}`);
|
|
143
143
|
try {
|
|
144
|
-
const {
|
|
145
|
-
const result = await this.scheduleHandlerService.handleScheduledWorkflow(
|
|
146
|
-
this.logger.log(`✅ Scheduled workflow ${
|
|
144
|
+
const { workflowId, loggedInUser } = jobData;
|
|
145
|
+
const result = await this.scheduleHandlerService.handleScheduledWorkflow(workflowId, loggedInUser);
|
|
146
|
+
this.logger.log(`✅ Scheduled workflow ${workflowId} executed successfully`);
|
|
147
147
|
return {
|
|
148
148
|
totalRecords: result?.length || 0,
|
|
149
149
|
processedRecords: result?.length || 0,
|
|
@@ -246,11 +246,107 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
246
246
|
}
|
|
247
247
|
return result;
|
|
248
248
|
}
|
|
249
|
+
async executeCreateTaskAction(action, jobData) {
|
|
250
|
+
const result = {
|
|
251
|
+
totalRecords: 0,
|
|
252
|
+
processedRecords: 0,
|
|
253
|
+
successfulRecords: 0,
|
|
254
|
+
failedRecords: 0,
|
|
255
|
+
errors: [],
|
|
256
|
+
};
|
|
257
|
+
try {
|
|
258
|
+
const records = await this.getTargetRecords(action.targetEntityType, action.filterCriteria, jobData);
|
|
259
|
+
result.totalRecords = records.length;
|
|
260
|
+
const taskRepo = this.reflectionHelper.getRepoService('TaskDataEntity');
|
|
261
|
+
const batches = this.chunkArray(records, schedule_constants_1.DEFAULT_BATCH_SIZE);
|
|
262
|
+
for (const batch of batches) {
|
|
263
|
+
for (const record of batch) {
|
|
264
|
+
try {
|
|
265
|
+
const task = {
|
|
266
|
+
name: action.actionConfig.taskName || 'Scheduled Task',
|
|
267
|
+
description: action.actionConfig.taskDescription || '',
|
|
268
|
+
status: 'PENDING',
|
|
269
|
+
mapped_entity_id: record.id,
|
|
270
|
+
mapped_entity_type: action.targetEntityType,
|
|
271
|
+
organization_id: jobData.organizationId,
|
|
272
|
+
enterprise_id: jobData.enterpriseId,
|
|
273
|
+
created_by: jobData.createdBy,
|
|
274
|
+
created_date: new Date(),
|
|
275
|
+
entity_type: 'WFTK',
|
|
276
|
+
};
|
|
277
|
+
await taskRepo.insert(task);
|
|
278
|
+
result.processedRecords += 1;
|
|
279
|
+
result.successfulRecords += 1;
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
result.processedRecords += 1;
|
|
283
|
+
result.failedRecords += 1;
|
|
284
|
+
result.errors.push({
|
|
285
|
+
recordId: record.id,
|
|
286
|
+
error: error.message,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
throw new Error(`Create task action failed: ${error.message}`);
|
|
294
|
+
}
|
|
295
|
+
return result;
|
|
296
|
+
}
|
|
297
|
+
async executeSendNotificationAction(action, jobData) {
|
|
298
|
+
const result = {
|
|
299
|
+
totalRecords: 0,
|
|
300
|
+
processedRecords: 0,
|
|
301
|
+
successfulRecords: 0,
|
|
302
|
+
failedRecords: 0,
|
|
303
|
+
errors: [],
|
|
304
|
+
};
|
|
305
|
+
try {
|
|
306
|
+
const records = await this.getTargetRecords(action.targetEntityType, action.filterCriteria, jobData);
|
|
307
|
+
result.totalRecords = records.length;
|
|
308
|
+
const notificationRepo = this.reflectionHelper.getRepoService('NotificationData');
|
|
309
|
+
const batches = this.chunkArray(records, schedule_constants_1.DEFAULT_BATCH_SIZE);
|
|
310
|
+
for (const batch of batches) {
|
|
311
|
+
for (const record of batch) {
|
|
312
|
+
try {
|
|
313
|
+
const notification = {
|
|
314
|
+
user_id: record.user_id || jobData.createdBy,
|
|
315
|
+
event_type: action.actionConfig.eventType || 'WORKFLOW_SCHEDULED',
|
|
316
|
+
message: action.actionConfig.message || 'Scheduled workflow executed',
|
|
317
|
+
mapped_entity_id: record.id,
|
|
318
|
+
mapped_entity_type: action.targetEntityType,
|
|
319
|
+
is_read: 0,
|
|
320
|
+
organization_id: jobData.organizationId,
|
|
321
|
+
created_date: new Date(),
|
|
322
|
+
entity_type: 'NOTF',
|
|
323
|
+
status: 'ACTIVE',
|
|
324
|
+
};
|
|
325
|
+
await notificationRepo.insert(notification);
|
|
326
|
+
result.processedRecords += 1;
|
|
327
|
+
result.successfulRecords += 1;
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
result.processedRecords += 1;
|
|
331
|
+
result.failedRecords += 1;
|
|
332
|
+
result.errors.push({
|
|
333
|
+
recordId: record.id,
|
|
334
|
+
error: error.message,
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
catch (error) {
|
|
341
|
+
throw new Error(`Send notification action failed: ${error.message}`);
|
|
342
|
+
}
|
|
343
|
+
return result;
|
|
344
|
+
}
|
|
249
345
|
async getTargetRecords(entityType, filterCriteria, jobData) {
|
|
250
346
|
const repo = this.reflectionHelper.getRepoService(entityType);
|
|
251
347
|
const qb = repo.createQueryBuilder('e');
|
|
252
348
|
qb.where('e.organization_id = :orgId', {
|
|
253
|
-
orgId: jobData.
|
|
349
|
+
orgId: jobData.organizationId,
|
|
254
350
|
});
|
|
255
351
|
if (filterCriteria && Object.keys(filterCriteria).length > 0) {
|
|
256
352
|
for (const key of Object.keys(filterCriteria)) {
|
|
@@ -278,13 +374,13 @@ let ScheduleProcessor = ScheduleProcessor_1 = class ScheduleProcessor {
|
|
|
278
374
|
return chunks;
|
|
279
375
|
}
|
|
280
376
|
onActive(job) {
|
|
281
|
-
this.logger.log(`Processing job ${job.id} of type ${job.name} for schedule ${job.data.
|
|
377
|
+
this.logger.log(`Processing job ${job.id} of type ${job.name} for schedule ${job.data.scheduleId}`);
|
|
282
378
|
}
|
|
283
379
|
onCompleted(job, result) {
|
|
284
|
-
this.logger.log(`Job ${job.id} completed for schedule ${job.data.
|
|
380
|
+
this.logger.log(`Job ${job.id} completed for schedule ${job.data.scheduleId} with result: ${JSON.stringify(result)}`);
|
|
285
381
|
}
|
|
286
382
|
onFailed(job, error) {
|
|
287
|
-
this.logger.error(`Job ${job.id} failed for schedule ${job.data.
|
|
383
|
+
this.logger.error(`Job ${job.id} failed for schedule ${job.data.scheduleId} with error: ${error.message}`, error.stack);
|
|
288
384
|
}
|
|
289
385
|
};
|
|
290
386
|
exports.ScheduleProcessor = ScheduleProcessor;
|