Changed server imports to relative imports

This commit is contained in:
Ceferino Patino 2022-08-23 09:31:58 -04:00
commit 68e0a9e33a
54 changed files with 259 additions and 315 deletions

65
package-lock.json generated
View file

@ -20,7 +20,6 @@
}
},
"client": {
"name": "qoverflow",
"version": "1.0.0",
"dependencies": {
"@emotion/react": "^11.9.3",
@ -6167,6 +6166,10 @@
"node": ">=8"
}
},
"node_modules/client": {
"resolved": "client",
"link": true
},
"node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@ -16432,10 +16435,6 @@
"teleport": ">=0.2.0"
}
},
"node_modules/qoverflow": {
"resolved": "client",
"link": true
},
"node_modules/qs": {
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
@ -24920,6 +24919,34 @@
}
}
},
"client": {
"version": "file:client",
"requires": {
"@emotion/react": "^11.9.3",
"@emotion/styled": "^11.9.3",
"@mui/icons-material": "^5.8.4",
"@mui/material": "^5.9.1",
"dompurify": "^2.3.10",
"dotenv": "^16.0.1",
"formik": "^2.2.9",
"gh-pages": "^4.0.0",
"javascript-time-ago": "^2.5.6",
"js-cookie": "^3.0.1",
"marked": "^4.0.18",
"react": "^18.2.0",
"react-copy-to-clipboard": "^5.1.0",
"react-gravatar": "^2.6.3",
"react-helmet": "^6.1.0",
"react-markdown": "^8.0.3",
"react-router-dom": "^6.3.0",
"react-scripts": "^5.0.1",
"react-time-ago": "^7.2.1",
"superagent": "^8.0.0",
"superagent-throttle": "^1.0.1",
"universal-cookie": "^4.0.4",
"yup": "^0.32.11"
}
},
"cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@ -32163,34 +32190,6 @@
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw=="
},
"qoverflow": {
"version": "file:client",
"requires": {
"@emotion/react": "^11.9.3",
"@emotion/styled": "^11.9.3",
"@mui/icons-material": "^5.8.4",
"@mui/material": "^5.9.1",
"dompurify": "^2.3.10",
"dotenv": "^16.0.1",
"formik": "^2.2.9",
"gh-pages": "^4.0.0",
"javascript-time-ago": "^2.5.6",
"js-cookie": "^3.0.1",
"marked": "^4.0.18",
"react": "^18.2.0",
"react-copy-to-clipboard": "^5.1.0",
"react-gravatar": "^2.6.3",
"react-helmet": "^6.1.0",
"react-markdown": "^8.0.3",
"react-router-dom": "^6.3.0",
"react-scripts": "^5.0.1",
"react-time-ago": "^7.2.1",
"superagent": "^8.0.0",
"superagent-throttle": "^1.0.1",
"universal-cookie": "^4.0.4",
"yup": "^0.32.11"
}
},
"qs": {
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",

View file

@ -4,13 +4,13 @@
* Module dependencies.
*/
const app = require('server/app');
const app = require('../app');
const debug = require('debug')('server:server');
const http = require('http');
const mongoose = require('mongoose');
const cron = require('node-cron');
const { refreshQuestions, refreshUsers } = require('server/utils/cronRefresh');
const { refreshQuestions, refreshUsers } = require('../utils/cronRefresh');
require('dotenv').config();

View file

@ -1,5 +1,5 @@
const mongoose = require('mongoose');
const calculateUserBadges = require('server/utils/badges/userBadges');
const calculateUserBadges = require('../../utils/badges/userBadges');
const User = mongoose.Schema(
{

View file

@ -1,7 +1,7 @@
const deriveKeyFromPassword = require('server/utils/auth');
const createRequest = require('server/utils/api');
const config = require('server/config.json');
const User = require('server/db/models/User');
const deriveKeyFromPassword = require('../utils/auth');
const createRequest = require('../utils/api');
const config = require('../config.json');
const User = require('../db/models/User');
async function basicAuth(req, res, next) {
const authHeader = req.get('Authorization');

View file

@ -1,6 +1,6 @@
const Token = require('server/db/models/Token');
const User = require('server/db/models/User');
const config = require('server/config.json');
const Token = require('../db/models/Token');
const User = require('../db/models/User');
const config = require('../config.json');
async function tokenAuth(req, res, next) {
const authHeader = req.get('Authorization');

View file

@ -1,7 +1,7 @@
const express = require('express');
const router = express.Router();
const tokenAuth = require('server/middleware/tokenAuth');
const tokenAuth = require('../middleware/tokenAuth');
const GetMail = require('./mail/Get');
const SendMail = require('./mail/Send');

View file

@ -1,21 +1,19 @@
const config = require('server/config.json');
const Mail = require('server/db/models/Mail');
const { getAllMail } = require('server/utils/getData');
const config = require('../../config.json');
const Mail = require('../../db/models/Mail');
const { getAllMail } = require('../../utils/getData');
async function Get(req, res) {
const { lastMailFetch, username } = req.user;
// Fetch mail if expired
if (Number(lastMailFetch) + config.mailExpires < Date.now()) {
await getAllMail({ username })
await getAllMail({ username });
}
const messages = await Mail.find({ receiver: username }).sort({
createdAt: 'desc',
});
const messages = await Mail.find({ receiver: username }).sort({
createdAt: 'desc',
});
return res.send({ messages });
return res.send({ messages });
}
module.exports = Get;

View file

@ -1,5 +1,5 @@
const Mail = require('server/db/models/Mail');
const config = require('server/config.json');
const Mail = require('../../db/models/Mail');
const config = require('../../config.json');
async function Read(req, res) {
const { mail_id } = req.params;

View file

@ -1,7 +1,7 @@
const Mail = require('server/db/models/Mail');
const Mail = require('../../db/models/Mail');
const User = require('../../db/models/User');
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
async function Send(req, res) {
const { username } = req.user;

View file

@ -1,7 +1,7 @@
const express = require('express');
const router = express.Router();
const tokenAuth = require('server/middleware/tokenAuth');
const tokenAuth = require('../middleware/tokenAuth');
const CreateAnswer = require('./question/CreateAnswer');
const CreateAnswerComment = require('./question/CreateAnswerComment');

View file

@ -1,9 +1,9 @@
const config = require('server/config.json');
const Answer = require('server/db/models/Answer');
const User = require('server/db/models/User');
const { getQuestion } = require('server/utils/question');
const getUserLevel = require('server/utils/getUserLevel');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const Answer = require('../../db/models/Answer');
const User = require('../../db/models/User');
const { getQuestion } = require('../../utils/question');
const getUserLevel = require('../../utils/getUserLevel');
const createRequest = require('../../utils/api');
async function CreateAnswer(req, res) {
const { user } = req;

View file

@ -1,9 +1,9 @@
const config = require('server/config.json');
const Answer = require('server/db/models/Answer');
const Comment = require('server/db/models/Comment');
const { getQuestion } = require('server/utils/question');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const config = require('../../config.json');
const Answer = require('../../db/models/Answer');
const Comment = require('../../db/models/Comment');
const { getQuestion } = require('../../utils/question');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
async function CreateAnswerComment(req, res) {
const user = req.user;

View file

@ -1,8 +1,8 @@
const config = require('server/config.json');
const Comment = require('server/db/models/Comment');
const { getQuestion, refreshQuestion } = require('server/utils/question');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const config = require('../../config.json');
const Comment = require('../../db/models/Comment');
const { getQuestion, refreshQuestion } = require('../../utils/question');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
async function CreateComment(req, res) {
const { user } = req;

View file

@ -1,7 +1,7 @@
const config = require('server/config.json');
const Question = require('server/db/models/Question');
const User = require('server/db/models/User');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const Question = require('../../db/models/Question');
const User = require('../../db/models/User');
const createRequest = require('../../utils/api');
async function CreateQuestion(req, res) {
const user = req.user;

View file

@ -1,6 +1,6 @@
const Comment = require('server/db/models/Comment');
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const Comment = require('../../db/models/Comment');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
async function DeleteAnswerComment(req, res) {
const { user } = req;

View file

@ -1,6 +1,6 @@
const Comment = require('server/db/models/Comment');
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const Comment = require('../../db/models/Comment');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
async function DeleteComment(req, res) {
const { user } = req;

View file

@ -1,6 +1,6 @@
const Answer = require('server/db/models/Answer');
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const Answer = require('../../db/models/Answer');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
async function EditAnswer(req, res) {
const { user } = req;
@ -10,10 +10,7 @@ async function EditAnswer(req, res) {
if (!text) return res.status(400).send(config.errorIncomplete);
// Retrieve latest question data
const answerPull = await createRequest(
'get',
`/questions/${question_id}/answers/${answer_id}`
);
const answerPull = await createRequest('get', `/questions/${question_id}/answers/${answer_id}`);
if (!answerPull.success) return res.status(500).send(config.errorGeneric);

View file

@ -1,9 +1,9 @@
const config = require('server/config.json');
const Answer = require('server/db/models/Answer');
const Question = require('server/db/models/Question');
const User = require('server/db/models/User');
const { getQuestion, refreshQuestion } = require('server/utils/question');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const Answer = require('../../db/models/Answer');
const Question = require('../../db/models/Question');
const User = require('../../db/models/User');
const { getQuestion, refreshQuestion } = require('../../utils/question');
const createRequest = require('../../utils/api');
async function EditAnswerAccepted(req, res) {
const { user } = req;

View file

@ -1,7 +1,7 @@
const createRequest = require('server/utils/api');
const config = require('server/config.json');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const createRequest = require('../../utils/api');
const config = require('../../config.json');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
async function EditAnswerCommentVote(req, res) {
const { user } = req;

View file

@ -1,8 +1,8 @@
const createRequest = require('server/utils/api');
const config = require('server/config.json');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const Answer = require('server/db/models/Answer');
const createRequest = require('../../utils/api');
const config = require('../../config.json');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
const Answer = require('../../db/models/Answer');
async function EditAnswerVote(req, res) {
const { user } = req;

View file

@ -1,7 +1,7 @@
const createRequest = require('server/utils/api');
const config = require('server/config.json');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const createRequest = require('../../utils/api');
const config = require('../../config.json');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
async function EditAnswerVote(req, res) {
const { user } = req;

View file

@ -1,26 +1,20 @@
const config = require('server/config.json');
const { getQuestion, refreshQuestion } = require('server/utils/question');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const { getQuestion, refreshQuestion } = require('../../utils/question');
const createRequest = require('../../utils/api');
async function EditQuestion(req, res) {
const { user } = req;
const { text } = req.body;
const {views} = req.body;
const { views } = req.body;
const { question_id } = req.params;
if(views){
const { success } = await createRequest(
'patch',
`/questions/${question_id}`,
{ views }
);
if (views) {
const { success } = await createRequest('patch', `/questions/${question_id}`, { views });
if (!success) return res.status(500).send(config.errorGeneric);
await refreshQuestion(question_id);
return res.sendStatus(200);
}
if (!text) return res.status(400).send(config.errorIncomplete);
@ -31,16 +25,12 @@ async function EditQuestion(req, res) {
if (question.creator !== user.username) return res.status(403).send(config.errorForbidden);
// Patch question with BDPA server
const { success } = await createRequest(
'patch',
`/questions/${question_id}`,
{ text }
);
const { success } = await createRequest('patch', `/questions/${question_id}`, { text });
if (!success) return res.status(500).send(config.errorGeneric);
await refreshQuestion(question_id);
return res.sendStatus(200);
}

View file

@ -1,8 +1,8 @@
const config = require('server/config.json');
const Question = require('server/db/models/Question');
const { getQuestion, refreshQuestion } = require('server/utils/question');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const config = require('../../config.json');
const Question = require('../../db/models/Question');
const { getQuestion, refreshQuestion } = require('../../utils/question');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
async function EditQuestionStatusClosed(req, res) {
const { user } = req;

View file

@ -1,8 +1,8 @@
const Question = require('server/db/models/Question');
const User = require('server/db/models/User');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const config = require('server/config.json');
const Question = require('../../db/models/Question');
const User = require('../../db/models/User');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
const config = require('../../config.json');
async function EditQuestionBounty(req, res) {
const { user } = req.user;

View file

@ -1,8 +1,8 @@
const config = require('server/config.json');
const Question = require('server/db/models/Question');
const { getQuestion, refreshQuestion } = require('server/utils/question');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const config = require('../../config.json');
const Question = require('../../db/models/Question');
const { getQuestion, refreshQuestion } = require('../../utils/question');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
async function EditQuestionStatusClosed(req, res) {
const { user } = req;

View file

@ -1,8 +1,8 @@
const config = require('server/config.json');
const Question = require('server/db/models/Question');
const { getQuestion, refreshQuestion } = require('server/utils/question');
const getUserLevel = require('server/utils/getUserLevel');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const Question = require('../../db/models/Question');
const { getQuestion, refreshQuestion } = require('../../utils/question');
const getUserLevel = require('../../utils/getUserLevel');
const createRequest = require('../../utils/api');
async function EditQuestionStatusProtected(req, res) {
const { user } = req;

View file

@ -1,8 +1,8 @@
const config = require('server/config.json');
const Question = require('server/db/models/Question');
const { getQuestion } = require('server/utils/question');
const getUserLevel = require('server/utils/getUserLevel');
const createRequest = require('server/utils/api');
const config = require('../../config.json');
const Question = require('../../db/models/Question');
const { getQuestion } = require('../../utils/question');
const getUserLevel = require('../../utils/getUserLevel');
const createRequest = require('../../utils/api');
async function EditQuestionStatusReopened(req, res) {
const { user } = req;

View file

@ -1,9 +1,9 @@
const config = require('server/config.json');
const User = require('server/db/models/User');
const Vote = require('server/db/models/Vote');
const Question = require('server/db/models/Question');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const config = require('../../config.json');
const User = require('../../db/models/User');
const Vote = require('../../db/models/Vote');
const Question = require('../../db/models/Question');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
async function upvote(res, user) {}

View file

@ -1,7 +1,7 @@
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
async function GetAnswerCommentVote(req, res) {
const { user } = req;
@ -19,8 +19,9 @@ async function GetAnswerCommentVote(req, res) {
parent_id: comment_id,
creator: user.username,
});
} catch { return res.status(400).send(config.errorNotFound); }
} catch {
return res.status(400).send(config.errorNotFound);
}
if (cachedVote) return res.send({ vote: cachedVote.status });

View file

@ -1,7 +1,7 @@
const config = require('server/config.json');
const Comment = require('server/db/models/Comment');
const { getAllComments } = require('server/utils/getData');
const { getAnswer } = require('server/utils/question');
const config = require('../../config.json');
const Comment = require('../../db/models/Comment');
const { getAllComments } = require('../../utils/getData');
const { getAnswer } = require('../../utils/question');
async function GetAnswerComments(req, res) {
const { question_id, answer_id } = req.params;

View file

@ -1,15 +1,14 @@
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
async function GetAnswerVote(req, res) {
const { user } = req;
const { question_id, answer_id } = req.params;
// Verify user has required level
if (getUserLevel(user.points) < 2)
return res.send({ vote: null });
if (getUserLevel(user.points) < 2) return res.send({ vote: null });
let cachedVote;
try {
@ -18,8 +17,9 @@ async function GetAnswerVote(req, res) {
parent_id: answer_id,
creator: user.username,
});
} catch { return res.status(400).send(config.errorNotFound); }
} catch {
return res.status(400).send(config.errorNotFound);
}
if (cachedVote) return res.send({ vote: cachedVote.status });

View file

@ -1,7 +1,7 @@
const config = require('server/config.json');
const Answer = require('server/db/models/Answer');
const { getAllAnswers } = require('server/utils/getData');
const { getQuestion } = require('server/utils/question');
const config = require('../../config.json');
const Answer = require('../../db/models/Answer');
const { getAllAnswers } = require('../../utils/getData');
const { getQuestion } = require('../../utils/question');
async function GetAnswers(req, res) {
const { question_id } = req.params;

View file

@ -1,15 +1,14 @@
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
async function GetCommentVote(req, res) {
const { user } = req;
const { question_id, comment_id } = req.params;
// Verify user has level required to vote
if (getUserLevel(user.points) < 2)
return res.send({ vote: null });
if (getUserLevel(user.points) < 2) return res.send({ vote: null });
let cachedVote;
try {
@ -18,7 +17,9 @@ async function GetCommentVote(req, res) {
parent_id: comment_id,
creator: user.username,
});
} catch { return res.status(400).send(config.errorNotFound); }
} catch {
return res.status(400).send(config.errorNotFound);
}
if (cachedVote) return res.send({ vote: cachedVote.status });

View file

@ -1,7 +1,7 @@
const config = require('server/config.json');
const Comment = require('server/db/models/Comment');
const { getAllComments } = require('server/utils/getData');
const { getQuestion } = require('server/utils/question');
const config = require('../../config.json');
const Comment = require('../../db/models/Comment');
const { getAllComments } = require('../../utils/getData');
const { getQuestion } = require('../../utils/question');
async function GetComments(req, res) {
const { question_id } = req.params;

View file

@ -1,5 +1,5 @@
const config = require('server/config.json');
const { getQuestion } = require('server/utils/question');
const config = require('../../config.json');
const { getQuestion } = require('../../utils/question');
async function GetQuestion(req, res) {
const { question_id } = req.params;

View file

@ -1,15 +1,14 @@
const config = require('server/config.json');
const createRequest = require('server/utils/api');
const getUserLevel = require('server/utils/getUserLevel');
const Vote = require('server/db/models/Vote');
const config = require('../../config.json');
const createRequest = require('../../utils/api');
const getUserLevel = require('../../utils/getUserLevel');
const Vote = require('../../db/models/Vote');
async function GetQuestionVote(req, res) {
const { user } = req;
const { question_id } = req.params;
// Verify user has level required to vote
if (getUserLevel(user.points) < 2)
return res.send({ vote: null });
if (getUserLevel(user.points) < 2) return res.send({ vote: null });
let cachedVote;
try {
@ -18,8 +17,9 @@ async function GetQuestionVote(req, res) {
parent_id: question_id,
creator: user.username,
});
} catch { return res.status(400).send(config.errorNotFound); }
} catch {
return res.status(400).send(config.errorNotFound);
}
if (cachedVote) return res.send({ vote: cachedVote.status });

View file

@ -1,6 +1,6 @@
const config = require('server/config.json');
const config = require('../../config.json');
const Question = require('server/db/models/Question');
const Question = require('../../db/models/Question');
async function Search(req, res) {
const { creator, title, text, tags, createdAt, sort } = req.query;

View file

@ -1,8 +1,8 @@
const express = require('express');
const router = express.Router();
const basicAuth = require('server/middleware/basicAuth');
const tokenAuth = require('server/middleware/tokenAuth');
const basicAuth = require('../middleware/basicAuth');
const tokenAuth = require('../middleware/tokenAuth');
const Answers = require('./user/Answers');
const GetBadges = require('./user/GetBadges');

View file

@ -1,9 +1,11 @@
const config = require('server/config.json');
const Answer = require('server/db/models/Answer');
const { getAllAnswers } = require('server/utils/getData');
const config = require('../../config.json');
const Answer = require('../../db/models/Answer');
const { getAllAnswers } = require('../../utils/getData');
async function Answers(req, res) {
const { user: { lastAnswerFetch, username } } = req;
const {
user: { lastAnswerFetch, username },
} = req;
if (Number(lastAnswerFetch) + config.answerExpires < Date.now()) {
const answers = await getAllAnswers({ username });

View file

@ -1,7 +1,7 @@
const createRequest = require('server/utils/api');
const deriveKeyFromPassword = require('server/utils/auth');
const User = require('server/db/models/User');
const config = require('server/config.json');
const createRequest = require('../../utils/api');
const deriveKeyFromPassword = require('../../utils/auth');
const User = require('../../db/models/User');
const config = require('../../config.json');
async function Edit(req, res) {
const { user } = req;
@ -14,17 +14,11 @@ async function Edit(req, res) {
userBody = { ...userBody, salt, key };
}
const { success } = await createRequest(
'patch',
`/users/${user.username}`,
userBody
);
const { success } = await createRequest('patch', `/users/${user.username}`, userBody);
await User.findOneAndDelete({ username: user.username });
return success
? res.sendStatus(200)
: res.status(500).send(config.errorGeneric);
return success ? res.sendStatus(200) : res.status(500).send(config.errorGeneric);
}
module.exports = Edit;

View file

@ -1,4 +1,4 @@
const Badge = require('server/db/models/Badge');
const Badge = require('../../db/models/Badge');
async function GetBadges(req, res) {
const { user } = req;

View file

@ -1,8 +1,8 @@
const createRequest = require('server/utils/api');
const config = require('server/config.json');
const User = require('server/db/models/User');
const getUserLevel = require('server/utils/getUserLevel');
const Badge = require('server/db/models/Badge');
const createRequest = require('../../utils/api');
const config = require('../../config.json');
const User = require('../../db/models/User');
const getUserLevel = require('../../utils/getUserLevel');
const Badge = require('../../db/models/Badge');
async function GetUser(req, res) {
const { username } = req.params;

View file

@ -1,9 +1,9 @@
const mongoose = require('mongoose');
const jwt = require('jsonwebtoken');
const Token = require('server/db/models/Token');
const Badge = require('server/db/models/Badge');
const getUserLevel = require('server/utils/getUserLevel');
const Token = require('../../db/models/Token');
const Badge = require('../../db/models/Badge');
const getUserLevel = require('../../utils/getUserLevel');
async function Login(req, res) {
const { user } = req;

View file

@ -1,4 +1,4 @@
const Token = require('server/db/models/Token');
const Token = require('../../db/models/Token');
async function Logout(req, res) {
const { user } = req;

View file

@ -1,7 +1,9 @@
const Question = require('server/db/models/Question');
const Question = require('../../db/models/Question');
async function Questions(req, res) {
const { user: { username } } = req;
const {
user: { username },
} = req;
const cachedQuestions = await Question.find({
creator: username,

View file

@ -1,7 +1,7 @@
const createRequest = require('server/utils/api');
const deriveKeyFromPassword = require('server/utils/auth');
const config = require('server/config.json');
const User = require('server/db/models/User');
const createRequest = require('../../utils/api');
const deriveKeyFromPassword = require('../../utils/auth');
const config = require('../../config.json');
const User = require('../../db/models/User');
async function Register(req, res) {
const { username, email, password } = req.body;

View file

@ -1,4 +1,4 @@
const getUserLevel = require('server/utils/getUserLevel');
const getUserLevel = require('../../utils/getUserLevel');
const Badge = require('../../db/models/Badge');
async function Remember(req, res) {

View file

@ -1,4 +1,4 @@
const ResetRequest = require('server/db/models/ResetRequest');
const ResetRequest = require('../../db/models/ResetRequest');
async function RequestReset(req, res) {
const { username } = req.body;

View file

@ -1,8 +1,8 @@
const ResetRequest = require('server/db/models/ResetRequest');
const User = require('server/db/models/User');
const createRequest = require('server/utils/api');
const deriveKeyFromPassword = require('server/utils/auth');
const config = require('server/config.json');
const ResetRequest = require('../../db/models/ResetRequest');
const User = require('../../db/models/User');
const createRequest = require('../../utils/api');
const deriveKeyFromPassword = require('../../utils/auth');
const config = require('../../config.json');
async function RequestReset(req, res) {
const { password } = req.body;
@ -23,9 +23,7 @@ async function RequestReset(req, res) {
await User.findOneAndDelete({ username: request.user });
return success
? res.sendStatus(200)
: res.status(500).send(config.errorGeneric);
return success ? res.sendStatus(200) : res.status(500).send(config.errorGeneric);
}
module.exports = RequestReset;

View file

@ -1,14 +1,9 @@
const createRequest = require('./api');
const config = require('server/config.json');
const config = require('../config.json');
const defaultAcc = { success: true, requests: [] };
async function fetchMail(
url,
recentTimestamp = 0,
acc = defaultAcc,
after = ''
) {
async function fetchMail(url, recentTimestamp = 0, acc = defaultAcc, after = '') {
const request = await createRequest('get', url, { after });
if (!request.success) return config.errorGeneric;

View file

@ -1,9 +1,9 @@
const Answer = require('server/db/models/Answer');
const Comment = require('server/db/models/Comment');
const Mail = require('server/db/models/Mail');
const Question = require('server/db/models/Question');
const User = require('server/db/models/User');
const fetchData = require('server/utils/fetchData');
const Answer = require('../db/models/Answer');
const Comment = require('../db/models/Comment');
const Mail = require('../db/models/Mail');
const Question = require('../db/models/Question');
const User = require('../db/models/User');
const fetchData = require('../utils/fetchData');
async function getAllData(Model, url, id, dataName) {
console.log(`[INFO]: Refreshing ${dataName} database.`);
@ -13,26 +13,15 @@ async function getAllData(Model, url, id, dataName) {
id: item[id],
}));
for (const item of data)
await Model.findByIdAndUpdate(item[id], item, { upsert: true });
for (const item of data) await Model.findByIdAndUpdate(item[id], item, { upsert: true });
return data;
}
async function getAllAnswers({ question_id, username }) {
if (question_id)
return getAllData(
Answer,
`/questions/${question_id}/answers`,
'answer_id',
'answers'
);
return getAllData(Answer, `/questions/${question_id}/answers`, 'answer_id', 'answers');
else if (username)
return getAllData(
Answer,
`/users/${username}/answers`,
'answer_id',
'answers'
);
return getAllData(Answer, `/users/${username}/answers`, 'answer_id', 'answers');
}
async function getAllComments({ answer_id, question_id }) {
@ -43,13 +32,7 @@ async function getAllComments({ answer_id, question_id }) {
'comment_id',
'comments'
);
else
return getAllData(
Comment,
`/questions/${question_id}/comments`,
'comment_id',
'comments'
);
else return getAllData(Comment, `/questions/${question_id}/comments`, 'comment_id', 'comments');
}
async function getAllMail({ username }) {
@ -58,19 +41,9 @@ async function getAllMail({ username }) {
async function getAllQuestions(username) {
if (username)
return getAllData(
Question,
`/users/${username}/questions`,
'question_id',
'questions'
);
return getAllData(Question, `/users/${username}/questions`, 'question_id', 'questions');
else {
return getAllData(
Question,
`/questions/search`,
'question_id',
'questions'
);
return getAllData(Question, `/questions/search`, 'question_id', 'questions');
}
}

View file

@ -1,6 +1,6 @@
const createRequest = require('server/utils/api');
const createRequest = require('../api');
const Answer = require('server/db/models/Answer');
const Answer = require('../../db/models/Answer');
async function getAnswer(question_id, answer_id) {
let cachedAnswer;

View file

@ -1,6 +1,6 @@
const createRequest = require('server/utils/api');
const createRequest = require('../api');
const Question = require('server/db/models/Question');
const Question = require('../../db/models/Question');
async function getQuestion(question_id) {
let cachedQuestion;
@ -12,10 +12,7 @@ async function getQuestion(question_id) {
// Retrieve uncached question and patch to cache
if (!cachedQuestion) {
const { success, question } = await createRequest(
'get',
`/questions/${question_id}`
);
const { success, question } = await createRequest('get', `/questions/${question_id}`);
if (!success) return;

View file

@ -1,11 +1,8 @@
const Question = require('server/db/models/Question');
const createRequest = require('server/utils/api');
const Question = require('../../db/models/Question');
const createRequest = require('../api');
async function refreshQuestion(question_id) {
const { question, success } = await createRequest(
'get',
`/questions/${question_id}`
);
const { question, success } = await createRequest('get', `/questions/${question_id}`);
if (!success) return false;
// Refresh cache