Server: put config in constants
[oweals/peertube.git] / server / initializers / database.js
1 'use strict'
2
3 const mongoose = require('mongoose')
4
5 const constants = require('../initializers/constants')
6 const logger = require('../helpers/logger')
7
8 // Bootstrap models
9 require('../models/user')
10 require('../models/oauth-client')
11 require('../models/oauth-token')
12 require('../models/pods')
13 require('../models/video')
14 // Request model needs Video model
15 require('../models/request')
16
17 const database = {
18   connect: connect
19 }
20
21 function connect () {
22   mongoose.Promise = global.Promise
23   mongoose.connect('mongodb://' + constants.CONFIG.DATABASE.HOST + ':' + constants.CONFIG.DATABASE.PORT + '/' + constants.CONFIG.DATABASE.DBNAME)
24   mongoose.connection.on('error', function () {
25     throw new Error('Mongodb connection error.')
26   })
27
28   mongoose.connection.on('open', function () {
29     logger.info('Connected to mongodb.')
30   })
31 }
32
33 // ---------------------------------------------------------------------------
34
35 module.exports = database