Răsfoiți Sursa

Merge pull request #570 from sharelatex/sk-unlisted-projects

add migration for token-based access indexes
Shane Kilkelly 8 ani în urmă
părinte
comite
5cb612f436
1 a modificat fișierele cu 51 adăugiri și 0 ștergeri
  1. 51 0
      server-ce/migrations/7_add_token_indexes.coffee

+ 51 - 0
server-ce/migrations/7_add_token_indexes.coffee

@@ -0,0 +1,51 @@
+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)
+			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) ->
+	done()
+
+
+process.on 'SIGINT', handleExit
+process.on 'SIGHUP', handleExit
+