diff --git a/src/server.js b/src/server.js index f5afb23..e701093 100644 --- a/src/server.js +++ b/src/server.js @@ -17,18 +17,42 @@ app.use( // Login route app.post("/login", (req, res) => { // Write your code here + const { username, password } = req.body + if(username==='admin' && password==='secret'){ + req.session.user = { username } + res.status(200).json({ message: "Login successful" }) + } + else{ + res.status(401).json({ message: "Invalid credentials" }) + } }); // Profile route (protected) app.get("/profile", (req, res) => { // Write your code here + if(req.session.user){ + res.status(200).json({ message: `Welcome, ${req.session.user.username}` }) + } + else{ + res.status(401).json({ message: "Unauthorized" }) + } }); // Logout route -app.get("/logout", (req, res) => { +app.post("/logout", (req, res) => { // Write your code here + if(!req.session.user){ + return res.status(401).json({message: "Unauthorized"}) + } + req.session.destroy(err => { + if (err) { + return res.status(500).json({ message: "Logout failed" }); + } + res.clearCookie("connect.sid"); + res.status(200).json({ message: "Logout successful" }) +}) }); @@ -40,3 +64,5 @@ if (process.env.NODE_ENV !== "test") { } export default app; + +3 \ No newline at end of file