mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-28 22:14:42 +00:00
68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
|
const { db, ObjectId } = require('../app/src/infrastructure/mongojs')
|
||
|
const minimist = require('minimist')
|
||
|
const _ = require('lodash')
|
||
|
const argv = minimist(process.argv.slice(2))
|
||
|
const commit = argv.commit !== undefined
|
||
|
const projectIds = argv._.map(x => {
|
||
|
return ObjectId(x)
|
||
|
})
|
||
|
|
||
|
if (!commit) {
|
||
|
console.log('Doing dry run without --commit')
|
||
|
}
|
||
|
console.log('checking', projectIds.length, 'projects')
|
||
|
db.projects.find(
|
||
|
{
|
||
|
_id: { $in: projectIds }
|
||
|
},
|
||
|
(err, affectedProjects) => {
|
||
|
if (err) {
|
||
|
throw err
|
||
|
}
|
||
|
console.log('Found ' + affectedProjects.length + ' affected projects')
|
||
|
affectedProjects.forEach(x => {
|
||
|
console.log(
|
||
|
JSON.stringify(
|
||
|
_.pick(x, [
|
||
|
'_id',
|
||
|
'owner_ref',
|
||
|
'tokenAccessReadOnly_refs',
|
||
|
'tokenAccessReadAndWrite_refs'
|
||
|
])
|
||
|
)
|
||
|
)
|
||
|
})
|
||
|
if (!commit) {
|
||
|
console.log('dry run, not updating')
|
||
|
process.exit(0)
|
||
|
} else {
|
||
|
db.projects.update(
|
||
|
{
|
||
|
_id: {
|
||
|
$in: affectedProjects.map(x => {
|
||
|
return x._id
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
$set: {
|
||
|
publicAccesLevel: 'private', // note the spelling in the db is publicAccesLevel (with one 's')
|
||
|
tokenAccessReadOnly_refs: [],
|
||
|
tokenAccessReadAndWrite_refs: []
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
multi: true
|
||
|
},
|
||
|
(err, result) => {
|
||
|
console.log('err', err, 'result', result)
|
||
|
db.close()
|
||
|
setTimeout(() => {
|
||
|
process.exit(0)
|
||
|
}, 5000)
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
}
|
||
|
)
|