Skip to content

Commit 4ab48f3

Browse files
authored
Add files via upload
1 parent 65f4024 commit 4ab48f3

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

list_accounts.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
exports.handler = async function (context, event, callback) {
2+
let finalData = null;
3+
let i = 0;
4+
5+
const accountSid = process.env.ACCOUNT_SID;
6+
const authToken = process.env.AUTH_TOKEN;
7+
const client = require('twilio')(accountSid, authToken);
8+
const response = new Twilio.Response();
9+
const allAccounts = [];
10+
11+
response.appendHeader('Content-Type', 'application/json');
12+
13+
if (event.request.headers.authorization !== process.env.Password) {
14+
finalData = { er: 0 };
15+
return callback(null, finalData);
16+
}
17+
18+
try {
19+
if (event.pageSize > 0) {
20+
sub = await client.api.v2010.accounts
21+
.page({
22+
pageSize: event.pageSize,
23+
Page: event.page,
24+
pageToken: event.pageToken,
25+
})
26+
.then((accounts) => {
27+
for (a = 0; a < accounts.instances.length; a++) {
28+
allAccounts[i] = accounts.instances[a].sid;
29+
i += 1;
30+
}
31+
if (accounts.nextPageUrl === undefined) {
32+
allAccounts[i] = 'end';
33+
} else {
34+
allAccounts[i] = accounts.nextPageUrl.split('PageToken=')[1];
35+
}
36+
});
37+
response.setStatusCode(200);
38+
response.setBody(allAccounts);
39+
} else {
40+
sub = await client.api.v2010.accounts.list().then((accounts) =>
41+
accounts.forEach((a) => {
42+
allAccounts[i] = a.sid;
43+
i += 1;
44+
})
45+
);
46+
response.setStatusCode(200);
47+
response.setBody(allAccounts);
48+
}
49+
return callback(null, response);
50+
} catch (error) {
51+
console.error(error.message);
52+
response.setStatusCode(error.status || 400);
53+
response.setBody({ error: error.message });
54+
return callback(null, response);
55+
}
56+
};

0 commit comments

Comments
 (0)