moving some boxes around
This commit is contained in:
+39
-11
@@ -6,7 +6,7 @@ const cors = require('cors');
|
||||
app.use(cors(), express.json());
|
||||
|
||||
const port = process.env.PORT || 5000;
|
||||
const MONGO_IP_ADDRESS = '192.168.1.2';
|
||||
const MONGO_IP_ADDRESS = '192.168.100.102';
|
||||
|
||||
mongoose.connect(`mongodb://${MONGO_IP_ADDRESS}/storage`, {useNewUrlParser: true});
|
||||
const db = mongoose.connection;
|
||||
@@ -21,16 +21,11 @@ db.once('open', function() {
|
||||
|
||||
/*------------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],
|
||||
item: [mongoose.Schema.Types.Mixed],
|
||||
});
|
||||
|
||||
//compile schema into model
|
||||
@@ -46,7 +41,7 @@ app.get('/box', async (request, response) => {
|
||||
response.send(boxes);
|
||||
});
|
||||
|
||||
// create new box
|
||||
// create box
|
||||
app.post('/box', async (request, response) => {
|
||||
Box.create(request.body, (error, document) => {
|
||||
if(error) return request.next(error);
|
||||
@@ -58,19 +53,52 @@ app.post('/box', async (request, response) => {
|
||||
|
||||
//delete box
|
||||
app.delete('/box/:id', async (request, response) => {
|
||||
Box.deleteOne({_id: request.params.id}, (error, document) => {
|
||||
await Box.deleteOne({_id: request.params.id}, (error, document) => {
|
||||
if(error)return null;
|
||||
return document;
|
||||
});
|
||||
const updatedBoxes = await getAllBoxes();
|
||||
response.send(updatedBoxes);
|
||||
})
|
||||
});
|
||||
|
||||
//create item
|
||||
app.post('/box/:id/item', async (request, response) => {
|
||||
const id = request.params.id;
|
||||
const query = {_id: id};
|
||||
const box = Box.updateOne(query,{
|
||||
$push: { item: request.body }
|
||||
}, (error, document) => {
|
||||
if(error)return null;
|
||||
return document;
|
||||
});
|
||||
const updatedBox = await getBox(id);
|
||||
response.send(updatedBox);
|
||||
});
|
||||
|
||||
//delete item //THIS IS NOT WORKING
|
||||
app.delete('/item/:id', async (request, response) => {
|
||||
Item.deleteOne({_id: request.params.id}, (error, document) => {
|
||||
if(error)return null;
|
||||
return document;
|
||||
});
|
||||
const updatedBoxes = await getAllBoxes();
|
||||
response.send(updatedBoxes);
|
||||
});
|
||||
|
||||
|
||||
/*------------/CONTROLLER------------*/
|
||||
|
||||
const getAllBoxes = async (queryParameters) => {
|
||||
queryParameters = queryParameters ?? {};
|
||||
const data = Box.find(queryParameters, (error, document) => {
|
||||
const data = await Box.find(queryParameters, (error, document) => {
|
||||
if(error) return null;
|
||||
return document;
|
||||
});
|
||||
return data;
|
||||
}
|
||||
|
||||
const getBox = async (id) => {
|
||||
const data = await Box.findById(id, (error, document) => {
|
||||
if(error) return null;
|
||||
return document;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user