moving some boxes around

This commit is contained in:
np.w
2020-11-20 17:56:36 -06:00
parent bd4c259f99
commit 29a07f785f
6 changed files with 176 additions and 46 deletions
+39 -11
View File
@@ -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;
});