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/services/getData.js
2022-07-28 10:42:45 -04:00

30 lines
887 B
JavaScript

const Question = require('server/db/models/Question');
const User = require('server/db/models/User');
const fetchData = require('server/utils/fetchData');
async function getAllData(_job, done, Model, url, id, dataName) {
console.log('[INFO]: Refreshing question database.');
const data = await fetchData(url, id, dataName);
if (!success) console.log(`[ERROR]: ${dataName} fetch failed`);
for (const item of data)
await Model.findByIdAndUpdate(item[id], {
...item,
id: item[id],
}, { upsert: true })
done();
}
async function getAllQuestions(_job, done) {
return getAllData(_job, done, Question, '/questions/search', 'question_id', 'questions')
}
async function getAllUsers(_job, done) {
return getAllData(_job, done, User, '/users', 'user_id', 'users')
}
module.exports = {
getAllQuestions,
getAllUsers
};