added nearly complete p2p implementation

This commit is contained in:
mrfry 2023-03-20 18:02:45 +01:00
parent 11dacdae64
commit 5c22f575dd
25 changed files with 14320 additions and 12563 deletions

View file

@ -30,7 +30,16 @@ import logger from '../../utils/logger'
import utils from '../../utils/utils'
import auth from '../../middlewares/auth.middleware'
import { SetupData } from '../../server'
import { ModuleType, Request, Submodule } from '../../types/basicTypes'
import {
DataFile,
ModuleSpecificData,
ModuleType,
QuestionDb,
Request,
Submodule,
} from '../../types/basicTypes'
import { loadJSON } from '../../utils/actions'
import { initWorkerPool } from '../../utils/workerPool'
// files
const rootRedirectToFile = 'data/apiRootRedirectTo'
@ -142,7 +151,23 @@ function GetApp(): ModuleType {
// -------------------------------------------------------------------------------------------
const submoduleDatas = setupSubModules(app)
const dbsFile = publicDir + 'questionDbs.json'
// FIXME: is dataFiles only a temp variable? does this cause any problems?
const dataFiles: Array<DataFile> = utils.ReadJSON(dbsFile)
let questionDbs: Array<QuestionDb> = loadJSON(dataFiles, publicDir)
initWorkerPool(() => questionDbs)
const submoduleDatas = setupSubModules(app, {
questionDbs: questionDbs,
getQuestionDbs: () => {
return questionDbs
},
setQuestionDbs: (newQdbs: QuestionDb[]) => {
questionDbs = newQdbs
},
dbsFile: dbsFile,
})
// -------------------------------------------------------------------------------------------
@ -183,7 +208,7 @@ function GetApp(): ModuleType {
function setupSubModules(
parentApp: express.Application,
moduleSpecificData?: any
moduleSpecificData: ModuleSpecificData
): Submodule[] {
const submoduleDir = './submodules/'
const absolutePath = __dirname + '/' + submoduleDir