@gameroom/cli
Version:
A command line tool for Gameroom
24 lines (22 loc) • 739 B
JavaScript
const getStorable = require('./getStorable'),
grGreen = require('./grGreen')
module.exports = async (object, spinner) => {
const parents = {}
for (const k of Object.keys(object.constructor.schema.attributes)) {
if (!k.includes('_id') || k === 'group_id') continue
const r = k.replace('_id', '')
if (!object[k]) {
if (spinner) spinner.warn(`has no ${grGreen(r)}`)
continue
}
const Model = getStorable(r)
try {
const o = await Model.find(object[k])
parents[r] = o
if (spinner) spinner.info(`belongs to ${grGreen(r)} ${o.name ? o.name : object[k]}`)
} catch(err) {
if (spinner) spinner.fail(`error finding ${grGreen(r)} ${object[k]} ${err}`)
}
}
return parents
}