From 008d0528621ee9fcc18792b1ecdf66aabbfc6060 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 8 Nov 2017 09:59:08 +0000 Subject: [PATCH 1/3] add migration for token-based access indexes --- .../migrations/7_add_token_indexes.coffee | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 server-ce/migrations/7_add_token_indexes.coffee diff --git a/server-ce/migrations/7_add_token_indexes.coffee b/server-ce/migrations/7_add_token_indexes.coffee new file mode 100644 index 0000000000..6563b08a13 --- /dev/null +++ b/server-ce/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 + From efe09aa8859a47850501bdb29d125df0dc890cbd Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 8 Nov 2017 11:55:08 +0000 Subject: [PATCH 2/3] Add token-access-refs indexes --- server-ce/migrations/7_add_token_indexes.coffee | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/server-ce/migrations/7_add_token_indexes.coffee b/server-ce/migrations/7_add_token_indexes.coffee index 6563b08a13..2155363978 100644 --- a/server-ce/migrations/7_add_token_indexes.coffee +++ b/server-ce/migrations/7_add_token_indexes.coffee @@ -30,8 +30,16 @@ exports.migrate = (client, done=()->) -> }, (err) -> if err? return done(err) - console.log ">> done adding indexes for token-based project access" - done() + db.projects.ensureIndex {tokenAccessReadAndWrite_refs: 1}, { + background: true + }, (err) -> + if err? + return done(err) + db.projects.ensureIndex {tokenAccessOnly_refs: 1}, { + background: true + }, (err) -> + console.log ">> done adding indexes for token-based project access" + done() exports.rollback = (client, done) -> From 1d1bf4a541de41fa24f096cf185bb8325433a5e3 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 2 Aug 2018 10:10:19 +0100 Subject: [PATCH 3/3] Fix whitespace --- server-ce/migrations/7_add_token_indexes.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server-ce/migrations/7_add_token_indexes.coffee b/server-ce/migrations/7_add_token_indexes.coffee index 2155363978..867c209753 100644 --- a/server-ce/migrations/7_add_token_indexes.coffee +++ b/server-ce/migrations/7_add_token_indexes.coffee @@ -17,10 +17,10 @@ handleExit = () -> 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) -> + partialFilterExpression: { 'tokens.readAndWrite': { $exists: true } }, + unique: true, + background: true + }, (err) -> if err? return done(err) db.projects.ensureIndex {'tokens.readOnly': 1}, {