diff options
| author | ivanshen <iwshen11@gmail.com> | 2019-02-26 03:08:08 +0000 |
|---|---|---|
| committer | ivanshen <iwshen11@gmail.com> | 2019-02-26 03:08:08 +0000 |
| commit | 5189458c68f326ba01d803ac515ab222c211cc8f (patch) | |
| tree | 435473140b2c7ec8c5af592678d3afaf73245211 | |
| parent | a844d93b5dd799b202ef476fa151bea5bd125456 (diff) | |
feat-19: add route to insert mobile request to database
| -rw-r--r-- | web/app.js | 24 | ||||
| -rw-r--r-- | web/routes/index.js | 52 |
2 files changed, 50 insertions, 26 deletions
@@ -3,6 +3,7 @@ var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); +var mongoose = require('mongoose'); var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); @@ -19,6 +20,29 @@ app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); +var env = process.env.NODE_ENV || 'development'; +var uri; +if (env === 'development') { + uri = 'mongodb://localhost:27017/helpthehome' + // use for small testing only if really necessary + // uri = 'mongodb+srv://development:dreamteam@cluster0-krnr4.mongodb.net/helpthehome?retryWrites=true' +} else if (env === 'qa') { + uri = process.env.MONGODB_URI +} else if (env === 'production') { + uri = '' +} + +// Mongoose connection to MongoDB +mongoose.connect(uri, { useNewUrlParser: true }, function (error) { + if (error) { + console.log(error); + console.log("App was not able to connect to the mongo server!"); + console.log("... double check that the mongo server is running locally"); + } else { + console.log(`connected to ${uri}`); + } +}); + app.use('/', indexRouter); app.use('/users', usersRouter); diff --git a/web/routes/index.js b/web/routes/index.js index ffe1c21..6c87660 100644 --- a/web/routes/index.js +++ b/web/routes/index.js @@ -1,38 +1,18 @@ var express = require('express'); var router = express.Router(); - // Mongoose import var mongoose = require('mongoose'); - -var env = process.env.NODE_ENV || 'development'; -var uri; -if (env === 'development') { - uri = 'mongodb://localhost:27017/helpthehome' - // use for small testing only if really necessary - // uri = 'mongodb+srv://development:dreamteam@cluster0-krnr4.mongodb.net/helpthehome?retryWrites=true' -} else if (env === 'qa') { - uri = process.env.MONGODB_URI -} else if (env === 'production') { - uri = '' -} - -// Mongoose connection to MongoDB -mongoose.connect(uri, { useNewUrlParser: true }, function (error) { - if (error) { - console.log(error); - console.log("App was not able to connect to the mongo server!"); - console.log("... double check that the mongo server is running locally"); - } else { - console.log(`connected to ${uri}`); - } -}); - // Mongoose Schema definition var Schema = mongoose.Schema; + var JsonSchema = new Schema({ name: String, type: Schema.Types.Mixed, - coordinates: Array + coordinates: Array, + ageRange: String, + clothingDescription: String, + isInjured: Boolean, + reasonForHelp: String }); // Mongoose Model definition @@ -58,4 +38,24 @@ router.get('/map', function(req,res) { }); }); +router.post('/mobilerequest', function(req, res) { + var data = { + 'coordinates': req.body.coordinates, + 'type': req.body.type, + 'isInjured': req.body.isInjured, + 'reasonForHelp': req.body.reasonForHelp, + 'ageRange': req.body.ageRange, + 'clothingDescription': req.body.clothingDescription + } + Json.create(data, function(err, result) { + if (err) { + console.log(`err inserting mobile request into db: ${err}`); + res.status(500).send({ error: "boo:(" }); + } else { + console.log(result); + res.status(200).send({'status': 'success', 'data': data}); + } + }); +}); + module.exports = router; |
