@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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jambonz/time-series",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "write and query data to time series daetabase",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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,