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:
2024-09-11 05:16:53 +02:00
parent a139ccde34
commit e721c9fc8c
7 changed files with 160 additions and 3 deletions

38
methods/imgurAlbum.js Normal file
View 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
View 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
View File

@@ -0,0 +1,9 @@
'use strict';
const imgurImage = require('./imgurImage.js');
const imgurAlbum = require('./imgurAlbum.js');
module.exports = {
imgurImage: imgurImage,
imgurAlbum: imgurAlbum
};