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