Repository navigation
Expand file tree
/
Copy pathserver.js
More file actions
143 lines (112 loc) · 4.04 KB
/
Copy pathserver.js
File metadata and controls
143 lines (112 loc) · 4.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
const express = require('express');
const path = require('path');
const mysql = require('mysql');
// Create a connection object
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'cruddb'
});
// Connect to the database
connection.connect((err) => {
if (err) {
console.error('Error connecting to the database:', err.message);
return;
}
console.log('Connected to the MySQL database!');
});
const app = express();
// Middleware to parse JSON data
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// Serve static files from the 'public' directory
app.use(express.static('public') );
// app.get('/', (req, res) => {
// res.send('Welcome to the CRUD API!');
// });
// Serve the HTML file
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'public', 'main.html'));
});
app.get('/users', (req, res) => {
const query = 'SELECT * FROM data ORDER BY id ASC';
connection.query(query, (err, result) => {
if (err) {
console.error('Error getting data:', err.message);
res.status(500).json({error:'Error fetching users from the database.'});
return;
}
// console.log('Data fetched successfully:', result);
res.status(200).json(result);
});
});
app.get('/users/:id', (req, res) => {
const { id } = req.params;
const query = 'SELECT * FROM data WHERE id = ?';
connection.query(query, [id], (err, results) => {
if (err) {
console.error('Error fetching user:', err);
return res.status(500).send('Error fetching user');
}
if (results.length === 0) {
return res.status(404).send('User not found');
}
res.json(results[0]);
});
});
// Handle form submission
app.post('/submit-form', (req, res) => {
const name = req.body.name;
const number = req.body.number;
const email = req.body.email;
const dob = req.body.dob;
console.log(`Name: ${name}, Number: ${number}, Email: ${email}, DOB: ${dob}`);
res.json({ message: "Form submitted successfully!" });
});
app.post('/form', (req, res) => {
const { name, number,email, dob } = req.body;
console.log('Received data:', name, number , email, dob);
// Insert data into the database
const query = 'INSERT INTO data (name, number, email, dob) VALUES (?, ?, ?,?)';
connection.query(query, [name, number, email, dob], (err, result) => {
if (err) {
console.error('Error inserting data:', err.message);
res.status(500).send('Failed to submit the form.');
return;
}
console.log('Data inserted successfully:', result);
res.status(200).send('Form submitted successfully!');
});
});
app.delete('/delete-user/:id', (req, res) => {
const id = req.params.id;
let query = `DELETE FROM data WHERE id = ?`;
connection.query(query, id, (err, result) => {
if (err) {
console.error('Error getting data:', err.message);
res.status(500).send('Error deleting user from the database.');
return;
}
// console.log('Data fetched successfully:', result);
// res.status(200).json(result);
});
res.status(200).json({ message: 'Item deleted successfully' });
});
app.put('/update-user/:id', (req, res) => {
const { id } = req.params;
const {name, number,email, dob} = req.body;
let query = `UPDATE data SET name = ?, number = ?, email = ?, dob = ? WHERE id = ?`
//console.log("Updating user:", name, number, email, dob, id);
connection.query(query, [name, number, email, dob, id], (err, result) => {
if (err) {
console.error('Error getting data:', err.message);
res.status(500).send('Error Updating user from the database.');
return;
}
res.status(200).json({ ...result, message: 'Item Updated successfully' });
});
});
app.listen(4000, () => {
console.log("Server is running on http://localhost:4000");
});