Saving questions

This commit is contained in:
mrfry 2020-12-25 18:17:12 +01:00
parent 2998239344
commit 98b12f523e

View file

@ -39,7 +39,7 @@ import {
} from '../../utils/actions'
import dbtools from '../../utils/dbtools'
import auth from '../../middlewares/auth.middleware'
import { dataToString } from '../../utils/classes'
import { dataToString, getSubjNameWithoutYear } from '../../utils/classes'
import {
initWorkerPool,
doALongTask,
@ -70,6 +70,7 @@ const todosFile = 'data/todos.json'
const userScriptFile = 'submodules/moodle-test-userscript/stable.user.js'
const rootRedirectToFile = 'data/apiRootRedirectTo'
const recievedQuestionFile = 'stats/recievedQuestions'
const savedQuestionsFileName = 'savedQuestions.json'
// other constants
const line = '====================================================' // lol
@ -95,7 +96,6 @@ function GetApp(): ModuleType {
// files in public dirs
const questionDbsDir = publicDir + 'questionDbs'
const dbsFile = publicDir + 'questionDbs.json'
const savedQuestionsFile = publicDir + 'savedQuestions.json'
const savedQuestionsDir = publicDir + 'savedQuestions'
const recivedFiles = publicDir + 'recivedfiles'
const uloadFiles = publicDir + 'f'
@ -1050,7 +1050,9 @@ function GetApp(): ModuleType {
}
function saveQuestion(questions, subj, location, userid) {
const toWrite = {
// TODO: clear folder every now and then, check if saved questions exist
// TODO: group questions by suject
const questionsToSave = {
questions: questions,
subj: subj,
userid: userid,
@ -1058,8 +1060,16 @@ function GetApp(): ModuleType {
date: new Date(),
}
const fname = `${utils.GetDateString()}_${userid}_${location}.json`
const subject = getSubjNameWithoutYear(subj)
const subjPath = `${savedQuestionsDir}/${subject}`
const savedSubjQuestionsFilePath = `${subjPath}/${savedQuestionsFileName}`
const savedQuestions = utils.ReadJSON(savedQuestionsFile)
utils.CreatePath(subjPath, true)
if (!utils.FileExists(savedSubjQuestionsFilePath)) {
utils.WriteFile('[]', savedSubjQuestionsFilePath)
}
const savedQuestions = utils.ReadJSON(savedSubjQuestionsFilePath)
savedQuestions.push({
fname: fname,
subj: subj,
@ -1067,9 +1077,9 @@ function GetApp(): ModuleType {
location: location,
date: new Date(),
})
utils.WriteFile(JSON.stringify(savedQuestions), savedQuestionsFile)
utils.WriteFile(JSON.stringify(savedQuestions), savedSubjQuestionsFilePath)
utils.WriteFile(JSON.stringify(toWrite), `${savedQuestionsDir}/${fname}`)
utils.WriteFile(JSON.stringify(questionsToSave), `${subjPath}/${fname}`)
}
app.post('/ask', function(req: Request, res) {