Saving results to database. Showing webpage.
This commit is contained in:
52
src/releases.js
Normal file
52
src/releases.js
Normal file
@@ -0,0 +1,52 @@
|
||||
'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,
|
||||
};
|
||||
Reference in New Issue
Block a user