@@ -113,6 +113,74 @@ async function sendMail(document) {
113
113
}
114
114
}
115
115
}
116
+ async function callwebhookevent ( document ) {
117
+ const Signers = document . Signers ;
118
+ const allSigner = document ?. Placeholders ?. map ( item => {
119
+ if ( item . signerObjId ) {
120
+ const signer = Signers ?. find ( e => item ?. signerPtr ?. objectId === e ?. objectId ) ;
121
+ if ( signer ) {
122
+ return {
123
+ role : item ?. Role || '' ,
124
+ name : signer ?. Name || '' ,
125
+ email : signer ?. Email || '' ,
126
+ phone : signer ?. Phone || '' ,
127
+ } ;
128
+ }
129
+ } else {
130
+ return { role : item ?. Role || '' , name : '' , email : item ?. email || '' , phone : '' } ;
131
+ }
132
+ } ) ;
133
+ const params = {
134
+ event : 'created' ,
135
+ body : {
136
+ objectId : document ?. objectId ,
137
+ file : document ?. SignedUrl || document ?. URL ,
138
+ name : document ?. Name ,
139
+ note : document ?. Note || '' ,
140
+ description : document ?. Description || '' ,
141
+ signers : allSigner ,
142
+ createdBy : document ?. ExtUserPtr . Email ,
143
+ createdAt : document ?. createdAt ,
144
+ } ,
145
+ } ;
146
+ try {
147
+ await axios
148
+ . post ( document ?. ExtUserPtr ?. Webhook , params , {
149
+ headers : { 'Content-Type' : 'application/json' } ,
150
+ } )
151
+ . then ( res => {
152
+ try {
153
+ const webhook = new Parse . Object ( 'contracts_Webhook' ) ;
154
+ webhook . set ( 'Log' , res ?. status ) ;
155
+ webhook . set ( 'UserId' , {
156
+ __type : 'Pointer' ,
157
+ className : '_User' ,
158
+ objectId : document . CreatedBy . objectId ,
159
+ } ) ;
160
+ webhook . save ( null , { useMasterKey : true } ) ;
161
+ } catch ( err ) {
162
+ console . log ( 'err save in contracts_Webhook' , err ) ;
163
+ }
164
+ } )
165
+ . catch ( err => {
166
+ console . log ( 'Err send data to webhook' , err ?. message ) ;
167
+ try {
168
+ const webhook = new Parse . Object ( 'contracts_Webhook' ) ;
169
+ webhook . set ( 'Log' , err ?. status ) ;
170
+ webhook . set ( 'UserId' , {
171
+ __type : 'Pointer' ,
172
+ className : '_User' ,
173
+ objectId : document . CreatedBy . objectId ,
174
+ } ) ;
175
+ webhook . save ( null , { useMasterKey : true } ) ;
176
+ } catch ( err ) {
177
+ console . log ( 'err save in contracts_Webhook' , err ?. message ) ;
178
+ }
179
+ } ) ;
180
+ } catch ( err ) {
181
+ console . log ( 'Err ' , err ?. message ) ;
182
+ }
183
+ }
116
184
async function batchQuery ( userId , Documents , Ip , parseConfig ) {
117
185
const extCls = new Parse . Query ( 'contracts_Users' ) ;
118
186
extCls . equalTo ( 'UserId' , {
@@ -216,6 +284,7 @@ async function batchQuery(userId, Documents, Ip, parseConfig) {
216
284
for ( let i = 0 ; i < updateDocuments . length ; i ++ ) {
217
285
sendMail ( updateDocuments [ i ] , '' ) ; //sessionToken
218
286
}
287
+ callwebhookevent ( Documents [ 0 ] ) ;
219
288
return 'success' ;
220
289
}
221
290
} else {
@@ -242,6 +311,7 @@ async function batchQuery(userId, Documents, Ip, parseConfig) {
242
311
} ;
243
312
deductcount ( response . data . length , resExt . id ) ;
244
313
sendMail ( updateDocuments ) ; //sessionToken
314
+ callwebhookevent ( Documents [ 0 ] ) ;
245
315
return 'success' ;
246
316
}
247
317
}
0 commit comments