|
|
@@ -0,0 +1,44 @@
|
|
|
+const mongojs = require('../../app/js/infrastructure/mongojs')
|
|
|
+const { db } = mongojs
|
|
|
+const Async = require('async')
|
|
|
+
|
|
|
+db.projects.find(
|
|
|
+ {
|
|
|
+ 'tokens.readAndWrite': { $exists: true },
|
|
|
+ 'tokens.readAndWritePrefix': { $exists: false }
|
|
|
+ },
|
|
|
+ { tokens: 1 },
|
|
|
+ (err, projects) => {
|
|
|
+ if (err) {
|
|
|
+ throw err
|
|
|
+ }
|
|
|
+ console.log(`>> Updating ${projects.length} projects`)
|
|
|
+ Async.eachLimit(
|
|
|
+ projects,
|
|
|
+ 5,
|
|
|
+ (project, cb) => {
|
|
|
+ const rwToken = project.tokens.readAndWrite
|
|
|
+ const prefixMatch = rwToken.match(/^(\d+).*$/)
|
|
|
+ if (!prefixMatch) {
|
|
|
+ const err = new Error(
|
|
|
+ `no prefix on token: ${project._id}, ${rwToken}`
|
|
|
+ )
|
|
|
+ console.log(`>> Error, ${err.message}`)
|
|
|
+ return cb(err)
|
|
|
+ }
|
|
|
+ db.projects.update(
|
|
|
+ { _id: project._id },
|
|
|
+ { $set: { 'tokens.readAndWritePrefix': prefixMatch[1] } },
|
|
|
+ cb
|
|
|
+ )
|
|
|
+ },
|
|
|
+ err => {
|
|
|
+ if (err) {
|
|
|
+ throw err
|
|
|
+ }
|
|
|
+ console.log('>> done')
|
|
|
+ process.exit(0)
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+)
|