1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1× 1× 1× 2× 1× 1× 1× 4× 2× 2× | 'use strict'; const R = require('ramda'); let tagQuery = require('../../query/tag'); module.exports = (db, articleId) => { if(R.isNil(articleId)) return Promise.resolve([]); const query = tagQuery(db, articleId); const meta = R.objOf('type', 'tag'); return db.article_tag.findAll(query).then(arr => R.reduce((mem, articleTag) => { if (R.isNil(articleTag) || R.isNil(articleTag.tag)) return mem; mem.push(R.compose(R.pair(meta), R.prop('tag'))(articleTag)); return mem; }, [], arr)); }; |