const chainquery = require('chainquery'); const db = require('server/models'); const fetchClaimData = async (params) => { let { claimId, claimName: name } = params; if (claimId === 'none') claimId = null; const [cq, local] = await Promise.all([ chainquery.claim.queries.resolveClaim(name, claimId).then(res => res.dataValues).catch(() => {}), db.Claim.resolveClaim(name, claimId).catch(() => {}), ]); if (!cq && !local) { return null; } if (cq && cq.name === name && !local) { return cq; } if (local && local.name === name && !cq) { return local; } return local.updatedAt > cq.modified_at ? local : cq; }; module.exports = fetchClaimData;