ripunzel/src/curate/submissions.js

38 lines
1.1 KiB
JavaScript

'use strict';
const config = require('config');
const dissectLink = require('../dissectLink.js');
function curateSubmissions(submissions) {
const processed = new Set();
return submissions.reduce((acc, submission, index) => {
const host = dissectLink(submission.url);
if(config.fetch.avoidDuplicates && processed.has(host.id)) {
console.log('\x1b[33m%s\x1b[0m', `Ignoring cross-post or repost '${submission.title}' - ${submission.url}`);
return acc;
}
const curatedSubmission = {
id: submission.id,
index: index,
title: submission.title,
text: submission.selftext,
user: submission.author.name,
permalink: submission.permalink,
url: submission.url,
datetime: new Date(submission.created_utc * 1000),
subreddit: submission.subreddit.display_name,
host
};
processed.add(host.id);
return acc.concat(curatedSubmission);
}, []);
};
module.exports = curateSubmissions;