first commit
This commit is contained in:
52
controllers/emailController.js
Normal file
52
controllers/emailController.js
Normal file
@ -0,0 +1,52 @@
|
||||
const db = require('../config/dbConfig');
|
||||
|
||||
exports.sendOtp = (req, res) => {
|
||||
const email = req.body.email;
|
||||
const otp = generateRandom4DigitNumber();
|
||||
try {
|
||||
db.query(
|
||||
'INSERT INTO email_otp (email, otp) VALUES (?, ?) ON DUPLICATE KEY UPDATE otp = ?',
|
||||
[email, otp, otp]
|
||||
);
|
||||
} catch (error) {
|
||||
|
||||
const errorMessage = {
|
||||
error: true,
|
||||
message: error.message,
|
||||
};
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
// send an email using api
|
||||
res.json({ success: true, message: 'You must have received an email with otp successfully.' });
|
||||
}
|
||||
|
||||
exports.validateOtp = async (req, res) => {
|
||||
const otp = req.body.otp;
|
||||
const email = req.body.email;
|
||||
const otpQuery = "SELECT * from email_otp where otp = ? and email = ?";
|
||||
const deleteOtpQuery = "DELETE from email_otp WHERE email = ?";
|
||||
db.query(otpQuery, [otp, email], (err, results) => {
|
||||
if (err) {
|
||||
console.error('Error executing query:', err);
|
||||
res.status(500).json({ success: false, message: 'Internal Server Error' });
|
||||
return;
|
||||
}
|
||||
if (results.length > 0) {
|
||||
db.query(deleteOtpQuery, [email], (err, results) => {
|
||||
res.status(200).json({ success: true, message: 'Valid OTP' });
|
||||
})
|
||||
} else {
|
||||
// OTP is invalid
|
||||
res.status(400).json({ success: false, message: 'Invalid OTP' });
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function generateRandom4DigitNumber() {
|
||||
// Generate a random number between 1000 and 9999
|
||||
const random4DigitNumber = Math.floor(Math.random() * 9000) + 1000;
|
||||
return random4DigitNumber;
|
||||
}
|
||||
|
||||
|
127
controllers/ruleController.js
Normal file
127
controllers/ruleController.js
Normal file
@ -0,0 +1,127 @@
|
||||
const db = require('../config/dbConfig');
|
||||
const url = require('url');
|
||||
const querystring = require('querystring');
|
||||
|
||||
|
||||
exports.getRules = (req, res) => {
|
||||
const query = 'SELECT * FROM rules WHERE deleted = 0 ORDER BY rule_id DESC';
|
||||
|
||||
// Execute the query
|
||||
db.query(query, (error, results) => {
|
||||
if (error) {
|
||||
res.status(500).json({ error: 'Internal Server Error' });
|
||||
} else {
|
||||
// Convert the results to JSON
|
||||
const jsonResult = JSON.stringify(results);
|
||||
// Send the JSON response
|
||||
|
||||
res.json({ rules: jsonResult });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
exports.getRule = (req, res) => {
|
||||
const query = 'SELECT * FROM rules where rule_id = ?';
|
||||
|
||||
const parsedUrl = url.parse(req.originalUrl);
|
||||
const queryParams = querystring.parse(parsedUrl.query);
|
||||
|
||||
db.query(query, [req.query.ruleId], (error, results) => {
|
||||
if (error) {
|
||||
res.status(500).json({ error: 'Internal Server Error' });
|
||||
} else {
|
||||
// Convert the results to JSON
|
||||
|
||||
const jsonResult = JSON.stringify(results);
|
||||
|
||||
// Send the JSON response
|
||||
res.json({ rules: jsonResult });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
exports.deleteRule = (req, res) => {
|
||||
const query = 'UPDATE rules SET deleted = 1 where rule_id = ?';
|
||||
|
||||
console.log("ruld to delete" + req.body.ruleID)
|
||||
db.query(query, [req.body.ruleID], (error, results) => {
|
||||
if (error) {
|
||||
res.status(500).json({ error: 'Internal Server Error' });
|
||||
} else {
|
||||
const jsonResult = JSON.stringify(results);
|
||||
res.json({ rules: jsonResult });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
exports.publishRule = async (req, res) => {
|
||||
|
||||
const edit = req.body.edit;
|
||||
|
||||
if (!edit) {
|
||||
const publishQuery = "INSERT INTO rules "
|
||||
+ "(rule_id, time_stamp, name, lineage, summary, modules, creator_name, creator_url, deleted, list, icon, latest_version, email)"
|
||||
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
db.query(publishQuery, [req.body.ruleID, req.body.timestamp, req.body.name, req.body.lineage, req.body.summary, req.body.modules, req.body.creatorName, req.body.creatorUrl, 0, req.body.list, req.body.icon, req.body.latest_version, req.body.email], (err, results) => {
|
||||
if (err) {
|
||||
console.error('Error executing query:', err);
|
||||
res.status(500).json({ success: false, message: 'OTP Validated but issue while creating entry for rule ' });
|
||||
return;
|
||||
}
|
||||
res.status(200).json({ success: true, message: 'OTP is valid and your rule is now published' });
|
||||
})
|
||||
} else {
|
||||
const publishQueryVersionHistory = "INSERT INTO version_history "
|
||||
+ "(rule_id, time_stamp, name, lineage, summary, modules, creator_name, creator_url, list, icon, rule_version)"
|
||||
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
const selectVersionHistory = "SELECT * FROM rules WHERE rule_id = ?"
|
||||
|
||||
db.query(selectVersionHistory, [req.body.ruleID], (err, results) => {
|
||||
if (err) {
|
||||
console.error('Error executing query:', err);
|
||||
res.status(500).json({ success: false, message: 'Internal Server Error' });
|
||||
return;
|
||||
}
|
||||
console.log("rule =>" + req.body.ruleID)
|
||||
if (results.length > 0) {
|
||||
|
||||
const versionHistoryData = results[0];
|
||||
// Execute the second query to insert data
|
||||
db.query(
|
||||
publishQueryVersionHistory,
|
||||
[
|
||||
versionHistoryData.rule_id,
|
||||
versionHistoryData.time_stamp,
|
||||
versionHistoryData.name,
|
||||
versionHistoryData.lineage,
|
||||
versionHistoryData.summary,
|
||||
versionHistoryData.modules,
|
||||
versionHistoryData.creator_name,
|
||||
versionHistoryData.creator_url,
|
||||
versionHistoryData.list,
|
||||
versionHistoryData.icon,
|
||||
req.body.latest_version - 1
|
||||
],
|
||||
(err, insertResults) => {
|
||||
|
||||
if (err) {
|
||||
console.log(err)
|
||||
console.error('Error executing insert query:', err);
|
||||
res.status(500).json({ success: false, message: 'Internal Server Error' });
|
||||
return;
|
||||
}
|
||||
const updateQuery = "UPDATE rules SET time_stamp = ?, name = ?, lineage = ?, summary = ?, modules = ?, creator_name = ?, creator_url = ?, version = ?, list = ?, icon = ?, latest_version = ? WHERE rule_id = ?;"
|
||||
db.query(updateQuery, [req.body.timestamp, req.body.name, req.body.lineage, req.body.summary, req.body.modules, req.body.creatorName, req.body.creatorUrl, req.body.version, req.body.list, req.body.icon, req.body.latest_version, req.body.ruleID], (err, results) => {
|
||||
if (err) {
|
||||
console.error('Error executing query:', err);
|
||||
res.status(500).json({ success: false, message: 'OTP Validated but issue while creating entry for rule ' });
|
||||
return;
|
||||
}
|
||||
res.status(200).json({ success: true, message: 'OTP is valid and your rule is now published' });
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
13
controllers/userController.js
Normal file
13
controllers/userController.js
Normal file
@ -0,0 +1,13 @@
|
||||
// userController.js
|
||||
const userModel = require('../models/userModel');
|
||||
|
||||
exports.getAllUsers = (req, res) => {
|
||||
userModel.getAllUsers((err, results) => {
|
||||
// if (err) throw err;
|
||||
res.json({});
|
||||
// console.log("asdfasdf");
|
||||
// res.json({});
|
||||
});
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user