overleaf/services/web/scripts/validate-data-of-model.js

24 lines
555 B
JavaScript
Raw Normal View History

const { batchedUpdateWithResultHandling } = require('./helpers/batchedUpdate')
const MODEL_NAME = process.argv.pop()
const Model = require(`../app/src/models/${MODEL_NAME}`)[MODEL_NAME]
function processBatch(batch) {
for (const doc of batch) {
const error = new Model(doc).validateSync()
if (error) {
const { errors } = error
console.log(JSON.stringify({ _id: doc._id, errors }))
}
}
}
batchedUpdateWithResultHandling(
Model.collection.name,
{},
async (_, nextBatch) => {
await processBatch(nextBatch)
},
{}
)