From 390c697a3f0f9fbb920ba1b8a588151ea6305a69 Mon Sep 17 00:00:00 2001
From: Shaikh Rezwan Rafid Ahmad <sa03267@surrey.ac.uk>
Date: Thu, 16 Mar 2023 11:35:45 +0000
Subject: [PATCH] Server.js file added, GET request test successful

---
 .../server/package-lock.json                  | 111 ++++++++++--------
 .../server/package.json                       |   4 +-
 daily-thought-user-service/server/server.js   |  21 ++++
 3 files changed, 85 insertions(+), 51 deletions(-)
 create mode 100644 daily-thought-user-service/server/server.js

diff --git a/daily-thought-user-service/server/package-lock.json b/daily-thought-user-service/server/package-lock.json
index 56f1f038..b33ffac7 100644
--- a/daily-thought-user-service/server/package-lock.json
+++ b/daily-thought-user-service/server/package-lock.json
@@ -11,8 +11,9 @@
       "dependencies": {
         "cors": "^2.8.5",
         "express": "^4.18.2",
-        "mongodb-memory-server": "^8.12.0",
-        "mongoose": "^7.0.2",
+        "mongodb-memory-server": "^8.10.2",
+        "mongoose": "^6.8.0",
+        "morgan": "^1.10.0",
         "multer": "^1.4.5-lts.1",
         "nodemon": "^2.0.21"
       }
@@ -1212,6 +1213,22 @@
         }
       ]
     },
+    "node_modules/basic-auth": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
+      "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
+      "dependencies": {
+        "safe-buffer": "5.1.2"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/basic-auth/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
     "node_modules/binary-extensions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -2143,71 +2160,57 @@
       "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
     },
     "node_modules/mongoose": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.0.2.tgz",
-      "integrity": "sha512-whX+5lAOLOs6VXRr9w+6m5qb8m/IXWLLb9+0/HRUh2TiIYtTt7UvajK92zW6wllCjBkrrnz/MDIOTCWMbs8K4g==",
+      "version": "6.10.3",
+      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.10.3.tgz",
+      "integrity": "sha512-fZ3pIlQn7lM632r1l4qiU58lKrJ+FufKVG8TNeRXSChAeu9alCl5KoQ9bLw4jnQNYevSq9o+sqZmFDHP+EVW3g==",
       "dependencies": {
-        "bson": "^5.0.1",
+        "bson": "^4.7.0",
         "kareem": "2.5.1",
-        "mongodb": "5.1.0",
+        "mongodb": "4.14.0",
         "mpath": "0.9.0",
-        "mquery": "5.0.0",
+        "mquery": "4.0.3",
         "ms": "2.1.3",
         "sift": "16.0.1"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=12.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/mongoose"
       }
     },
-    "node_modules/mongoose/node_modules/bson": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-5.0.1.tgz",
-      "integrity": "sha512-y09gBGusgHtinMon/GVbv1J6FrXhnr/+6hqLlSmEFzkz6PodqF6TxjyvfvY3AfO+oG1mgUtbC86xSbOlwvM62Q==",
+    "node_modules/mongoose/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+    },
+    "node_modules/morgan": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
+      "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
+      "dependencies": {
+        "basic-auth": "~2.0.1",
+        "debug": "2.6.9",
+        "depd": "~2.0.0",
+        "on-finished": "~2.3.0",
+        "on-headers": "~1.0.2"
+      },
       "engines": {
-        "node": ">=14.20.1"
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/mongoose/node_modules/mongodb": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.1.0.tgz",
-      "integrity": "sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==",
+    "node_modules/morgan/node_modules/on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
       "dependencies": {
-        "bson": "^5.0.1",
-        "mongodb-connection-string-url": "^2.6.0",
-        "socks": "^2.7.1"
+        "ee-first": "1.1.1"
       },
       "engines": {
-        "node": ">=14.20.1"
-      },
-      "optionalDependencies": {
-        "saslprep": "^1.0.3"
-      },
-      "peerDependencies": {
-        "@aws-sdk/credential-providers": "^3.201.0",
-        "mongodb-client-encryption": "^2.3.0",
-        "snappy": "^7.2.2"
-      },
-      "peerDependenciesMeta": {
-        "@aws-sdk/credential-providers": {
-          "optional": true
-        },
-        "mongodb-client-encryption": {
-          "optional": true
-        },
-        "snappy": {
-          "optional": true
-        }
+        "node": ">= 0.8"
       }
     },
-    "node_modules/mongoose/node_modules/ms": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
-      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
-    },
     "node_modules/mpath": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
@@ -2217,14 +2220,14 @@
       }
     },
     "node_modules/mquery": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz",
-      "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+      "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
       "dependencies": {
         "debug": "4.x"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=12.0.0"
       }
     },
     "node_modules/mquery/node_modules/debug": {
@@ -2407,6 +2410,14 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
     "node_modules/once": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
diff --git a/daily-thought-user-service/server/package.json b/daily-thought-user-service/server/package.json
index ba62faf6..add5d17c 100644
--- a/daily-thought-user-service/server/package.json
+++ b/daily-thought-user-service/server/package.json
@@ -3,8 +3,9 @@
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
+  "type": "module",
   "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
+    "start": "nodemon server.js"
   },
   "keywords": [],
   "author": "",
@@ -14,6 +15,7 @@
     "express": "^4.18.2",
     "mongodb-memory-server": "^8.10.2",
     "mongoose": "^6.8.0",
+    "morgan": "^1.10.0",
     "multer": "^1.4.5-lts.1",
     "nodemon": "^2.0.21"
   }
diff --git a/daily-thought-user-service/server/server.js b/daily-thought-user-service/server/server.js
new file mode 100644
index 00000000..08c00215
--- /dev/null
+++ b/daily-thought-user-service/server/server.js
@@ -0,0 +1,21 @@
+import express from 'express';
+import cors from 'cors';
+import morgan from 'morgan';
+
+const app = express();
+
+app.use(express.json());
+app.use(cors());
+app.use(morgan('tiny'));
+app.disable('x-powered-by');
+
+const port = 8080;
+
+//  HTTP GET 
+app.get('/', (req, res) => {
+    res.status(201).json("Home GET Request")
+});
+
+app.listen(port, () => {
+    console.log(`Server connected to http://localhost:${port}`);
+})
\ No newline at end of file
-- 
GitLab