Browse Source

call toObject before storing models

activeAddress
Ivan Socolsky 9 years ago
parent
commit
1b6980fd1e
  1. 6
      lib/model/txproposal.js
  2. 6
      lib/model/wallet.js
  3. 5
      lib/storage.js

6
lib/model/txproposal.js

@ -145,6 +145,12 @@ TxProposal.fromObj = function(obj) {
return x;
};
TxProposal.prototype.toObject = function() {
var x = _.cloneDeep(this);
x.isPending = this.isPending();
return x;
};
TxProposal.prototype.setInputs = function(inputs) {
this.inputs = inputs;
this.inputPaths = _.pluck(inputs, 'path');

6
lib/model/wallet.js

@ -65,6 +65,12 @@ Wallet.fromObj = function(obj) {
return x;
};
Wallet.prototype.toObject = function() {
var x = _.cloneDeep(this);
x.isShared = this.isShared();
return x;
};
/* For compressed keys, m*73 + n*34 <= 496 */
Wallet.COPAYER_PAIR_LIMITS = {
1: 1,

5
lib/storage.js

@ -101,7 +101,7 @@ Storage.prototype.fetchWallet = function(id, cb) {
Storage.prototype.storeWallet = function(wallet, cb) {
this.db.collection(collections.WALLETS).update({
id: wallet.id
}, wallet, {
}, wallet.toObject(), {
w: 1,
upsert: true,
}, cb);
@ -326,11 +326,10 @@ Storage.prototype.storeNotification = function(walletId, notification, cb) {
// TODO: remove walletId from signature
Storage.prototype.storeTx = function(walletId, txp, cb) {
txp.isPending = txp.isPending(); // Persist attribute to use when querying
this.db.collection(collections.TXS).update({
id: txp.id,
walletId: walletId
}, txp, {
}, txp.toObject(), {
w: 1,
upsert: true,
}, cb);

Loading…
Cancel
Save