diff --git a/migrations/7_add_token_indexes.coffee b/migrations/7_add_token_indexes.coffee new file mode 100644 index 0000000000..6563b08a13 --- /dev/null +++ b/migrations/7_add_token_indexes.coffee @@ -0,0 +1,43 @@ +Settings = require "settings-sharelatex" +fs = require("fs") +mongojs = require("mongojs") +ObjectId = mongojs.ObjectId +db = mongojs(Settings.mongo.url, ['docs','docHistory', 'docHistoryStats']) +_ = require("underscore") +async = require("async") +exec = require("child_process").exec +bson = require('bson') +BSON = new bson() + + +handleExit = () -> + console.log('Got signal. Shutting down.') + + +exports.migrate = (client, done=()->) -> + console.log ">> Adding indexes for token-based project access: " + db.projects.ensureIndex {'tokens.readAndWrite': 1}, { + partialFilterExpression: { 'tokens.readAndWrite': { $exists: true } }, + unique: true, + background: true + }, (err) -> + if err? + return done(err) + db.projects.ensureIndex {'tokens.readOnly': 1}, { + partialFilterExpression: { 'tokens.readOnly': { $exists: true } }, + unique: true, + background: true + }, (err) -> + if err? + return done(err) + console.log ">> done adding indexes for token-based project access" + done() + + +exports.rollback = (client, done) -> + done() + + +process.on 'SIGINT', handleExit +process.on 'SIGHUP', handleExit +