aboutsummaryrefslogtreecommitdiffstats
path: root/lang/js/src/Keyring.js
diff options
context:
space:
mode:
authorMaximilian Krambach <[email protected]>2018-05-25 09:53:24 +0000
committerMaximilian Krambach <[email protected]>2018-05-25 09:53:24 +0000
commiteff27d6387b1cad2ef9901fa03dbee2ea86c786a (patch)
treeaebdc295b1cd60152fbcfe55f8b7ce69916e40e1 /lang/js/src/Keyring.js
parentjs: adding sign method (diff)
downloadgpgme-eff27d6387b1cad2ef9901fa03dbee2ea86c786a.tar.gz
gpgme-eff27d6387b1cad2ef9901fa03dbee2ea86c786a.zip
js: use version operation for connection checks
-- * src/Connection.js: isConnected was renamed to checkConnection, that returns a promise with either version information or Boolean * Connection checks have been adapted to reflect that checkConnection returns a Promise * BrowsertestExtension: tests/signTest.js was missing from my last commit
Diffstat (limited to 'lang/js/src/Keyring.js')
-rw-r--r--lang/js/src/Keyring.js58
1 files changed, 27 insertions, 31 deletions
diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js
index 4596035a..80792f77 100644
--- a/lang/js/src/Keyring.js
+++ b/lang/js/src/Keyring.js
@@ -36,10 +36,7 @@ export class GPGME_Keyring {
}
get connection(){
if (this._connection instanceof Connection){
- if (this._connection.isConnected){
- return this._connection;
- }
- return gpgme_error('CONN_DISCONNECTED');
+ return this._connection;
}
return gpgme_error('CONN_NO_CONNECT');
}
@@ -51,36 +48,35 @@ export class GPGME_Keyring {
*
*/
getKeys(pattern, include_secret){
- let msg = createMessage('listkeys');
- if (msg instanceof Error){
- return Promise.reject(msg);
- }
- if (pattern && typeof(pattern) === 'string'){
- msg.setParameter('pattern', pattern);
- }
- if (include_secret){
- msg.setParameter('with-secret', true);
- }
let me = this;
-
- this.connection.post(msg).then(function(result){
- let fpr_list = [];
- let resultset = [];
- if (!Array.isArray(result.keys)){
- //TODO check assumption keys = Array<String fingerprints>
- fpr_list = [result.keys];
- } else {
- fpr_list = result.keys;
+ return new Promise(function(resolve, reject) {
+ let msg;
+ msg = createMessage('listkeys');
+ if (pattern && typeof(pattern) === 'string'){
+ msg.setParameter('pattern', pattern);
}
- for (let i=0; i < fpr_list.length; i++){
- let newKey = new GPGME_Key(fpr_list[i], me._connection);
- if (newKey instanceof GPGME_Key){
- resultset.push(newKey);
- }
+ if (include_secret){
+ msg.setParameter('with-secret', true);
}
- return Promise.resolve(resultset);
- }, function(error){
- //TODO error handling
+ me.connection.post(msg).then(function(result){
+ let fpr_list = [];
+ let resultset = [];
+ if (!Array.isArray(result.keys)){
+ //TODO check assumption keys = Array<String fingerprints>
+ fpr_list = [result.keys];
+ } else {
+ fpr_list = result.keys;
+ }
+ for (let i=0; i < fpr_list.length; i++){
+ let newKey = new GPGME_Key(fpr_list[i], me._connection);
+ if (newKey instanceof GPGME_Key){
+ resultset.push(newKey);
+ }
+ }
+ resolve(resultset);
+ }, function(error){
+ reject(error);
+ });
});
}