60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
const express = require('express');
|
|
const cors = require('cors')
|
|
|
|
const mongoose = require('mongoose');
|
|
|
|
const app = express();
|
|
app.use(cors());
|
|
|
|
const port = process.env.PORT || 5000;
|
|
const MONGO_IP_ADDRESS = '192.168.1.2';
|
|
|
|
mongoose.connect(`mongodb://${MONGO_IP_ADDRESS}/storage`, {useNewUrlParser: true});
|
|
const db = mongoose.connection;
|
|
|
|
db.on('error', console.error.bind(console, 'connection error:'));
|
|
db.once('open', function() {
|
|
console.log(`connected to mongodb: ${MONGO_IP_ADDRESS}`);
|
|
// we're connected!
|
|
});
|
|
|
|
|
|
|
|
|
|
/*------------MODELS------------*/
|
|
//create schema
|
|
var itemSchema = new mongoose.Schema({
|
|
name: String,
|
|
quantity: Number,
|
|
description: String,
|
|
});
|
|
var boxSchema = new mongoose.Schema({
|
|
id: String,
|
|
name: String,
|
|
description: String,
|
|
item: [itemSchema],
|
|
});
|
|
//compile schema into model
|
|
var Box = mongoose.model('box', boxSchema, 'box');
|
|
/*------------MODELS------------*/
|
|
|
|
/*------------CONTROLLER------------*/
|
|
app.listen(port, () => console.log(`Listening on port ${port}`));
|
|
|
|
// get all boxes
|
|
app.get('/box', async (req, res) => {
|
|
const query = Box.find({});
|
|
const data = await query.exec();
|
|
console.log(data);
|
|
res.send(data);
|
|
});
|
|
// create new box
|
|
app.post('/box', async (req, res) => {
|
|
console.log(req);
|
|
const query = Box.create();
|
|
const data = await query.exec();
|
|
console.log(data);
|
|
res.send(data);
|
|
});
|
|
|
|
/*------------CONTROLLER------------*/ |