From 920c931860288032a2b10ad17830b5c0da0f4491 Mon Sep 17 00:00:00 2001 From: Ramey Girdhar Date: Fri, 10 Aug 2018 17:58:36 +0530 Subject: [PATCH 1/4] adding powerpack changes --- lib/resources/messages.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/resources/messages.js b/lib/resources/messages.js index fef9ae6..9339ab0 100644 --- a/lib/resources/messages.js +++ b/lib/resources/messages.js @@ -69,22 +69,36 @@ export class MessageInterface extends PlivoResourceInterface { * @promise {object} return {@link PlivoGenericMessage} object if success * @fail {Error} return Error */ - create(src, dst, text, optionalParams) { + create(src, dst, text, optionalParams, powerpackUUID) { let errors = validate([ - {field: 'src', value: src, validators: ['isRequired']}, {field: 'dst', value: dst, validators: ['isRequired']}, - {field: 'text', value: text, validators: ['isRequired']} + {field: 'text', value: text, validators: ['isRequired']}, ]); if (errors) { return errors; } + if (!src && !powerpackUUID) { + let errorText = 'Neither of src or powerpack uuid present, either one is required' + return new Promise(function(resolve, reject) { + reject(new Error(errorText)); + }); + } + + if (src && powerpackUUID) { + let errorText = 'Either of src or powerpack uuid, both of them are present' + return new Promise(function(resolve, reject) { + reject(new Error(errorText)); + }) + } + let params = optionalParams || {}; params.src = src; params.dst = _.isArray(dst) ? _.join(dst, '<') : dst; params.text = text; - + params.powerpackUUID = powerpackUUID; + console.log(params) return super.create(params); } From 2bc5d25dc65f51d4baf1b833d200dad64d75d8d1 Mon Sep 17 00:00:00 2001 From: Ramey Girdhar Date: Mon, 13 Aug 2018 09:35:42 +0530 Subject: [PATCH 2/4] changes for src and powerpack uuid null case --- lib/resources/messages.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/resources/messages.js b/lib/resources/messages.js index 9339ab0..4942ded 100644 --- a/lib/resources/messages.js +++ b/lib/resources/messages.js @@ -94,10 +94,14 @@ export class MessageInterface extends PlivoResourceInterface { } let params = optionalParams || {}; - params.src = src; + if (src) { + params.src = src; + } params.dst = _.isArray(dst) ? _.join(dst, '<') : dst; params.text = text; - params.powerpackUUID = powerpackUUID; + if (powerpackUUID) { + params.powerpackUUID = powerpackUUID; + } console.log(params) return super.create(params); } From 1e88523e793a5fe13fd84258c889a17649be60b9 Mon Sep 17 00:00:00 2001 From: Ramey Girdhar Date: Mon, 13 Aug 2018 10:29:14 +0530 Subject: [PATCH 3/4] adding/removing unit tests for powerpack change --- test/messages.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/test/messages.js b/test/messages.js index b24f4ea..121f38d 100644 --- a/test/messages.js +++ b/test/messages.js @@ -42,10 +42,17 @@ describe('message', function () { }) }); - it('should throw error - src is required via interface', function () { - return client.messages.send(null, 'dst', 'text') + it('should throw error - src and powerpack both not present', function () { + return client.messages.send(null, 'dst', 'text', {}, null) .catch(function(err){ - assert.equal(err.message, 'Missing mandatory field: src') + assert.equal(err.message, 'Neither of src or powerpack uuid present, either one is required') + }) + }); + + it('should throw error - src and powerpack both are present', function () { + return client.messages.send('91235456917375', 'dst', 'text', {}, '916386027476') + .catch(function(err){ + assert.equal(err.message, 'Either of src or powerpack uuid, both of them are present') }) }); From d08f06df0cef6107aa449e01f7e65f1e57db269f Mon Sep 17 00:00:00 2001 From: Ramey Girdhar Date: Tue, 14 Aug 2018 09:31:49 +0530 Subject: [PATCH 4/4] powerpack change --- lib/resources/messages.js | 28 +++++++++++++++++++++++----- test/messages.js | 13 ++++++++++--- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/lib/resources/messages.js b/lib/resources/messages.js index fef9ae6..4942ded 100644 --- a/lib/resources/messages.js +++ b/lib/resources/messages.js @@ -69,22 +69,40 @@ export class MessageInterface extends PlivoResourceInterface { * @promise {object} return {@link PlivoGenericMessage} object if success * @fail {Error} return Error */ - create(src, dst, text, optionalParams) { + create(src, dst, text, optionalParams, powerpackUUID) { let errors = validate([ - {field: 'src', value: src, validators: ['isRequired']}, {field: 'dst', value: dst, validators: ['isRequired']}, - {field: 'text', value: text, validators: ['isRequired']} + {field: 'text', value: text, validators: ['isRequired']}, ]); if (errors) { return errors; } + if (!src && !powerpackUUID) { + let errorText = 'Neither of src or powerpack uuid present, either one is required' + return new Promise(function(resolve, reject) { + reject(new Error(errorText)); + }); + } + + if (src && powerpackUUID) { + let errorText = 'Either of src or powerpack uuid, both of them are present' + return new Promise(function(resolve, reject) { + reject(new Error(errorText)); + }) + } + let params = optionalParams || {}; - params.src = src; + if (src) { + params.src = src; + } params.dst = _.isArray(dst) ? _.join(dst, '<') : dst; params.text = text; - + if (powerpackUUID) { + params.powerpackUUID = powerpackUUID; + } + console.log(params) return super.create(params); } diff --git a/test/messages.js b/test/messages.js index b24f4ea..121f38d 100644 --- a/test/messages.js +++ b/test/messages.js @@ -42,10 +42,17 @@ describe('message', function () { }) }); - it('should throw error - src is required via interface', function () { - return client.messages.send(null, 'dst', 'text') + it('should throw error - src and powerpack both not present', function () { + return client.messages.send(null, 'dst', 'text', {}, null) .catch(function(err){ - assert.equal(err.message, 'Missing mandatory field: src') + assert.equal(err.message, 'Neither of src or powerpack uuid present, either one is required') + }) + }); + + it('should throw error - src and powerpack both are present', function () { + return client.messages.send('91235456917375', 'dst', 'text', {}, '916386027476') + .catch(function(err){ + assert.equal(err.message, 'Either of src or powerpack uuid, both of them are present') }) });