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();
- Test - Add User
- Test - List All Users