Task 1: Create UserService class
    const pool = require("../config/database");

class UserService {

constructor(){
console.log("UserService constructor");
}

save(user){
return new Promise((resolve,reject)=>{
const params = [user.name, user.email, user.password, user.role];
const query = 'insert into users (name,email,password,role) value (?,?,?,?)';

pool.query( query, params, function (err, results) {
if (err) {
return reject(err);
}
return resolve(results.insertId);
})
});
}

findAll(){
return new Promise((resolve,reject)=>{

const params = [];
const query = 'select * from users';

pool.query( query, params, function (err, results) {
if (err) {
return reject(err);
}
return resolve(results);
})
});
}

}

exports.UserService = UserService;
Test

const { UserService } = require("../services/user.service");

async function addUser() {
const user = {
name: "Naresh",
email: "nareshkumarh2@live.com",
password: "pass123",
role: "ADMIN",
};
let userService = new UserService();
try {
const id = await userDAO.save(user);
console.log("UserId", id);
} catch (err) {
console.error("catch block", err);
console.error(err);
}
}

async function listUsers() {
let userDAO = new UserDAO();
try {
const users = await userDAO.findAll();
console.log("Users", JSON.stringify(users));
} catch (err) {
console.error("catch block", err);
console.error(err.sqlMessage);
}
}
addUser();
//listUsers();