@jambonz/time-series 0.2.7 → 0.2.9
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 -14
- package/package.json +1 -1
- package/test/unit-tests.js +12 -10
package/index.js
CHANGED
|
@@ -55,7 +55,8 @@ const schemas = {
|
|
|
55
55
|
tags: [
|
|
56
56
|
'service_provider_sid',
|
|
57
57
|
'account_sid',
|
|
58
|
-
'alert_type'
|
|
58
|
+
'alert_type',
|
|
59
|
+
'vendor'
|
|
59
60
|
]
|
|
60
61
|
},
|
|
61
62
|
call_counts: {
|
|
@@ -181,13 +182,12 @@ const createCallCountsCountQuery = ({days, start, end}) => {
|
|
|
181
182
|
};
|
|
182
183
|
|
|
183
184
|
/* for Service Provider */
|
|
184
|
-
const createCdrQuerySP = ({page, page_size, trunk, direction, answered,
|
|
185
|
+
const createCdrQuerySP = ({page, page_size, trunk, direction, answered, filter, days, start, end}) => {
|
|
185
186
|
let sql = 'SELECT * from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
186
187
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
187
188
|
if (direction) sql += 'AND direction = $direction ';
|
|
188
189
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
189
|
-
if (
|
|
190
|
-
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
190
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
191
191
|
if (days) sql += 'AND time > $timestamp ';
|
|
192
192
|
else {
|
|
193
193
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -198,13 +198,12 @@ const createCdrQuerySP = ({page, page_size, trunk, direction, answered, from, to
|
|
|
198
198
|
if (page) sql += ' OFFSET $offset';
|
|
199
199
|
return sql;
|
|
200
200
|
};
|
|
201
|
-
const createCdrCountQuerySP = ({trunk, direction, answered,
|
|
201
|
+
const createCdrCountQuerySP = ({trunk, direction, answered, filter, days, start, end}) => {
|
|
202
202
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE service_provider_sid = $service_provider_sid ';
|
|
203
203
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
204
204
|
if (direction) sql += 'AND direction = $direction ';
|
|
205
205
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
206
|
-
if (
|
|
207
|
-
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
206
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
208
207
|
if (days) sql += 'AND time > $timestamp ';
|
|
209
208
|
else {
|
|
210
209
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -214,13 +213,12 @@ const createCdrCountQuerySP = ({trunk, direction, answered, from, to, days, star
|
|
|
214
213
|
};
|
|
215
214
|
|
|
216
215
|
/* for Account */
|
|
217
|
-
const createCdrQuery = ({page, page_size, trunk, direction, answered,
|
|
216
|
+
const createCdrQuery = ({page, page_size, trunk, direction, answered, filter, days, start, end}) => {
|
|
218
217
|
let sql = 'SELECT * from cdrs WHERE account_sid = $account_sid ';
|
|
219
218
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
220
219
|
if (direction) sql += 'AND direction = $direction ';
|
|
221
220
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
222
|
-
if (
|
|
223
|
-
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
221
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
224
222
|
if (days) sql += 'AND time > $timestamp ';
|
|
225
223
|
else {
|
|
226
224
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -231,13 +229,12 @@ const createCdrQuery = ({page, page_size, trunk, direction, answered, from, to,
|
|
|
231
229
|
if (page) sql += ' OFFSET $offset';
|
|
232
230
|
return sql;
|
|
233
231
|
};
|
|
234
|
-
const createCdrCountQuery = ({trunk, direction, answered,
|
|
232
|
+
const createCdrCountQuery = ({trunk, direction, answered, filter, days, start, end}) => {
|
|
235
233
|
let sql = 'SELECT COUNT(sip_callid) from cdrs WHERE account_sid = $account_sid ';
|
|
236
234
|
if (trunk) sql += 'AND trunk = $trunk ';
|
|
237
235
|
if (direction) sql += 'AND direction = $direction ';
|
|
238
236
|
if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered ';
|
|
239
|
-
if (
|
|
240
|
-
if (to) sql += `AND "to" =~ /.*${to}.*/ `;
|
|
237
|
+
if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `;
|
|
241
238
|
if (days) sql += 'AND time > $timestamp ';
|
|
242
239
|
else {
|
|
243
240
|
if (start) sql += 'AND time >= $start ';
|
|
@@ -647,7 +644,8 @@ const writeAlerts = async(client, alerts) => {
|
|
|
647
644
|
}
|
|
648
645
|
let fields = { message };
|
|
649
646
|
if (target_sid) fields = Object.assign(fields, {target_sid});
|
|
650
|
-
const obj = {measurement: 'alerts', fields: fields, tags: { alert_type, service_provider_sid, account_sid
|
|
647
|
+
const obj = {measurement: 'alerts', fields: fields, tags: { alert_type, service_provider_sid, account_sid,
|
|
648
|
+
...(vendor && {vendor})}};
|
|
651
649
|
if (timestamp) obj.timestamp = timestamp;
|
|
652
650
|
if (detail) obj.fields.detail = detail;
|
|
653
651
|
return obj;
|
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([
|