added logging to controller files
This commit is contained in:
parent
14fc367c15
commit
5881c36986
6 changed files with 26 additions and 27 deletions
controllers
|
@ -1,10 +1,11 @@
|
|||
const lbryApi = require('../helpers/libraries/lbryApi.js');
|
||||
const db = require('../models');
|
||||
|
||||
const logger = require('winston');
|
||||
const getAllFreePublicClaims = require('../helpers/functions/getAllFreePublicClaims.js');
|
||||
const isFreePublicClaim = require('../helpers/functions/isFreePublicClaim.js');
|
||||
|
||||
function getClaimAndHandleResponse (claimUri, resolve, reject) {
|
||||
logger.debug(`getClaimAndHandleResponse start for ${claimUri}`);
|
||||
lbryApi
|
||||
.getClaim(claimUri)
|
||||
.then(({ file_name, download_path, mime_type }) => {
|
||||
|
@ -15,64 +16,62 @@ function getClaimAndHandleResponse (claimUri, resolve, reject) {
|
|||
});
|
||||
})
|
||||
.catch(error => {
|
||||
logger.error(`getClaimAndHandleResponse error for ${claimUri}`);
|
||||
reject(error);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getClaimByName (claimName) {
|
||||
logger.debug(`getClaimByName start for ${claimName}`);
|
||||
const deferred = new Promise((resolve, reject) => {
|
||||
console.log('>> lbryHelpers >> getClaim BasedOnNameOnly:', claimName);
|
||||
// get all free public claims
|
||||
getAllFreePublicClaims(claimName)
|
||||
.then(freePublicClaimList => {
|
||||
const claimId = freePublicClaimList[0].claim_id;
|
||||
const name = freePublicClaimList[0].name;
|
||||
const freePublicClaimOutpoint = `${freePublicClaimList[0].txid}:${freePublicClaimList[0].nout}`;
|
||||
const freePublicClaimUri = name + '#' + claimId;
|
||||
console.log('>> Decided on public claim id:', claimId);
|
||||
const freePublicClaimUri = `${name}#${claimId}`;
|
||||
// check to see if the file is available locally
|
||||
db.File
|
||||
.findOne({ where: { name: name, claimId: claimId } })
|
||||
.then(claim => {
|
||||
// if a matching claim is found locally...
|
||||
if (claim) {
|
||||
console.log('>> A matching claim_id was found locally');
|
||||
// if the outpoint's match return it
|
||||
if (claim.dataValues.outpoint === freePublicClaimOutpoint) {
|
||||
console.log('>> Local outpoint matched');
|
||||
logger.debug(`local outpoint matched for ${name} ${claimId} `);
|
||||
resolve(claim.dataValues);
|
||||
// if the outpoint's don't match, fetch updated claim
|
||||
// if the outpoint's don't match, fetch updated claim
|
||||
} else {
|
||||
console.log('>> local outpoint did not match');
|
||||
logger.debug(`local outpoint did not match ${name} ${claimId}`);
|
||||
getClaimAndHandleResponse(freePublicClaimUri, resolve, reject);
|
||||
}
|
||||
// ... otherwise use daemon to retrieve it
|
||||
// ... otherwise use daemon to retrieve it
|
||||
} else {
|
||||
// 'get' the claim
|
||||
getClaimAndHandleResponse(freePublicClaimUri, resolve, reject);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
logger.error('Sequelize encountered an error', error);
|
||||
reject(error);
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
logger.debug(`getClaimByName failure for ${claimName}`);
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
return deferred;
|
||||
},
|
||||
getClaimByClaimId (claimName, claimId) {
|
||||
logger.debug(`getClaimByClaimId start for ${claimName}`);
|
||||
const deferred = new Promise((resolve, reject) => {
|
||||
const uri = `${claimName}#${claimId}`;
|
||||
console.log('>> lbryHelpers >> getClaimBasedOnUri:', uri);
|
||||
// resolve the Uri
|
||||
lbryApi
|
||||
.resolveUri(uri) // note: use 'spread' and make parallel with db.File.findOne()
|
||||
.then(result => {
|
||||
// note should just be 'result' returned.
|
||||
// get the outpoint
|
||||
const resolvedOutpoint = `${result[uri].claim.txid}:${result[uri].claim.nout}`;
|
||||
// check locally for the claim
|
||||
db.File
|
||||
|
@ -80,21 +79,19 @@ module.exports = {
|
|||
.then(claim => {
|
||||
// if a found locally...
|
||||
if (claim) {
|
||||
console.log('>> A matching claim_id was found locally');
|
||||
logger.debug(`A record was found for ${claimName} ${claimId}`);
|
||||
// if the outpoint's match return it
|
||||
if (claim.dataValues.outpoint === resolvedOutpoint) {
|
||||
console.log('>> Local outpoint matched');
|
||||
logger.debug(`local outpoint matched for ${claimName} ${claimId}`);
|
||||
resolve(claim.dataValues);
|
||||
// if the outpoint's don't match, fetch updated claim
|
||||
} else {
|
||||
console.log('>> Local outpoint did not match');
|
||||
logger.debug(`local outpoint did not match ${claimName} ${claimId}`);
|
||||
getClaimAndHandleResponse(uri, resolve, reject);
|
||||
}
|
||||
// ... otherwise use daemon to retrieve it
|
||||
} else {
|
||||
// check to make sure it is free and public (note: no need for another resolve?)
|
||||
if (isFreePublicClaim(result[uri].claim)) {
|
||||
// 'get' the claim
|
||||
getClaimAndHandleResponse(uri, resolve, reject);
|
||||
} else {
|
||||
reject('NO_FREE_PUBLIC_CLAIMS');
|
||||
|
@ -102,10 +99,12 @@ module.exports = {
|
|||
}
|
||||
})
|
||||
.catch(error => {
|
||||
logger.error('Sequelize encountered an error', error);
|
||||
reject(error);
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
logger.debug(`getClaimByClaimId error for ${claimName}`);
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue