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, }