Merge branch 'bluewallet-lndhub'
# Conflicts: # controllers/api.js
This commit is contained in:
commit
a6b08363a7
@ -234,8 +234,11 @@ export class User {
|
|||||||
return await this._redis.get('ispaid_' + payment_hash);
|
return await this._redis.get('ispaid_' + payment_hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getUserInvoices() {
|
async getUserInvoices(limit) {
|
||||||
let range = await this._redis.lrange('userinvoices_for_' + this._userid, 0, -1);
|
let range = await this._redis.lrange('userinvoices_for_' + this._userid, 0, -1);
|
||||||
|
if (limit && !isNaN(parseInt(limit))) {
|
||||||
|
range = range.slice(parseInt(limit) * -1);
|
||||||
|
}
|
||||||
let result = [];
|
let result = [];
|
||||||
for (let invoice of range) {
|
for (let invoice of range) {
|
||||||
invoice = JSON.parse(invoice);
|
invoice = JSON.parse(invoice);
|
||||||
|
@ -32,7 +32,7 @@ bitcoinclient.request('getblockchaininfo', false, function(err, info) {
|
|||||||
|
|
||||||
lightning.getInfo({}, function(err, info) {
|
lightning.getInfo({}, function(err, info) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('lnd failure shuuu');
|
console.error('lnd failure');
|
||||||
console.dir(err);
|
console.dir(err);
|
||||||
process.exit(3);
|
process.exit(3);
|
||||||
}
|
}
|
||||||
@ -272,12 +272,27 @@ router.get('/checkpayment/:payment_hash', async function(req, res) {
|
|||||||
|
|
||||||
router.get('/balance', postLimiter, async function(req, res) {
|
router.get('/balance', postLimiter, async function(req, res) {
|
||||||
logger.log('/balance', [req.id]);
|
logger.log('/balance', [req.id]);
|
||||||
|
try {
|
||||||
let u = new User(redis, bitcoinclient, lightning);
|
let u = new User(redis, bitcoinclient, lightning);
|
||||||
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
await u.loadByAuthorization(req.headers.authorization);
|
||||||
|
|
||||||
|
if (!u.getUserId()) {
|
||||||
return errorBadAuth(res);
|
return errorBadAuth(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let paid = !!(await u.getPaymentHashPaid(req.params.payment_hash));
|
||||||
|
res.send({ paid: paid });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/balance', postLimiter, async function(req, res) {
|
||||||
try {
|
try {
|
||||||
|
logger.log('/balance', [req.id]);
|
||||||
|
let u = new User(redis, bitcoinclient, lightning);
|
||||||
|
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
||||||
|
return errorBadAuth(res);
|
||||||
|
}
|
||||||
|
logger.log('/balance', [req.id, 'userid: ' + u.getUserId()]);
|
||||||
|
|
||||||
if (!(await u.getAddress())) await u.generateAddress(); // onchain address needed further
|
if (!(await u.getAddress())) await u.generateAddress(); // onchain address needed further
|
||||||
await u.accountForPosibleTxids();
|
await u.accountForPosibleTxids();
|
||||||
let balance = await u.getBalance();
|
let balance = await u.getBalance();
|
||||||
@ -308,6 +323,7 @@ router.get('/gettxs', async function(req, res) {
|
|||||||
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
||||||
return errorBadAuth(res);
|
return errorBadAuth(res);
|
||||||
}
|
}
|
||||||
|
logger.log('/gettxs', [req.id, 'userid: ' + u.getUserId()]);
|
||||||
|
|
||||||
if (!(await u.getAddress())) await u.generateAddress(); // onchain addr needed further
|
if (!(await u.getAddress())) await u.generateAddress(); // onchain addr needed further
|
||||||
try {
|
try {
|
||||||
@ -330,20 +346,17 @@ router.get('/gettxs', async function(req, res) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/getuserinvoices', async function(req, res) {
|
router.get('/getuserinvoices', postLimiter, async function(req, res) {
|
||||||
logger.log('/getuserinvoices', [req.id]);
|
logger.log('/getuserinvoices', [req.id]);
|
||||||
let u = new User(redis, bitcoinclient, lightning);
|
let u = new User(redis, bitcoinclient, lightning);
|
||||||
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
||||||
return errorBadAuth(res);
|
return errorBadAuth(res);
|
||||||
}
|
}
|
||||||
|
logger.log('/getuserinvoices', [req.id, 'userid: ' + u.getUserId()]);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let invoices = await u.getUserInvoices();
|
let invoices = await u.getUserInvoices(req.query.limit);
|
||||||
if (req.query.limit && !isNaN(parseInt(req.query.limit))) {
|
res.send(invoices);
|
||||||
res.send(invoices.slice(parseInt(req.query.limit) * -1));
|
|
||||||
} else {
|
|
||||||
res.send(invoices);
|
|
||||||
}
|
|
||||||
} catch (Err) {
|
} catch (Err) {
|
||||||
logger.log('', [req.id, 'error getting user invoices:', Err.message, 'userid:', u.getUserId()]);
|
logger.log('', [req.id, 'error getting user invoices:', Err.message, 'userid:', u.getUserId()]);
|
||||||
res.send([]);
|
res.send([]);
|
||||||
@ -372,6 +385,7 @@ router.get('/getpending', async function(req, res) {
|
|||||||
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
if (!(await u.loadByAuthorization(req.headers.authorization))) {
|
||||||
return errorBadAuth(res);
|
return errorBadAuth(res);
|
||||||
}
|
}
|
||||||
|
logger.log('/getpending', [req.id, 'userid: ' + u.getUserId()]);
|
||||||
|
|
||||||
if (!(await u.getAddress())) await u.generateAddress(); // onchain address needed further
|
if (!(await u.getAddress())) await u.generateAddress(); // onchain address needed further
|
||||||
await u.accountForPosibleTxids();
|
await u.accountForPosibleTxids();
|
||||||
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "LndHub",
|
"name": "LndHub",
|
||||||
"version": "1.1.3",
|
"version": "1.1.4",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "LndHub",
|
"name": "LndHub",
|
||||||
"version": "1.1.3",
|
"version": "1.1.4",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user