'use strict'; const knex = require('./knex'); async function curateRelease(release) { const actors = await knex('actors_associated') .select('actors.id', 'actors.name', 'actors.gender') .where({ release_id: release.id }) .leftJoin('actors', 'actors.id', 'actors_associated.actor_id'); return { id: release.id, title: release.title, date: release.date, description: release.description, url: release.url, shootId: release.shoot_id, entryId: release.entry_id, actors, director: release.director, rating: { likes: release.likes, dislikes: release.dislikes, stars: release.stars, }, site: { id: release.site_id, name: release.site_name, network: release.network_id, }, }; } function curateReleases(releases) { return Promise.all(releases.map(async release => curateRelease(release))); } async function fetchReleases() { const releases = await knex('releases') .select('releases.*', 'sites.name as site_name') .leftJoin('sites', 'releases.site_id', 'sites.id') .orderBy('date', 'desc') .limit(100); // console.log(curateReleases(releases)); return curateReleases(releases); } module.exports = { fetchReleases, };