Skip to content

Commit 361bad7

Browse files
ZolotovPDFfillerRuslan Tereshchenko
ZolotovPDFfiller
authored and
Ruslan Tereshchenko
committed
changed createDocGroup applet
1 parent a7ae44c commit 361bad7

File tree

1 file changed

+56
-41
lines changed

1 file changed

+56
-41
lines changed

samples/applets/create-document-group.js

+56-41
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
/*
22
* to run create document group applet from the project root folder type in your console:
3-
* > node samples/applets/create-document-group <cliend_id> <client_secret> <username> <password> <group_name>
4-
* <cliend_id>, <client_secret>, <username>, <password>, <group_name> - are required params
3+
* > node samples/applets/create-document-group <cliend_id> <client_secret> <username> <password> <group_name> <signature_stringified> <filepath>
4+
* <cliend_id>, <client_secret>, <username>, <password>, <group_name>, <signature_stringified> - are required params
5+
* <filepath> - is optional param. If empty, default will be './samples/files/pdf-sample.pdf'
56
*/
67

78
'use strict';
@@ -11,7 +12,9 @@ const [
1112
clientSecret,
1213
username,
1314
password,
14-
group_name
15+
group_name,
16+
fieldsStringifed,
17+
filepath = './samples/files/pdf-sample.pdf',
1518
] = process.argv.slice(2);
1619

1720
const api = require('../../lib')({
@@ -20,20 +23,14 @@ const api = require('../../lib')({
2023
});
2124

2225
const {
23-
documentGroup: {
24-
create: createDocumentGroup
25-
},
26-
oauth2: {
27-
requestToken: getAccessToken
28-
},
29-
folder: {
30-
documents: documentList,
31-
list: foldersList,
26+
documentGroup: { create: createDocumentGroup },
27+
oauth2: { requestToken: getAccessToken },
28+
document: {
29+
create: createDocument,
30+
update: addFields,
3231
}
3332
} = api;
3433

35-
const randomId = (min, max = 10) => Math.round(Math.random() * (max - min) * min);
36-
3734
getAccessToken({
3835
username,
3936
password
@@ -43,44 +40,62 @@ getAccessToken({
4340
} else {
4441
const { access_token: token } = tokenRes;
4542

46-
foldersList({
43+
createDocument({
44+
filepath,
4745
token
48-
}, (listErr, listRes) => {
49-
if (listErr) {
50-
console.error(listErr);
46+
}, (createError, createResponse) => {
47+
if (createError) {
48+
console.error(createError);
5149
} else {
52-
const id = listRes.folders[1].id;
50+
const { id } = createResponse;
51+
const client_timestamp = Math.floor(Date.now() / 1000);
52+
53+
let fields;
54+
55+
try {
56+
fields = JSON.parse(fieldsStringifed)
57+
} catch (err) {
58+
console.error(err);
59+
return;
60+
}
5361

54-
documentList({
62+
addFields({
63+
fields: {
64+
client_timestamp,
65+
fields,
66+
},
5567
id,
56-
token
57-
}, (docListErr, docListRes) => {
58-
if (docListErr) {
59-
console.error(docListErr);
60-
} else {
61-
const documents = docListRes.documents || [];
62-
const validDocuments = documents.filter(doc => {
63-
return !doc.field_invites.length
64-
&& doc.roles.length
65-
&& doc.fields.length
66-
});
68+
token,
69+
}, (addFieldsErr, addFieldsRes) => {
70+
if (addFieldsErr) {
71+
console.error(addFieldsErr);
72+
} else {
73+
const { id: signedId } = addFieldsRes;
6774

68-
const idWithInviteFields = validDocuments[randomId(1, validDocuments.length)].id;
69-
const documentId = documents.filter(doc => !doc.field_invites.length)[randomId(1)].id;
75+
createDocument({
76+
filepath,
77+
token
78+
}, (createError, createResponse) => {
79+
if (createError) {
80+
console.error(createError);
81+
} else {
82+
const { id } = createResponse;
7083

71-
createDocumentGroup({
84+
createDocumentGroup({
7285
token,
73-
document_ids: [idWithInviteFields, documentId],
86+
document_ids: [signedId, id],
7487
group_name
75-
}, (createDocErr, createDocRes) => {
76-
if (createDocErr) {
77-
console.error(createDocErr, 'createDocError');
88+
}, (createDocGroupErr, createDocGroupRes) => {
89+
if (createDocGroupErr) {
90+
console.error(createDocGroupErr);
7891
} else {
79-
console.log(createDocRes);
92+
console.log(createDocGroupRes);
8093
}
8194
})
82-
}
83-
});
95+
}
96+
})
97+
}
98+
})
8499
}
85100
})
86101
}

0 commit comments

Comments
 (0)