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);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  async getUserInvoices() {
 | 
			
		||||
  async getUserInvoices(limit) {
 | 
			
		||||
    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 = [];
 | 
			
		||||
    for (let invoice of range) {
 | 
			
		||||
      invoice = JSON.parse(invoice);
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,7 @@ bitcoinclient.request('getblockchaininfo', false, function(err, info) {
 | 
			
		||||
 | 
			
		||||
lightning.getInfo({}, function(err, info) {
 | 
			
		||||
  if (err) {
 | 
			
		||||
    console.error('lnd failure shuuu');
 | 
			
		||||
    console.error('lnd failure');
 | 
			
		||||
    console.dir(err);
 | 
			
		||||
    process.exit(3);
 | 
			
		||||
  }
 | 
			
		||||
@ -271,13 +271,28 @@ router.get('/checkpayment/:payment_hash', async function(req, res) {
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
router.get('/balance', postLimiter, async function(req, res) {
 | 
			
		||||
  logger.log('/balance', [req.id]);
 | 
			
		||||
  try {
 | 
			
		||||
  let u = new User(redis, bitcoinclient, lightning);
 | 
			
		||||
  await u.loadByAuthorization(req.headers.authorization);
 | 
			
		||||
 | 
			
		||||
  if (!u.getUserId()) {
 | 
			
		||||
    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 {
 | 
			
		||||
    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()]);
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    if (!(await u.getAddress())) await u.generateAddress(); // onchain address needed further
 | 
			
		||||
    await u.accountForPosibleTxids();
 | 
			
		||||
    let balance = await u.getBalance();
 | 
			
		||||
@ -308,6 +323,7 @@ router.get('/gettxs', async function(req, res) {
 | 
			
		||||
  if (!(await u.loadByAuthorization(req.headers.authorization))) {
 | 
			
		||||
    return errorBadAuth(res);
 | 
			
		||||
  }
 | 
			
		||||
  logger.log('/gettxs', [req.id, 'userid: ' + u.getUserId()]);
 | 
			
		||||
 | 
			
		||||
  if (!(await u.getAddress())) await u.generateAddress(); // onchain addr needed further
 | 
			
		||||
  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]);
 | 
			
		||||
  let u = new User(redis, bitcoinclient, lightning);
 | 
			
		||||
  if (!(await u.loadByAuthorization(req.headers.authorization))) {
 | 
			
		||||
    return errorBadAuth(res);
 | 
			
		||||
  }
 | 
			
		||||
  logger.log('/getuserinvoices', [req.id, 'userid: ' + u.getUserId()]);
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    let invoices = await u.getUserInvoices();
 | 
			
		||||
    if (req.query.limit && !isNaN(parseInt(req.query.limit))) {
 | 
			
		||||
      res.send(invoices.slice(parseInt(req.query.limit) * -1));
 | 
			
		||||
    } else {
 | 
			
		||||
    let invoices = await u.getUserInvoices(req.query.limit);
 | 
			
		||||
    res.send(invoices);
 | 
			
		||||
    }
 | 
			
		||||
  } catch (Err) {
 | 
			
		||||
    logger.log('', [req.id, 'error getting user invoices:', Err.message, 'userid:', u.getUserId()]);
 | 
			
		||||
    res.send([]);
 | 
			
		||||
@ -372,6 +385,7 @@ router.get('/getpending', async function(req, res) {
 | 
			
		||||
  if (!(await u.loadByAuthorization(req.headers.authorization))) {
 | 
			
		||||
    return errorBadAuth(res);
 | 
			
		||||
  }
 | 
			
		||||
  logger.log('/getpending', [req.id, 'userid: ' + u.getUserId()]);
 | 
			
		||||
 | 
			
		||||
  if (!(await u.getAddress())) await u.generateAddress(); // onchain address needed further
 | 
			
		||||
  await u.accountForPosibleTxids();
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "LndHub",
 | 
			
		||||
  "version": "1.1.3",
 | 
			
		||||
  "version": "1.1.4",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "LndHub",
 | 
			
		||||
  "version": "1.1.3",
 | 
			
		||||
  "version": "1.1.4",
 | 
			
		||||
  "description": "",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user