mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #570 from sharelatex/sk-unlisted-projects
add migration for token-based access indexes
This commit is contained in:
commit
5cb612f436
1 changed files with 51 additions and 0 deletions
51
server-ce/migrations/7_add_token_indexes.coffee
Normal file
51
server-ce/migrations/7_add_token_indexes.coffee
Normal file
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue