Sequelize queries #234

Merged
bones7242 merged 10 commits from sequelize-queries into master 2017-11-03 16:35:42 +01:00
6 changed files with 13 additions and 12 deletions
Showing only changes of commit 4d23fbbe4e - Show all commits

View file

@ -64,7 +64,7 @@ function getAssetByLongClaimId (fullClaimId, name) {
} }
logger.debug('no local file found for this name and claimId'); logger.debug('no local file found for this name and claimId');
// 2. if no local claim, resolve and get the claim // 2. if no local claim, resolve and get the claim
db db.Claim
.resolveClaim(name, fullClaimId) .resolveClaim(name, fullClaimId)
.then(resolveResult => { .then(resolveResult => {
logger.debug('resolve result >> ', resolveResult); logger.debug('resolve result >> ', resolveResult);
@ -130,7 +130,7 @@ module.exports = {
getAssetByChannel (channelName, channelId, claimName) { getAssetByChannel (channelName, channelId, claimName) {
logger.debug('getting asset by channel'); logger.debug('getting asset by channel');
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
db.getLongChannelId(channelName, channelId) // 1. get the long channel id db.Certificate.getLongChannelId(channelName, channelId) // 1. get the long channel id
.then(result => { // 2. get the long claim Id .then(result => { // 2. get the long claim Id
if (result === NO_CHANNEL) { if (result === NO_CHANNEL) {
resolve(NO_CHANNEL); resolve(NO_CHANNEL);
@ -155,7 +155,7 @@ module.exports = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let longChannelId; let longChannelId;
let shortChannelId; let shortChannelId;
db.getLongChannelId(channelName, channelId) // 1. get the long channel Id db.Certificate.getLongChannelId(channelName, channelId) // 1. get the long channel Id
.then(result => { // 2. get all claims for that channel .then(result => { // 2. get all claims for that channel
if (result === NO_CHANNEL) { if (result === NO_CHANNEL) {
return NO_CHANNEL; return NO_CHANNEL;
@ -220,7 +220,7 @@ module.exports = {
.getShortClaimIdFromLongClaimId(fileInfo.claimId, fileInfo.name) .getShortClaimIdFromLongClaimId(fileInfo.claimId, fileInfo.name)
.then(shortId => { .then(shortId => {
fileInfo['shortId'] = shortId; fileInfo['shortId'] = shortId;
return db.resolveClaim(fileInfo.name, fileInfo.claimId); return db.Claim.resolveClaim(fileInfo.name, fileInfo.claimId);
}) })
.then(resolveResult => { .then(resolveResult => {
logger.debug('resolve result >>', resolveResult); logger.debug('resolve result >>', resolveResult);

View file

@ -97,7 +97,7 @@ module.exports = {
logger.debug('retrieving most recent claims'); logger.debug('retrieving most recent claims');
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
// get the raw requests data // get the raw requests data
db.getRecentClaims() db.File.getRecentClaims()
.then(results => { .then(results => {
resolve(results); resolve(results);
}) })

View file

@ -146,7 +146,6 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, ARRAY, DECIMAL, D
}); });
}; };
// sequelize.query(`SELECT claimId, height FROM Certificate WHERE name = '${channelName}' AND claimId LIKE '${channelId}%' ORDER BY height ASC LIMIT 1;`, { type: db.sequelize.QueryTypes.SELECT })
Certificate.getLongChannelIdFromShortChannelId = function (channelName, channelId) { Certificate.getLongChannelIdFromShortChannelId = function (channelName, channelId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this this
@ -173,7 +172,6 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, ARRAY, DECIMAL, D
}); });
}; };
// sequelize.query(`SELECT claimId, amount, height FROM Certificate WHERE name = '${channelName}' ORDER BY effectiveAmount DESC, height ASC LIMIT 1;`, { type: db.sequelize.QueryTypes.SELECT })
Certificate.getLongChannelIdFromChannelName = function (channelName) { Certificate.getLongChannelIdFromChannelName = function (channelName) {
logger.debug(`getLongChannelIdFromChannelName(${channelName})`); logger.debug(`getLongChannelIdFromChannelName(${channelName})`);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {

View file

@ -309,7 +309,6 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, ARRAY, DECIMAL, D
} }
}; };
// sequelize.query(`SELECT name, claimId, outpoint, height, address, title, description, thumbnail, certificateId, channelName FROM Claim WHERE name = '${name}' AND claimId = '${claimId}'`, { type: db.sequelize.QueryTypes.SELECT })
Claim.resolveClaim = function (name, claimId) { Claim.resolveClaim = function (name, claimId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this this

View file

@ -55,5 +55,13 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER }) => {
File.hasOne(db.Claim); File.hasOne(db.Claim);
}; };
File.getRecentClaims = function () {
return this.findAll({
where: { nsfw: false, trendingEligible: true },
order: [['createdAt', 'DESC']],
limit: 25,
});
};
return File; return File;
}; };

View file

@ -74,8 +74,4 @@ db.getTrendingClaims = (startDate) => {
return db.sequelize.query(`SELECT COUNT(*), File.* FROM Request LEFT JOIN File ON Request.FileId = File.id WHERE FileId IS NOT NULL AND nsfw != 1 AND trendingEligible = 1 AND Request.createdAt > "${startDate}" GROUP BY FileId ORDER BY COUNT(*) DESC LIMIT 25;`, { type: db.sequelize.QueryTypes.SELECT }); return db.sequelize.query(`SELECT COUNT(*), File.* FROM Request LEFT JOIN File ON Request.FileId = File.id WHERE FileId IS NOT NULL AND nsfw != 1 AND trendingEligible = 1 AND Request.createdAt > "${startDate}" GROUP BY FileId ORDER BY COUNT(*) DESC LIMIT 25;`, { type: db.sequelize.QueryTypes.SELECT });
}; };
db.getRecentClaims = () => {
return db.sequelize.query(`SELECT * FROM File WHERE nsfw != 1 AND trendingEligible = 1 ORDER BY createdAt DESC LIMIT 25;`, { type: db.sequelize.QueryTypes.SELECT });
};
module.exports = db; module.exports = db;