Good morning everyone, I have a web application made in Nodejs, in one of the requests I must send two sets of data, which are retrieved independently from a Microsfot SQL Server database. My query is the following Is this the correct way?
function getUsers (req, res) {
User.findUser(null, null, null, (recordSet) => {
let users = recordSet[0]
Rol.findRol(null, null, (recordSet) => {
let roles = recordSet[0]
return res.status(200).render('users', {
users: users, roles: roles
})
})
})
}
And if I should send a third set, should I enter it in the callback of the call to the findRol function?
I appreciate your support, I leave you the code of the User and Role models
Role Model
'use strict'
const sql = require('mssql')
const db = require('../models/db')
function findRol (rolId = null, active = null, callback) {
db.sendRequest((cp) => {
new sql.Request(cp)
.input('rolid', rolId)
.input('active', active)
.execute('crmFindRol')
.then((recordSet) => {
callback(recordSet)
}).catch((err) => {
console.error(err)
})
})
}
module.exports = {
findRol
}
User Model
'use strict'
const sql = require('mssql')
const db = require('../models/db')
function findUser (userName = null, userId = null, active = null, callback) {
db.sendRequest((cp) => {
new sql.Request(cp)
.input('username', userName)
.input('userid', userId)
.input('active', active)
.execute('crmFindUser')
.then((recordSet) => {
console.log(recordSet)
callback(recordSet)
}).catch((err) => {
console.error(err)
})
})
}
module.exports = {
findUser
}
And this is the db.js file
'use strict'
const sql = require('mssql')
const config = require('../config')
const sqlConnection = 'mssql://${config.user}:${config.password}@${config.host}/${config.db}'
function sqlConnect () {
return new Promise((resolve) => {
sql.connect(sqlConnection).then(() => {
console.log('Se estableció exitosamente conexión con la base de datos')
resolve(null)
}).catch(function (err) {
console.error('Error al conectar a la base de datos: ${err}')
})
})
}
function sendRequest (request) {
request(sqlConnection)
}
module.exports = {
sqlConnect: sqlConnect,
sendRequest: sendRequest
}