diff --git a/src/modules/api/submodules/p2p.ts b/src/modules/api/submodules/p2p.ts index 8be38c5..017a0ec 100644 --- a/src/modules/api/submodules/p2p.ts +++ b/src/modules/api/submodules/p2p.ts @@ -273,13 +273,22 @@ function writeNewData( publicDir: string ) { const qdbsToWrite = [...changedQuestionDbs, ...newQuestionDbs] - const qdbsFile: DataFile[] = qdbsToWrite.map((qdb) => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { data, index, ...restOfQdb } = qdb - return restOfQdb - }) + const existingQdbs = utils.ReadJSON(dbsFilePath) - utils.WriteFile(JSON.stringify(qdbsFile, null, 2), dbsFilePath) + const qdbDataToWrite = qdbsToWrite.reduce((acc, qdb) => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { data, index, ...qdbData } = qdb + const existingQdbData = acc.find((data) => { + return data.name === qdbData.name + }) + if (!existingQdbData) { + return [...acc, qdbData] + } else { + return acc + } + }, existingQdbs) + + utils.WriteFile(JSON.stringify(qdbDataToWrite, null, 2), dbsFilePath) qdbsToWrite.forEach((qdb) => { try { writeData(qdb.data, publicDir + qdb.path) diff --git a/submodules/qmining-page b/submodules/qmining-page index 338db8e..62fb75e 160000 --- a/submodules/qmining-page +++ b/submodules/qmining-page @@ -1 +1 @@ -Subproject commit 338db8e1417ba4aa647a74e0a5bad70fb04bc79e +Subproject commit 62fb75ec5f96656d95e53f3aa2b92ff59dc38173