From 4d1f4fcb4f3c28698a56f213157eb15993f69f67 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Thu, 10 Jan 2019 11:53:12 +1100 Subject: [PATCH] Moved loki_protocol_store.js into libloki/storage.js --- background.html | 1 - js/loki_protocol_store.js | 120 -------------------------------------- libloki/storage.js | 117 +++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 121 deletions(-) delete mode 100644 js/loki_protocol_store.js diff --git a/background.html b/background.html index 0d4888b77..2b45235bf 100644 --- a/background.html +++ b/background.html @@ -709,7 +709,6 @@ - diff --git a/js/loki_protocol_store.js b/js/loki_protocol_store.js deleted file mode 100644 index 2a65747ca..000000000 --- a/js/loki_protocol_store.js +++ /dev/null @@ -1,120 +0,0 @@ -// eslint-disable-next-line func-names -(function() { - 'use strict'; - - const store = window.SignalProtocolStore.prototype; - - store.storeContactPreKey = async (pubKey, preKey) => { - const key = { - // id: (autoincrement) - identityKeyString: pubKey, - publicKey: preKey.publicKey, - keyId: preKey.keyId, - }; - - await window.Signal.Data.createOrUpdateContactPreKey(key); - }; - - store.loadContactPreKey = async pubKey => { - const preKey = await window.Signal.Data.getContactPreKeyByIdentityKey(pubKey); - if (preKey) { - return { - id: preKey.id, - keyId: preKey.keyId, - publicKey: preKey.publicKey, - identityKeyString: preKey.identityKeyString, - } - } - - window.log.warn('Failed to fetch contact prekey:', pubKey); - return undefined; - }; - - store.loadContactPreKeys = async filters => { - const { keyId, identityKeyString } = filters; - const keys = await window.Signal.Data.getContactPreKeys(keyId, identityKeyString); - if (keys) { - return keys.map(preKey => ({ - id: preKey.id, - keyId: preKey.keyId, - publicKey: preKey.publicKey, - identityKeyString: preKey.identityKeyString, - })); - } - - window.log.warn( - 'Failed to fetch signed prekey with filters', - filters - ); - return undefined; - }; - - store.removeContactPreKey = async pubKey => { - await window.Signal.Data.removeContactPreKeyByIdentityKey(pubKey); - }; - - store.clearContactPreKeysStore = async () => { - await window.Signal.Data.removeAllContactPreKeys(); - }; - - store.storeContactSignedPreKey = async (pubKey, signedPreKey) => { - const key = { - // id: (autoincrement) - identityKeyString: pubKey, - keyId: signedPreKey.keyId, - publicKey: signedPreKey.publicKey, - signature: signedPreKey.signature, - created_at: Date.now(), - confirmed: false, - }; - await window.Signal.Data.createOrUpdateContactSignedPreKey(key); - }; - - store.loadContactSignedPreKey = async pubKey => { - const preKey = await window.Signal.Data.getContactSignedPreKeyByIdentityKey(pubKey); - if (preKey) { - return { - id: preKey.id, - identityKeyString: preKey.identityKeyString, - publicKey: preKey.publicKey, - signature: preKey.signature, - created_at: preKey.created_at, - keyId: preKey.keyId, - confirmed: preKey.confirmed, - }; - } - window.log.warn('Failed to fetch contact signed prekey:', pubKey); - return undefined; - }; - - store.loadContactSignedPreKeys = async filters => { - const { keyId, identityKeyString } = filters; - const keys = await window.Signal.Data.getContactSignedPreKeys(keyId, identityKeyString); - if (keys) { - return keys.map(preKey => ({ - id: preKey.id, - identityKeyString: preKey.identityKeyString, - publicKey: preKey.publicKey, - signature: preKey.signature, - created_at: preKey.created_at, - keyId: preKey.keyId, - confirmed: preKey.confirmed, - })); - } - - window.log.warn( - 'Failed to fetch contact signed prekey with filters', - filters - ); - return undefined; - }; - - store.removeContactSignedPreKey = async pubKey => { - await window.Signal.Data.removeContactSignedPreKeyByIdentityKey(pubKey); - }; - - store.clearContactSignedPreKeysStore = async () => { - await window.Signal.Data.removeAllContactSignedPreKeys(); - }; - -})(); diff --git a/libloki/storage.js b/libloki/storage.js index 654addc48..a71676698 100644 --- a/libloki/storage.js +++ b/libloki/storage.js @@ -90,4 +90,121 @@ saveContactPreKeyBundle, removeContactPreKeyBundle, }; + + // Libloki protocol store + + const store = window.SignalProtocolStore.prototype; + + store.storeContactPreKey = async (pubKey, preKey) => { + const key = { + // id: (autoincrement) + identityKeyString: pubKey, + publicKey: preKey.publicKey, + keyId: preKey.keyId, + }; + + await window.Signal.Data.createOrUpdateContactPreKey(key); + }; + + store.loadContactPreKey = async pubKey => { + const preKey = await window.Signal.Data.getContactPreKeyByIdentityKey(pubKey); + if (preKey) { + return { + id: preKey.id, + keyId: preKey.keyId, + publicKey: preKey.publicKey, + identityKeyString: preKey.identityKeyString, + } + } + + window.log.warn('Failed to fetch contact prekey:', pubKey); + return undefined; + }; + + store.loadContactPreKeys = async filters => { + const { keyId, identityKeyString } = filters; + const keys = await window.Signal.Data.getContactPreKeys(keyId, identityKeyString); + if (keys) { + return keys.map(preKey => ({ + id: preKey.id, + keyId: preKey.keyId, + publicKey: preKey.publicKey, + identityKeyString: preKey.identityKeyString, + })); + } + + window.log.warn( + 'Failed to fetch signed prekey with filters', + filters + ); + return undefined; + }; + + store.removeContactPreKey = async pubKey => { + await window.Signal.Data.removeContactPreKeyByIdentityKey(pubKey); + }; + + store.clearContactPreKeysStore = async () => { + await window.Signal.Data.removeAllContactPreKeys(); + }; + + store.storeContactSignedPreKey = async (pubKey, signedPreKey) => { + const key = { + // id: (autoincrement) + identityKeyString: pubKey, + keyId: signedPreKey.keyId, + publicKey: signedPreKey.publicKey, + signature: signedPreKey.signature, + created_at: Date.now(), + confirmed: false, + }; + await window.Signal.Data.createOrUpdateContactSignedPreKey(key); + }; + + store.loadContactSignedPreKey = async pubKey => { + const preKey = await window.Signal.Data.getContactSignedPreKeyByIdentityKey(pubKey); + if (preKey) { + return { + id: preKey.id, + identityKeyString: preKey.identityKeyString, + publicKey: preKey.publicKey, + signature: preKey.signature, + created_at: preKey.created_at, + keyId: preKey.keyId, + confirmed: preKey.confirmed, + }; + } + window.log.warn('Failed to fetch contact signed prekey:', pubKey); + return undefined; + }; + + store.loadContactSignedPreKeys = async filters => { + const { keyId, identityKeyString } = filters; + const keys = await window.Signal.Data.getContactSignedPreKeys(keyId, identityKeyString); + if (keys) { + return keys.map(preKey => ({ + id: preKey.id, + identityKeyString: preKey.identityKeyString, + publicKey: preKey.publicKey, + signature: preKey.signature, + created_at: preKey.created_at, + keyId: preKey.keyId, + confirmed: preKey.confirmed, + })); + } + + window.log.warn( + 'Failed to fetch contact signed prekey with filters', + filters + ); + return undefined; + }; + + store.removeContactSignedPreKey = async pubKey => { + await window.Signal.Data.removeContactSignedPreKeyByIdentityKey(pubKey); + }; + + store.clearContactSignedPreKeysStore = async () => { + await window.Signal.Data.removeAllContactSignedPreKeys(); + }; })();