Skip to content

Commit 356c112

Browse files
authored
Merge pull request #229 from docusign/add-http-info-outputs
Added http info outputs
2 parents 17a48ab + a9f7de4 commit 356c112

File tree

87 files changed

+2065
-311
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+2065
-311
lines changed

embeddedSigning.js

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,22 @@ const sendEnvelopeForEmbeddedSigning = async (args) => {
3232
// Exceptions will be caught by the calling function
3333
results = await envelopesApi.createEnvelope(args.accountId, {
3434
envelopeDefinition: envelope,
35+
}, (error, data, response) => {
36+
const headers = response?.headers;
37+
38+
const remaining = headers?.['x-ratelimit-remaining'];
39+
const reset = headers?.['x-ratelimit-reset'];
40+
41+
if (remaining && reset) {
42+
const resetInstant = new Date(Number(reset) * 1000);
43+
44+
console.log(`API calls remaining: ${remaining}`);
45+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
46+
}
3547
});
3648
//ds-snippet-end:eSign1Step3
3749

38-
let envelopeId = results.envelopeId;
50+
let envelopeId = results.data.envelopeId;
3951
console.log(`Envelope was created. EnvelopeId ${envelopeId}`);
4052

4153
// Step 3. create the recipient view, the embedded signing
@@ -45,9 +57,21 @@ const sendEnvelopeForEmbeddedSigning = async (args) => {
4557
// Exceptions will be caught by the calling function
4658
results = await envelopesApi.createRecipientView(args.accountId, envelopeId, {
4759
recipientViewRequest: viewRequest,
60+
}, (error, data, response) => {
61+
const headers = response?.headers;
62+
63+
const remaining = headers?.['x-ratelimit-remaining'];
64+
const reset = headers?.['x-ratelimit-reset'];
65+
66+
if (remaining && reset) {
67+
const resetInstant = new Date(Number(reset) * 1000);
68+
69+
console.log(`API calls remaining: ${remaining}`);
70+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
71+
}
4872
});
4973

50-
return { envelopeId: envelopeId, redirectUrl: results.url };
74+
return { envelopeId: envelopeId, redirectUrl: results.data.url };
5175
};
5276
//ds-snippet-end:eSign1Step5
5377

lib/admin/controllers/eg001CreateUser.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,16 +99,16 @@ eg001CreateUser.getController = async (req, res) => {
9999
organizationId: req.session.organizationId
100100
};
101101

102-
const { profiles, groups } = await getPermissionProfilesAndGroups(args);
102+
const { profilesList, groupsList } = await getPermissionProfilesAndGroups(args);
103103

104104
const example = getExampleByNumber(res.locals.manifest, exampleNumber, api);
105105
const sourceFile = (path.basename(__filename))[5].toLowerCase() + (path.basename(__filename)).substr(6);
106106
res.render('pages/admin-examples/eg001CreateUser', {
107107
eg: eg,
108108
csrfToken: req.csrfToken(),
109109
example: example,
110-
permissionProfiles: profiles.permissionProfiles,
111-
groups: groups.groups,
110+
permissionProfiles: profilesList.permissionProfiles,
111+
groups: groupsList.groups,
112112
sourceFile: sourceFile,
113113
sourceUrl: dsConfig.githubExampleUrl + 'admin/examples/' + sourceFile,
114114
documentation: dsConfig.documentation + eg,

lib/admin/examples/auditUsers.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,20 @@ const auditUsers = async (args) => {
2020
};
2121

2222
const usersApi = new docusignAdmin.UsersApi(dsApiClient);
23-
const modifiedUsers = (await usersApi.getUsers(args.organizationId, options)).users;
23+
const allUsers = (await usersApi.getUsers(args.organizationId, options, (error, data, response) => {
24+
const headers = response?.headers;
25+
26+
const remaining = headers?.['x-ratelimit-remaining'];
27+
const reset = headers?.['x-ratelimit-reset'];
28+
29+
if (remaining && reset) {
30+
const resetInstant = new Date(Number(reset) * 1000);
31+
32+
console.log(`API calls remaining: ${remaining}`);
33+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
34+
}
35+
}));
36+
var modifiedUsers = allUsers.data.users;
2437
//ds-snippet-end:Admin5Step3
2538

2639
//ds-snippet-start:Admin5Step5

lib/admin/examples/bulkExportUserData.js

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,19 @@ const createBulkExportRequest = async (args) => {
1515

1616
//ds-snippet-start:Admin3Step3
1717
const bulkExportsApi = new docusignAdmin.BulkExportsApi(apiClient);
18-
let exportResponse = await bulkExportsApi.createUserListExport(requestBody, args.organizationId);
18+
let exportResponse = await bulkExportsApi.createUserListExport(requestBody, args.organizationId, (error, data, response) => {
19+
const headers = response?.headers;
20+
21+
const remaining = headers?.['x-ratelimit-remaining'];
22+
const reset = headers?.['x-ratelimit-reset'];
23+
24+
if (remaining && reset) {
25+
const resetInstant = new Date(Number(reset) * 1000);
26+
27+
console.log(`API calls remaining: ${remaining}`);
28+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
29+
}
30+
});
1931
//ds-snippet-end:Admin3Step3
2032

2133
const sleep = (ms) => {
@@ -26,11 +38,23 @@ const createBulkExportRequest = async (args) => {
2638

2739
const getExportedUserData = async (exportId) => {
2840
//ds-snippet-start:Admin3Step4
29-
const bulkExportResponse = await bulkExportsApi.getUserListExport(args.organizationId, exportId);
41+
const bulkExportResponse = await bulkExportsApi.getUserListExport(args.organizationId, exportId, (error, data, response) => {
42+
const headers = response?.headers;
43+
44+
const remaining = headers?.['x-ratelimit-remaining'];
45+
const reset = headers?.['x-ratelimit-reset'];
46+
47+
if (remaining && reset) {
48+
const resetInstant = new Date(Number(reset) * 1000);
49+
50+
console.log(`API calls remaining: ${remaining}`);
51+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
52+
}
53+
});
3054
//ds-snippet-end:Admin3Step4
3155

3256
//ds-snippet-start:Admin3Step5
33-
const dataUrl = bulkExportResponse.results[0].url;
57+
const dataUrl = bulkExportResponse.data.results[0].url;
3458
const requestOptions = {
3559
method: 'GET',
3660
headers: {
@@ -60,17 +84,29 @@ const createBulkExportRequest = async (args) => {
6084
let retryCount = 10;
6185

6286
while (retryCount >= 0){
63-
if (exportResponse.status === 'completed'){
64-
await getExportedUserData(exportResponse.id);
87+
if (exportResponse.data.status === 'completed'){
88+
await getExportedUserData(exportResponse.data.id);
6589
break;
6690
} else {
6791
--retryCount;
6892
await sleep(5000);
69-
exportResponse = await bulkExportsApi.getUserListExport(args.organizationId, exportResponse.id);
93+
exportResponse = await bulkExportsApi.getUserListExport(args.organizationId, exportResponse.data.id, (error, data, response) => {
94+
const headers = response?.headers;
95+
96+
const remaining = headers?.['x-ratelimit-remaining'];
97+
const reset = headers?.['x-ratelimit-reset'];
98+
99+
if (remaining && reset) {
100+
const resetInstant = new Date(Number(reset) * 1000);
101+
102+
console.log(`API calls remaining: ${remaining}`);
103+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
104+
}
105+
});
70106
}
71107
}
72108

73-
return exportResponse;
109+
return exportResponse.data;
74110
};
75111

76112
module.exports = { createBulkExportRequest };

lib/admin/examples/createCLMESignUser.js

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,23 @@ const getProductPermissionProfiles = async (args) => {
5151

5252
//ds-snippet-start:Admin2Step3
5353
const productPermissionProfilesApi = new docusignAdmin.ProductPermissionProfilesApi(dsApiClient);
54-
const productPermissionProfiles = await productPermissionProfilesApi.getProductPermissionProfiles(args.organizationId, args.accountId);
54+
const productPermissionProfiles = await productPermissionProfilesApi.getProductPermissionProfiles(args.organizationId, args.accountId, (error, data, response) => {
55+
const headers = response?.headers;
56+
57+
const remaining = headers?.['x-ratelimit-remaining'];
58+
const reset = headers?.['x-ratelimit-reset'];
59+
60+
if (remaining && reset) {
61+
const resetInstant = new Date(Number(reset) * 1000);
62+
63+
console.log(`API calls remaining: ${remaining}`);
64+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
65+
}
66+
});
5567
//ds-snippet-end:Admin2Step3
5668

5769

58-
productPermissionProfiles.product_permission_profiles.forEach(function(productPermissionProfile) {
70+
productPermissionProfiles.data.product_permission_profiles.forEach(function(productPermissionProfile) {
5971
if (productPermissionProfile.product_name === 'CLM') {
6072
clmPermissionProfiles = productPermissionProfile.permission_profiles;
6173
clmProductId = productPermissionProfile.product_id;
@@ -76,10 +88,22 @@ const getDSAdminGroups = async (args) => {
7688

7789
//ds-snippet-start:Admin2Step4
7890
const dsGroupsApi = new docusignAdmin.DSGroupsApi(dsApiClient);
79-
const dsGroups = await dsGroupsApi.getDSGroups(args.organizationId, args.accountId);
91+
const dsGroups = await dsGroupsApi.getDSGroups(args.organizationId, args.accountId, (error, data, response) => {
92+
const headers = response?.headers;
93+
94+
const remaining = headers?.['x-ratelimit-remaining'];
95+
const reset = headers?.['x-ratelimit-reset'];
96+
97+
if (remaining && reset) {
98+
const resetInstant = new Date(Number(reset) * 1000);
99+
100+
console.log(`API calls remaining: ${remaining}`);
101+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
102+
}
103+
});
80104
//ds-snippet-end:Admin2Step4
81105

82-
return dsGroups.ds_groups;
106+
return dsGroups.data.ds_groups;
83107
};
84108

85109
module.exports = { createCLMESignUser, getProductPermissionProfiles, getDSAdminGroups };

lib/admin/examples/createUser.js

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,41 @@ const getPermissionProfilesAndGroups = async (args) => {
5757

5858
//ds-snippet-start:Admin1Step3
5959
const accountsApi = new docusignESign.AccountsApi(apiClient);
60-
const profiles = await accountsApi.listPermissions(args.accountId);
60+
const profiles = await accountsApi.listPermissions(args.accountId, (error, data, response) => {
61+
const headers = response?.headers;
62+
63+
const remaining = headers?.['x-ratelimit-remaining'];
64+
const reset = headers?.['x-ratelimit-reset'];
65+
66+
if (remaining && reset) {
67+
const resetInstant = new Date(Number(reset) * 1000);
68+
69+
console.log(`API calls remaining: ${remaining}`);
70+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
71+
}
72+
});
73+
var profilesList = profiles.data;
6174
//ds-snippet-end:Admin1Step3
6275

6376
//ds-snippet-start:Admin1Step4
6477
const groupsApi = new docusignESign.GroupsApi(apiClient);
65-
const groups = await groupsApi.listGroups(args.accountId);
78+
const groups = await groupsApi.listGroups(args.accountId, (error, data, response) => {
79+
const headers = response?.headers;
80+
81+
const remaining = headers?.['x-ratelimit-remaining'];
82+
const reset = headers?.['x-ratelimit-reset'];
83+
84+
if (remaining && reset) {
85+
const resetInstant = new Date(Number(reset) * 1000);
86+
87+
console.log(`API calls remaining: ${remaining}`);
88+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
89+
}
90+
});
91+
var groupsList = groups.data;
6692
//ds-snippet-end:Admin1Step4
6793

68-
return { profiles, groups };
94+
return { profilesList, groupsList };
6995
};
7096

7197
module.exports = { createUser, getPermissionProfilesAndGroups };

lib/admin/examples/deleteUserProductPermissionProfile.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,20 @@ const getProductPermissionProfilesByEmail = async (args) => {
3535
email: args.email
3636
};
3737

38-
const permissionProfiles = await productPermissionProfilesApi.getUserProductPermissionProfilesByEmail(args.organizationId, args.accountId, getUserProductPermission);
39-
return permissionProfiles['product_permission_profiles'];
38+
const permissionProfiles = await productPermissionProfilesApi.getUserProductPermissionProfilesByEmail(args.organizationId, args.accountId, getUserProductPermission, (error, data, response) => {
39+
const headers = response?.headers;
40+
41+
const remaining = headers?.['x-ratelimit-remaining'];
42+
const reset = headers?.['x-ratelimit-reset'];
43+
44+
if (remaining && reset) {
45+
const resetInstant = new Date(Number(reset) * 1000);
46+
47+
console.log(`API calls remaining: ${remaining}`);
48+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
49+
}
50+
});
51+
return permissionProfiles.data['product_permission_profiles'];
4052
//ds-snippet-end:Admin9Step3
4153
};
4254

lib/admin/examples/importUser.js

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,20 @@ const createBulkImportRequest = async (args) => {
1717
// replace all {account_id} occurrences with the actual account id value
1818
userData = Buffer.from(userData.replace(/{account_id}/g, args.accountId));
1919

20-
return await bulkImportsApi.createBulkImportAddUsersRequest(args.organizationId, userData);
20+
var response = await bulkImportsApi.createBulkImportAddUsersRequest(args.organizationId, userData, (error, data, response) => {
21+
const headers = response?.headers;
22+
23+
const remaining = headers?.['x-ratelimit-remaining'];
24+
const reset = headers?.['x-ratelimit-reset'];
25+
26+
if (remaining && reset) {
27+
const resetInstant = new Date(Number(reset) * 1000);
28+
29+
console.log(`API calls remaining: ${remaining}`);
30+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
31+
}
32+
});
33+
return response.data;
2134
//ds-snippet-end:Admin4Step3
2235
};
2336

@@ -29,7 +42,20 @@ const checkStatus = async (args) => {
2942
const bulkImportsApi = new docusign.BulkImportsApi(apiClient);
3043

3144
//ds-snippet-start:Admin4Step4
32-
return await bulkImportsApi.getBulkUserImportRequest(args.organizationId, args.importId);
45+
var response = await bulkImportsApi.getBulkUserImportRequest(args.organizationId, args.importId, (error, data, response) => {
46+
const headers = response?.headers;
47+
48+
const remaining = headers?.['x-ratelimit-remaining'];
49+
const reset = headers?.['x-ratelimit-reset'];
50+
51+
if (remaining && reset) {
52+
const resetInstant = new Date(Number(reset) * 1000);
53+
54+
console.log(`API calls remaining: ${remaining}`);
55+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
56+
}
57+
});
58+
return response.data;
3359
//ds-snippet-end:Admin4Step4
3460
};
3561

lib/admin/examples/updateUserProductPermissionProfile.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,26 @@ const getProductPermissionProfiles = async (args) => {
3535
dsApiClient.addDefaultHeader('Authorization', 'Bearer ' + args.accessToken);
3636

3737
const productPermissionProfilesApi = new docusignAdmin.ProductPermissionProfilesApi(dsApiClient);
38-
const productPermissionProfiles = await productPermissionProfilesApi.getProductPermissionProfiles(args.organizationId, args.accountId);
38+
const productPermissionProfiles = await productPermissionProfilesApi.getProductPermissionProfiles(args.organizationId, args.accountId, (error, data, response) => {
39+
const headers = response?.headers;
40+
41+
const remaining = headers?.['x-ratelimit-remaining'];
42+
const reset = headers?.['x-ratelimit-reset'];
43+
44+
if (remaining && reset) {
45+
const resetInstant = new Date(Number(reset) * 1000);
46+
47+
console.log(`API calls remaining: ${remaining}`);
48+
console.log(`Next Reset: ${resetInstant.toISOString()}`);
49+
}
50+
});
3951

4052
let clmPermissionProfiles;
4153
let eSignPermissionProfiles;
4254
let clmProductId;
4355
let eSignProductId;
4456

45-
productPermissionProfiles.product_permission_profiles.forEach((productPermissionProfile) => {
57+
productPermissionProfiles.data.product_permission_profiles.forEach((productPermissionProfile) => {
4658
if (productPermissionProfile.product_name === 'CLM') {
4759
clmPermissionProfiles = productPermissionProfile.permission_profiles;
4860
clmProductId = productPermissionProfile.product_id;

0 commit comments

Comments
 (0)