signal-desktop/libaxolotl/test/fake_api.js

53 lines
1.6 KiB
JavaScript

'use strict';
var testSessionMap = {};
var testIdentityKeysMap = {};
;(function() {
window.axolotl = window.axolotl || {};
window.axolotl.api = {
getMyRegistrationId: function() {
return window.myRegistrationId;
},
storage: {
put: function(key, value) {
if (value === undefined)
throw new Error("Tried to store undefined");
localStorage.setItem(key, textsecure.utils.jsonThing(value));
},
get: function(key, defaultValue) {
var value = localStorage.getItem(key);
if (value === null)
return defaultValue;
return JSON.parse(value);
},
remove: function(key) {
localStorage.removeItem(key);
},
identityKeys: {
get: function(identifier) {
return testIdentityKeysMap[identifier];
},
put: function(identifier, identityKey) {
testIdentityKeysMap[identifier] = identityKey;
},
},
sessions: {
get: function(identifier) {
return testSessionMap[identifier];
},
put: function(identifier, record) {
testSessionMap[identifier] = record;
}
}
},
updateKeys: function(keys) {
return textsecure.api.registerKeys(keys).catch(function(e) {
//TODO: Notify the user somehow?
console.error(e);
});
},
};
})();