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' } from '../../utils/actions'
import dbtools from '../../utils/dbtools' import dbtools from '../../utils/dbtools'
import auth from '../../middlewares/auth.middleware' import auth from '../../middlewares/auth.middleware'
import { dataToString } from '../../utils/classes' import { dataToString, getSubjNameWithoutYear } from '../../utils/classes'
import { import {
initWorkerPool, initWorkerPool,
doALongTask, doALongTask,
@ -70,6 +70,7 @@ const todosFile = 'data/todos.json'
const userScriptFile = 'submodules/moodle-test-userscript/stable.user.js' const userScriptFile = 'submodules/moodle-test-userscript/stable.user.js'
const rootRedirectToFile = 'data/apiRootRedirectTo' const rootRedirectToFile = 'data/apiRootRedirectTo'
const recievedQuestionFile = 'stats/recievedQuestions' const recievedQuestionFile = 'stats/recievedQuestions'
const savedQuestionsFileName = 'savedQuestions.json'
// other constants // other constants
const line = '====================================================' // lol const line = '====================================================' // lol
@ -95,7 +96,6 @@ function GetApp(): ModuleType {
// files in public dirs // files in public dirs
const questionDbsDir = publicDir + 'questionDbs' const questionDbsDir = publicDir + 'questionDbs'
const dbsFile = publicDir + 'questionDbs.json' const dbsFile = publicDir + 'questionDbs.json'
const savedQuestionsFile = publicDir + 'savedQuestions.json'
const savedQuestionsDir = publicDir + 'savedQuestions' const savedQuestionsDir = publicDir + 'savedQuestions'
const recivedFiles = publicDir + 'recivedfiles' const recivedFiles = publicDir + 'recivedfiles'
const uloadFiles = publicDir + 'f' const uloadFiles = publicDir + 'f'
@ -1050,7 +1050,9 @@ function GetApp(): ModuleType {
} }
function saveQuestion(questions, subj, location, userid) { 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, questions: questions,
subj: subj, subj: subj,
userid: userid, userid: userid,
@ -1058,8 +1060,16 @@ function GetApp(): ModuleType {
date: new Date(), date: new Date(),
} }
const fname = `${utils.GetDateString()}_${userid}_${location}.json` 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({ savedQuestions.push({
fname: fname, fname: fname,
subj: subj, subj: subj,
@ -1067,9 +1077,9 @@ function GetApp(): ModuleType {
location: location, location: location,
date: new Date(), 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) { app.post('/ask', function(req: Request, res) {