Mercurial > hg > release > thermostat-1.4
view distribution/libs/create-user.js @ 1804:f57cc3785d25
Wrap create-user.js expressions in try/catch.
Reviewed-by: omajid, neugens
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2015-September/016226.html
PR2638
author | Severin Gehwolf <sgehwolf@redhat.com> |
---|---|
date | Fri, 18 Sep 2015 15:19:05 +0200 |
parents | 2c681fdcfd33 |
children |
line wrap: on
line source
db = db.getSiblingDB("thermostat") var v = db.version() var majorVersion = v.substring(0, v.indexOf('.')) var minorMicro = v.substr(v.indexOf('.') + 1) var minorVersion = minorMicro.substr(0, minorMicro.indexOf('.')) try { if ( majorVersion < 2 || ( majorVersion == 2 && minorVersion <= 2 ) ) { // mongodb version 2.2 and below don't have the third argument. // this should create the user as read + write. db.addUser("$USERNAME","$PASSWORD") } else if ( majorVersion == 2 && minorVersion <= 4 ) { db.addUser({ user: "$USERNAME", pwd: "$PASSWORD", roles: [ "readWrite" ] }) } else if ( majorVersion == 2 ) { db.createUser({ user: "$USERNAME", pwd: "$PASSWORD", roles: [ "readWrite" ] }) } else if ( majorVersion == 3 ) { db = db.getSiblingDB("admin") db.createUser({ user: "thermostat-admin", pwd: "$PASSWORD", roles: [ "dbOwner", "userAdminAnyDatabase" ] }) db.auth("thermostat-admin", "$PASSWORD") db = db.getSiblingDB("thermostat") db.createUser({ user: "$USERNAME", pwd: "$PASSWORD", roles: [ "readWrite" ] }) } else { throw "Unknown mongo version: " + v } // Exit with a success return code. quit(0) } catch (e) { print(e) // Be sure to leave the script with a non-zero code quit(1) }