total code
const { faker, tr } = require("@faker-js/faker");
const mysql = require("mysql2");
const connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "app",
password: "abhi@546871",
});
const express = require("express");
const app = express();
const port = 8080;
app.set("view engine", "ejs");
const path = require("path");
app.set("views", path.join(__dirname, "/views"));
const methodOverride = require("method-override");
app.use(methodOverride("_method"));
const exp = require("constants");
const { v4: uuidv4 } = require("uuid");
const { threadId } = require("worker_threads");
app.use(express.urlencoded({ extended: true }));
let users = [
["123b", "123_newuserb", "abc@gmail.comb", "abb"],
["123c", "123_newuserc", "abc@gmail.comc", "abc"],
];
let data = [];
let q = "INSERT INTO user(id,username,email,password) VALUES ?";
let getRandomuser = () => {
return [
faker.string.uuid(),
faker.internet.username(),
faker.internet.email(),
faker.internet.password(),
];
};
for (let i = 0; i < 100; i++) {
data.push(getRandomuser());
}
// try {
// connection.query(q, [data],( err,result) => {
// if (err) throw err;
// console.log(result); });
// } catch (err) {
// console.log(err);
// }
// HOME PAGE
app.get("/", (req, res) => {
let q = "SELECT COUNT(*) FROM user";
try {
connection.query(q, (err, result) => {
if (err) throw err;
let count = result[0]["COUNT(*)"];
console.log(count);
res.render("home.ejs", { count });
});
} catch (err) {
console.log(err);
res.send("error occured");
}
});
// SHOW ROUTE
app.get("/users", (req, res) => {
let q = "SELECT * FROM user";
try {
connection.query(q, (err, users) => {
if (err) throw err;
res.render("show.ejs", { users });
});
} catch (err) {
console.log(err);
res.send("error occured");
}
});
// EDIT ROUTE
app.get("/user/:id/edit", (req, res) => {
let { id } = req.params;
let q = `SELECT * FROM user WHERE id='${id}'`;
try {
connection.query(q, (err, result) => {
if (err) throw err;
let user = result[0];
res.render("edit.ejs", { user });
});
} catch (err) {
console.log(err);
res.send("error occured");
}
});
// TO UPDATE
app.patch("/user/:id", (req, res) => {
let { id } = req.params;
let { password: formPass, username: newUsername } = req.body;
let q = `SELECT * FROM user WHERE id='${id}'`;
try {
connection.query(q, (err, result) => {
if (err) throw err;
let user = result[0];
if (formPass != user.password) {
res.send("WRONG password");
} else {
let q2 = `UPDATE user SET username='${newUsername}' WHERE id='${id}'`;
connection.query(q2, (err, result) => {
if (err) throw err;
res.redirect("/users");
});
}
});
} catch (err) {
res.send("error occured");
}
});
// TO ADD INTO DB
app.get("/users/new", (req, res) => {
res.render("new.ejs");
});
app.post("/users", (req, res) => {
let { username, EMAIL, password } = req.body;
let id = uuidv4();
let q = `INSERT INTO user(id,username,EMAIL,password) VALUES('${id}','${username}','${EMAIL}','${password}')`;
try {
connection.query(q, (err, result) => {
if (err) throw err;
data.push(result);
res.redirect("/users");
});
} catch (err) {
res.send("error occured");
}
});
//TO DELETE
app.delete("/user/:id", (req, res) => {
let { id } = req.params;
let q = `DELETE FROM user WHERE id='${id}'`;
try {
connection.query(q, (err, result) => {
if(err) throw err;
res.redirect("/users");
});
} catch (err) {
res.send("error occured");
}
});
app.listen(port, () => {
console.log(`listening to port ${port}`);
});
// connection.end();
Comments
Post a Comment