'use strict'; const knex = require('./knex'); async function matchTags(rawTags) { const tagEntries = await knex('tags') .select(knex.raw('ifnull(original.tag, tags.tag) as tag'), knex.raw('ifnull(original.tag, tags.tag) as tag')) .whereIn('tags.tag', rawTags) .orWhereIn('tags.tag', rawTags.map(tag => tag.toLowerCase())) .leftJoin('tags as original', 'tags.alias_for', 'original.tag'); return tagEntries.map(({ tag }) => tag); } module.exports = { matchTags };