110 lines
2.9 KiB
JavaScript
110 lines
2.9 KiB
JavaScript
const { genSaltSync, hashSync, compareSync } = require("bcrypt")
|
|
const { sign } = require("jsonwebtoken")
|
|
const otpGenerator = require("otp-generator")
|
|
const nodemailer = require("nodemailer")
|
|
const bcrypt = require("bcrypt")
|
|
const { pool, db } = require("../config/database")
|
|
const fs = require("fs")
|
|
const path = require("path")
|
|
const { execArgv } = require("process")
|
|
const {
|
|
buildExtensionByFormCode,
|
|
} = require("../Functions/buildExtensionByFormCode")
|
|
const { exec } = require("child_process")
|
|
|
|
// const transporter = nodemailer.createTransport({
|
|
// host: "smtp.ethereal.email",
|
|
// port: 587,
|
|
// auth: {
|
|
// user: "maynard.skiles@ethereal.email",
|
|
// pass: "E36dmz2ceNJV5eFvC4",
|
|
// },
|
|
// })
|
|
|
|
const transporter = nodemailer.createTransport({
|
|
service: "gmail", // e.g., 'Gmail'
|
|
host: "smtp.gmail.com",
|
|
port: 587,
|
|
secure: false,
|
|
auth: {
|
|
user: "randomaff8@gmail.com",
|
|
pass: "fnnq tisa alvh uyre",
|
|
},
|
|
})
|
|
|
|
async function executeQuery(sql, values) {
|
|
const connection = await db.getConnection()
|
|
try {
|
|
const [rows] = await connection.execute(sql, values)
|
|
return rows
|
|
} finally {
|
|
connection.release()
|
|
}
|
|
}
|
|
|
|
const getAllUserNode = async (req, res) => {
|
|
try {
|
|
const sql = "SELECT name, email FROM users_node"
|
|
const result = await executeQuery(sql)
|
|
|
|
// Check if any data is fetched
|
|
if (result.length > 0) {
|
|
res.status(200).json({ users: result })
|
|
} else {
|
|
res.status(404).json({ message: "No users found" })
|
|
}
|
|
} catch (error) {
|
|
console.error("Error fetching users:", error)
|
|
res.status(500).json({ error: "Internal server error" })
|
|
}
|
|
}
|
|
|
|
const getByNameUserNode = async (req, res) => {
|
|
try {
|
|
const name = req.params.name
|
|
const sql = "SELECT name, email FROM users_node WHERE name = ?"
|
|
const result = await executeQuery(sql, [name])
|
|
|
|
// Check if any data is fetched
|
|
if (result.length > 0) {
|
|
res.status(200).json({ users: result })
|
|
} else {
|
|
res.status(404).json({ message: "No users found" })
|
|
}
|
|
} catch (error) {
|
|
console.error("Error fetching users:", error)
|
|
res.status(500).json({ error: "Internal server error" })
|
|
}
|
|
}
|
|
|
|
const addUserUserNode = async (req, res) => {
|
|
const body = req.body
|
|
const email = body.email
|
|
const password = body.password
|
|
const name = body.name
|
|
|
|
try {
|
|
const sql =
|
|
"INSERT INTO users_node (name, password, email) VALUES (?, ?, ?)"
|
|
const values = [name, password, email]
|
|
|
|
const result = await executeQuery(sql, values)
|
|
|
|
// Check if the user was successfully added
|
|
if (result.affectedRows > 0) {
|
|
res.status(200).json({ message: "User added successfully" })
|
|
} else {
|
|
res.status(400).json({ message: "Failed to add user" })
|
|
}
|
|
} catch (error) {
|
|
console.error("Error adding user:", error)
|
|
res.status(500).json({ error: "Internal server error" })
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
getAllUserNode,
|
|
addUserUserNode,
|
|
getByNameUserNode,
|
|
}
|