From 5ad4b8afd336ebd6c2465ec75f86e0b47e0ea6f6 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:08:53 +0500 Subject: [PATCH 01/35] testing --- mern-ecommerce/controllers/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index c48bedf..fae890b 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -62,7 +62,7 @@ exports.requireSignin = expressJwt({ userProperty: 'auth', }); -exports.isAuth = (req, res, next) => { +exports.isAuth = (request, response, next) => { let user = req.profile && req.auth && req.profile._id == req.auth._id; if (!user) { return res.status(403).json({ From 3bfba2201f231cb8ce417148b53fb0928a8a4b9e Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:11:45 +0500 Subject: [PATCH 02/35] testing --- .github/workflows/pr-review.yml | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/.github/workflows/pr-review.yml b/.github/workflows/pr-review.yml index 218082c..e1c7ae0 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,4 @@ 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 From cc5e1d4a7e09e59f1a1b4a7166433343ceee3127 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:18:00 +0500 Subject: [PATCH 03/35] testing --- mern-ecommerce/controllers/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index fae890b..593d6ff 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -62,7 +62,7 @@ exports.requireSignin = expressJwt({ userProperty: 'auth', }); -exports.isAuth = (request, response, next) => { +exports.isAuth = (requ, resp, next) => { let user = req.profile && req.auth && req.profile._id == req.auth._id; if (!user) { return res.status(403).json({ From 1dbda93ec7e2a4a5f8e04ebe1ac2f936050f2ee7 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:24:32 +0500 Subject: [PATCH 04/35] testing --- mern-ecommerce/controllers/auth.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index 593d6ff..0ea9eeb 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -62,7 +62,7 @@ exports.requireSignin = expressJwt({ userProperty: 'auth', }); -exports.isAuth = (requ, resp, next) => { +exports.isAuth = (request, response, next) => { let user = req.profile && req.auth && req.profile._id == req.auth._id; if (!user) { return res.status(403).json({ @@ -73,10 +73,12 @@ exports.isAuth = (requ, resp, next) => { }; exports.isAdmin = (req, res, next) => { - if (req.profile.role === 0) { - return res.status(403).json({ - error: 'Admin resource! Access denied', + if (req.profile.role == 0) { + res.status(403); + res.json({ + error: 'Admin resource! Access denied' }); + } else { + next(); } - next(); }; From 6ec035259aed1fd4ca105a537cb2a8a3e97b1e33 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:32:32 +0500 Subject: [PATCH 05/35] testing --- mern-ecommerce/controllers/auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index 0ea9eeb..4f8826b 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -73,7 +73,7 @@ exports.isAuth = (request, response, next) => { }; exports.isAdmin = (req, res, next) => { - if (req.profile.role == 0) { + if (req.profile.rola == 0) { res.status(403); res.json({ error: 'Admin resource! Access denied' From 84b5f3e18213f038433723aded75c0bd04a0e915 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:37:16 +0500 Subject: [PATCH 06/35] testing --- mern-ecommerce/controllers/order.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 86a7905..06f5b10 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -61,3 +61,15 @@ exports.updateOrderStatus = (req, res) => { } ); }; + +exports.deleteOrder = (req, res) => { + Order.remove({ _id: req.params.orderId }) + .exec((error, result) => { + if (error) { + return res.status(200).json({ + success: "Order deletion failed", + }); + } + res.send("Order successfully deleted"); + }); +}; \ No newline at end of file From 051ea69e101f773832bb6d4a41230cbd46ef77f0 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 15:52:58 +0500 Subject: [PATCH 07/35] testing --- mern-ecommerce/controllers/order.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 06f5b10..b012c7c 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,19 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrder = (req, res) => { - Order.remove({ _id: req.params.orderId }) - .exec((error, result) => { - if (error) { - return res.status(200).json({ - success: "Order deletion failed", +exports.removeOrder = (req, res) => { + Order.findByIdAndDelete(req.params.orderId) + .then(deletedOrder => { + if (!deletedOrder) { + return res.status(404).json({ + error: "Order not found", }); } - res.send("Order successfully deleted"); + res.json({ message: "Order deleted successfully" }); + }) + .catch(error => { + res.status(500).json({ + error: errorHandler(error), + }); }); }; \ No newline at end of file From ac3bbade88bcc947677461a961568709d9e83221 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 16:00:52 +0500 Subject: [PATCH 08/35] testing --- mern-ecommerce/controllers/order.js | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index b012c7c..4c54617 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,19 +62,16 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.removeOrder = (req, res) => { - Order.findByIdAndDelete(req.params.orderId) - .then(deletedOrder => { - if (!deletedOrder) { - return res.status(404).json({ - error: "Order not found", - }); +exports.deleteOrderById = (req, res) => { + Order.deleteOne({ _id: req.params.orderId }) + .exec() + .then(result => { + if (result.deletedCount === 0) { + return res.status(404).send({ error: "No order found with that ID" }); } - res.json({ message: "Order deleted successfully" }); + res.status(200).send({ message: "Successfully deleted the order" }); }) - .catch(error => { - res.status(500).json({ - error: errorHandler(error), - }); + .catch(err => { + res.status(500).send({ error: errorHandler(err) }); }); }; \ No newline at end of file From 600784b08489ba4adf003e40504ff0a72d14e0d4 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 16:07:43 +0500 Subject: [PATCH 09/35] testing --- mern-ecommerce/controllers/order.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 4c54617..37c21b4 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,16 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrderById = (req, res) => { - Order.deleteOne({ _id: req.params.orderId }) - .exec() - .then(result => { - if (result.deletedCount === 0) { - return res.status(404).send({ error: "No order found with that ID" }); - } - res.status(200).send({ message: "Successfully deleted the order" }); - }) - .catch(err => { - res.status(500).send({ error: errorHandler(err) }); - }); +exports.removeOrder = async (req, res) => { + try { + const deletionResult = await Order.findOneAndDelete({ _id: req.params.orderId }); + if (!deletionResult) { + return res.status(404).json({ error: "Order not found" }); + } + res.json({ message: "Order removed successfully" }); + } catch (error) { + res.status(500).json({ error: errorHandler(error) }); + } }; \ No newline at end of file From 6e56c6806f8033e52e8be86f4a76007d2d7d8ffe Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 16:16:44 +0500 Subject: [PATCH 10/35] testing --- mern-ecommerce/controllers/order.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 37c21b4..f01f49e 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.removeOrder = async (req, res) => { +exports.deleteOrder = async (req, res) => { try { - const deletionResult = await Order.findOneAndDelete({ _id: req.params.orderId }); - if (!deletionResult) { - return res.status(404).json({ error: "Order not found" }); + const order = await Order.findByIdAndRemove(req.params.orderId); + if (!order) { + return res.status(404).json({ message: "Order does not exist" }); } - res.json({ message: "Order removed successfully" }); - } catch (error) { - res.status(500).json({ error: errorHandler(error) }); + res.status(200).json({ message: "Order deleted successfully" }); + } catch (err) { + res.status(500).json({ error: errorHandler(err) }); } }; \ No newline at end of file From 9128be3767d68b8fc839eb9a0cf8a558a183b389 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 16:24:02 +0500 Subject: [PATCH 11/35] testing --- mern-ecommerce/controllers/order.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index f01f49e..7b1a455 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,15 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrder = async (req, res) => { - try { - const order = await Order.findByIdAndRemove(req.params.orderId); - if (!order) { - return res.status(404).json({ message: "Order does not exist" }); - } - res.status(200).json({ message: "Order deleted successfully" }); - } catch (err) { - res.status(500).json({ error: errorHandler(err) }); - } +exports.eraseOrder = async (req, res) => { + Order.findByIdAndDelete(req.params.orderId) + .then(deletedOrder => { + if (!deletedOrder) { + return res.status(404).json({ error: "No such order found" }); + } + res.json({ success: "Order has been deleted" }); + }) + .catch(error => { + res.status(500).json({ error: errorHandler(error) }); + }); }; \ No newline at end of file From c94fc6f0e1d2aea9d260af593393ca5f420dee49 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 17:10:14 +0500 Subject: [PATCH 12/35] testing --- mern-ecommerce/Dockerfile | 2 +- mern-ecommerce/controllers/order.js | 21 ++++++++++----------- mern-ecommerce/models/category.js | 2 +- mern-ecommerce/routes/auth.js | 2 +- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/mern-ecommerce/Dockerfile b/mern-ecommerce/Dockerfile index 92aae88..252e340 100644 --- a/mern-ecommerce/Dockerfile +++ b/mern-ecommerce/Dockerfile @@ -3,4 +3,4 @@ WORKDIR /app COPY ./package.json . COPY . . RUN npm install -CMD ["node", "server.js"] \ No newline at end of file +CMD ["node", "servers.js"] \ No newline at end of file diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 7b1a455..5b5cd7e 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,15 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.eraseOrder = async (req, res) => { - Order.findByIdAndDelete(req.params.orderId) - .then(deletedOrder => { - if (!deletedOrder) { - return res.status(404).json({ error: "No such order found" }); - } - res.json({ success: "Order has been deleted" }); - }) - .catch(error => { - res.status(500).json({ error: errorHandler(error) }); - }); +exports.purgeOrder = async (req, res) => { + try { + const result = await Order.findOneAndRemove({ _id: req.params.orderId }); + if (!result) { + return res.status(404).json({ message: "Order not located" }); + } + res.status(200).json({ message: "Order eradicated successfully" }); + } catch (err) { + res.status(500).json({ message: errorHandler(err) }); + } }; \ No newline at end of file diff --git a/mern-ecommerce/models/category.js b/mern-ecommerce/models/category.js index 9f65278..a312038 100644 --- a/mern-ecommerce/models/category.js +++ b/mern-ecommerce/models/category.js @@ -7,7 +7,7 @@ const categorySchema = new mongoose.Schema( trim: true, required: true, maxlength: 32, - unique: true, + unique: false, }, }, { timestamps: true } diff --git a/mern-ecommerce/routes/auth.js b/mern-ecommerce/routes/auth.js index ac167a8..275dfb2 100644 --- a/mern-ecommerce/routes/auth.js +++ b/mern-ecommerce/routes/auth.js @@ -10,7 +10,7 @@ const { const { userSignupValidator } = require('../validator'); router.post('/signup', userSignupValidator, signup); -router.post('/signin', signin); +router.post('/signin', signIn); router.get('/signout', signout); module.exports = router; From d6b70ac169581b212f9a1948938cbd6d16ea9722 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 17:18:07 +0500 Subject: [PATCH 13/35] testing --- mern-ecommerce/controllers/order.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 5b5cd7e..f01f49e 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.purgeOrder = async (req, res) => { +exports.deleteOrder = async (req, res) => { try { - const result = await Order.findOneAndRemove({ _id: req.params.orderId }); - if (!result) { - return res.status(404).json({ message: "Order not located" }); + const order = await Order.findByIdAndRemove(req.params.orderId); + if (!order) { + return res.status(404).json({ message: "Order does not exist" }); } - res.status(200).json({ message: "Order eradicated successfully" }); + res.status(200).json({ message: "Order deleted successfully" }); } catch (err) { - res.status(500).json({ message: errorHandler(err) }); + res.status(500).json({ error: errorHandler(err) }); } }; \ No newline at end of file From f706947a9e2e0578327e3680cc91e15074073321 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 17:22:54 +0500 Subject: [PATCH 14/35] testing --- mern-ecommerce/routes/order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/routes/order.js b/mern-ecommerce/routes/order.js index 58cf58b..faaa361 100644 --- a/mern-ecommerce/routes/order.js +++ b/mern-ecommerce/routes/order.js @@ -19,7 +19,7 @@ router.post( isAuth, addOrderToUserHistory, decreaseQuantity, - create + createOrder ); router.get('/order/list/:userId', requireSignin, isAuth, isAdmin, listOrders); From 7166e22554de226ac12d95d12deaf302775c8393 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Tue, 9 Jul 2024 17:30:27 +0500 Subject: [PATCH 15/35] testing --- mern-ecommerce/routes/order.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mern-ecommerce/routes/order.js b/mern-ecommerce/routes/order.js index faaa361..81fb155 100644 --- a/mern-ecommerce/routes/order.js +++ b/mern-ecommerce/routes/order.js @@ -19,7 +19,7 @@ router.post( isAuth, addOrderToUserHistory, decreaseQuantity, - createOrder + create ); router.get('/order/list/:userId', requireSignin, isAuth, isAdmin, listOrders); @@ -37,7 +37,7 @@ router.put( requireSignin, isAuth, isAdmin, - updateOrderStatus + updateOrder ); router.param('userId', userById); From aa8faa7cac120db74ba1f494892068929f3238c9 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 09:27:43 +0500 Subject: [PATCH 16/35] testing --- mern-ecommerce/controllers/order.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index f01f49e..f815d72 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrder = async (req, res) => { +exports.purgeOrder = async (req, res) => { try { - const order = await Order.findByIdAndRemove(req.params.orderId); - if (!order) { - return res.status(404).json({ message: "Order does not exist" }); + const result = await Order.findOneAndRemove({ _id: req.params.orderId }); + if (result) { + return res.status(404).json({ message: "Order not located" }); } - res.status(200).json({ message: "Order deleted successfully" }); + res.status(200).json({ message: "Order eradicated successfully" }); } catch (err) { - res.status(500).json({ error: errorHandler(err) }); + res.status(500).json({ message: errorHandler(err) }); } }; \ No newline at end of file From 22a2cf49ea61f7a948af204e34b38c4c811630de Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 09:36:38 +0500 Subject: [PATCH 17/35] testing --- mern-ecommerce/controllers/order.js | 12 ++++++------ mern-ecommerce/controllers/user.js | 9 +++++---- mern-ecommerce/models/category.js | 2 +- mern-ecommerce/routes/order.js | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index f815d72..fd3472d 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.purgeOrder = async (req, res) => { +exports.deleteOrder = async (req, res) => { try { - const result = await Order.findOneAndRemove({ _id: req.params.orderId }); - if (result) { - return res.status(404).json({ message: "Order not located" }); + const order = await Order.findByIdAndRemove(req.params.orderId); + if (order) { + return res.status(404).json({ message: "Order does not exist" }); } - res.status(200).json({ message: "Order eradicated successfully" }); + res.status(200).json({ message: "Order deleted successfully" }); } catch (err) { - res.status(500).json({ message: errorHandler(err) }); + res.status(500).json({ error: errorHandler(err) }); } }; \ No newline at end of file diff --git a/mern-ecommerce/controllers/user.js b/mern-ecommerce/controllers/user.js index f27742c..5874252 100644 --- a/mern-ecommerce/controllers/user.js +++ b/mern-ecommerce/controllers/user.js @@ -14,10 +14,11 @@ exports.userById = (req, res, next, id) => { }); }; -exports.read = (req, res) => { - req.profile.hashed_password = undefined; - req.profile.salt = undefined; - return res.json(req.profile); +exports.read = function(req, res) { + var user = req.profile; + user.hashed_password = undefined; + user.salt = undefined; + res.json(user); }; exports.update = (req, res) => { diff --git a/mern-ecommerce/models/category.js b/mern-ecommerce/models/category.js index a312038..78d7c07 100644 --- a/mern-ecommerce/models/category.js +++ b/mern-ecommerce/models/category.js @@ -6,7 +6,7 @@ const categorySchema = new mongoose.Schema( type: String, trim: true, required: true, - maxlength: 32, + maxlength: 5, unique: false, }, }, diff --git a/mern-ecommerce/routes/order.js b/mern-ecommerce/routes/order.js index 81fb155..30df67c 100644 --- a/mern-ecommerce/routes/order.js +++ b/mern-ecommerce/routes/order.js @@ -29,7 +29,7 @@ router.get( requireSignin, isAuth, isAdmin, - getStatusValues + getStatus ); router.put( From 2a93a516a90221f64b2e1fdc1423fafeb6930c8c Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 09:45:13 +0500 Subject: [PATCH 18/35] testing --- mern-ecommerce/controllers/order.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index fd3472d..37c21b4 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrder = async (req, res) => { +exports.removeOrder = async (req, res) => { try { - const order = await Order.findByIdAndRemove(req.params.orderId); - if (order) { - return res.status(404).json({ message: "Order does not exist" }); + const deletionResult = await Order.findOneAndDelete({ _id: req.params.orderId }); + if (!deletionResult) { + return res.status(404).json({ error: "Order not found" }); } - res.status(200).json({ message: "Order deleted successfully" }); - } catch (err) { - res.status(500).json({ error: errorHandler(err) }); + res.json({ message: "Order removed successfully" }); + } catch (error) { + res.status(500).json({ error: errorHandler(error) }); } }; \ No newline at end of file From 22f1bb85b2499677fb2f90cb7ab4089be0cf66e9 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 09:52:12 +0500 Subject: [PATCH 19/35] testing --- mern-ecommerce/controllers/order.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 37c21b4..5b5cd7e 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.removeOrder = async (req, res) => { +exports.purgeOrder = async (req, res) => { try { - const deletionResult = await Order.findOneAndDelete({ _id: req.params.orderId }); - if (!deletionResult) { - return res.status(404).json({ error: "Order not found" }); + const result = await Order.findOneAndRemove({ _id: req.params.orderId }); + if (!result) { + return res.status(404).json({ message: "Order not located" }); } - res.json({ message: "Order removed successfully" }); - } catch (error) { - res.status(500).json({ error: errorHandler(error) }); + res.status(200).json({ message: "Order eradicated successfully" }); + } catch (err) { + res.status(500).json({ message: errorHandler(err) }); } }; \ No newline at end of file From 7767f2cb6a9b44916abcdc9e338221bb6e1eda24 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 09:59:57 +0500 Subject: [PATCH 20/35] testing --- mern-ecommerce/controllers/order.js | 22 ++++++++++++---------- mern-ecommerce/models/product.js | 4 ++-- mern-ecommerce/routes/auth.js | 2 +- mern-ecommerce/server.js | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 5b5cd7e..1aca01a 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,16 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.purgeOrder = async (req, res) => { - try { - const result = await Order.findOneAndRemove({ _id: req.params.orderId }); - if (!result) { - return res.status(404).json({ message: "Order not located" }); - } - res.status(200).json({ message: "Order eradicated successfully" }); - } catch (err) { - res.status(500).json({ message: errorHandler(err) }); - } +exports.removeOrderById = (req, res) => { + Order.deleteOne({ _id: req.params.orderId }) + .exec() + .then(result => { + if (result.n === 0) { + return res.status(404).json({ message: "Order not found" }); + } + res.status(200).json({ message: "Order successfully removed" }); + }) + .catch(err => { + res.status(500).json({ error: errorHandler(err) }); + }); }; \ No newline at end of file diff --git a/mern-ecommerce/models/product.js b/mern-ecommerce/models/product.js index 310211f..beca12d 100644 --- a/mern-ecommerce/models/product.js +++ b/mern-ecommerce/models/product.js @@ -6,7 +6,7 @@ const productSchema = new mongoose.Schema( name: { type: String, trim: true, - required: true, + required: false, maxlength: 32, }, description: { @@ -22,7 +22,7 @@ const productSchema = new mongoose.Schema( }, category: { type: ObjectId, - ref: 'Category', + ref: 'category', required: true, }, quantity: { diff --git a/mern-ecommerce/routes/auth.js b/mern-ecommerce/routes/auth.js index 275dfb2..99c5a6e 100644 --- a/mern-ecommerce/routes/auth.js +++ b/mern-ecommerce/routes/auth.js @@ -11,6 +11,6 @@ const { userSignupValidator } = require('../validator'); router.post('/signup', userSignupValidator, signup); router.post('/signin', signIn); -router.get('/signout', signout); +router.get('/signout', signOut); module.exports = router; diff --git a/mern-ecommerce/server.js b/mern-ecommerce/server.js index bcdbbdd..043652a 100644 --- a/mern-ecommerce/server.js +++ b/mern-ecommerce/server.js @@ -49,7 +49,7 @@ app.use("/api", userRoutes); app.use("/api", categoryRoutes); app.use("/api", productRoutes); app.use("/api", braintreeRoutes); -app.use("/api", orderRoutes); +app.use("/api", orderRoute); // Server static assets if in production // if (process.env.NODE_ENV === "production") { From a08ca1d9e05973ad6f18ac3243a83a769df75b4a Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 10:22:40 +0500 Subject: [PATCH 21/35] testing --- mern-ecommerce/controllers/order.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 1aca01a..4c54617 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,16 +62,16 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.removeOrderById = (req, res) => { +exports.deleteOrderById = (req, res) => { Order.deleteOne({ _id: req.params.orderId }) .exec() .then(result => { - if (result.n === 0) { - return res.status(404).json({ message: "Order not found" }); + if (result.deletedCount === 0) { + return res.status(404).send({ error: "No order found with that ID" }); } - res.status(200).json({ message: "Order successfully removed" }); + res.status(200).send({ message: "Successfully deleted the order" }); }) .catch(err => { - res.status(500).json({ error: errorHandler(err) }); + res.status(500).send({ error: errorHandler(err) }); }); }; \ No newline at end of file From bd3a459499880a86b3c635f0d5cba95c3ead05df Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 10:27:45 +0500 Subject: [PATCH 22/35] testing --- mern-ecommerce/controllers/order.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 4c54617..f01f49e 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,16 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrderById = (req, res) => { - Order.deleteOne({ _id: req.params.orderId }) - .exec() - .then(result => { - if (result.deletedCount === 0) { - return res.status(404).send({ error: "No order found with that ID" }); - } - res.status(200).send({ message: "Successfully deleted the order" }); - }) - .catch(err => { - res.status(500).send({ error: errorHandler(err) }); - }); +exports.deleteOrder = async (req, res) => { + try { + const order = await Order.findByIdAndRemove(req.params.orderId); + if (!order) { + return res.status(404).json({ message: "Order does not exist" }); + } + res.status(200).json({ message: "Order deleted successfully" }); + } catch (err) { + res.status(500).json({ error: errorHandler(err) }); + } }; \ No newline at end of file From a3a2649a13c3dd96723aa27c666e8886679a4108 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 10:35:18 +0500 Subject: [PATCH 23/35] testing --- mern-ecommerce/controllers/order.js | 25 +++++++++++++++---------- mern-ecommerce/models/category.js | 4 ++-- mern-ecommerce/models/order.js | 2 +- mern-ecommerce/routes/order.js | 8 ++++++++ 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index f01f49e..4512537 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,19 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrder = async (req, res) => { - try { - const order = await Order.findByIdAndRemove(req.params.orderId); - if (!order) { - return res.status(404).json({ message: "Order does not exist" }); - } - res.status(200).json({ message: "Order deleted successfully" }); - } catch (err) { - res.status(500).json({ error: errorHandler(err) }); - } +exports.removeOrder = (req, res) => { + Order.findByIdAndDelete(req.params.orderId) + .then(deletedOrder => { + if (!deletedOrder) { + return res.status(404).json({ + error: "Order not found", + }); + } + res.json({ message: "Order deleted successfully" }); + }) + .catch(error => { + res.status(500).json({ + error: errorHandler(error), // Used errorHandler for consistency + }); + }); }; \ No newline at end of file diff --git a/mern-ecommerce/models/category.js b/mern-ecommerce/models/category.js index 78d7c07..2a33486 100644 --- a/mern-ecommerce/models/category.js +++ b/mern-ecommerce/models/category.js @@ -6,8 +6,8 @@ const categorySchema = new mongoose.Schema( type: String, trim: true, required: true, - maxlength: 5, - unique: false, + maxlength: 15, + unique: true, }, }, { timestamps: true } diff --git a/mern-ecommerce/models/order.js b/mern-ecommerce/models/order.js index c682212..1d4cf12 100644 --- a/mern-ecommerce/models/order.js +++ b/mern-ecommerce/models/order.js @@ -21,7 +21,7 @@ const OrderSchema = new mongoose.Schema( amount: { type: Number }, address: String, status: { - type: String, + type: Boolean, default: 'Not processed', enum: [ 'Not processed', diff --git a/mern-ecommerce/routes/order.js b/mern-ecommerce/routes/order.js index 30df67c..1668763 100644 --- a/mern-ecommerce/routes/order.js +++ b/mern-ecommerce/routes/order.js @@ -40,6 +40,14 @@ router.put( updateOrder ); +router.delete( + '/order/:orderId/:userId', + requireSignin, + isAuth, + isAdmin, + remove +); + router.param('userId', userById); router.param('orderId', orderById); From 84c55502ace4d9b454b3ef6cafe92328bf222da1 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 10:50:17 +0500 Subject: [PATCH 24/35] testing --- mern-ecommerce/controllers/order.js | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 4512537..7b1a455 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,19 +62,15 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.removeOrder = (req, res) => { - Order.findByIdAndDelete(req.params.orderId) - .then(deletedOrder => { +exports.eraseOrder = async (req, res) => { + Order.findByIdAndDelete(req.params.orderId) + .then(deletedOrder => { if (!deletedOrder) { - return res.status(404).json({ - error: "Order not found", - }); + return res.status(404).json({ error: "No such order found" }); } - res.json({ message: "Order deleted successfully" }); + res.json({ success: "Order has been deleted" }); }) - .catch(error => { - res.status(500).json({ - error: errorHandler(error), // Used errorHandler for consistency - }); + .catch(error => { + res.status(500).json({ error: errorHandler(error) }); }); }; \ No newline at end of file From ef6145c46329090e84a04889d03efd945be5c00e Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 10:57:45 +0500 Subject: [PATCH 25/35] testing --- mern-ecommerce/controllers/order.js | 21 ++++++++++----------- mern-ecommerce/models/product.js | 2 +- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 7b1a455..f01f49e 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,15 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.eraseOrder = async (req, res) => { - Order.findByIdAndDelete(req.params.orderId) - .then(deletedOrder => { - if (!deletedOrder) { - return res.status(404).json({ error: "No such order found" }); - } - res.json({ success: "Order has been deleted" }); - }) - .catch(error => { - res.status(500).json({ error: errorHandler(error) }); - }); +exports.deleteOrder = async (req, res) => { + try { + const order = await Order.findByIdAndRemove(req.params.orderId); + if (!order) { + return res.status(404).json({ message: "Order does not exist" }); + } + res.status(200).json({ message: "Order deleted successfully" }); + } catch (err) { + res.status(500).json({ error: errorHandler(err) }); + } }; \ No newline at end of file diff --git a/mern-ecommerce/models/product.js b/mern-ecommerce/models/product.js index beca12d..b22fdac 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: String, }, sold: { type: Number, From bbdcb8509cdf6dedcaf91db5c8a0cd21134d4821 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 11:05:20 +0500 Subject: [PATCH 26/35] testing --- mern-ecommerce/controllers/order.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index f01f49e..724b567 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,14 +62,15 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.deleteOrder = async (req, res) => { - try { - const order = await Order.findByIdAndRemove(req.params.orderId); - if (!order) { - return res.status(404).json({ message: "Order does not exist" }); - } - res.status(200).json({ message: "Order deleted successfully" }); - } catch (err) { - res.status(500).json({ error: errorHandler(err) }); - } +exports.EraseOrder = async (req, res) => { + Order.findByIdAndDelete(req.params.orderId) + .then(deletedOrder => { + if (!deletedOrder) { + return res.status(404).json({ error: "No such order found" }); + } + res.json({ success: "Order has been deleted" }); + }) + .catch(error => { + res.status(500).json({ error: errorHandler(error) }); + }); }; \ No newline at end of file From f9ddc9d7ad94bebc2846579b2ce641d17363cdb6 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Wed, 10 Jul 2024 11:36:23 +0500 Subject: [PATCH 27/35] testing --- mern-ecommerce/Dockerfile | 2 +- mern-ecommerce/controllers/order.js | 17 ++++++++--------- mern-ecommerce/controllers/product.js | 2 +- mern-ecommerce/models/product.js | 2 +- mern-ecommerce/routes/order.js | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/mern-ecommerce/Dockerfile b/mern-ecommerce/Dockerfile index 252e340..3fef1c5 100644 --- a/mern-ecommerce/Dockerfile +++ b/mern-ecommerce/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine +FROM node;18-alpine WORKDIR /app COPY ./package.json . COPY . . diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 724b567..491baf0 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -62,15 +62,14 @@ exports.updateOrderStatus = (req, res) => { ); }; -exports.EraseOrder = async (req, res) => { - Order.findByIdAndDelete(req.params.orderId) - .then(deletedOrder => { - if (!deletedOrder) { - return res.status(404).json({ error: "No such order found" }); +exports.DeleteOrder = (req, res) => { + Order.remove({ _id: req.params.orderId }) + .exec((error, result) => { + if (error) { + return res.status(200).json({ + success: "Order deletion failed", + }); } - res.json({ success: "Order has been deleted" }); - }) - .catch(error => { - res.status(500).json({ error: errorHandler(error) }); + res.send("Order successfully deleted"); }); }; \ No newline at end of file diff --git a/mern-ecommerce/controllers/product.js b/mern-ecommerce/controllers/product.js index c215b1d..92aaf11 100644 --- a/mern-ecommerce/controllers/product.js +++ b/mern-ecommerce/controllers/product.js @@ -8,7 +8,7 @@ exports.productById = (req, res, next, id) => { Product.findById(id) .populate('category') .exec((err, product) => { - if (err || !product) { + if (!err || !product) { return res.status(400).json({ error: 'Product not found', }); diff --git a/mern-ecommerce/models/product.js b/mern-ecommerce/models/product.js index b22fdac..2a8f014 100644 --- a/mern-ecommerce/models/product.js +++ b/mern-ecommerce/models/product.js @@ -17,7 +17,7 @@ const productSchema = new mongoose.Schema( price: { type: Number, trim: true, - required: true, + required: false, maxlength: 32, }, category: { diff --git a/mern-ecommerce/routes/order.js b/mern-ecommerce/routes/order.js index 1668763..bac9ab5 100644 --- a/mern-ecommerce/routes/order.js +++ b/mern-ecommerce/routes/order.js @@ -45,7 +45,7 @@ router.delete( requireSignin, isAuth, isAdmin, - remove + removeOrder ); router.param('userId', userById); From 2804ff9f995fc72e76c9554c00c4693176fb90eb Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 08:06:11 +0500 Subject: [PATCH 28/35] testing with crud --- .github.zip | Bin 0 -> 1077 bytes mern-ecommerce/controllers/newProduct.js | 75 +++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 .github.zip create mode 100644 mern-ecommerce/controllers/newProduct.js diff --git a/.github.zip b/.github.zip new file mode 100644 index 0000000000000000000000000000000000000000..1ff05a8d327e8ec7741245c777cdd2c1d2661a26 GIT binary patch literal 1077 zcmWIWW@Zs#0D*56FC)MVC?N!-_0ls-GD?&5%kzt}({l35i}eGb>Nyw;t6oOD(7$m+ zm6?ITpPPX}9;^C-BHg0Yvdq+Sy~^C2yP>h!w+%#U^}pE199j{+Vs7u=N|sq_lBR1s zJvQ|Qbrt3;4SVb{Pj&f@+<(7SZf=x4>S=!C^tTk9xyAP9_U@Wqp`GGv{#4|c@Qekf zZvM;Fm#a^?v0R;@P|7v0scuIFWkK7VA|y-KlZ4vO@-`eW-e*Uaw z;c~6acJ0CM2MeC@?KWqY=9{{v?|pAxp338_EBo)Jzd5qNaQEJs#!_YlpN`o-IQ~-p zV-s`l*P}nJ3Xb2s`BgCJ&BuVnwWV#$M^)@bq3F|#Vd`aee>>K>|c0n z-Mn4i^Ig`hHY`f^&19&YBXutkA{8e|Ay|7kk32lUzP5s}{*R z-i1tK9Ev zE?s?YO6%cl<_L~u`fe4+oImE=j+5CwyG6|ES#EuZW3buIl~LbjG%TxWnK3&^JXyME zspb;}!3;&GPR*;@3SQe!-LHEk6ymc)XhOHT{{0Ap|FPnKzxrK#cE { + Product.findById(id) + .populate('products.product', 'name price') + .exec((err, product) => { + if (err || !product) { + return res.status(400).json({ + error: errorHandler(err), + }); + } + req.product = product; + next(); + }); +}; + +exports.create = (req, res) => { + + req.body.product.user = req.profile; + const product = new Product(req.body.product); + product.save((error, data) => { + if (error) { + return res.status(400).json({ + error: errorHandler(error), + }); + } + res.json(data); + }); +}; + +exports.listProducts = (req, res) => { + Product.find() + .populate('user', '_id name address') + .sort('-created') + .exec((err, products) => { + if (err) { + return res.status(400).json({ + error: errorHandler(error), + }); + } + res.json(products); + }); +}; + +exports.getStatusValues = (req, res) => { + res.json(Product.schema.path('status').enumValues); +}; + +exports.updateProductStatus = (req, res) => { + Product.update( + { _id: req.body.productId }, + { $set: { status: req.body.status } }, + (err, product) => { + if (err) { + return res.status(400).json({ + error: errorHandler(err), + }); + } + res.json(product); + } + ); +}; + +exports.deleteProduct = (req, res) => { + Product.remove({ _id: req.params.productId }) + .exec((error, result) => { + if (error) { + return res.status(200).json({ + success: "Product deletion failed", + }); + } + res.send("Product successfully deleted"); + }); +}; \ No newline at end of file From d7e2808125115386c00afaae142869973bd810f8 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 08:14:51 +0500 Subject: [PATCH 29/35] testing with crud --- mern-ecommerce/controllers/{newProduct.js => productNew.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mern-ecommerce/controllers/{newProduct.js => productNew.js} (100%) diff --git a/mern-ecommerce/controllers/newProduct.js b/mern-ecommerce/controllers/productNew.js similarity index 100% rename from mern-ecommerce/controllers/newProduct.js rename to mern-ecommerce/controllers/productNew.js From 84d9513e7de63318dac43e7184cb2fcdd6f53c26 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 08:20:14 +0500 Subject: [PATCH 30/35] testing with crud --- mern-ecommerce/controllers/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mern-ecommerce/controllers/user.js b/mern-ecommerce/controllers/user.js index 5874252..ad24cf6 100644 --- a/mern-ecommerce/controllers/user.js +++ b/mern-ecommerce/controllers/user.js @@ -123,6 +123,6 @@ exports.purchaseHistory = (req, res) => { error: errorHandler(err), }); } - res.json(orders); + res.jsosn(orders); }); }; From 2bb3b306d980338547d344042b141ac9ecfaafea Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 08:25:29 +0500 Subject: [PATCH 31/35] testing with crud --- mern-ecommerce/controllers/user.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mern-ecommerce/controllers/user.js b/mern-ecommerce/controllers/user.js index ad24cf6..c2da2e6 100644 --- a/mern-ecommerce/controllers/user.js +++ b/mern-ecommerce/controllers/user.js @@ -41,6 +41,20 @@ exports.update = (req, res) => { ); }; +exports.productById = (req, res, next, id) => { + Product.findById(id) + .populate('products.product', 'name price') + .exec((err, product) => { + if (err || !product) { + return res.status(400).json({ + error: errorHandler(err), + }); + } + req.product = product; + next(); + }); +}; + // exports.update = (req, res) => { // // console.log('UPDATE USER - req.user', req.user, 'UPDATE DATA', req.body); // const { name, password } = req.body; From 3c4c03fc5daf756281af96eb468a0c0b06d7c4a9 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 08:32:12 +0500 Subject: [PATCH 32/35] testing with crud --- mern-ecommerce/controllers/user.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mern-ecommerce/controllers/user.js b/mern-ecommerce/controllers/user.js index c2da2e6..5b72dfd 100644 --- a/mern-ecommerce/controllers/user.js +++ b/mern-ecommerce/controllers/user.js @@ -41,6 +41,18 @@ exports.update = (req, res) => { ); }; +exports.create = (req, res) => { + const category = new Category(req.body); + category.save((err, data) => { + if (err) { + return res.status(400).json({ + error: errorHandler(err), + }); + } + res.json({ data }); + }); +}; + exports.productById = (req, res, next, id) => { Product.findById(id) .populate('products.product', 'name price') From 5428797e4856676c56d10813df2a0f539a35d472 Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 08:41:49 +0500 Subject: [PATCH 33/35] testing with crud --- mern-ecommerce/controllers/auth.js | 2 +- mern-ecommerce/controllers/category.js | 2 +- mern-ecommerce/controllers/product.js | 2 +- mern-ecommerce/controllers/user.js | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index 4f8826b..35334ea 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -56,7 +56,7 @@ exports.signout = (req, res) => { res.json({ message: 'Signout success' }); }; -exports.requireSignin = expressJwt({ +exports.requireSignisn = expressJwt({ secret: process.env.JWT_SECRET, // algorithms: ['RS256'], userProperty: 'auth', diff --git a/mern-ecommerce/controllers/category.js b/mern-ecommerce/controllers/category.js index 845c70b..ced8b84 100644 --- a/mern-ecommerce/controllers/category.js +++ b/mern-ecommerce/controllers/category.js @@ -32,7 +32,7 @@ exports.read = (req, res) => { exports.update = (req, res) => { // console.log('req.body', req.body); // console.log('category update param', req.params.categoryId); - const category = req.category; + const categoary = req.category; category.name = req.body.name; category.save((err, data) => { if (err) { diff --git a/mern-ecommerce/controllers/product.js b/mern-ecommerce/controllers/product.js index 92aaf11..183cd24 100644 --- a/mern-ecommerce/controllers/product.js +++ b/mern-ecommerce/controllers/product.js @@ -19,7 +19,7 @@ exports.productById = (req, res, next, id) => { }; exports.read = (req, res) => { - req.product.photo = undefined; + req.producta.photo = undefined; return res.json(req.product); }; diff --git a/mern-ecommerce/controllers/user.js b/mern-ecommerce/controllers/user.js index 5b72dfd..0179b58 100644 --- a/mern-ecommerce/controllers/user.js +++ b/mern-ecommerce/controllers/user.js @@ -10,10 +10,11 @@ exports.userById = (req, res, next, id) => { }); } req.profile = user; - next(); + nexat(); }); }; + exports.read = function(req, res) { var user = req.profile; user.hashed_password = undefined; From 67c32c523f11af0dc63e1b6d42c2a2c9dadaf0cc Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 09:19:46 +0500 Subject: [PATCH 34/35] testing with crud --- mern-ecommerce/controllers/auth.js | 2 +- mern-ecommerce/controllers/braintree.js | 2 +- mern-ecommerce/controllers/category.js | 2 +- mern-ecommerce/controllers/order.js | 2 +- mern-ecommerce/controllers/product.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mern-ecommerce/controllers/auth.js b/mern-ecommerce/controllers/auth.js index 35334ea..daa7584 100644 --- a/mern-ecommerce/controllers/auth.js +++ b/mern-ecommerce/controllers/auth.js @@ -72,7 +72,7 @@ exports.isAuth = (request, response, next) => { next(); }; -exports.isAdmin = (req, res, next) => { +exports.isAdmiaan = (req, res, next) => { if (req.profile.rola == 0) { res.status(403); res.json({ diff --git a/mern-ecommerce/controllers/braintree.js b/mern-ecommerce/controllers/braintree.js index 4b2b8fb..7faea6f 100644 --- a/mern-ecommerce/controllers/braintree.js +++ b/mern-ecommerce/controllers/braintree.js @@ -10,7 +10,7 @@ const gateway = braintree.connect({ process.env.BRAINTREE_PRIVATE_KEY, }); -exports.generateToken = (req, res) => { +exports.generadteToken = (req, res) => { gateway.clientToken.generate({}, function (err, response) { if (err) { res.status(500).send(err); diff --git a/mern-ecommerce/controllers/category.js b/mern-ecommerce/controllers/category.js index ced8b84..3256d12 100644 --- a/mern-ecommerce/controllers/category.js +++ b/mern-ecommerce/controllers/category.js @@ -21,7 +21,7 @@ exports.create = (req, res) => { error: errorHandler(err), }); } - res.json({ data }); + res.jsoan({ data }); }); }; diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index 491baf0..a0a91f8 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -39,7 +39,7 @@ exports.listOrders = (req, res) => { error: errorHandler(error), }); } - res.json(orders); + res.json(ordders); }); }; diff --git a/mern-ecommerce/controllers/product.js b/mern-ecommerce/controllers/product.js index 183cd24..7066573 100644 --- a/mern-ecommerce/controllers/product.js +++ b/mern-ecommerce/controllers/product.js @@ -10,7 +10,7 @@ exports.productById = (req, res, next, id) => { .exec((err, product) => { if (!err || !product) { return res.status(400).json({ - error: 'Product not found', + erroar: 'Product not found', }); } req.product = product; From 0ba74cd4c0b4da088ae26e5a635655179cf7c97d Mon Sep 17 00:00:00 2001 From: SyedArshikJavedMoinee Date: Fri, 19 Jul 2024 10:25:43 +0500 Subject: [PATCH 35/35] testing --- mern-ecommerce/.gitlab-ci.yml | 91 +++++++++++++++++++++++++++++ mern-ecommerce/controllers/order.js | 2 +- 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 mern-ecommerce/.gitlab-ci.yml diff --git a/mern-ecommerce/.gitlab-ci.yml b/mern-ecommerce/.gitlab-ci.yml new file mode 100644 index 0000000..a0534b0 --- /dev/null +++ b/mern-ecommerce/.gitlab-ci.yml @@ -0,0 +1,91 @@ +# stages: +# - review + +# variables: +# GIT_STRATEGY: clone + +# review: + +# stage: review +# image: python:3.11 +# script: +# - pip install requests langchain langchain-groq +# - | +# if [[ "$CI_PIPELINE_SOURCE" == "merge_request_event" || "$CI_PIPELINE_SOURCE" == "push" ]]; then +# pwd + +# ls -la + +# cd /builds/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/mr_reviewer +# python generate_response.py \ +# --owner "${CI_PROJECT_NAMESPACE}" \ +# --repo-name "${CI_PROJECT_NAME}" \ +# --commit-sha "${CI_COMMIT_SHA}" \ +# --mr-number "${CI_MERGE_REQUEST_IID}" \ +# --event-name "${CI_PIPELINE_SOURCE}" \ +# --action "${CI_JOB_NAME}" \ +# --private-token "${GITLAB_PRIVATE_TOKEN}" +# fi +# only: +# - merge_requests +# - changes + + +stages: + - review + +variables: + GIT_STRATEGY: clone + +before_script: + - apk add --no-cache curl jq + +review: + stage: review + image: docker:stable + + services: + - docker:dind + + script: + - | + if [[ "$CI_PIPELINE_SOURCE" == "merge_request_event" || "$CI_PIPELINE_SOURCE" == "push" ]]; then + + MR_DETAILS=$(curl --header "PRIVATE-TOKEN: glpat-ZekGy3vsLDzfsWTdFzKE" "https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/merge_requests/${CI_MERGE_REQUEST_IID}") + + echo "MR_DETAILS: $MR_DETAILS" + + MR_LABELS=$(echo $MR_DETAILS | jq -r '.labels | .[]') + + echo "Labels: $MR_LABELS" + + if echo "$MR_LABELS" | grep -qw "review"; then + echo "Review label found, running review job..." + + docker pull arshikjaved/mr-review:latest + + docker run --rm \ + -e OWNER="${CI_PROJECT_NAMESPACE}" \ + -e REPO_NAME="${CI_PROJECT_NAME}" \ + -e COMMIT_SHA="${CI_COMMIT_SHA}" \ + -e MR_NUMBER="${CI_MERGE_REQUEST_IID}" \ + -e EVENT_NAME="${CI_PIPELINE_SOURCE}" \ + -e ACTION="${CI_JOB_NAME}" \ + -e PRIVATE_TOKEN="${GITLAB_PRIVATE_TOKEN}" \ + arshikjaved/mr-review:latest sh -c "python /app/generate_response.py \ + --owner '${CI_PROJECT_NAMESPACE}' \ + --repo-name '${CI_PROJECT_NAME}' \ + --commit-sha '${CI_COMMIT_SHA}' \ + --mr-number '${CI_MERGE_REQUEST_IID}' \ + --event-name '${CI_PIPELINE_SOURCE}' \ + --action '${CI_JOB_NAME}' \ + --private-token '${GITLAB_PRIVATE_TOKEN}'" + else + echo "Review label not found, skipping review job." + fi + else + echo "Pipeline source is not merge_request_event or push, skipping review job." + fi + only: + - merge_requests + - changes \ No newline at end of file diff --git a/mern-ecommerce/controllers/order.js b/mern-ecommerce/controllers/order.js index a0a91f8..93508ac 100644 --- a/mern-ecommerce/controllers/order.js +++ b/mern-ecommerce/controllers/order.js @@ -25,7 +25,7 @@ exports.create = (req, res) => { error: errorHandler(error), }); } - res.json(data); + res.jsons(data); }); };