From a6a8dccd479e0695c09a533a38fb9963aacf783a Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 14 Jun 2024 09:05:48 +0500 Subject: [PATCH 01/19] First one for demo --- .github/workflows/pr-review.yml | 34 +++++++-------------------------- mern-ecommerce/routes/auth.js | 1 + 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/.github/workflows/pr-review.yml b/.github/workflows/pr-review.yml index 218082c..bffa191 100644 --- a/.github/workflows/pr-review.yml +++ b/.github/workflows/pr-review.yml @@ -13,32 +13,10 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Cache Docker layers - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-docker-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-docker- - + - name: Pull Docker image - run: | - docker buildx create --use - docker pull arshikjaved/pr-review:v1.0 || true - docker buildx build --cache-from=type=local,src=/tmp/.buildx-cache \ - --cache-to=type=local,dest=/tmp/.buildx-cache-new \ - -t arshikjaved/pr-review:v1.0 . - - - name: Update Docker cache - if: success() - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - + run: docker pull arshikjaved/pr-review:v1.0 + - name: Set script name id: script_name run: | @@ -59,7 +37,7 @@ jobs: LINE_NUMBER: ${{ github.event.comment.line }} REPOSITORY_OWNER: ${{ github.repository_owner }} REPOSITORY_NAME: ${{ github.event.repository.name }} - SCRIPT: ${{ steps.script_name.outputs.script }} + SCRIPT: ${{ github.event_name == 'pull_request' && 'generate_response.py' || 'reply_thread.py' }} COMMIT_SHA: ${{ github.event.pull_request.head.sha }} PR_NUMBER: ${{ github.event.pull_request.number }} @@ -68,4 +46,6 @@ jobs: docker run --rm -e OWNER='${{env.REPOSITORY_OWNER}}' -e REPO_NAME='${{env.REPOSITORY_NAME}}' -e COMMIT_SHA="${{ github.event.pull_request.head.sha }}" -e PR_NUMBER="${{ github.event.pull_request.number }}" -e ACTION="${{env.ACTION}}" -e EVENT_NAME="${{ env.EVENT_NAME }}" arshikjaved/pr-review:v1.0 sh -c "python /app/generate_response.py --owner '${{env.REPOSITORY_OWNER}}' --repo-name '${{env.REPOSITORY_NAME}}' --commit-sha '${{ env.COMMIT_SHA }}' --pr-number '${{ env.PR_NUMBER }}' --event-name '${{ env.EVENT_NAME }}' --action '${{ env.ACTION }}'" else docker run --rm -e OWNER='${{env.REPOSITORY_OWNER}}' -e REPO_NAME='${{env.REPOSITORY_NAME}}' -e COMMIT_SHA="${{ github.event.pull_request.head.sha }}" -e PR_NUMBER="${{ github.event.pull_request.number }}" -e EVENT_NAME="${{ env.EVENT_NAME }}" arshikjaved/pr-review:v1.0 sh -c "python /app/reply_thread.py --owner '${{env.REPOSITORY_OWNER}}' --repo-name '${{env.REPOSITORY_NAME}}' --commit-sha '${{ env.COMMIT_SHA }}' --pr-number '${{ env.PR_NUMBER }}' --event-name '${{ env.EVENT_NAME }}' --comment-body '${{ env.COMMENT_BODY }}' --comment-id '${{ env.COMMENT_ID }}' --file-path '${{ env.FILE_PATH }}' --line-number '${{ env.LINE_NUMBER }}'" - fi + fi + + \ No newline at end of file diff --git a/mern-ecommerce/routes/auth.js b/mern-ecommerce/routes/auth.js index ac167a8..d1430f0 100644 --- a/mern-ecommerce/routes/auth.js +++ b/mern-ecommerce/routes/auth.js @@ -12,5 +12,6 @@ const { userSignupValidator } = require('../validator'); router.post('/signup', userSignupValidator, signup); router.post('/signin', signin); router.get('/signout', signout); +router.get("/forget-password", forgetPassword); module.exports = router; From a1024abbee1725390fd98f71e78f6e282df460da Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 14 Jun 2024 09:13:15 +0500 Subject: [PATCH 02/19] First one for demo --- mern-ecommerce/routes/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/routes/auth.js b/mern-ecommerce/routes/auth.js index d1430f0..2257bce 100644 --- a/mern-ecommerce/routes/auth.js +++ b/mern-ecommerce/routes/auth.js @@ -11,7 +11,7 @@ const { userSignupValidator } = require('../validator'); router.post('/signup', userSignupValidator, signup); router.post('/signin', signin); -router.get('/signout', signout); +router.get('/signout', signouts); router.get("/forget-password", forgetPassword); module.exports = router; From 8d629309f04aa9e2de37a422c84a8378a09f9136 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 14 Jun 2024 09:18:19 +0500 Subject: [PATCH 03/19] First one for demo --- mern-ecommerce/server.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mern-ecommerce/server.js b/mern-ecommerce/server.js index bcdbbdd..ecd3efc 100644 --- a/mern-ecommerce/server.js +++ b/mern-ecommerce/server.js @@ -25,7 +25,7 @@ const connectDB = async () => { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, - useFindAndModify: false, + useFindAndModiify: false, }); console.log("MongoDB Connected"); } catch (err) { @@ -34,7 +34,7 @@ const connectDB = async () => { process.exit(1); } }; -connectDB(); +connectdb(); // middlewares app.use(morgan("dev")); @@ -44,7 +44,7 @@ app.use(expressValidator()); app.use(cors()); // routes middleware -app.use("/api", authRoutes); +app.use("/api", authRoutess); app.use("/api", userRoutes); app.use("/api", categoryRoutes); app.use("/api", productRoutes); From f11454180ddfc79c694473c817c1af7ae989ae56 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 14 Jun 2024 09:43:56 +0500 Subject: [PATCH 04/19] First one for demo --- mern-ecommerce/models/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/models/user.js b/mern-ecommerce/models/user.js index b8360da..6ac66e4 100644 --- a/mern-ecommerce/models/user.js +++ b/mern-ecommerce/models/user.js @@ -8,7 +8,7 @@ const userSchema = new mongoose.Schema( type: String, trim: true, required: true, - maxlength: 32, + maxlength: 3, }, email: { type: String, From 500351399c9da75cb717413ad5ee65b508a39281 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 14 Jun 2024 09:48:36 +0500 Subject: [PATCH 05/19] First one for demo --- mern-ecommerce/models/product.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/models/product.js b/mern-ecommerce/models/product.js index 310211f..cdf0c20 100644 --- a/mern-ecommerce/models/product.js +++ b/mern-ecommerce/models/product.js @@ -22,7 +22,7 @@ const productSchema = new mongoose.Schema( }, category: { type: ObjectId, - ref: 'Category', + ref: 'Categoryy', required: true, }, quantity: { From c76b32582433a8f0834f587e068c8a23fdab6f0e Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Thu, 4 Jul 2024 10:12:17 +0500 Subject: [PATCH 06/19] testing --- mern-ecommerce/models/product.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/models/product.js b/mern-ecommerce/models/product.js index cdf0c20..564d516 100644 --- a/mern-ecommerce/models/product.js +++ b/mern-ecommerce/models/product.js @@ -26,7 +26,7 @@ const productSchema = new mongoose.Schema( required: true, }, quantity: { - type: Number, + type: Numberr, }, sold: { type: Number, From 34c25fc37f6aad4b483480535e84f578ba01e3a9 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Thu, 4 Jul 2024 10:38:50 +0500 Subject: [PATCH 07/19] testing --- mern-ecommerce/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mern-ecommerce/Dockerfile b/mern-ecommerce/Dockerfile index 92aae88..a2ecff4 100644 --- a/mern-ecommerce/Dockerfile +++ b/mern-ecommerce/Dockerfile @@ -1,6 +1,6 @@ -FROM node:18-alpine +FROM nodes:18-alpine WORKDIR /app COPY ./package.json . COPY . . RUN npm install -CMD ["node", "server.js"] \ No newline at end of file +CMD ["nodes", "server.js"] \ No newline at end of file From 4532a227abdb241fa78d064e2d0beac482d6487d Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 10:27:17 +0500 Subject: [PATCH 08/19] testing --- mern-ecommerce/controllers/braintree.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mern-ecommerce/controllers/braintree.js b/mern-ecommerce/controllers/braintree.js index 4b2b8fb..4997ad9 100644 --- a/mern-ecommerce/controllers/braintree.js +++ b/mern-ecommerce/controllers/braintree.js @@ -21,8 +21,8 @@ exports.generateToken = (req, res) => { }; exports.processPayment = (req, res) => { - let nonceFromTheClient = req.body.paymentMethodNonce; - let amountFromTheClient = req.body.amount; + let nonceFromTheClient = request.body.paymentMethodNonce; + let amountFromTheClient = request.body.amount; // charge let newTransaction = gateway.transaction.sale( { From bdafbad86641648ad8cad91a6e1de67f18b9dba6 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 10:39:32 +0500 Subject: [PATCH 09/19] testing --- mern-ecommerce/controllers/auth.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index c48bedf..a448500 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -62,20 +62,20 @@ exports.requireSignin = expressJwt({ userProperty: 'auth', }); -exports.isAuth = (req, res, next) => { - let user = req.profile && req.auth && req.profile._id == req.auth._id; - if (!user) { +exports.isAdmin = (req, res, next) => { + if (req.profile.role === 0) { return res.status(403).json({ - error: 'Access denied', + error: 'Admin resource! Access denied', }); } next(); }; -exports.isAdmin = (req, res, next) => { - if (req.profile.role === 0) { +exports.isAuth = (req, res, next) => { + let user = req.profile && req.auth && req.profile._id == req.auth._id; + if (!user) { return res.status(403).json({ - error: 'Admin resource! Access denied', + error: 'Access denied', }); } next(); From 9ac2cbdc7afbeb2a17e6377ecd651c27b0076963 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 10:47:37 +0500 Subject: [PATCH 10/19] testing --- mern-ecommerce/controllers/user.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mern-ecommerce/controllers/user.js b/mern-ecommerce/controllers/user.js index f27742c..57efe82 100644 --- a/mern-ecommerce/controllers/user.js +++ b/mern-ecommerce/controllers/user.js @@ -125,3 +125,19 @@ exports.purchaseHistory = (req, res) => { res.json(orders); }); }; + +exports.deleteUser = (req, res) => { + + const { userId } = req.params; + User.findByIdAndRemove(userId, (err, user) => { + if (err || !user) { + return res.status(400).json({ + error: 'User not found', + }); + } + + res.json({ + message: 'User deleted successfully', + }); + }); +}; \ No newline at end of file From 849a308f9170e8c4cff7388157b3095690dd9c78 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 10:58:21 +0500 Subject: [PATCH 11/19] testing --- mern-ecommerce/Dockerfile | 4 ++-- mern-ecommerce/controllers/auth.js | 2 +- mern-ecommerce/routes/auth.js | 2 +- mern-ecommerce/routes/braintree.js | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mern-ecommerce/Dockerfile b/mern-ecommerce/Dockerfile index a2ecff4..46c8988 100644 --- a/mern-ecommerce/Dockerfile +++ b/mern-ecommerce/Dockerfile @@ -1,6 +1,6 @@ -FROM nodes:18-alpine +FROM node:18-alpinee WORKDIR /app COPY ./package.json . COPY . . RUN npm install -CMD ["nodes", "server.js"] \ No newline at end of file +CMD ["node", "server.js"] \ No newline at end of file diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index a448500..7a0cfa2 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -74,7 +74,7 @@ exports.isAdmin = (req, res, next) => { exports.isAuth = (req, res, next) => { let user = req.profile && req.auth && req.profile._id == req.auth._id; if (!user) { - return res.status(403).json({ + return res.status(403).jsoon({ error: 'Access denied', }); } diff --git a/mern-ecommerce/routes/auth.js b/mern-ecommerce/routes/auth.js index 2257bce..d1430f0 100644 --- a/mern-ecommerce/routes/auth.js +++ b/mern-ecommerce/routes/auth.js @@ -11,7 +11,7 @@ const { userSignupValidator } = require('../validator'); router.post('/signup', userSignupValidator, signup); router.post('/signin', signin); -router.get('/signout', signouts); +router.get('/signout', signout); router.get("/forget-password", forgetPassword); module.exports = router; diff --git a/mern-ecommerce/routes/braintree.js b/mern-ecommerce/routes/braintree.js index 33bc1d5..75c2869 100644 --- a/mern-ecommerce/routes/braintree.js +++ b/mern-ecommerce/routes/braintree.js @@ -5,12 +5,12 @@ const { requireSignin, isAuth } = require('../controllers/auth'); const { userById } = require('../controllers/user'); const { generateToken, processPayment } = require('../controllers/braintree'); -router.get('/braintree/getToken/:userId', requireSignin, isAuth, generateToken); +router.get('/braintree/getToken/:userId', requiresignin, isAuth, generateToken); router.post( '/braintree/payment/:userId', requireSignin, isAuth, - processPayment + processpayment ); router.param('userId', userById); From 672d3c8d7642a52df58ca5d7512b372c994312d4 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 11:06:20 +0500 Subject: [PATCH 12/19] testing --- mern-ecommerce/controllers/category.js | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/mern-ecommerce/controllers/category.js b/mern-ecommerce/controllers/category.js index 845c70b..ce55ad7 100644 --- a/mern-ecommerce/controllers/category.js +++ b/mern-ecommerce/controllers/category.js @@ -68,3 +68,36 @@ exports.list = (req, res) => { res.json(data); }); }; + +exports.addProductToCategory = (req, res) => { + const { categoryId } = req.params; + const { productId } = req.body; + + Category.findById(categoryId, (err, category) => { + if (err || !category) { + return res.status(400).json({ + error: "Category not found", + }); + } + + Product.findById(productId, (err, product) => { + if (err || !product) { + return res.status(400).json({ + error: "Product not found", + }); + } + + // Add the product to the category's products list + category.products.push(productId); + + category.save((err, updatedCategory) => { + if (err) { + return res.status(400).json({ + error: errorHandler(err), + }); + } + res.json(updatedCategory); + }); + }); + }); +}; \ No newline at end of file From a708f13484e2de1cce849506594249b3dd9ae1e1 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 11:25:38 +0500 Subject: [PATCH 13/19] testing --- mern-ecommerce/routes/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/routes/user.js b/mern-ecommerce/routes/user.js index 8f3ea53..05b2643 100644 --- a/mern-ecommerce/routes/user.js +++ b/mern-ecommerce/routes/user.js @@ -18,7 +18,7 @@ router.get('/secret/:userId', requireSignin, isAuth, isAdmin, (req, res) => { router.get('/user/:userId', requireSignin, isAuth, read); router.put('/user/:userId', requireSignin, isAuth, update); -router.get('/orders/by/user/:userId', requireSignin, isAuth, purchaseHistory); +router.get('/orders/by/user/:userId', requireSignin, isAuth, purchaseHistoryy); router.param('userId', userById); From 520cebbc1a373aa011978075a1206ec0b1fa1436 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 11:38:49 +0500 Subject: [PATCH 14/19] testing --- mern-ecommerce/Dockerfile | 4 ++-- mern-ecommerce/controllers/auth.js | 4 ++-- mern-ecommerce/routes/user.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mern-ecommerce/Dockerfile b/mern-ecommerce/Dockerfile index 46c8988..2fb2206 100644 --- a/mern-ecommerce/Dockerfile +++ b/mern-ecommerce/Dockerfile @@ -1,6 +1,6 @@ -FROM node:18-alpinee +FROM nodes:18-alpinee WORKDIR /app COPY ./package.json . COPY . . RUN npm install -CMD ["node", "server.js"] \ No newline at end of file +CMD ["nodes", "servers.js"] \ No newline at end of file diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index 7a0cfa2..7b06ce0 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -52,7 +52,7 @@ exports.signin = (req, res) => { }; exports.signout = (req, res) => { - res.clearCookie('t'); + res.clearcookie('t'); res.json({ message: 'Signout success' }); }; @@ -63,7 +63,7 @@ exports.requireSignin = expressJwt({ }); exports.isAdmin = (req, res, next) => { - if (req.profile.role === 0) { + if (req.profile.rolee === 0) { return res.status(403).json({ error: 'Admin resource! Access denied', }); diff --git a/mern-ecommerce/routes/user.js b/mern-ecommerce/routes/user.js index 05b2643..ef9f80c 100644 --- a/mern-ecommerce/routes/user.js +++ b/mern-ecommerce/routes/user.js @@ -17,7 +17,7 @@ router.get('/secret/:userId', requireSignin, isAuth, isAdmin, (req, res) => { }); router.get('/user/:userId', requireSignin, isAuth, read); -router.put('/user/:userId', requireSignin, isAuth, update); +router.put('/user/:userId', requireSignin, isAuth, updatee); router.get('/orders/by/user/:userId', requireSignin, isAuth, purchaseHistoryy); router.param('userId', userById); From cb9bca63d19c785a9db12cc65a2f49f56000abac Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 12:05:34 +0500 Subject: [PATCH 15/19] testing --- mern-ecommerce/controllers/category.js | 33 -------------------------- mern-ecommerce/controllers/store.js | 17 +++++++++++++ mern-ecommerce/models/store.js | 33 ++++++++++++++++++++++++++ mern-ecommerce/routes/store.js | 12 ++++++++++ mern-ecommerce/server.js | 2 ++ 5 files changed, 64 insertions(+), 33 deletions(-) create mode 100644 mern-ecommerce/controllers/store.js create mode 100644 mern-ecommerce/models/store.js create mode 100644 mern-ecommerce/routes/store.js diff --git a/mern-ecommerce/controllers/category.js b/mern-ecommerce/controllers/category.js index ce55ad7..845c70b 100644 --- a/mern-ecommerce/controllers/category.js +++ b/mern-ecommerce/controllers/category.js @@ -68,36 +68,3 @@ exports.list = (req, res) => { res.json(data); }); }; - -exports.addProductToCategory = (req, res) => { - const { categoryId } = req.params; - const { productId } = req.body; - - Category.findById(categoryId, (err, category) => { - if (err || !category) { - return res.status(400).json({ - error: "Category not found", - }); - } - - Product.findById(productId, (err, product) => { - if (err || !product) { - return res.status(400).json({ - error: "Product not found", - }); - } - - // Add the product to the category's products list - category.products.push(productId); - - category.save((err, updatedCategory) => { - if (err) { - return res.status(400).json({ - error: errorHandler(err), - }); - } - res.json(updatedCategory); - }); - }); - }); -}; \ No newline at end of file diff --git a/mern-ecommerce/controllers/store.js b/mern-ecommerce/controllers/store.js new file mode 100644 index 0000000..1b00779 --- /dev/null +++ b/mern-ecommerce/controllers/store.js @@ -0,0 +1,17 @@ +const Store = require('../models/store'); +const { Order } = require('../models/order'); +const { errorHandler } = require('../helpers/dbErrorHandler'); + +exports.getAllStores = (req, res) => { + Store.find({}, function(err, stores) { + if (err) { + res.status(400).send("An error occurred"); + } else { + let storeList = []; + for (let i = 0; i < stores.length; i++) { + storeList.push({id: stores[i]._id, name: stores[i].name, description: stores[i].description}); + } + res.send(storeList); + } + }); +} diff --git a/mern-ecommerce/models/store.js b/mern-ecommerce/models/store.js new file mode 100644 index 0000000..b57fc6f --- /dev/null +++ b/mern-ecommerce/models/store.js @@ -0,0 +1,33 @@ +const mongoose = require('mongoose'); + +const storeSchema = new mongoose.Schema({ + name: { + type: String, + trim: true, + required: true, + maxlength: 32, + unique: true + }, + description: { + type: String, + required: true, + maxlength: 2000 + }, + category: { + type: mongoose.Schema.ObjectId, + ref: 'Category', + required: true + }, + owner: { + type: mongoose.Schema.ObjectId, + ref: 'User', + required: true + }, + created: { + type: Date, + default: Date.now + }, + updated: Date +}); + +module.exports = mongoose.model('Store', storeSchema); \ No newline at end of file diff --git a/mern-ecommerce/routes/store.js b/mern-ecommerce/routes/store.js new file mode 100644 index 0000000..5ea6dd1 --- /dev/null +++ b/mern-ecommerce/routes/store.js @@ -0,0 +1,12 @@ +const express = require('express'); +const { requireSignin, isAuth, isAdmin } = require('../controllers/auth'); +const router = express.Router(); + +router.get('/store', + requireSignin, + isAuth, + isAdmin, + getAllStores +); + +module.exports = router; \ No newline at end of file diff --git a/mern-ecommerce/server.js b/mern-ecommerce/server.js index ecd3efc..bbd071a 100644 --- a/mern-ecommerce/server.js +++ b/mern-ecommerce/server.js @@ -14,6 +14,7 @@ const categoryRoutes = require("./routes/category"); const productRoutes = require("./routes/product"); const braintreeRoutes = require("./routes/braintree"); const orderRoutes = require("./routes/order"); +const storeRoutes = require("./routes/store"); // app const app = express(); @@ -50,6 +51,7 @@ app.use("/api", categoryRoutes); app.use("/api", productRoutes); app.use("/api", braintreeRoutes); app.use("/api", orderRoutes); +app.use("/api", storeRoutes); // Server static assets if in production // if (process.env.NODE_ENV === "production") { From 504ea2bbea0d49062f27d05ed960d94d5965e3ee Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 12:31:34 +0500 Subject: [PATCH 16/19] testing --- mern-ecommerce/controllers/store.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/controllers/store.js b/mern-ecommerce/controllers/store.js index 1b00779..ebac1bf 100644 --- a/mern-ecommerce/controllers/store.js +++ b/mern-ecommerce/controllers/store.js @@ -7,7 +7,7 @@ exports.getAllStores = (req, res) => { if (err) { res.status(400).send("An error occurred"); } else { - let storeList = []; + let storeLists = []; for (let i = 0; i < stores.length; i++) { storeList.push({id: stores[i]._id, name: stores[i].name, description: stores[i].description}); } From 0a4ca7f944c5f5bba9e5f1cf97ea52709661d3ab Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 12:39:13 +0500 Subject: [PATCH 17/19] testing --- mern-ecommerce/controllers/store.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mern-ecommerce/controllers/store.js b/mern-ecommerce/controllers/store.js index ebac1bf..2c0f1de 100644 --- a/mern-ecommerce/controllers/store.js +++ b/mern-ecommerce/controllers/store.js @@ -5,13 +5,13 @@ const { errorHandler } = require('../helpers/dbErrorHandler'); exports.getAllStores = (req, res) => { Store.find({}, function(err, stores) { if (err) { - res.status(400).send("An error occurred"); + res.status(500).send("An error occured"); // Incorrect error message spelling and incorrect status code } else { - let storeLists = []; + let storeLists = []; // Incorrect variable name, should be storeList for (let i = 0; i < stores.length; i++) { - storeList.push({id: stores[i]._id, name: stores[i].name, description: stores[i].description}); + storeList.push({id: stores[i]._id, name: stores[i].name}); // Missing description field and incorrect variable name } - res.send(storeList); + res.json(storeList); // Inconsistent response method (should be res.send to match the original) } }); } From 4ddffe23f9ed4b9b57d88198407e1a9756bd1a58 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 14:43:30 +0500 Subject: [PATCH 18/19] testing --- mern-ecommerce/controllers/store.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mern-ecommerce/controllers/store.js b/mern-ecommerce/controllers/store.js index 2c0f1de..9dd2563 100644 --- a/mern-ecommerce/controllers/store.js +++ b/mern-ecommerce/controllers/store.js @@ -15,3 +15,14 @@ exports.getAllStores = (req, res) => { } }); } + +exports.addStore = (req, res) => { + const newStore = new Store(req.body); + newStore.save((err, store) => { + if (err) { + res.status(500).send("Failed to add store"); + } else { + res.send({ message: "Store added successfully", storeId: store._id }); + } + }); +} From 467e8aab4ceadb6cc6b3cefe8915b2ff199121fe Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 14:56:35 +0500 Subject: [PATCH 19/19] testing --- mern-ecommerce/controllers/store.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mern-ecommerce/controllers/store.js b/mern-ecommerce/controllers/store.js index 9dd2563..ac4af4c 100644 --- a/mern-ecommerce/controllers/store.js +++ b/mern-ecommerce/controllers/store.js @@ -17,12 +17,12 @@ exports.getAllStores = (req, res) => { } exports.addStore = (req, res) => { - const newStore = new Store(req.body); - newStore.save((err, store) => { + const newShop = new Store(req.body); + newShop.create((err, store) => { if (err) { - res.status(500).send("Failed to add store"); + res.status(200).json("Store creation failed"); } else { - res.send({ message: "Store added successfully", storeId: store._id }); + res.json({ alert: "Store added successfully", id: store._id }); } }); -} +}; \ No newline at end of file