feat(all) keep track of dispensed bills

This commit is contained in:
Josh Harvey 2014-11-16 22:56:10 -05:00
parent c9f2976ea2
commit d6c9244d7a
3 changed files with 21 additions and 5 deletions

View file

@ -438,7 +438,7 @@ exports.cashOut = function cashOut(deviceFingerprint, tx, cb) {
});
};
exports.depositAck = function depositAck(deviceFingerprint, tx) {
exports.dispenseAck = function dispenseAck(deviceFingerprint, tx) {
_setDispenseStatus(deviceFingerprint, tx, 'dispensedDeposit');
};

View file

@ -75,7 +75,7 @@ exports.recordBill = function recordBill(deviceFingerprint, rec, cb) {
fields.push('uuid');
}
client.query(getInsertQuery('bills', fields), values, function(err, billInfo) {
client.query(getInsertQuery('bills', fields), values, function(err) {
if (err && PG_ERRORS[err.code] === 'uniqueViolation')
return cb(null, {code: 204});
@ -244,3 +244,19 @@ exports.changeTxStatus = function changeTxStatus(txId, newStatus, data, cb) {
}
client.query(query, values, cb);
};
exports.decrementCartridges =
function decrementCartridges(fingerprint, cartridge1, cartridge2, cb) {
var query = 'UPDATE devices SET cartridge_1_bills = cartridge_1_bills - $1, ' +
'cartridge_2_bills = cartridge_2_bills - $2 ' +
'WHERE fingerprint = $3';
client.query(query, [cartridge1, cartridge2, fingerprint], cb);
};
exports.fillCartridges =
function fillCartridges(fingerprint, cartridge1, cartridge2, cb) {
var query = 'UPDATE devices SET cartridge_1_bills = $1, ' +
'cartridge_2_bills = $2 ' +
'WHERE fingerprint = $3';
client.query(query, [cartridge1, cartridge2, fingerprint], cb);
};

View file

@ -114,8 +114,8 @@ function cashOut(req, res) {
});
}
function depositAck(req, res) {
plugins.depositAck(getFingerprint(req), req.body);
function dispenseAck(req, res) {
plugins.dispenseAck(getFingerprint(req), req.body);
res.json(200);
}
@ -180,7 +180,7 @@ function init(localConfig) {
app.post('/send', authMiddleware, send);
app.post('/cash_out', authMiddleware, cashOut);
app.post('/deposit_ack', authMiddleware, depositAck);
app.post('/dispense_ack', authMiddleware, dispenseAck);
app.post('/event', authMiddleware, deviceEvent);
app.post('/verify_user', authMiddleware, verifyUser);