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