'use strict'; const util = require('util'); const config = require('config'); const fetch = require('node-fetch'); function imgurAlbum(post) { return fetch(`https://api.imgur.com/3/album/${post.host.id}`, { headers: { 'Authorization': `Client-ID ${config.methods.imgur.clientId}` } }).then(res => res.json()).then(res => { const extract = config.library.album.extractSingleItem && res.data.images.length === 1; if(extract) { console.log('\x1b[36m%s\x1b[0m', `Extracting single item from album '${post.title}' - ${res.data.link}`); } return { album: extract ? null : { id: res.data.id, url: res.data.link, title: res.data.title, description: res.data.description, datetime: new Date(res.data.datetime * 1000), original: res.data }, items: res.data.images.map(item => ({ extracted: extract, id: item.id, url: item.animated ? item.mp4 : item.link, title: item.title || (extract ? res.data.title : null), description: item.description || (extract ? res.data.description : null), type: item.animated ? 'video/mp4' : item.type, datetime: item.datetime * 1000, original: item })) }; }).catch(error => { console.error(error); }); }; module.exports = imgurAlbum;