This repository has been archived on 2025-11-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
qoverflow/server/utils/fetchMail.js

25 lines
729 B
JavaScript

const createRequest = require('./api');
const config = require('../config.json');
const defaultAcc = { success: true, requests: [] };
async function fetchMail(url, recentTimestamp = 0, acc = defaultAcc, after = '') {
const request = await createRequest('get', url, { after });
if (!request.success) return config.errorGeneric;
if (!request.messages.length) return acc;
const newAcc = {
success: true,
requests: [...acc.requests, request],
};
const oldest = request.messages[request.messages.length - 1];
if (oldest.createdAt < recentTimestamp) {
return newAcc;
}
return fetchMail(url, recentTimestamp, newAcc, oldest['answer_id']);
}
module.exports = fetchMail;