Skip to content

Commit

Permalink
Merge pull request #145 from plivo/tollfree-sdk-fix
Browse files Browse the repository at this point in the history
changes made
  • Loading branch information
nixonsam committed Mar 30, 2020
2 parents 95c1ea6 + 86ab9b2 commit 8c7c02b
Show file tree
Hide file tree
Showing 4 changed files with 117 additions and 11 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Change Log

## [4.4.0](https://github.com/plivo/plivo-node/releases/tag/v4.4.0)(2020-03-30)
- Add Tollfree support for Powerpack

## [4.3.0](https://github.com/plivo/plivo-node/releases/tag/v4.3.0)(2020-03-27)
- Add post call quality feedback API support.

Expand Down
76 changes: 66 additions & 10 deletions lib/resources/powerpacks.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,27 +98,50 @@ export class Powerpack extends PlivoResource {
let path = 'NumberPool/' + this.number_pool_id + '/Number/' + number + '/';
return super.customexecuteAction(path.toString().trim(), 'POST', params);
}
add_tollfree(tollfree) {
var params = {};
params['rent'] = 'false';
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/' + tollfree + '/';
return super.customexecuteAction(path.toString().trim(), 'POST', params);
}
remove_number(number, unrent = false) {
var params = {};
if (typeof unrent === 'boolean') {
params['unrent'] = unrent.toString();
} else {
params['unrent'] = unrent;
}
params['unrent'] = unrent.toString();
let path = 'NumberPool/' + this.number_pool_id + '/Number/' + number + '/';
return super.customexecuteAction(path.toString().trim(), 'DELETE', params);
}
remove_tollfree(tollfree, unrent = false) {
var params = {};
params['unrent'] = unrent.toString();
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/' + tollfree + '/';
return super.customexecuteAction(path.toString().trim(), 'DELETE', params);
}
remove_shortcode(shortcode) {
let path = 'NumberPool/' + this.number_pool_id + '/Shortcode/' + shortcode + '/';
return super.customexecuteAction(path.toString().trim(), 'DELETE');
}
list_shortcodes(params) {
if (params === undefined) {
params = {};
}
let path = 'NumberPool/' + this.number_pool_id + '/Shortcode/';
return super.customexecuteAction(path.toString().trim(), 'GET', params);
}
list_tollfree(params) {
if (params === undefined) {
params = {};
}
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/';
return super.customexecuteAction(path.toString().trim(), 'GET', params);
}
find_shortcode(shortcode) {
let path = 'NumberPool/' + this.number_pool_id + '/Shortcode/' + shortcode + '/';
return super.customexecuteAction(path.toString().trim(), 'GET');
}
find_tollfree(tollfree) {
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/' + tollfree + '/';
return super.customexecuteAction(path.toString().trim(), 'GET');
}
buy_add_number(params) {
var number = params.number;
var rentparam = {};
Expand Down Expand Up @@ -184,6 +207,9 @@ export class NumberPool extends PlivoResource {
this.shortcodes = new Shortcode(client, {
number_pool_id: data.number_pool_id
});
this.tollfree = new Tollfree(client, {
number_pool_id: data.number_pool_id
});

extend(this, data);
}
Expand Down Expand Up @@ -286,11 +312,7 @@ export class Numbers extends PlivoResource {
}
remove(number, unrent = false) {
var params = {};
if (typeof unrent === 'boolean') {
params['unrent'] = unrent.toString();
} else {
params['unrent'] = unrent;
}
params['unrent'] = unrent.toString();
let path = 'NumberPool/' + this.number_pool_id + '/Number/' + number + '/';
return super.customexecuteAction(path.toString().trim(), 'DELETE', params);
}
Expand All @@ -312,6 +334,40 @@ export class Shortcode extends PlivoResource {
let path = 'NumberPool/' + this.number_pool_id + '/Shortcode/' + shortcode + '/';
return super.customexecuteAction(path.toString().trim(), 'GET');
}
remove(shortcode) {
let path = 'NumberPool/' + this.number_pool_id + '/Shortcode/' + shortcode + '/';
return super.customexecuteAction(path.toString().trim(), 'DELETE');
}
}
export class Tollfree extends PlivoResource {
constructor(client, data = {}) {
super(action, Tollfree, numberPoolField, client);
extend(this, data);
this.number_pool_id = data.number_pool_id;
}
add(tollfree) {
var params = {};
params['rent'] = 'false';
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/' + tollfree + '/';
return super.customexecuteAction(path.toString().trim(), 'POST', params);
}
remove(tollfree, unrent = false) {
var params = {};
params['unrent'] = unrent.toString();
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/' + tollfree + '/';
return super.customexecuteAction(path.toString().trim(), 'DELETE', params);
}
list(params) {
if (params === undefined) {
params = {};
}
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/';
return super.customexecuteAction(path.toString().trim(), 'GET', params);
}
find(tollfree) {
let path = 'NumberPool/' + this.number_pool_id + '/Tollfree/' + tollfree + '/';
return super.customexecuteAction(path.toString().trim(), 'GET');
}
}
/**
* Represents a Powerpack interface
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "plivo",
"version": "4.3.0",
"version": "4.4.0",
"description": "A Node.js SDK to make voice calls and send SMS using Plivo and to generate Plivo XML",
"homepage": "https://github.com/plivo/plivo-node",
"files": [
Expand Down
47 changes: 47 additions & 0 deletions test/powerpacks.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,52 @@ describe('PowerpackInterface', function () {
assert.notEqual(result.length, 0)
})
});
it('list tollfree via interface', function () {
client.powerpacks.get("5ec4c8c9-cd74-42b5-9e41-0d7670d6bb46").then(
function (powerpack) {
return powerpack.list_tollfree()
})
.then(function (result) {
assert.notEqual(result.length, 0)
})
});
it('find tollfree via interface', function () {
client.powerpacks.get("5ec4c8c9-cd74-42b5-9e41-0d7670d6bb46").then(
function (powerpack) {
return powerpack.find_tollfree('18772209942')
})
.then(function (result) {
assert.Equal(result.number, "18772209942")
})
});
it('add tollfree to powerpack via interface', function () {
client.powerpacks.get("5ec4c8c9-cd74-42b5-9e41-0d7670d6bb46").then(
function (powerpack) {
return powerpack.add_tollfree('18772209942')
})
.then(function (result) {
assert.Equal(result.number, "18772209942")
})
});
it('remove tollfree via interface', function () {
client.powerpacks.get("5ec4c8c9-cd74-42b5-9e41-0d7670d6bb46").then(
function (powerpack) {
return powerpack.remove_tollfree("18772209942", true)
})
.then(function (result) {
assert.notEqual(result.response, "success")
})
});

it('remove shortcode via interface', function () {
client.powerpacks.get("5ec4c8c9-cd74-42b5-9e41-0d7670d6bb46").then(
function (powerpack) {
return powerpack.remove_shortcode("444444")
})
.then(function (result) {
assert.notEqual(result.response, "success")
})
});

});

0 comments on commit 8c7c02b

Please sign in to comment.