From 2b7ddec0fdeaf5b3c5832516ee1d8fae3edd2787 Mon Sep 17 00:00:00 2001 From: Nikhil Date: Sat, 3 Aug 2024 12:54:55 +0530 Subject: [PATCH 1/9] server done --- models/customerSchema.js | 2 +- models/orderSchema.js | 2 +- models/productSchema.js | 4 ++-- models/sellerSchema.js | 2 +- routes/route.js | 4 +++- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/models/customerSchema.js b/models/customerSchema.js index c2fcdc6..161ec09 100644 --- a/models/customerSchema.js +++ b/models/customerSchema.js @@ -79,4 +79,4 @@ const customerSchema = mongoose.Schema({ } }); -module.exports = mongoose.model("customer", customerSchema) \ No newline at end of file +module.exports = mongoose.model("Customer", customerSchema) \ No newline at end of file diff --git a/models/orderSchema.js b/models/orderSchema.js index bffca5b..c5ac53f 100644 --- a/models/orderSchema.js +++ b/models/orderSchema.js @@ -117,4 +117,4 @@ const orderSchema = new mongoose.Schema( }, }); -module.exports = mongoose.model("customer", orderSchema); \ No newline at end of file +module.exports = mongoose.model("Order", orderSchema); \ No newline at end of file diff --git a/models/productSchema.js b/models/productSchema.js index 8755a9a..a6adfe8 100644 --- a/models/productSchema.js +++ b/models/productSchema.js @@ -49,7 +49,7 @@ const productSchema = mongoose.Schema( }, date: { type: Date, - default: Text, + default: Date.now, }, }, ], @@ -59,4 +59,4 @@ const productSchema = mongoose.Schema( }, }, { timestamps: false}); -module.exports = mongoose.mongoose("product", productSchema) \ No newline at end of file +module.exports = mongoose.model("Product", productSchema) \ No newline at end of file diff --git a/models/sellerSchema.js b/models/sellerSchema.js index 557a1ec..fd8c606 100644 --- a/models/sellerSchema.js +++ b/models/sellerSchema.js @@ -25,4 +25,4 @@ const sellerSchema = new mongoose.Schema({ } }); -moduleexports = mongoose.model("seller", sellerSchema) \ No newline at end of file +moduleexports = mongoose.model("Seller", sellerSchema) \ No newline at end of file diff --git a/routes/route.js b/routes/route.js index 7919542..d71bbec 100644 --- a/routes/route.js +++ b/routes/route.js @@ -4,7 +4,7 @@ const authMiddleware = require('../middleware/authMiddleware.js'); const { sellerRegister, sellerLogIn -} = require('../controllers/orderController.js'); +} = require('../controllers/sellerController.js'); const { productCreate, @@ -69,3 +69,5 @@ router.put('/CustomerUpdate/:id', cartUpdate); router.post('/newOrder', newOrder); router.get('/getOrderedProductsByCustomer/:id', getOrderedProductsBySeller); router.get('/getOrderedProductsBySeller/:id', getOrderedProductsBySeller); + +module.exports = router; \ No newline at end of file From 6519a5d534a9fe1966e95adddab6885d3d10e0a0 Mon Sep 17 00:00:00 2001 From: Nutan22341 Date: Sat, 3 Aug 2024 13:09:52 +0530 Subject: [PATCH 2/9] changes done --- models/customerSchema.js | 2 +- models/orderSchema.js | 4 +- models/productSchema.js | 4 +- models/sellerSchema.js | 2 +- package-lock.json | 185 +++++++++++++++++++-------------------- package.json | 6 +- routes/route.js | 4 +- 7 files changed, 101 insertions(+), 106 deletions(-) diff --git a/models/customerSchema.js b/models/customerSchema.js index c2fcdc6..161ec09 100644 --- a/models/customerSchema.js +++ b/models/customerSchema.js @@ -79,4 +79,4 @@ const customerSchema = mongoose.Schema({ } }); -module.exports = mongoose.model("customer", customerSchema) \ No newline at end of file +module.exports = mongoose.model("Customer", customerSchema) \ No newline at end of file diff --git a/models/orderSchema.js b/models/orderSchema.js index bffca5b..4f1bdaa 100644 --- a/models/orderSchema.js +++ b/models/orderSchema.js @@ -4,7 +4,7 @@ const orderSchema = new mongoose.Schema( { buyer: { type: mongoose.Schema.ObjectId, - ref: "customer", + ref: "Customer", required: true, }, shippingData: { @@ -117,4 +117,4 @@ const orderSchema = new mongoose.Schema( }, }); -module.exports = mongoose.model("customer", orderSchema); \ No newline at end of file +module.exports = mongoose.model("Order", orderSchema); \ No newline at end of file diff --git a/models/productSchema.js b/models/productSchema.js index 8755a9a..b7f2aed 100644 --- a/models/productSchema.js +++ b/models/productSchema.js @@ -49,7 +49,7 @@ const productSchema = mongoose.Schema( }, date: { type: Date, - default: Text, + default: Date.now(), }, }, ], @@ -59,4 +59,4 @@ const productSchema = mongoose.Schema( }, }, { timestamps: false}); -module.exports = mongoose.mongoose("product", productSchema) \ No newline at end of file +module.exports = mongoose.model("Product", productSchema) \ No newline at end of file diff --git a/models/sellerSchema.js b/models/sellerSchema.js index 557a1ec..bd18d28 100644 --- a/models/sellerSchema.js +++ b/models/sellerSchema.js @@ -25,4 +25,4 @@ const sellerSchema = new mongoose.Schema({ } }); -moduleexports = mongoose.model("seller", sellerSchema) \ No newline at end of file +module.exports = mongoose.model("Seller", sellerSchema) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3b39497..9cc1301 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,10 +12,10 @@ "bcrypt": "^5.1.0", "body-parser": "^1.20.2", "cors": "^2.8.5", - "dotenv": "^16.1.4", - "express": "^4.18.2", + "dotenv": "^16.4.5", + "express": "^4.19.2", "jsonwebtoken": "^9.0.0", - "mongoose": "^7.2.4", + "mongoose": "^7.8.0", "nodemon": "^2.0.22" } }, @@ -38,15 +38,27 @@ "node-pre-gyp": "bin/node-pre-gyp" } }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", + "optional": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, "node_modules/@types/node": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", - "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==" + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", + "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==", + "dependencies": { + "undici-types": "~6.13.0" + } }, "node_modules/@types/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" }, "node_modules/@types/whatwg-url": { "version": "8.2.2", @@ -218,9 +230,9 @@ } }, "node_modules/bson": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.3.0.tgz", - "integrity": "sha512-ukmCZMneMlaC5ebPHXIkP8YJzNl5DC41N5MAIvKDqLggdao342t4McltoJBQfQya/nHBWAcSsYRqlXPoQkTJag==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.1.tgz", + "integrity": "sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==", "engines": { "node": ">=14.20.1" } @@ -322,9 +334,9 @@ } }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -385,14 +397,14 @@ } }, "node_modules/dotenv": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.4.tgz", - "integrity": "sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" + "url": "https://dotenvx.com" } }, "node_modules/ecdsa-sig-formatter": { @@ -435,16 +447,16 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -475,43 +487,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -788,10 +763,17 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -847,6 +829,11 @@ "node": ">=0.12.0" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "node_modules/jsonwebtoken": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", @@ -1043,11 +1030,11 @@ } }, "node_modules/mongodb": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.5.0.tgz", - "integrity": "sha512-XgrkUgAAdfnZKQfk5AsYL8j7O99WHd4YXPxYxnh8dZxD+ekYWFRA3JktUsBnfg+455Smf75/+asoU/YLwNGoQQ==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.2.tgz", + "integrity": "sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ==", "dependencies": { - "bson": "^5.3.0", + "bson": "^5.5.0", "mongodb-connection-string-url": "^2.6.0", "socks": "^2.7.1" }, @@ -1055,10 +1042,12 @@ "node": ">=14.20.1" }, "optionalDependencies": { - "saslprep": "^1.0.3" + "@mongodb-js/saslprep": "^1.1.0" }, "peerDependencies": { - "@aws-sdk/credential-providers": "^3.201.0", + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.0.0", + "kerberos": "^1.0.0 || ^2.0.0", "mongodb-client-encryption": ">=2.3.0 <3", "snappy": "^7.2.2" }, @@ -1066,6 +1055,12 @@ "@aws-sdk/credential-providers": { "optional": true }, + "@mongodb-js/zstd": { + "optional": true + }, + "kerberos": { + "optional": true + }, "mongodb-client-encryption": { "optional": true }, @@ -1084,13 +1079,13 @@ } }, "node_modules/mongoose": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.2.4.tgz", - "integrity": "sha512-BWcgShV2WH1rspICiJKLPi7QssTebpGJ23Nyk7qG0TMEE/OEAlsQKEhI7VlrXg4ZnoOcHgG+N+upW9tj17TTQg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.8.0.tgz", + "integrity": "sha512-wLAP7xYz+tEnzy4VsZyMJ1mfaSIwfaeoSQ55ZVovFkdh1FVta6VNSVFCpJMzEinMJsRzTbZTcD4pND9J5aDiyA==", "dependencies": { - "bson": "^5.3.0", + "bson": "^5.5.0", "kareem": "2.5.1", - "mongodb": "5.5.0", + "mongodb": "5.9.2", "mpath": "0.9.0", "mquery": "5.0.0", "ms": "2.1.3", @@ -1371,9 +1366,9 @@ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -1476,18 +1471,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/saslprep": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", - "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", - "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/semver": { "version": "7.5.1", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", @@ -1606,15 +1589,15 @@ } }, "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, @@ -1627,6 +1610,11 @@ "memory-pager": "^1.0.2" } }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -1766,6 +1754,11 @@ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" }, + "node_modules/undici-types": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", + "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==" + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/package.json b/package.json index c31b606..faed3ae 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,10 @@ "bcrypt": "^5.1.0", "body-parser": "^1.20.2", "cors": "^2.8.5", - "dotenv": "^16.1.4", - "express": "^4.18.2", + "dotenv": "^16.4.5", + "express": "^4.19.2", "jsonwebtoken": "^9.0.0", - "mongoose": "^7.2.4", + "mongoose": "^7.8.0", "nodemon": "^2.0.22" } } diff --git a/routes/route.js b/routes/route.js index 7919542..d71bbec 100644 --- a/routes/route.js +++ b/routes/route.js @@ -4,7 +4,7 @@ const authMiddleware = require('../middleware/authMiddleware.js'); const { sellerRegister, sellerLogIn -} = require('../controllers/orderController.js'); +} = require('../controllers/sellerController.js'); const { productCreate, @@ -69,3 +69,5 @@ router.put('/CustomerUpdate/:id', cartUpdate); router.post('/newOrder', newOrder); router.get('/getOrderedProductsByCustomer/:id', getOrderedProductsBySeller); router.get('/getOrderedProductsBySeller/:id', getOrderedProductsBySeller); + +module.exports = router; \ No newline at end of file From 569f7d24282d03ca66a2c4828a089fecd4889dca Mon Sep 17 00:00:00 2001 From: Nutan22341 Date: Sat, 3 Aug 2024 13:17:46 +0530 Subject: [PATCH 3/9] update changes --- models/productSchema.js | 4 ---- models/sellerSchema.js | 6 +----- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/models/productSchema.js b/models/productSchema.js index 062d917..a6adfe8 100644 --- a/models/productSchema.js +++ b/models/productSchema.js @@ -49,11 +49,7 @@ const productSchema = mongoose.Schema( }, date: { type: Date, -<<<<<<< HEAD - default: Date.now(), -======= default: Date.now, ->>>>>>> 2b7ddec0fdeaf5b3c5832516ee1d8fae3edd2787 }, }, ], diff --git a/models/sellerSchema.js b/models/sellerSchema.js index 7013b6e..078cbe7 100644 --- a/models/sellerSchema.js +++ b/models/sellerSchema.js @@ -24,9 +24,5 @@ const sellerSchema = new mongoose.Schema({ required: true } }); - -<<<<<<< HEAD module.exports = mongoose.model("Seller", sellerSchema) -======= -moduleexports = mongoose.model("Seller", sellerSchema) ->>>>>>> 2b7ddec0fdeaf5b3c5832516ee1d8fae3edd2787 + From b9eda8f9d6ded8c4130e58aa51879a5d5d0458df Mon Sep 17 00:00:00 2001 From: Nutan22341 Date: Sat, 3 Aug 2024 13:22:55 +0530 Subject: [PATCH 4/9] dotenv ko upar kar diya --- index.js | 3 ++- models/customerSchema.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 6a2384f..25a1aae 100644 --- a/index.js +++ b/index.js @@ -6,9 +6,10 @@ const dotenv = require("dotenv") const app = express() const Routes = require("./routes/route.js") +dotenv.config(); const PORT = process.env.PORT || 5000 -dotenv.config(); + app.use(express.json({ limit: '10mb' })) app.use(cors()) diff --git a/models/customerSchema.js b/models/customerSchema.js index 161ec09..e8f1905 100644 --- a/models/customerSchema.js +++ b/models/customerSchema.js @@ -54,7 +54,7 @@ const customerSchema = mongoose.Schema({ }, seller: { type: mongoose.Schema.Types.ObjectId, - ref: 'SELLER' + ref: 'Seller' }, }], shippingData: { From 9ac1f8952f2685ed784d32e1c1b21fdb44a7cf45 Mon Sep 17 00:00:00 2001 From: Nikhil Date: Sat, 3 Aug 2024 14:32:48 +0530 Subject: [PATCH 5/9] seller api done --- controllers/sellerController.js | 4 ++-- utils/token.js | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/controllers/sellerController.js b/controllers/sellerController.js index b9943bb..6367461 100644 --- a/controllers/sellerController.js +++ b/controllers/sellerController.js @@ -9,7 +9,7 @@ const sellerRegister = async (req, res) => { const seller = new Seller({ ...req.body, - password: bcrypt.hash + password: hashedPass }); const existingSellerByEmail = await Seller.findOne({ email: req.body.email }); @@ -51,7 +51,7 @@ const sellerLogIn = async (req, res) => { seller = { ...seller._doc, - token: tokens + token: token }; res.send(seller); diff --git a/utils/token.js b/utils/token.js index 855ef6c..b6cb999 100644 --- a/utils/token.js +++ b/utils/token.js @@ -1,6 +1,8 @@ const jwt = require("jsonwebtoken"); - +const dotenv = require("dotenv") +dotenv.config(); const createNewToken = (payload) => { - return jwt.sign({ userId: payload }, process.getuid.SECRET_KEY, { expiresIn: '10d' }); + return jwt.sign({ userId: payload }, process.env.SECRET_KEY, { expiresIn: '10d' }); } +module.exports = {createNewToken}; \ No newline at end of file From 58c8e3b45d60a99475ff49df492014eca2a1688a Mon Sep 17 00:00:00 2001 From: Nutan22341 Date: Sat, 3 Aug 2024 14:44:31 +0530 Subject: [PATCH 6/9] Customer ka ho gya --- controllers/customerController.js | 46 ++++++++++++++++--------------- index.js | 2 -- models/sellerSchema.js | 2 ++ utils/token.js | 7 +++-- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/controllers/customerController.js b/controllers/customerController.js index 09911c6..324337f 100644 --- a/controllers/customerController.js +++ b/controllers/customerController.js @@ -2,8 +2,16 @@ const bcrypt = require('bcrypt'); const Customer = require('../models/customerSchema.js'); const { createNewToken } = require('../utils/token.js'); + + + const customerRegister = async (req, res) => { try { + const existingcustomerByEmail = await Customer.findOne({ email: req.body.email }); + if (existingcustomerByEmail) { + res.send({ message: 'Email already exists' }); + } + const salt = await bcrypt.genSalt(10); const hashedPass = await bcrypt.hash(req.body.password, salt); @@ -12,24 +20,18 @@ const customerRegister = async (req, res) => { password: hashedPass }); - const existingcustomerByEmail = await Customer.findOne({ email: req.body.email }); - - if (existingcustomerByEmail) { - res.send({ message: 'Email already exists' }); - } - else { - let result = await customer.save(); - result.password = undefined; - - const token = createNewToken(result._id) + + let result = await customer.save(); + result.password = undefined; + + const token = createNewToken(result._id) - result = { - ...result._doc, - token: token - }; + result = { + ...result._doc, + token: token + }; - res.send(result); - } + res.status(200).json.send(result); } catch (err) { res.status(500).json(err); } @@ -38,9 +40,9 @@ const customerRegister = async (req, res) => { const customerLogIn = async (req, res) => { if (req.body.email && req.body.password) { let customer = await Customer.findOne({ email: req.body.email }); - if (!customer) { + if (customer) { const validated = await bcrypt.compare(req.body.password, customer.password); - if (!validated) { + if (validated) { customer.password = undefined; const token = createNewToken(customer._id) @@ -50,7 +52,7 @@ const customerLogIn = async (req, res) => { token: token }; - res.send(customer); + res.status(200).send(customer); } else { res.send({ message: "Invalid password" }); } @@ -64,12 +66,12 @@ const customerLogIn = async (req, res) => { const getCartDetail = async (req, res) => { try { - let customer = await Customer.findBy(req.params.id) + let customer = await Customer.findById(req.params.id) if (customer) { - res.get(customer.cartDetails); + res.json(customer.cartDetails); } else { - res.send({ message: "No customer found" }); + res.status(200).send({ message: "No customer found" }); } } catch (err) { res.status(500).json(err); diff --git a/index.js b/index.js index 25a1aae..2dacd56 100644 --- a/index.js +++ b/index.js @@ -9,8 +9,6 @@ const Routes = require("./routes/route.js") dotenv.config(); const PORT = process.env.PORT || 5000 - - app.use(express.json({ limit: '10mb' })) app.use(cors()) diff --git a/models/sellerSchema.js b/models/sellerSchema.js index 078cbe7..20c19a6 100644 --- a/models/sellerSchema.js +++ b/models/sellerSchema.js @@ -24,5 +24,7 @@ const sellerSchema = new mongoose.Schema({ required: true } }); + + module.exports = mongoose.model("Seller", sellerSchema) diff --git a/utils/token.js b/utils/token.js index 855ef6c..bc8db8d 100644 --- a/utils/token.js +++ b/utils/token.js @@ -1,6 +1,9 @@ const jwt = require("jsonwebtoken"); - +const dotenv = require("dotenv") +dotenv.config(); const createNewToken = (payload) => { - return jwt.sign({ userId: payload }, process.getuid.SECRET_KEY, { expiresIn: '10d' }); + return jwt.sign({ userId: payload }, process.env.SECRET_KEY, { expiresIn: '10d' }); } +module.exports = {createNewToken}; + From 664285e1e1aed44fab4801d8860ab15f67f33ef1 Mon Sep 17 00:00:00 2001 From: adityasinha Date: Sat, 3 Aug 2024 15:00:14 +0530 Subject: [PATCH 7/9] product apis --- controllers/productController.js | 4 ++-- index.js | 3 ++- models/customerSchema.js | 6 +++--- models/orderSchema.js | 2 +- models/productSchema.js | 8 ++++---- models/sellerSchema.js | 2 +- routes/route.js | 4 +++- 7 files changed, 16 insertions(+), 13 deletions(-) diff --git a/controllers/productController.js b/controllers/productController.js index 22d63f8..d54d7d3 100644 --- a/controllers/productController.js +++ b/controllers/productController.js @@ -15,7 +15,7 @@ const productCreate = async (req, res) => { const getProducts = async (req, res) => { try { - let products = await Product.find().populate("seller", "shopName"); + let products = await Product.find(); if (products.length > 0) { res.send(products); } else { @@ -28,7 +28,7 @@ const getProducts = async (req, res) => { const getSellerProducts = async (req, res) => { try { - let products = await Product.find({ seller: req.params.id }) + const products = await Product.find({ seller: req.params.id }) if (products.length > 0) { res.send(products) } else { diff --git a/index.js b/index.js index 6a2384f..2379aad 100644 --- a/index.js +++ b/index.js @@ -5,10 +5,11 @@ const dotenv = require("dotenv") const app = express() const Routes = require("./routes/route.js") +dotenv.config(); const PORT = process.env.PORT || 5000 -dotenv.config(); + app.use(express.json({ limit: '10mb' })) app.use(cors()) diff --git a/models/customerSchema.js b/models/customerSchema.js index c2fcdc6..f2fb3c9 100644 --- a/models/customerSchema.js +++ b/models/customerSchema.js @@ -1,6 +1,6 @@ const mongoose = require("mongoose") -const customerSchema = mongoose.Schema({ +const customerSchema = new mongoose.Schema({ name: { type: String, required: true, @@ -68,7 +68,7 @@ const customerSchema = mongoose.Schema({ type: String, }, country: { - type: Number, + type: String, }, pinCode: { type: Number, @@ -79,4 +79,4 @@ const customerSchema = mongoose.Schema({ } }); -module.exports = mongoose.model("customer", customerSchema) \ No newline at end of file +module.exports = mongoose.model("Customer", customerSchema) \ No newline at end of file diff --git a/models/orderSchema.js b/models/orderSchema.js index bffca5b..c5ac53f 100644 --- a/models/orderSchema.js +++ b/models/orderSchema.js @@ -117,4 +117,4 @@ const orderSchema = new mongoose.Schema( }, }); -module.exports = mongoose.model("customer", orderSchema); \ No newline at end of file +module.exports = mongoose.model("Order", orderSchema); \ No newline at end of file diff --git a/models/productSchema.js b/models/productSchema.js index 8755a9a..4e33923 100644 --- a/models/productSchema.js +++ b/models/productSchema.js @@ -1,6 +1,6 @@ const mongoose = require("mongoose") -const productSchema = mongoose.Schema( +const productSchema = new mongoose.Schema( { productName: { type: String @@ -45,11 +45,11 @@ const productSchema = mongoose.Schema( }, reviewer: { type: mongoose.Schema.Types.ObjectId, - ref: "CUSTOMERS", + ref: "Customers", }, date: { type: Date, - default: Text, + default: Date.now() }, }, ], @@ -59,4 +59,4 @@ const productSchema = mongoose.Schema( }, }, { timestamps: false}); -module.exports = mongoose.mongoose("product", productSchema) \ No newline at end of file +module.exports = mongoose.model("Product", productSchema) \ No newline at end of file diff --git a/models/sellerSchema.js b/models/sellerSchema.js index 557a1ec..fd8c606 100644 --- a/models/sellerSchema.js +++ b/models/sellerSchema.js @@ -25,4 +25,4 @@ const sellerSchema = new mongoose.Schema({ } }); -moduleexports = mongoose.model("seller", sellerSchema) \ No newline at end of file +moduleexports = mongoose.model("Seller", sellerSchema) \ No newline at end of file diff --git a/routes/route.js b/routes/route.js index 7919542..511cfb3 100644 --- a/routes/route.js +++ b/routes/route.js @@ -4,7 +4,7 @@ const authMiddleware = require('../middleware/authMiddleware.js'); const { sellerRegister, sellerLogIn -} = require('../controllers/orderController.js'); +} = require('../controllers/sellerController.js'); const { productCreate, @@ -69,3 +69,5 @@ router.put('/CustomerUpdate/:id', cartUpdate); router.post('/newOrder', newOrder); router.get('/getOrderedProductsByCustomer/:id', getOrderedProductsBySeller); router.get('/getOrderedProductsBySeller/:id', getOrderedProductsBySeller); + +module.exports= router; \ No newline at end of file From 3852f0cc90f68e89708ae71043ac91596659e9ca Mon Sep 17 00:00:00 2001 From: Nutan22341 Date: Sat, 3 Aug 2024 15:14:17 +0530 Subject: [PATCH 8/9] done changes --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index b934927..fe5926f 100644 --- a/index.js +++ b/index.js @@ -7,7 +7,6 @@ const app = express() const Routes = require("./routes/route.js") -======= dotenv.config(); const PORT = process.env.PORT || 5000 From 8de1200999dc71789b959c84973b808d96d02ffb Mon Sep 17 00:00:00 2001 From: Nutan22341 Date: Sat, 3 Aug 2024 17:01:50 +0530 Subject: [PATCH 9/9] get Products --- controllers/productController.js | 19 ++++++++++--------- models/orderSchema.js | 2 +- models/productSchema.js | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/controllers/productController.js b/controllers/productController.js index d54d7d3..0aaf516 100644 --- a/controllers/productController.js +++ b/controllers/productController.js @@ -15,7 +15,7 @@ const productCreate = async (req, res) => { const getProducts = async (req, res) => { try { - let products = await Product.find(); + let products = await Product.find().populate("seller", "shopName"); if (products.length > 0) { res.send(products); } else { @@ -41,16 +41,17 @@ const getSellerProducts = async (req, res) => { const getProductDetail = async (req, res) => { try { - let product = await Product.findById(req.params.id) - .populate("seller", "shopName") - .populate({ - path: "reviews.reviewer", - model: "customer", - select: "name" - }); + const product = await Product.findById(req.params.id) + console.log(`Fetching product with ID: ${product}`); // Debug output + // .populate("seller", "shopName") + // .populate({ + // path: "reviews.reviewer", + // model: "Customer", + // select: "name" + // }); if (product) { - res.send(product); + res.status(200).json(product); } else { res.send({ message: "No product found" }); diff --git a/models/orderSchema.js b/models/orderSchema.js index 4f1bdaa..182d53c 100644 --- a/models/orderSchema.js +++ b/models/orderSchema.js @@ -68,7 +68,7 @@ const orderSchema = new mongoose.Schema( }, seller: { type: mongoose.Schema.Types.ObjectId, - ref: 'seller' + ref: 'Seller' }, }], paymentInfo: { diff --git a/models/productSchema.js b/models/productSchema.js index 7bd7478..466d729 100644 --- a/models/productSchema.js +++ b/models/productSchema.js @@ -45,7 +45,7 @@ const productSchema = new mongoose.Schema( }, reviewer: { type: mongoose.Schema.Types.ObjectId, - ref: "Customers", + ref: "Customer", }, date: { type: Date, @@ -56,7 +56,7 @@ const productSchema = new mongoose.Schema( ], seller: { type: mongoose.Schema.Types.ObjectId, - ref: 'seller' + ref: 'Seller' }, }, { timestamps: false});