Fetching posts in series to prevent directory creation race condition. Removed duplicate check for now (will check per post, not per image, in the future).
This commit is contained in:
38
methods/imgurAlbum.js
Normal file
38
methods/imgurAlbum.js
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
const note = require('note-log');
|
||||
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 => {
|
||||
return {
|
||||
album: {
|
||||
id: res.data.id,
|
||||
url: res.data.link,
|
||||
title: res.data.title,
|
||||
description: res.data.description,
|
||||
datetime: res.data.datetime,
|
||||
original: res.data
|
||||
},
|
||||
items: res.data.images.map(item => ({
|
||||
id: item.id,
|
||||
url: item.link,
|
||||
title: item.title,
|
||||
description: item.description,
|
||||
datetime: item.datetime,
|
||||
type: item.type,
|
||||
original: item
|
||||
}))
|
||||
};
|
||||
}).catch(error => {
|
||||
note(error);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = imgurAlbum;
|
||||
31
methods/imgurImage.js
Normal file
31
methods/imgurImage.js
Normal file
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
const note = require('note-log');
|
||||
const util = require('util');
|
||||
const config = require('config');
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
function imgurImage(post) {
|
||||
return fetch(`https://api.imgur.com/3/image/${post.host.id}`, {
|
||||
headers: {
|
||||
'Authorization': `Client-ID ${config.methods.imgur.clientId}`
|
||||
}
|
||||
}).then(res => res.json()).then(res => {
|
||||
return {
|
||||
album: null,
|
||||
items: [{
|
||||
id: res.data.id,
|
||||
url: res.data.link,
|
||||
title: res.data.title,
|
||||
description: res.data.description,
|
||||
type: res.data.type,
|
||||
datetime: res.data.datetime,
|
||||
original: res.data
|
||||
}]
|
||||
};
|
||||
}).catch(error => {
|
||||
note(error);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = imgurImage;
|
||||
9
methods/methods.js
Normal file
9
methods/methods.js
Normal file
@@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
const imgurImage = require('./imgurImage.js');
|
||||
const imgurAlbum = require('./imgurAlbum.js');
|
||||
|
||||
module.exports = {
|
||||
imgurImage: imgurImage,
|
||||
imgurAlbum: imgurAlbum
|
||||
};
|
||||
Reference in New Issue
Block a user