@@ -26,6 +26,7 @@ export class PrepareCertificateHtmlCron {
26
26
@Cron ( CronExpression . EVERY_5_MINUTES )
27
27
async prepareCertificateHtml ( ) {
28
28
console . log ( 'cron job: issueCertificate started at time ' + new Date ( ) ) ;
29
+
29
30
//fetch all test tracking data which has certificate_status null
30
31
const userForIssueCertificate = await this . fetchTestTrackingData (
31
32
parseInt (
@@ -48,25 +49,26 @@ export class PrepareCertificateHtmlCron {
48
49
let test_id = userTestData ?. test_id ;
49
50
let context = userTestData ?. context ;
50
51
let context_id = userTestData ?. context_id ;
51
- let getUserList = await this . userService . getUserName ( user_id ) ;
52
- let user_name = '' ;
53
- if ( getUserList . length > 0 ) {
54
- user_name += getUserList [ 0 ] ?. first_name
55
- ? ( await this . method . CapitalizeEachWord (
56
- getUserList [ 0 ] . first_name ,
57
- ) ) + ' '
58
- : '' ;
59
- user_name += getUserList [ 0 ] ?. middle_name
60
- ? ( await this . method . CapitalizeEachWord (
61
- getUserList [ 0 ] . middle_name ,
62
- ) ) + ' '
63
- : '' ;
64
- user_name += getUserList [ 0 ] ?. last_name
65
- ? ( await this . method . CapitalizeEachWord (
66
- getUserList [ 0 ] . last_name ,
67
- ) ) + ' '
68
- : '' ;
69
- }
52
+
53
+ const user_name = await this . method . CapitalizeEachWord (
54
+ [
55
+ userTestData ?. user ?. first_name ,
56
+ userTestData ?. user ?. middle_name ,
57
+ userTestData ?. user ?. last_name ,
58
+ ]
59
+ . filter ( ( e ) => e )
60
+ . join ( ' ' ) ,
61
+ ) ;
62
+
63
+ const event_start_date = moment (
64
+ userTestData ?. events ?. [ 0 ] ?. start_date ,
65
+ ) . format ( 'DD MMM YYYY' ) ;
66
+ const event_end_date = moment (
67
+ userTestData ?. events ?. [ 0 ] ?. end_date ,
68
+ ) . format ( 'DD MMM YYYY' ) ;
69
+ const academic_year =
70
+ userTestData ?. events ?. [ 0 ] ?. academic_year ?. name ;
71
+
70
72
//get attendance status
71
73
let attendance_valid = false ;
72
74
let usrAttendanceList =
@@ -112,6 +114,18 @@ export class PrepareCertificateHtmlCron {
112
114
let certificate_id = certificate_data ?. id ;
113
115
let uid = 'P-' + certificate_id + '-' + user_id ;
114
116
//update html code
117
+ certificateTemplate = certificateTemplate . replace (
118
+ '{{academic_year}}' ,
119
+ academic_year ,
120
+ ) ;
121
+ certificateTemplate = certificateTemplate . replace (
122
+ '{{event_start_date}}' ,
123
+ event_start_date ,
124
+ ) ;
125
+ certificateTemplate = certificateTemplate . replace (
126
+ '{{event_end_date}}' ,
127
+ event_end_date ,
128
+ ) ;
115
129
certificateTemplate = certificateTemplate . replace (
116
130
'{{name}}' ,
117
131
user_name ,
@@ -247,6 +261,20 @@ export class PrepareCertificateHtmlCron {
247
261
score
248
262
context
249
263
context_id
264
+ user{
265
+ first_name
266
+ middle_name
267
+ last_name
268
+ }
269
+ events(where:{context:{_eq:"events"}}){
270
+ id
271
+ start_date
272
+ end_date
273
+ academic_year{
274
+ name
275
+ }
276
+
277
+ }
250
278
}
251
279
}
252
280
` ;
0 commit comments