Advertisement
Fahim_7861

Untitled

Jun 19th, 2021
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. const exporess = require("express");
  2.  
  3. const router = exporess.Router();
  4.  
  5. const mongoose = require("mongoose");
  6. const { shuffle } = require("../helpers/utilities");
  7.  
  8. const categorySchema = require("../Schemas/categorySchema");
  9.  
  10. const Category = new mongoose.model("Category", categorySchema);
  11.  
  12. const productSchema = require("../Schemas/productSchema");
  13.  
  14. const Product = new mongoose.model("Product", productSchema);
  15.  
  16.  
  17.  
  18.  
  19. router.post("/add", async (req, res) => {
  20. try {
  21. const file = req.files.file;
  22.  
  23. await file.mv(
  24. `${__dirname.replace("routeHandler", "")}images/${file.name}`
  25. );
  26.  
  27. req.body.pic = file.name;
  28.  
  29. const newCategory = new Category(req.body);
  30.  
  31. newCategory.save((err) => {
  32. if (err)
  33. return res.status(500).json({
  34. insertCount: false,
  35. error: "There was a server site error",
  36. });
  37. else {
  38. return res.status(200).json({
  39. insertCount: true,
  40. message: "Successfully Inserted",
  41. });
  42. }
  43. });
  44. } catch (e) {
  45. res.status(500).json({
  46. insertCount: false,
  47. error: "There was a server site error",
  48. });
  49. }
  50. });
  51.  
  52. router.get("/", async (req, res) => {
  53. // Category.find({})
  54. // .populate('products')
  55. // .exec((err,data)=>
  56. // {
  57. // if(err) {
  58.  
  59. // res.status(500).json({
  60.  
  61. // dataRead : false,
  62.  
  63. // error: 'There was a server site error',
  64. // })
  65. // }
  66. // else{
  67.  
  68. // res.status(200).json({
  69.  
  70. // dataRead : true,
  71.  
  72. // result : data,
  73.  
  74. // message: "Successfully Read",
  75. // })
  76.  
  77. // }
  78. // })
  79.  
  80.  
  81.  
  82. try {
  83. const data = await Category.find({}).populate("products");
  84.  
  85. const allProduct = await Product.find({});
  86.  
  87. console.log(allProduct.length);
  88.  
  89. const reverseProduct = allProduct.reverse();
  90.  
  91. const newlyAddedProduct = reverseProduct.slice(0,6);
  92.  
  93.  
  94.  
  95. const randomSuffle = shuffle(allProduct);
  96.  
  97. const randomProduct = randomSuffle.slice(0,15);
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. res.status(200).json({
  107. dataRead: true,
  108.  
  109.  
  110. result: {
  111. category : data,
  112.  
  113. randomProduct : randomProduct,
  114.  
  115. newlyAddedProduct : newlyAddedProduct,
  116. },
  117.  
  118.  
  119.  
  120. message: "Successfully Read",
  121. });
  122. } catch (err) {
  123. res.status(500).json({
  124. dataRead: false,
  125.  
  126. msg : err,
  127.  
  128. error: "There was a server site error",
  129. });
  130. }
  131. });
  132.  
  133. router.get("/:id", (req, res) => {
  134. Category.find({ _id: req.params.id })
  135. .populate("products")
  136. .exec((err, data) => {
  137. if (err) {
  138. res.status(500).json({
  139. dataRead: false,
  140.  
  141. error: "There was a server site error",
  142. });
  143. } else {
  144. res.status(200).json({
  145. dataRead: true,
  146.  
  147. result: data,
  148.  
  149. message: "Successfully Read",
  150. });
  151. }
  152. });
  153. });
  154.  
  155. router.put("/:id", (req, res) => {
  156. Category.findByIdAndUpdate(
  157. {
  158. _id: req.params.id,
  159. },
  160. {
  161. $set: {
  162. pic: req.body.pic,
  163. },
  164. },
  165. {
  166. new: true,
  167. useFindAndModify: false,
  168. },
  169. (err, data) => {
  170. if (err) {
  171. res.status(500).json({
  172. error: "There was a server side error!",
  173. updateCount: false,
  174. });
  175. } else {
  176. res.status(200).json({
  177. message: "Category was updated successfully!",
  178. result: data,
  179. updateCount: true,
  180. });
  181. }
  182. }
  183. );
  184. });
  185.  
  186. module.exports = router;
  187.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement