qdb data file overwrite fix

This commit is contained in:
mrfry 2023-04-13 08:11:35 +02:00
parent 9fc51a51bd
commit 0cc020b529
2 changed files with 16 additions and 7 deletions

View file

@ -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<DataFile[]>(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)