@@ -29,11 +29,7 @@ async function uploadFile(pdfName, filepath) {
29
29
// `updateDoc` is used to update signedUrl, AuditTrail, Iscompleted in document
30
30
async function updateDoc ( docId , url , userId , ipAddress , data , className , sign ) {
31
31
try {
32
- const UserPtr = {
33
- __type : 'Pointer' ,
34
- className : className ,
35
- objectId : userId ,
36
- } ;
32
+ const UserPtr = { __type : 'Pointer' , className : className , objectId : userId } ;
37
33
const obj = {
38
34
UserPtr : UserPtr ,
39
35
SignedUrl : url ,
@@ -66,11 +62,7 @@ async function updateDoc(docId, url, userId, ipAddress, data, className, sign) {
66
62
} else {
67
63
isCompleted = true ;
68
64
}
69
- const body = {
70
- SignedUrl : url ,
71
- AuditTrail : updateAuditTrail ,
72
- IsCompleted : isCompleted ,
73
- } ;
65
+ const body = { SignedUrl : url , AuditTrail : updateAuditTrail , IsCompleted : isCompleted } ;
74
66
const signedRes = await axios . put ( serverUrl + '/classes/contracts_Document/' + docId , body , {
75
67
headers : {
76
68
'Content-Type' : 'application/json' ,
@@ -164,29 +156,16 @@ async function sendCompletedMail(obj) {
164
156
'X-Parse-Master-Key' : masterKEY ,
165
157
} ,
166
158
} ) ;
167
- // console.log('Res ', res);
168
159
}
169
160
170
161
// `sendDoctoWebhook` is used to send res data of document on webhook
171
162
async function sendDoctoWebhook ( doc , Url , event , signUser , certificateUrl ) {
172
163
let signers = [ ] ;
173
164
if ( signUser ) {
174
- signers = {
175
- name : signUser ?. Name ,
176
- email : signUser ?. Email ,
177
- phone : signUser ?. Phone ,
178
- } ;
165
+ signers = { name : signUser ?. Name , email : signUser ?. Email , phone : signUser ?. Phone } ;
179
166
} else {
180
- signers = doc ?. Signers ?. map ( x => ( {
181
- name : x . Name ,
182
- email : x . Email ,
183
- phone : x . Phone ,
184
- } ) ) || [
185
- {
186
- name : doc ?. ExtUserPtr ?. Name ,
187
- email : doc ?. ExtUserPtr ?. Email ,
188
- phone : doc ?. ExtUserPtr ?. Phone ,
189
- } ,
167
+ signers = doc ?. Signers ?. map ( x => ( { name : x . Name , email : x . Email , phone : x . Phone } ) ) || [
168
+ { name : doc ?. ExtUserPtr ?. Name , email : doc ?. ExtUserPtr ?. Email , phone : doc ?. ExtUserPtr ?. Phone } ,
190
169
] ;
191
170
}
192
171
@@ -213,7 +192,6 @@ async function sendDoctoWebhook(doc, Url, event, signUser, certificateUrl) {
213
192
} )
214
193
. then ( res => {
215
194
try {
216
- // console.log('res ', res);
217
195
const webhook = new Parse . Object ( 'contracts_Webhook' ) ;
218
196
webhook . set ( 'Log' , res ?. status ) ;
219
197
webhook . set ( 'UserId' , {
@@ -241,7 +219,6 @@ async function sendDoctoWebhook(doc, Url, event, signUser, certificateUrl) {
241
219
console . log ( 'err save in contracts_Webhook' , err . message ) ;
242
220
}
243
221
} ) ;
244
- // console.log('res ', res.data);
245
222
}
246
223
}
247
224
@@ -281,15 +258,9 @@ const sendMailsaveCertifcate = async (doc, P12Buffer, url, isCustomMail, mailPro
281
258
if ( doc . IsSendMail === false ) {
282
259
console . log ( "don't send mail" ) ;
283
260
} else {
284
- const mailObj = {
285
- url : url ,
286
- isCustomMail : isCustomMail ,
287
- doc : doc ,
288
- mailProvider : mailProvider ,
289
- } ;
261
+ const mailObj = { url : url , isCustomMail : isCustomMail , doc : doc , mailProvider : mailProvider } ;
290
262
sendCompletedMail ( mailObj ) ;
291
263
}
292
-
293
264
saveFileUsage ( CertificateBuffer . length , file . imageUrl , userId ) ;
294
265
sendDoctoWebhook ( doc , url , 'completed' , '' , file . imageUrl ) ;
295
266
} ;
@@ -304,8 +275,7 @@ async function PDF(req) {
304
275
if ( ! req ?. user ) {
305
276
throw new Parse . Error ( Parse . Error . INVALID_SESSION_TOKEN , 'User is not authenticated.' ) ;
306
277
} else {
307
- const password = '' ;
308
- const authUser = req ?. user ?. toJSON ( ) ;
278
+ const userIP = req . headers [ 'x-real-ip' ] ; // client IPaddress
309
279
const docId = req . params . docId ;
310
280
const reqUserId = req . params . userId ;
311
281
const isCustomMail = req . params . isCustomCompletionMail || false ;
@@ -320,7 +290,6 @@ async function PDF(req) {
320
290
throw new Parse . Error ( Parse . Error . OBJECT_NOT_FOUND , 'Document not found.' ) ;
321
291
}
322
292
const _resDoc = resDoc ?. toJSON ( ) ;
323
-
324
293
let signUser ;
325
294
let className ;
326
295
// `reqUserId` is send throught pdfrequest signing flow
@@ -346,18 +315,8 @@ async function PDF(req) {
346
315
// const P12Buffer = fs.readFileSync();
347
316
const P12Buffer = Buffer . from ( pfxFile , 'base64' ) ;
348
317
const p12Cert = new P12Signer ( P12Buffer , { passphrase : process . env . PASS_PHRASE || null } ) ;
349
-
350
- const UserPtr = {
351
- __type : 'Pointer' ,
352
- className : className ,
353
- objectId : signUser . objectId ,
354
- } ;
355
- const obj = {
356
- UserPtr : UserPtr ,
357
- SignedUrl : '' ,
358
- Activity : 'Signed' ,
359
- ipAddress : req . headers [ 'x-real-ip' ] ,
360
- } ;
318
+ const UserPtr = { __type : 'Pointer' , className : className , objectId : signUser . objectId } ;
319
+ const obj = { UserPtr : UserPtr , SignedUrl : '' , Activity : 'Signed' , ipAddress : userIP } ;
361
320
let updateAuditTrail ;
362
321
if ( _resDoc . AuditTrail && _resDoc . AuditTrail . length > 0 ) {
363
322
updateAuditTrail = [ ..._resDoc . AuditTrail , obj ] ;
@@ -430,13 +389,13 @@ async function PDF(req) {
430
389
req . params . docId , //docId
431
390
data . imageUrl , // url
432
391
signUser . objectId , // userID
433
- req . headers [ 'x-real-ip' ] , // client ipAddress,
392
+ userIP , // client ipAddress,
434
393
_resDoc , // auditTrail, signers, etc data
435
- className ,
436
- sign
394
+ className , // className based on flow
395
+ sign // sign base64
437
396
) ;
438
397
sendDoctoWebhook ( _resDoc , data . imageUrl , 'signed' , signUser ) ;
439
- saveFileUsage ( pdfSize , data . imageUrl , authUser . objectId ) ;
398
+ saveFileUsage ( pdfSize , data . imageUrl , _resDoc ?. CreatedBy ? .objectId ) ;
440
399
if ( updatedDoc && updatedDoc . isCompleted ) {
441
400
const doc = { ..._resDoc , AuditTrail : updatedDoc . AuditTrail } ;
442
401
sendMailsaveCertifcate (
@@ -445,7 +404,7 @@ async function PDF(req) {
445
404
data . imageUrl ,
446
405
isCustomMail ,
447
406
mailProvider ,
448
- authUser . objectId
407
+ _resDoc ?. CreatedBy ? .objectId
449
408
) ;
450
409
}
451
410
// `fs.unlinkSync` is used to remove exported signed pdf file from exports folder
0 commit comments