@jambonz/time-series 0.2.5 → 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 +14 -5
- package/package.json +1 -1
- package/test/unit-tests.js +30 -1
package/index.js
CHANGED
|
@@ -34,7 +34,8 @@ const schemas = {
|
|
|
34
34
|
terminated_at: Influx.FieldType.INTEGER,
|
|
35
35
|
termination_reason: Influx.FieldType.STRING,
|
|
36
36
|
remote_host: Influx.FieldType.STRING,
|
|
37
|
-
trace_id: Influx.FieldType.STRING
|
|
37
|
+
trace_id: Influx.FieldType.STRING,
|
|
38
|
+
recording_url: Influx.FieldType.STRING
|
|
38
39
|
},
|
|
39
40
|
tags: [
|
|
40
41
|
'service_provider_sid',
|
|
@@ -180,11 +181,13 @@ const createCallCountsCountQuery = ({days, start, end}) => {
|
|
|
180
181
|
};
|
|
181
182
|
|
|
182
183
|
/* for Service Provider */
|
|
183
|
-
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}) => {
|
|
184
185
|
let sql = 'SELECT * from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
185
186
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
186
187
|
if (direction) sql += 'AND direction = $direction ';
|
|
187
188
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
189
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
190
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
188
191
|
if (days) sql += 'AND time > $timestamp ';
|
|
189
192
|
else {
|
|
190
193
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -195,11 +198,13 @@ const createCdrQuerySP = ({page, page_size, trunk, direction, answered, days, st
|
|
|
195
198
|
if (page) sql += ' OFFSET $offset';
|
|
196
199
|
return sql;
|
|
197
200
|
};
|
|
198
|
-
const createCdrCountQuerySP = ({trunk, direction, answered, days, start, end}) => {
|
|
201
|
+
const createCdrCountQuerySP = ({trunk, direction, answered, from, to, days, start, end}) => {
|
|
199
202
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
200
203
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
201
204
|
if (direction) sql += 'AND direction = $direction ';
|
|
202
205
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
206
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
207
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
203
208
|
if (days) sql += 'AND time > $timestamp ';
|
|
204
209
|
else {
|
|
205
210
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -209,11 +214,13 @@ const createCdrCountQuerySP = ({trunk, direction, answered, days, start, end}) =
|
|
|
209
214
|
};
|
|
210
215
|
|
|
211
216
|
/* for Account */
|
|
212
|
-
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}) => {
|
|
213
218
|
let sql = 'SELECT * from cdrs WHERE account_sid = $account_sid ';
|
|
214
219
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
215
220
|
if (direction) sql += 'AND direction = $direction ';
|
|
216
221
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
222
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
223
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
217
224
|
if (days) sql += 'AND time > $timestamp ';
|
|
218
225
|
else {
|
|
219
226
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -224,11 +231,13 @@ const createCdrQuery = ({page, page_size, trunk, direction, answered, days, star
|
|
|
224
231
|
if (page) sql += ' OFFSET $offset';
|
|
225
232
|
return sql;
|
|
226
233
|
};
|
|
227
|
-
const createCdrCountQuery = ({trunk, direction, answered, days, start, end}) => {
|
|
234
|
+
const createCdrCountQuery = ({trunk, direction, answered, from, to, days, start, end}) => {
|
|
228
235
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE account_sid = $account_sid ';
|
|
229
236
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
230
237
|
if (direction) sql += 'AND direction = $direction ';
|
|
231
238
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
239
|
+
if (from) sql += `AND "from" =~ /.*${from}.*/ `;
|
|
240
|
+
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
232
241
|
if (days) sql += 'AND time > $timestamp ';
|
|
233
242
|
else {
|
|
234
243
|
if (start) sql += 'AND time >= $start ';
|
package/package.json
CHANGED
package/test/unit-tests.js
CHANGED
|
@@ -35,6 +35,7 @@ test('write timeseries data', async(t) => {
|
|
|
35
35
|
trunk: 'device',
|
|
36
36
|
service_provider_sid: 'zzzzz',
|
|
37
37
|
account_sid: 'xxxx',
|
|
38
|
+
recording_url: '/Accounts/12345/RecentCalls/54321/record'
|
|
38
39
|
},
|
|
39
40
|
{
|
|
40
41
|
from: 'me2',
|
|
@@ -59,7 +60,17 @@ test('write timeseries data', async(t) => {
|
|
|
59
60
|
|
|
60
61
|
result = await queryCdrs({account_sid: 'xxxx', page: 1, page_size:25});
|
|
61
62
|
//console.log(JSON.stringify(result));
|
|
62
|
-
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');
|
|
63
74
|
|
|
64
75
|
result = await queryCdrs({account_sid: 'yyyy', trunk: 'twilio', page: 1, page_size:25});
|
|
65
76
|
t.ok(result.data.length === 1, 'queried cdrs by trunk')
|
|
@@ -67,6 +78,24 @@ test('write timeseries data', async(t) => {
|
|
|
67
78
|
result = await queryCdrsSP({service_provider_sid: 'zzzzz', page: 1, page_size:25});
|
|
68
79
|
t.ok(result.data.length === 2, 'queried cdrs by service provider sid')
|
|
69
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
|
+
|
|
70
99
|
result = await writeAlerts([
|
|
71
100
|
{
|
|
72
101
|
alert_type: AlertType.WEBHOOK_STATUS_FAILURE,
|