move database setup (mongodb) out of db route (http endpoint)

This commit is contained in:
Sébastien Moratinos 2014-02-04 21:30:05 +01:00
parent 319a8d3941
commit 23a07303e3
3 changed files with 26 additions and 26 deletions

View file

@ -0,0 +1,24 @@
config = require '../../server_config'
winston = require 'winston'
mongoose = require 'mongoose'
Grid = require 'gridfs-stream'
testing = '--unittest' in process.argv
module.exports.connect = () ->
if config.mongo.mongoose_replica_string
address = config.mongo.mongoose_replica_string
winston.info "Connecting to replica set: #{address}"
else
dbName = config.mongo.db
dbName += '_unittest' if testing
address = config.mongo.host + ":" + config.mongo.port
if config.mongo.username and config.mongo.password
address = config.mongo.username + ":" + config.mongo.password + "@" + address
# address = config.mongo.username + "@" + address # if connecting to production server
address = "mongodb://#{address}/#{dbName}"
winston.info "Connecting to standalone server #{address}"
mongoose.connect address
mongoose.connection.once 'open', ->
Grid.gfs = Grid(mongoose.connection.db, mongoose.mongo)

View file

@ -1,13 +1,6 @@
config = require '../../server_config'
winston = require 'winston'
mongoose = require 'mongoose'
Grid = require 'gridfs-stream'
async = require 'async'
errors = require '../commons/errors'
testing = '--unittest' in process.argv
handlers =
'article': '../../server/articles/article_handler'
'campaign': '../../server/campaigns/campaign_handler'
@ -37,24 +30,6 @@ schemas =
'thang_type': '../../server/levels/thangs/thang_type_schema'
'user': '../../server/users/user_schema'
module.exports.connectDatabase = () ->
if config.mongo.mongoose_replica_string
address = config.mongo.mongoose_replica_string
winston.info "Connecting to replica set: #{address}"
else
dbName = config.mongo.db
dbName += '_unittest' if testing
address = config.mongo.host + ":" + config.mongo.port
if config.mongo.username and config.mongo.password
address = config.mongo.username + ":" + config.mongo.password + "@" + address
# address = config.mongo.username + "@" + address # if connecting to production server
address = "mongodb://#{address}/#{dbName}"
winston.info "Connecting to standalone server #{address}"
mongoose.connect address
mongoose.connection.once 'open', ->
Grid.gfs = Grid(mongoose.connection.db, mongoose.mongo)
module.exports.setupRoutes = (app) ->
app.all '/db/*', (req, res) ->
res.setHeader('Content-Type', 'application/json')

View file

@ -4,6 +4,7 @@ passport = require 'passport'
useragent = require 'express-useragent'
fs = require 'graceful-fs'
database = require './server/commons/database'
auth = require './server/routes/auth'
db = require './server/routes/db'
file = require './server/routes/file'
@ -103,7 +104,7 @@ exports.setupLogging = ->
logging.setup()
exports.connectToDatabase = ->
db.connectDatabase()
database.connect()
exports.setupMailchimp = ->
mcapi = require 'mailchimp-api'