diff --git a/lang/js/src/Helpers.js b/lang/js/src/Helpers.js index ea056fff..fd0e7200 100644 --- a/lang/js/src/Helpers.js +++ b/lang/js/src/Helpers.js @@ -48,7 +48,7 @@ export function toKeyIdArray(input){ if (input[i] instanceof GPGME_Key){ fpr = input[i].fingerprint; } else if (input[i].hasOwnProperty('primaryKey') && - input[i].primaryKey.hasOwnProperty(getFingerprint)){ + input[i].primaryKey.hasOwnProperty('getFingerprint')){ fpr = input[i].primaryKey.getFingerprint(); } if (isFingerprint(fpr) === true){ diff --git a/lang/js/src/Key.js b/lang/js/src/Key.js index 6d3cf17d..075a190e 100644 --- a/lang/js/src/Key.js +++ b/lang/js/src/Key.js @@ -35,13 +35,15 @@ import { Connection } from './Connection'; export function createKey(fingerprint, parent){ if (!isFingerprint(fingerprint)){ - return gpgme_error('KEY_INVALID'); + return gpgme_error('PARAM_WRONG'); } if ( parent instanceof Connection){ return new GPGME_Key(fingerprint, parent); } else if ( parent.hasOwnProperty('connection') && parent.connection instanceof Connection){ return new GPGME_Key(fingerprint, parent.connection); + } else { + return gpgme_error('PARAM_WRONG'); } } diff --git a/lang/js/src/permittedOperations.js b/lang/js/src/permittedOperations.js index 274e037e..59597aaf 100644 --- a/lang/js/src/permittedOperations.js +++ b/lang/js/src/permittedOperations.js @@ -122,55 +122,96 @@ export const permittedOperations = { type: ['plaintext'], data: ['data'], params: ['base64', 'mime'], - infos: [] // pending. Info about signatures and validity - //signature: [{Key Fingerprint, valid boolean}] + infos: [] // TODO pending. Info about signatures and validity + //{ + //signatures: [{ + //Key : Fingerprint, + //valid: + // }] } }, - /** - keyinfo: { // querying the Key's information. - required: ['fingerprint'], - anser: { + /** TBD: querying the Key's information (keyinfo) + TBD name: { + required: { + 'fingerprint': { + allowed: ['string'] + }, + }, + answer: { type: ['TBD'], data: [], - params: ['hasSecret', 'isRevoked', 'isExpired', 'armored', - 'timestamp', 'expires', 'pubkey_algo'], + params: ['hasSecret','isRevoked','isExpired','armored', + 'timestamp','expires','pubkey_algo'], infos: ['subkeys', 'userIds'] + // {'hasSecret': , + // 'isRevoked': , + // 'isExpired': , + // 'armored': , // armored public Key block + // 'timestamp': , // + // 'expires': , + // 'pubkey_algo': TBD // TBD (optional?), + // 'userIds': Array, + // 'subkeys': Array Fingerprints of Subkeys + // } }*/ /** listkeys:{ - optional: ['with-secret', 'pattern'], + required: {}; + optional: { + 'with-secret':{ + allowed: ['boolean'] + },{ + 'pattern': { + allowed: ['string'] + } + }, answer: { - type: ['TBD'], //Array of fingerprints? - infos: ['TBD'] //the property with infos + type: ['TBD'], + infos: ['TBD'] + // keys: Array Fingerprints representing the results }, */ /** importkey: { - required: ['keyarmored'], + required: { + 'keyarmored': { + allowed: ['string'] + } + }, answer: { type: ['TBD'], - infos: [''], // for each key if import was a success, if it was an update + infos: ['TBD'], + // for each key if import was a success, + // and if it was an update of preexisting key } }, */ /** deletekey: { - required: ['fingerprint'], + pinentry: true, + required: { + 'fingerprint': { + allowed: ['string'], + // array_allowed: TBD Allow several Keys to be deleted at once? + }, + optional: { + 'TBD' //Flag to delete secret Key ? + } answer: { type ['TBD'], - infos: [''] //success:true? in gpgme, an error NO_ERROR is returned + infos: [''] + // TBD (optional) Some kind of 'ok' if delete was successful. } } */ /** - *get armored secret different treatment from keyinfo! - */ - - /** - * TBD key modification requests? + *TBD get armored secret different treatment from keyinfo! + * TBD key modification? + * encryptsign: TBD + * verify: TBD */ } diff --git a/lang/js/unittests.js b/lang/js/unittests.js index 0a1b4b48..6c0d1890 100644 --- a/lang/js/unittests.js +++ b/lang/js/unittests.js @@ -109,7 +109,7 @@ function unittests (){ }); }); - describe('toKeyIdArray() (converting input to fingerprint', function(){ + describe('toKeyIdArray() (converting input to fingerprint)', function(){ it('Correct fingerprint string', function(){ let test0 = toKeyIdArray(hp.validFingerprint);