1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import * as debugStuff from 'debug'
- const debug = debugStuff.debug('dbApiServer')
- debug('Starting the dbApiServer')
- const express = require('express')
- debug(' - Loaded express')
- const bodyParser = require('body-parser')
- debug(' - Loaded bodyParser')
- const http = require('http')
- debug(' - Loaded http')
- // const oauthserver = require('oauth2-server')
- const mongoose = require('mongoose')
- mongoose.Promise = Promise
- debug(' - Loaded mongoose')
- /** Create the express app */
- const app = express()
- debug('Created app')
- /** Bind the http server to express */
- const server = http.createServer(app)
- debug('Created server')
- /** MongoDB middleware */
- const dbName = 'AutoMateDB'
- const connectionString = `mongodb://localhost:27017/${dbName}`
- /** Connect the middleware to the server */
- mongoose.connect(connectionString)
- debug('Connected DB')
- function welcomeRouter (req, res) {
- res.status(200)
- res.json({ message: 'Welcome to the MongoDB API!' })
- }
- function errorRouter (req, res) {
- res.status(404)
- res.send()
- }
- debug('Defined default routers')
- app.use(bodyParser.json())
- app.use(bodyParser.urlencoded({ extended: true }))
- /** Load the submodules */
- import RESTControllerVersioned from './core/RESTControllerVersioned'
- import RESTController from './core/RESTController'
- import { Model, Job } from './routeGenModel'
- const JobController = new RESTController(Job)
- const ModelController = new RESTControllerVersioned(Model, '_id', { jobs: JobController })
- const modelRouter = ModelController.route()
- app.get('/', welcomeRouter)
- app.use('/model', modelRouter)
- app.use(/.*/, errorRouter)
- debug('Configured app')
- const port = process.env.PORT || 4100
- server.listen(port)
- debug('Started server on port %s', port)
|