Server.js
import express from "express";
import mysql from "mysql";
import cors from "cors";
import { promisify } from "util";
const app = express();
app.use(cors());
app.use(express.json());
const database = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "taskdb",
});
const query = promisify(database.query).bind(database);
app.get("/", async (req, res) => {
try {
const sql = "SELECT * FROM tasks";
const data = await query(sql);
res.json(data);
} catch (err) {
console.error("Error fetching tasks:", err);
res.status(500).json(err);
}
});
app.post("/", async (req, res) => {
const sql = "INSERT INTO tasks (name) VALUES (?)";
const value = req.body.name;
try {
const data = await query(sql, [value]);
res.json(data);
} catch (err) {
console.error("Error inserting task:", err);
res.status(500).json(err);
}
});
app.delete("/tasks/:id", async (req, res) => {
const { id } = req.params;
const sql = "DELETE FROM tasks WHERE id = ?";
try {
const data = await query(sql, [id]);
res.json(data);
} catch (err) {
res.status(500).json(err);
}
});
app.put("/tasks/:id", async (req, res) => {
const { id } = req.params;
const { name, completed } = req.body;
const sql = "UPDATE tasks SET name = ?, completed = ? WHERE id = ?";
try {
const data = await query(sql, [name, completed, id]);
res.json(data);
} catch (err) {
console.error("Error updating task:", err);
res.status(500).json(err);
}
});
app.listen(9000, () => {
console.log("Listening");
});