@jambonz/time-series 0.2.6 → 0.2.8
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 +8 -4
- package/package.json +1 -1
- package/test/unit-tests.js +31 -1
package/index.js
CHANGED
|
@@ -181,11 +181,12 @@ 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, filter, 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 (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
189
190
|
if (days) sql += 'AND time > $timestamp ';
|
|
190
191
|
else {
|
|
191
192
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -196,11 +197,12 @@ const createCdrQuerySP = ({page, page_size, trunk, direction, answered, days, st
|
|
|
196
197
|
if (page) sql += ' OFFSET $offset';
|
|
197
198
|
return sql;
|
|
198
199
|
};
|
|
199
|
-
const createCdrCountQuerySP = ({trunk, direction, answered, days, start, end}) => {
|
|
200
|
+
const createCdrCountQuerySP = ({trunk, direction, answered, filter, days, start, end}) => {
|
|
200
201
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
201
202
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
202
203
|
if (direction) sql += 'AND direction = $direction ';
|
|
203
204
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
205
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
204
206
|
if (days) sql += 'AND time > $timestamp ';
|
|
205
207
|
else {
|
|
206
208
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -210,11 +212,12 @@ const createCdrCountQuerySP = ({trunk, direction, answered, days, start, end}) =
|
|
|
210
212
|
};
|
|
211
213
|
|
|
212
214
|
/* for Account */
|
|
213
|
-
const createCdrQuery = ({page, page_size, trunk, direction, answered, days, start, end}) => {
|
|
215
|
+
const createCdrQuery = ({page, page_size, trunk, direction, answered, filter, days, start, end}) => {
|
|
214
216
|
let sql = 'SELECT * from cdrs WHERE account_sid = $account_sid ';
|
|
215
217
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
216
218
|
if (direction) sql += 'AND direction = $direction ';
|
|
217
219
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
220
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
218
221
|
if (days) sql += 'AND time > $timestamp ';
|
|
219
222
|
else {
|
|
220
223
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -225,11 +228,12 @@ const createCdrQuery = ({page, page_size, trunk, direction, answered, days, star
|
|
|
225
228
|
if (page) sql += ' OFFSET $offset';
|
|
226
229
|
return sql;
|
|
227
230
|
};
|
|
228
|
-
const createCdrCountQuery = ({trunk, direction, answered, days, start, end}) => {
|
|
231
|
+
const createCdrCountQuery = ({trunk, direction, answered, filter, days, start, end}) => {
|
|
229
232
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE account_sid = $account_sid ';
|
|
230
233
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
231
234
|
if (direction) sql += 'AND direction = $direction ';
|
|
232
235
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
236
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
233
237
|
if (days) sql += 'AND time > $timestamp ';
|
|
234
238
|
else {
|
|
235
239
|
if (start) sql += 'AND time >= $start ';
|
package/package.json
CHANGED
package/test/unit-tests.js
CHANGED
|
@@ -60,7 +60,19 @@ 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', filter: 'a', page: 1, page_size:25});
|
|
66
|
+
t.ok(result.data.length === 0, 'queried cdrs by from');
|
|
67
|
+
result = await queryCdrs({account_sid: 'xxxx', filter: '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', filter: 'a', page: 1, page_size:25});
|
|
71
|
+
t.ok(result.data.length === 0, 'queried cdrs by to');
|
|
72
|
+
result = await queryCdrs({account_sid: 'xxxx', filter: 'y', page: 1, page_size:25});
|
|
73
|
+
t.ok(result.data.length === 1, 'queried cdrs by to');
|
|
74
|
+
result = await queryCdrs({account_sid: 'yyyy', filter: 'bar', page: 1, page_size:25});
|
|
75
|
+
t.ok(result.data.length === 1, 'queried cdrs by callSid');
|
|
64
76
|
|
|
65
77
|
result = await queryCdrs({account_sid: 'yyyy', trunk: 'twilio', page: 1, page_size:25});
|
|
66
78
|
t.ok(result.data.length === 1, 'queried cdrs by trunk')
|
|
@@ -68,6 +80,24 @@ test('write timeseries data', async(t) => {
|
|
|
68
80
|
result = await queryCdrsSP({service_provider_sid: 'zzzzz', page: 1, page_size:25});
|
|
69
81
|
t.ok(result.data.length === 2, 'queried cdrs by service provider sid')
|
|
70
82
|
|
|
83
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'a', page: 1, page_size:25});
|
|
84
|
+
t.ok(result.data.length === 0, 'queried cdrs by service provider sid and from')
|
|
85
|
+
|
|
86
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'me', page: 1, page_size:25});
|
|
87
|
+
t.ok(result.data.length === 2, 'queried cdrs by service provider sid and from')
|
|
88
|
+
|
|
89
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'me2', page: 1, page_size:25});
|
|
90
|
+
t.ok(result.data.length === 1, 'queried cdrs by service provider sid and from')
|
|
91
|
+
|
|
92
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'a', page: 1, page_size:25});
|
|
93
|
+
t.ok(result.data.length === 0, 'queried cdrs by service provider sid and to')
|
|
94
|
+
|
|
95
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'you', page: 1, page_size:25});
|
|
96
|
+
t.ok(result.data.length === 2, 'queried cdrs by service provider sid and to')
|
|
97
|
+
|
|
98
|
+
result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'you2', page: 1, page_size:25});
|
|
99
|
+
t.ok(result.data.length === 1, 'queried cdrs by service provider sid and ot')
|
|
100
|
+
|
|
71
101
|
result = await writeAlerts([
|
|
72
102
|
{
|
|
73
103
|
alert_type: AlertType.WEBHOOK_STATUS_FAILURE,
|