Changed server imports to relative imports
This commit is contained in:
parent
fd8bd222eb
commit
68e0a9e33a
54 changed files with 259 additions and 315 deletions
65
package-lock.json
generated
65
package-lock.json
generated
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Reference in a new issue