diff --git a/Desktop.ini b/Desktop.ini new file mode 100644 index 0000000..bb9c4c3 --- /dev/null +++ b/Desktop.ini @@ -0,0 +1,3 @@ +[.ShellClassInfo] +IconFile=C:\Program Files\FolderPainter\Icons\Pack_01\04.ico +IconIndex=0 diff --git a/config/routes/routes.js b/config/routes/routes.js index 38f609f..009b58b 100644 --- a/config/routes/routes.js +++ b/config/routes/routes.js @@ -1,3 +1,4 @@ +const MongoClient = require('mongodb').MongoClient; const routes = { // Index indexRoute: function(req, res) { @@ -32,6 +33,36 @@ const routes = { res.render('my-orders', { pageName: 'my-orders' }); + }, + + // GetItems + getItemsRoute: function(req, res) { + const queryOptions = { + auth: 'yYNfW8ynVO18L1TW5qIkILM1WtWgrVZz', + option: 'all' + } + + if (req.query.auth === queryOptions.auth) { + if (req.query.option === queryOptions.option) { + MongoClient.connect('mongodb://localhost:27017/digital_store', { + useNewUrlParser: true, + useUnifiedTopology: true + }, (err, db) => { + if (err) throw err; + + const dbo = db.db('digital_store'); + dbo.collection('storeInfo').find().toArray((err, result) => { + if (err) throw err; + res.send(result); + db.close(); + }) + }); + } else { + res.send('Invalid'); + } + } else { + res.send('Invalid'); + } } } @@ -40,5 +71,6 @@ module.exports = function(server) { server.get('/how-to-buy', routes.howToBuyRoute); server.get('/contacts', routes.contactsRoute); server.get('/comments', routes.commentsRoute); - server.get('/my-orders', routes.myOrdersRoute) + server.get('/my-orders', routes.myOrdersRoute); + server.get('/store-api', routes.getItemsRoute); } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e0d5943..f45b27d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1555,6 +1555,11 @@ "node-releases": "^1.1.38" } }, + "bson": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.3.tgz", + "integrity": "sha512-TdiJxMVnodVS7r0BdL42y/pqC9cL2iKynVwA0Ho3qbsQYr428veL3l7BQyuqiw+Q5SqqoT0m4srSY/BlZ9AxXg==" + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -4255,6 +4260,12 @@ "readable-stream": "^2.0.1" } }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -4395,6 +4406,17 @@ "minimist": "0.0.8" } }, + "mongodb": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.4.tgz", + "integrity": "sha512-6fmHu3FJTpeZxacJcfjUGIP3BSteG0l2cxLkSrf1nnnS1OrlnVGiP9P/wAC4aB6dM6H4vQ2io8YDjkuPkje7AA==", + "requires": { + "bson": "^1.1.1", + "require_optional": "^1.0.1", + "safe-buffer": "^5.1.2", + "saslprep": "^1.0.0" + } + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -5234,6 +5256,15 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "requires": { + "resolve-from": "^2.0.0", + "semver": "^5.1.0" + } + }, "resolve": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", @@ -5282,6 +5313,11 @@ } } }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -5358,6 +5394,15 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "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, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -5372,8 +5417,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "send": { "version": "0.17.1", @@ -5681,6 +5725,15 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, "spawn-command": { "version": "0.0.2-1", "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", diff --git a/package.json b/package.json index 07e4b63..333204d 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "dependencies": { "@babel/polyfill": "^7.7.0", "express": "^4.17.1", + "mongodb": "^3.3.4", "pug": "^2.0.4" }, "devDependencies": {