'use strict'; const moment = require('moment'); const http = require('../utils/http'); const { prefixUrl } = require('../utils/qu'); function scrapeLatest(scenes, entity) { return scenes.map((scene) => { const release = {}; release.entryId = scene.id; release.url = `${entity.url}/video/${scene.id}/${scene.slug}`; if (/bic/i.test(scene.title)) { release.shootId = scene.title.toUpperCase().replace('-', '_'); } else { release.title = scene.title; } release.description = scene.description; release.date = moment.utc(scene.year, 'YYYY').toDate(); release.datePrecision = 'year'; release.actors = scene.actors.map(actor => ({ name: actor.name, avatar: actor.image, })); release.duration = scene.duration; release.stars = scene.video_rating_score; [release.poster, ...release.photos] = scene.screenshots.map(url => prefixUrl(url)); if (scene.is_gay) { release.tags = ['gay']; } console.log(scene); console.log(release); return release; }); } async function fetchLatest(entity, page = 1) { // console.log(entity, page); if (entity.parameters?.siteId) { const res = await http.get(`https://teencoreclub.com/browsevideos/api/all?resType=all&page=${page}&label=${entity.parameters.siteId}`); if (res.ok) { return scrapeLatest(res.body.data, entity); } return res.status; } return null; } module.exports = { fetchLatest, };