UNPKG

machinomy

Version:

Micropayments powered by Ethereum

43 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const payment_1 = require("../../payment"); const AbstractPaymentsDatabase_1 = require("../AbstractPaymentsDatabase"); class PostgresPaymentsDatabase extends AbstractPaymentsDatabase_1.default { save(token, payment) { const serialized = payment_1.PaymentSerde.instance.serialize(payment); serialized.kind = this.kind; serialized.token = token; return this.engine.exec((client) => client.query('INSERT INTO payment("channelId", kind, token, sender, receiver, price, value, ' + '"channelValue", v, r, s, meta, "contractAddress", "createdAt") VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14)', [ serialized.channelId, serialized.kind, serialized.token, serialized.sender, serialized.receiver, serialized.price, serialized.value, serialized.channelValue, serialized.v, serialized.r, serialized.s, serialized.meta, serialized.contractAddress, Date.now() ])); } firstMaximum(channelId) { return this.engine.exec((client) => client.query('SELECT "channelId", kind, token, sender, receiver, price, value, ' + '"channelValue", v, r, s, meta, "contractAddress", "createdAt" FROM payment WHERE "channelId" = $1 ' + 'ORDER BY value DESC', [ channelId.toString() ])).then((res) => this.inflatePayment(res.rows[0])); } findByToken(token) { return this.engine.exec((client) => client.query('SELECT "channelId", kind, token, sender, receiver, price, value, ' + '"channelValue", v, r, s, meta, "contractAddress", "createdAt" FROM payment WHERE token = $1', [ token ])).then((res) => this.inflatePayment(res.rows[0])); } } exports.default = PostgresPaymentsDatabase; //# sourceMappingURL=PostgresPaymentsDatabase.js.map