diff --git a/public/controllers/controller-messages.js b/public/controllers/controller-messages.js new file mode 100644 index 0000000..46ad9ed --- /dev/null +++ b/public/controllers/controller-messages.js @@ -0,0 +1,27 @@ +let MessageModel = require('../models/model-messages') +let ObjectID = require('mongodb').ObjectID + +exports.list = ( req, res )=> { + MessageModel.find((err, messages)=>{ + if(err) return console.log(err) + return res.json(messages) + }) +} + +exports.show = ( req, res )=> { + let messagesId = ObjectId(request.params.id) + MessageModel.findById(messagesId, function(err, messages) { + if (err) return console.error(err) + return res.json(messages) + }) + +} + +exports.create =( req, res)=> { + let body = req.body; + let message = new Message( { name: body.name, date: body.date, message: body.message} ) + message.save(function (err, message) { + if (err) return console.error(err); + }); + return res.json(body); +} \ No newline at end of file diff --git a/public/controllers/controller-orders.js b/public/controllers/controller-orders.js new file mode 100644 index 0000000..893fd0b --- /dev/null +++ b/public/controllers/controller-orders.js @@ -0,0 +1,27 @@ +let OrderModel = require('../models/model-orders') +let ObjectID = require('mongodb').ObjectID + +exports.list = ( req, res )=> { + OrderModel.find((err, orders)=>{ + if(err) return console.log(err) + return res.json(orders) + }) +} + +exports.show = ( req, res )=> { + let ordersId = ObjectId(request.params.id) + OrderModel.findById(ordersId, function(err, orders) { + if (err) return console.error(err) + return res.json(orders) + }) + +} + +exports.create =( req, res)=> { + let body = req.body; + let order = new Order( { orderDate: body.orderDate, orderTime: body.orderTime, amount: body.amount} ) + order.save(function (err, order) { + if (err) return console.error(err); + }); + return res.json(body); +} \ No newline at end of file diff --git a/public/controllers/controller-tasks.js b/public/controllers/controller-tasks.js new file mode 100644 index 0000000..41aa004 --- /dev/null +++ b/public/controllers/controller-tasks.js @@ -0,0 +1,27 @@ +let TasksModel = require('../models/model-tasks') +let ObjectID = require('mongodb').ObjectID + +exports.list = ( req, res )=> { + TasksModel.find((err, tasks)=>{ + if(err) return console.log(err) + return res.json(tasks) + }) +} + +exports.show = ( req, res )=> { + let tasksID = ObjectId(request.params.id) + TasksModel.findById(tasksID, function(err, tasks) { + if (err) return console.error(err) + return res.json(tasks) + }) + +} + +exports.create =( req, res)=> { + let body = req.body; + let task = new Task( { task: body.task, date: body.date } ) + task.save(function (err, task) { + if (err) return console.error(err); + }); + return res.json(body); +} \ No newline at end of file diff --git a/public/models/model-messages.js b/public/models/model-messages.js new file mode 100644 index 0000000..76f3b5b --- /dev/null +++ b/public/models/model-messages.js @@ -0,0 +1,15 @@ +let mongoose = require('mongoose') + +let messageSchema = new mongoose.Schema({ + name: String, + date: String, + message: String +}) + +Message = mongoose.model('Message', messageSchema) + +//Mass Upload +// let state = require('../../server/state').messages +// Message.insertMany(state, function(err, docs){}) + +module.exports = Message \ No newline at end of file diff --git a/public/models/model-orders.js b/public/models/model-orders.js new file mode 100644 index 0000000..474abc2 --- /dev/null +++ b/public/models/model-orders.js @@ -0,0 +1,15 @@ +let mongoose = require('mongoose') + +let orderSchema = new mongoose.Schema({ + orderDate: String, + orderTime: String, + amount: String +}) + +Order = mongoose.model('Order', orderSchema) + +//Mass Upload +// let state = require('../../server/state').orders +// Order.insertMany(state, function(err, docs){}) + +module.exports = Order \ No newline at end of file diff --git a/public/models/model-tasks.js b/public/models/model-tasks.js new file mode 100644 index 0000000..0f6994d --- /dev/null +++ b/public/models/model-tasks.js @@ -0,0 +1,15 @@ + +let mongoose = require('mongoose') + +let taskSchema = new mongoose.Schema({ + task: String, + date: String +}) + +Task = mongoose.model('Task', taskSchema) + +//Mass Upload +// let state = require('../../server/state').tasks +// Task.insertMany(state, function(err, docs){}) + +module.exports = Task \ No newline at end of file diff --git a/public/routes/route-fox.js b/public/routes/route-fox.js new file mode 100644 index 0000000..083b1c1 --- /dev/null +++ b/public/routes/route-fox.js @@ -0,0 +1,13 @@ +const express = require('express'); +const router = express.Router(); +const fetch = require('node-fetch') + +list = function list(req, res){ + fetch('https://randomfox.ca/floof/') + .then(res=>res.json()) + .then((json)=>{return res.json(json.image)}) +} + +router.get('/foxes', list); + +module.exports = router; \ No newline at end of file diff --git a/public/routes/route-messages.js b/public/routes/route-messages.js new file mode 100644 index 0000000..4d3ed72 --- /dev/null +++ b/public/routes/route-messages.js @@ -0,0 +1,10 @@ +const express = require('express'); +const router = express.Router(); +const { list, show, create} = require('../controllers/controller-messages'); + + +router.get('/messages', list); +router.get('/messages/:id', show); +router.post('/messages', create); + +module.exports = router; \ No newline at end of file diff --git a/public/routes/route-orders.js b/public/routes/route-orders.js new file mode 100644 index 0000000..3bac25a --- /dev/null +++ b/public/routes/route-orders.js @@ -0,0 +1,10 @@ +const express = require('express'); +const router = express.Router(); +const { list, show, create} = require('../controllers/controller-orders'); + + +router.get('/orders', list); +router.get('/orders/:id', show); +router.post('/orders', create); + +module.exports = router; \ No newline at end of file diff --git a/public/routes/route-tasks.js b/public/routes/route-tasks.js new file mode 100644 index 0000000..1ee03ff --- /dev/null +++ b/public/routes/route-tasks.js @@ -0,0 +1,10 @@ +const express = require('express'); +const router = express.Router(); +const { list, show, create} = require('../controllers/controller-tasks'); + + +router.get('/tasks', list); +router.get('/tasks/:id', show); +router.post('/tasks', create); + +module.exports = router; \ No newline at end of file diff --git a/server/index.js b/server/index.js index e69de29..2b6917a 100644 --- a/server/index.js +++ b/server/index.js @@ -0,0 +1,39 @@ +const express = require('express') +const app = express() +const bodyparser = require('body-parser') +const mongoose = require('mongoose') +let state = require('./state') + +mongoose.connect('mongodb://cbetori:betori12@database-cb-shard-00-00-nio9a.gcp.mongodb.net:27017,database-cb-shard-00-01-nio9a.gcp.mongodb.net:27017,database-cb-shard-00-02-nio9a.gcp.mongodb.net:27017/checkpoint-1?ssl=true&replicaSet=database-cb-shard-0&authSource=admin&retryWrites=true',{useNewUrlParser: true}) + +const messagesRoute = require('../public/routes/route-messages') +const ordersRoute = require('../public/routes/route-orders') +const tasksRoute = require('../public/routes/route-tasks') +const foxRoute = require('../public/routes/route-fox') + +app.use(bodyparser.json(), messagesRoute, ordersRoute, tasksRoute, foxRoute) +app.use(express.static('public')) + +app.get("/dateTime", (req, res) => { + let currentDate = new Date().toLocaleString() + res.send(currentDate) +}) +app.get("/newComments", (req, res) => { + res.send(JSON.stringify(state.newComments)) +}) +app.get("/newTasks", (req, res) => { + res.send(JSON.stringify(state.newTasks)) +}) +app.get("/newOrders", (req, res) => { + res.send(JSON.stringify(state.newOrders)) +}) +app.get("/tickets", (req, res) => { + res.send(JSON.stringify(state.tickets)) +}) +app.get("/taskItem", (req, res) => { + res.send(JSON.stringify(state.taskItem)) +}) + + + +app.listen(3001) \ No newline at end of file diff --git a/server/state.js b/server/state.js index 3830493..03df482 100644 --- a/server/state.js +++ b/server/state.js @@ -1,4 +1,4 @@ -export default { +module.exports = { dateTime: "Yesterday at 4:32 PM", newComments: 23, newTasks: 12,