Skip to content

Commit

Permalink
Merge pull request Ayesiza#8 from Ayesiza/ft-updateStock-172690897
Browse files Browse the repository at this point in the history
#172690897:Ft update stock
  • Loading branch information
Ayesiza authored May 19, 2020
2 parents 35284d4 + a0c8cbd commit 2c4674e
Show file tree
Hide file tree
Showing 19 changed files with 258 additions and 123 deletions.
9 changes: 0 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,2 @@
.env
node_modules









29 changes: 9 additions & 20 deletions config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,19 @@ dotenv.config();

mongoose.connect(process.env.MONGODB_URL, {
useNewUrlParser: true ,
useUnifiedTopology: true
useUnifiedTopology: true,
useFindAndModify:false
})

const db = mongoose.connection;
const db = mongoose.connection
.then(()=>{
console.log("Connection Successful... !");
})
.catch(err =>{
console.log("Connection error!",err);
})

db.once("open", () => {
console.log("Connection Successful... !");
});

db.on("error", (err) => {
console.log(err);
});



module.exports = db;











44 changes: 44 additions & 0 deletions controllers/categoryController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@

const Category = require("../models/categories");
const { Schema } = require('mongoose');



module.exports = {
addCategory:(req, res) => {

const {categoryName , description} = req.body
const newCategory = new Category({categoryName , description})
newCategory.save()
.then((category) =>{
if(category) {
return res.status(201).json({message:'add Category', newCategory})
}
})
.catch((error) =>{
console.log(error)
});

},

allCategory:(req, res)=> {
Category.find({}).then((category)=> {
if(category) {
return res.status(200).json({category});
}else{
return res.status(400).json({ message: "No category found" });
}
});
},

specificCategory:(req,res) =>{
Category.findById(req.params.id).then((category)=>{
if(category){res.json({status:200, message:'category Found',category})

}else{
return res.status(404).json({status:404, message:'Category of specific id not found'})
}
})
},

};
61 changes: 61 additions & 0 deletions controllers/inventoryControllers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
const Inventory = require("../models/inventory");
const Category = require("../models/categories");
const Item = require("../models/items");
const db = require("../config");
const { Schema } = require('mongoose');



module.exports = {
addStock:(req, res) => {

const { item,quantity,categoryName } = req.body
const newStock = new Inventory({item,quantity,categoryName})
newStock.save()
.then((inventory) =>{
if(inventory) {
return res.status(201).json({message:'New stock added', newStock})
}
})
.catch((error) =>{
console.log(error)
});

},



getEntireStock:(req, res)=> {
Inventory.find({}).then((inventory)=> {
if(inventory) {
return res.status(200).json({inventory});
}else{
return res.status(400).json({ message: "No Inventory found" });
}
});

},

deleteStock:(req, res) =>{
Inventory.findByIdAndDelete(req.params.id).then((inventory) => {
if(inventory){
return res.status(200).json({message:'Inventory deleted'})
}else{
return res.status(404).json({message:'inventory of given ID not found'})
}

})
},
updateInventory:(req, res) =>{
Inventory.findByIdAndUpdate (req.params.id,req.body,{new:true}).then((inventory)=>{
if(inventory){
return res.status(200).json({message:'Inventory updated',inventory})
}else{
return res.status(404).json({message:'inventory of given ID not found'})
}

})

}

};
Empty file removed controllers/itemController.js
Empty file.
25 changes: 25 additions & 0 deletions controllers/itemControllers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const Inventory = require("../models/inventory");
const Category = require("../models/categories");
const Item = require("../models/items");
const db = require("../config");
const { Schema } = require('mongoose');



module.exports = {
addItems:(req, res) => {
const { itemName, categoryName, price, availability, description,imageUrl} = req.body
const newItem = new Item({itemName,categoryName, price, availability, description,imageUrl})
newItem.save()
.then((item) =>{
if(item) {
return res.status(201).json({message:'new stock', newItem})
}
})
.catch((error) =>{
console.log(error)
});
} ,

};

10 changes: 0 additions & 10 deletions controllers/userControllers.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,3 @@ loginUser:(req, res) => {

};











23 changes: 0 additions & 23 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,31 +24,8 @@ app.use((error, req, res, next) => {




const port = 3000;

app.listen(port, () => {
console.log(`listening on port ${port}`);
});






















15 changes: 1 addition & 14 deletions middlewares/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,4 @@ module.exports = {


};















14 changes: 0 additions & 14 deletions middlewares/validations.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,3 @@ module.exports = {
}
};















2 changes: 0 additions & 2 deletions models/categories.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,3 @@ const Category = mongoose.model("category", categorySchema);


module.exports = Category;


8 changes: 8 additions & 0 deletions models/inventory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const mongoose = require("mongoose");
const inventorySchema = require("./schemas/inventorySchema");

const Inventory = mongoose.model("inventory", inventorySchema);



module.exports = Inventory;
8 changes: 8 additions & 0 deletions models/items.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const mongoose = require("mongoose");
const itemsSchema =require("./schemas/itemsSchema");

const Item = mongoose.model("items", itemsSchema);



module.exports = Item;
21 changes: 21 additions & 0 deletions models/schemas/categorySchema.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const { Schema } =require('mongoose');

const categorySchema = new Schema({
categoryName:{
type:String,
required:true
},
description:{
type:String,
required:true
},

inventory:[
{type: Schema.Types.ObjectId, ref: 'inventory'}
]

});


module. exports = categorySchema;

31 changes: 31 additions & 0 deletions models/schemas/inventorySchema.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const { Schema } = require('mongoose');

const inventorySchema = new Schema({
item:{
type:String,
required:true
},
quantity:{
type:Number,
required:true

},

categoryName:{
type:String,
required:true

},


category:
[
{type: Schema.Types.ObjectId, ref: 'category'}
]


});



module.exports = inventorySchema;
34 changes: 34 additions & 0 deletions models/schemas/itemsSchema.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
const { Schema } = require('mongoose');

const itemsSchema = new Schema({
itemName:{
type:String,
required:true
},
categoryName:{
type:String,
required:true
},
price:{
type:Number,
required:true
},
availability:{
type:Boolean,
required:true
},
description:{
type:String,
required:true
},
imageUrl:{
type:String,
required:true
},
inventory: [{type:Schema.Types.ObjectId,ref: 'inventory'}],
category: [{type:Schema.Types.ObjectId,ref: 'category'}]
});



module.exports = itemsSchema;
10 changes: 0 additions & 10 deletions models/schemas/usersSchema.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,3 @@ lastName:{
});

module.exports = usersSchema;










Loading

0 comments on commit 2c4674e

Please sign in to comment.