@jambonz/time-series 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +12 -4
- package/package.json +1 -1
- package/test/unit-tests.js +29 -1
package/index.js
CHANGED
|
@@ -181,11 +181,13 @@ const createCallCountsCountQuery = ({days, start, end}) => {
|
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
/* for Service Provider */
|
|
184
|
-
const createCdrQuerySP = ({page, page_size, trunk, direction, answered, days, start, end}) => {
|
|
184
|
+
const createCdrQuerySP = ({page, page_size, trunk, direction, answered, from, to, days, start, end}) => {
|
|
185
185
|
let sql = 'SELECT * from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
186
186
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
187
187
|
if (direction) sql += 'AND direction = $direction ';
|
|
188
188
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
189
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
190
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
189
191
|
if (days) sql += 'AND time > $timestamp ';
|
|
190
192
|
else {
|
|
191
193
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -196,11 +198,13 @@ const createCdrQuerySP = ({page, page_size, trunk, direction, answered, days, st
|
|
|
196
198
|
if (page) sql += ' OFFSET $offset';
|
|
197
199
|
return sql;
|
|
198
200
|
};
|
|
199
|
-
const createCdrCountQuerySP = ({trunk, direction, answered, days, start, end}) => {
|
|
201
|
+
const createCdrCountQuerySP = ({trunk, direction, answered, from, to, days, start, end}) => {
|
|
200
202
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
201
203
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
202
204
|
if (direction) sql += 'AND direction = $direction ';
|
|
203
205
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
206
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
207
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
204
208
|
if (days) sql += 'AND time > $timestamp ';
|
|
205
209
|
else {
|
|
206
210
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -210,11 +214,13 @@ const createCdrCountQuerySP = ({trunk, direction, answered, days, start, end}) =
|
|
|
210
214
|
};
|
|
211
215
|
|
|
212
216
|
/* for Account */
|
|
213
|
-
const createCdrQuery = ({page, page_size, trunk, direction, answered, days, start, end}) => {
|
|
217
|
+
const createCdrQuery = ({page, page_size, trunk, direction, answered, from, to, days, start, end}) => {
|
|
214
218
|
let sql = 'SELECT * from cdrs WHERE account_sid = $account_sid ';
|
|
215
219
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
216
220
|
if (direction) sql += 'AND direction = $direction ';
|
|
217
221
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
222
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
223
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
218
224
|
if (days) sql += 'AND time > $timestamp ';
|
|
219
225
|
else {
|
|
220
226
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -225,11 +231,13 @@ const createCdrQuery = ({page, page_size, trunk, direction, answered, days, star
|
|
|
225
231
|
if (page) sql += ' OFFSET $offset';
|
|
226
232
|
return sql;
|
|
227
233
|
};
|
|
228
|
-
const createCdrCountQuery = ({trunk, direction, answered, days, start, end}) => {
|
|
234
|
+
const createCdrCountQuery = ({trunk, direction, answered, from, to, days, start, end}) => {
|
|
229
235
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE account_sid = $account_sid ';
|
|
230
236
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
231
237
|
if (direction) sql += 'AND direction = $direction ';
|
|
232
238
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
239
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
240
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
233
241
|
if (days) sql += 'AND time > $timestamp ';
|
|
234
242
|
else {
|
|
235
243
|
if (start) sql += 'AND time >= $start ';
|
package/package.json
CHANGED
package/test/unit-tests.js
CHANGED
|
@@ -60,7 +60,17 @@ test('write timeseries data', async(t) => {
|
|
|
60
60
|
|
|
61
61
|
result = await queryCdrs({account_sid: 'xxxx', page: 1, page_size:25});
|
|
62
62
|
//console.log(JSON.stringify(result));
|
|
63
|
-
t.ok(result.data.length === 1, 'queried cdrs by account sid')
|
|
63
|
+
t.ok(result.data.length === 1, 'queried cdrs by account sid');
|
|
64
|
+
|
|
65
|
+
result = await queryCdrs({account_sid: 'xxxx', from: 'a', page: 1, page_size:25});
|
|
66
|
+
t.ok(result.data.length === 0, 'queried cdrs by from');
|
|
67
|
+
result = await queryCdrs({account_sid: 'xxxx', from: 'm', page: 1, page_size:25});
|
|
68
|
+
t.ok(result.data.length === 1, 'queried cdrs by from');
|
|
69
|
+
|
|
70
|
+
result = await queryCdrs({account_sid: 'xxxx', to: 'a', page: 1, page_size:25});
|
|
71
|
+
t.ok(result.data.length === 0, 'queried cdrs by to');
|
|
72
|
+
result = await queryCdrs({account_sid: 'xxxx', to: 'y', page: 1, page_size:25});
|
|
73
|
+
t.ok(result.data.length === 1, 'queried cdrs by to');
|
|
64
74
|
|
|
65
75
|
result = await queryCdrs({account_sid: 'yyyy', trunk: 'twilio', page: 1, page_size:25});
|
|
66
76
|
t.ok(result.data.length === 1, 'queried cdrs by trunk')
|
|
@@ -68,6 +78,24 @@ test('write timeseries data', async(t) => {
|
|
|
68
78
|
result = await queryCdrsSP({service_provider_sid: 'zzzzz', page: 1, page_size:25});
|
|
69
79
|
t.ok(result.data.length === 2, 'queried cdrs by service provider sid')
|
|
70
80
|
|
|
81
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', from: 'a', page: 1, page_size:25});
|
|
82
|
+
t.ok(result.data.length === 0, 'queried cdrs by service provider sid and from')
|
|
83
|
+
|
|
84
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', from: 'me', page: 1, page_size:25});
|
|
85
|
+
t.ok(result.data.length === 2, 'queried cdrs by service provider sid and from')
|
|
86
|
+
|
|
87
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', from: 'me2', page: 1, page_size:25});
|
|
88
|
+
t.ok(result.data.length === 1, 'queried cdrs by service provider sid and from')
|
|
89
|
+
|
|
90
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', to: 'a', page: 1, page_size:25});
|
|
91
|
+
t.ok(result.data.length === 0, 'queried cdrs by service provider sid and to')
|
|
92
|
+
|
|
93
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', to: 'you', page: 1, page_size:25});
|
|
94
|
+
t.ok(result.data.length === 2, 'queried cdrs by service provider sid and to')
|
|
95
|
+
|
|
96
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', to: 'you2', page: 1, page_size:25});
|
|
97
|
+
t.ok(result.data.length === 1, 'queried cdrs by service provider sid and ot')
|
|
98
|
+
|
|
71
99
|
result = await writeAlerts([
|
|
72
100
|
{
|
|
73
101
|
alert_type: AlertType.WEBHOOK_STATUS_FAILURE,
|