From 727340b295f25e04cb595022ba143cda48364697 Mon Sep 17 00:00:00 2001 From: Maximilian Krambach Date: Mon, 23 Apr 2018 19:15:40 +0200 Subject: js: don't allow message operation changes -- Once an operation is changed, their set of allowed/required parameters will change. So we shouldn't set/change the operation later. --- lang/js/src/Message.js | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'lang/js/src/Message.js') diff --git a/lang/js/src/Message.js b/lang/js/src/Message.js index 6a93b6f4..f5e21e00 100644 --- a/lang/js/src/Message.js +++ b/lang/js/src/Message.js @@ -23,28 +23,7 @@ export class GPGME_Message { //TODO getter constructor(operation){ - if (operation){ - this.operation(operation); - } - } - - /** - * Defines the operation this message will have - * @param {String} operation Must be defined in permittedOperations - * TODO: move to constructor? - */ - set operation (operation){ - if (!operation || typeof(operation) !== 'string'){ - return new GPGMEJS_Error('WRONGPARAM'); - } - if (operation in permittedOperations){ - if (!this._msg){ - this._msg = {}; - } - this._msg.op = operation; - } else { - return new GPGMEJS_Error('WRONG_OP'); - } + setOperation(this, operation); } get operation(){ @@ -110,4 +89,23 @@ export class GPGME_Message { } } +} + +/** + * Defines the operation this message will have + * @param {String} operation Must be defined in permittedOperations + * TODO: move to constructor? + */ +function setOperation (scope, operation){ + if (!operation || typeof(operation) !== 'string'){ + return new GPGMEJS_Error('WRONGTYPE'); + } + if (permittedOperations.hasOwnProperty(operation)){ + if (!scope._msg){ + scope._msg = {}; + } + scope._msg.op = operation; + } else { + return new GPGMEJS_Error('WRONG_OP'); + } } \ No newline at end of file -- cgit v1.2.3