@@ -33,7 +33,7 @@ async function sendMail(document, sessionToken) {
33
33
if ( objectId ) {
34
34
encodeBase64 = btoa ( `${ document . objectId } }/${ signerMail [ i ] . signerPtr . Email } /${ objectId } ` ) ;
35
35
} else {
36
- encodeBase64 = btoa ( `${ document . objectId } }/${ signerMail [ i ] . email } / ${ objectId } ` ) ;
36
+ encodeBase64 = btoa ( `${ document . objectId } }/${ signerMail [ i ] . email } ` ) ;
37
37
}
38
38
let signPdf = `${ hostUrl } /login/${ encodeBase64 } ` ;
39
39
const openSignUrl = 'https://www.opensignlabs.com/' ;
@@ -80,7 +80,7 @@ export default async function createBatchDocs(request) {
80
80
const strDocuments = request . params . Documents ;
81
81
const sessionToken = request . headers [ 'sessiontoken' ] ;
82
82
const Documents = JSON . parse ( strDocuments ) ;
83
-
83
+ const Ip = request ?. headers ?. [ 'x-real-ip' ] || '' ;
84
84
// console.log('Documents ', Documents);
85
85
const parseConfig = {
86
86
baseURL : serverUrl , //localStorage.getItem('baseUrl'),
@@ -91,51 +91,79 @@ export default async function createBatchDocs(request) {
91
91
} ,
92
92
} ;
93
93
try {
94
- const requests = Documents . map ( x => ( {
95
- method : 'POST' ,
96
- path : '/app/classes/contracts_Document' ,
97
- body : {
98
- Name : x . Name ,
99
- URL : x . URL ,
100
- Note : x . Note ,
101
- Description : x . Description ,
102
- CreatedBy : x . CreatedBy ,
103
- ExtUserPtr : {
104
- __type : 'Pointer' ,
105
- className : x . ExtUserPtr . className ,
106
- objectId : x . ExtUserPtr . objectId ,
94
+ const requests = Documents . map ( x => {
95
+ const Signers = x . Signers ;
96
+ const allSigner = x ?. Placeholders ?. map ( item => {
97
+ const signer = Signers ?. find ( e => item ?. signerPtr ?. objectId === e ?. objectId ) ;
98
+ if ( signer ) {
99
+ return signer ;
100
+ } else {
101
+ return item ?. signerPtr ?. objectId && item ?. signerPtr ;
102
+ }
103
+ } ) ;
104
+ const date = new Date ( ) ;
105
+ const isoDate = date . toISOString ( ) ;
106
+ let Acl = { [ x . CreatedBy . objectId ] : { read : true , write : true } } ;
107
+ // console.log('allSigner ', allSigner);
108
+ if ( allSigner && allSigner . length > 0 ) {
109
+ allSigner . forEach ( x => {
110
+ const obj = { [ x . CreatedBy . objectId ] : { read : true , write : true } } ;
111
+ Acl = { ...Acl , ...obj } ;
112
+ } ) ;
113
+ }
114
+ return {
115
+ method : 'POST' ,
116
+ path : '/app/classes/contracts_Document' ,
117
+ body : {
118
+ Name : x . Name ,
119
+ URL : x . URL ,
120
+ Note : x . Note ,
121
+ Description : x . Description ,
122
+ CreatedBy : x . CreatedBy ,
123
+ SendinOrder : x . SendinOrder || true ,
124
+ ExtUserPtr : {
125
+ __type : 'Pointer' ,
126
+ className : x . ExtUserPtr . className ,
127
+ objectId : x . ExtUserPtr . objectId ,
128
+ } ,
129
+ Placeholders : x . Placeholders . map ( y =>
130
+ y ?. signerPtr ?. objectId
131
+ ? {
132
+ ...y ,
133
+ signerPtr : {
134
+ __type : 'Pointer' ,
135
+ className : 'contracts_Contactbook' ,
136
+ objectId : y . signerPtr . objectId ,
137
+ } ,
138
+ signerObjId : y . signerObjId ,
139
+ }
140
+ : { ...y , signerPtr : { } , signerObjId : '' }
141
+ ) ,
142
+ SignedUrl : x . URL || x . SignedUrl ,
143
+ Signers : allSigner ?. map ( y => ( {
144
+ __type : 'Pointer' ,
145
+ className : 'contracts_Contactbook' ,
146
+ objectId : y . objectId ,
147
+ } ) ) ,
148
+ ACL : Acl ,
149
+ RemindOnceInEvery : x . RemindOnceInEvery ,
150
+ AutomaticReminders : x . AutomaticReminders || false ,
151
+ TimeToCompleteDays : x . TimeToCompleteDays || 15 ,
152
+ OriginIp : Ip ,
153
+ DocSentAt : { __type : 'Date' , iso : isoDate } ,
107
154
} ,
108
- Placeholders : x . Placeholders . map ( y =>
109
- y ?. signerPtr ?. objectId
110
- ? {
111
- ...y ,
112
- signerPtr : {
113
- __type : 'Pointer' ,
114
- className : y . signerPtr . className ,
115
- objectId : y . signerPtr . objectId ,
116
- } ,
117
- signerObjId : y . signerObjId ,
118
- }
119
- : { ...y , signerPtr : { } , signerObjId : '' }
120
- ) ,
121
- SignedUrl : x . SignedUrl ,
122
- Signers : x . Signers . map ( y => ( {
123
- __type : 'Pointer' ,
124
- className : y . className ,
125
- objectId : y . objectId ,
126
- } ) ) ,
127
- } ,
128
- } ) ) ;
155
+ } ;
156
+ } ) ;
129
157
// console.log('requests ', requests);
130
158
131
159
const response = await axios . post ( 'batch' , { requests : requests } , parseConfig ) ;
132
160
// // Handle the batch query response
133
- // console.log('Batch query response:', response.data)
161
+ // console.log('Batch query response:', response.data);
134
162
if ( response . data && response . data . length > 0 ) {
135
163
const updateDocuments = Documents . map ( ( x , i ) => ( {
136
164
...x ,
137
165
objectId : response . data [ i ] ?. success ?. objectId ,
138
- createdAt : response . data [ i ] ?. success . createdAt ,
166
+ createdAt : response . data [ i ] ?. success ? .createdAt ,
139
167
} ) ) ;
140
168
for ( let i = 0 ; i < updateDocuments . length ; i ++ ) {
141
169
// console.log('updateDocuments ', updateDocuments);
0 commit comments