I have REST app using pure node.js I have created an HTML server that listens on port 8080 for a GET request. IF the request endpoint is /employees, for example (http://localhost:8080/employees), the response should be a recordset of the employee table. When I make the GET request for (http://localhost:8080/employees I am receiving the following error found is db.js: TypeError: sqlDb is not a constructor
I am stuck at this point and any help would be greatly appreciated.
Here is the js code:
db.js
const sqlDb = require('mssql/msnodesqlv8')
//const sqlDb = require('mssql')
var settings = require("../settings");
exports.executeSql = function (sql, callback) {
var conn = new sqlDb.ConnectionPool(settings.dbConfig);
conn.connect()
.then(function () {
var req = new sqlDb(conn);
req.query(sql)
.then(function (recordset) {
callback(recordset);
})
.catch(function (err) {
console.log(err);
callback(null, err);
});
})
.catch(function (err) {
console.log(err);
callback(null, err);
});
};
server.js
const sqlDb = require('mssql/msnodesqlv8')
var http = require("http");
var emp = require("../controllers/employees");
const settings = require("../settings");
http.createServer(function (req, resp) {
switch (req.method) {
case "GET":
if (req.url === "/") {
resp.end();
}
else if (req.url === "/employees") {
emp.getList(req, resp);
}
break;
case "POST":
break;
case "PUT":
break;
case "DELETE":
break;
default:
break;
}
}).listen(settings.webPort, function () {
console.log("Server Started Listening at: " + settings.webPort);
});
employees.js
var db = require("../core/db");
exports.getList = function (req, resp) {
db.executeSql("SELECT * FROM EMPLOYEE", function (data, err) {
if (err) {
resp.writeHead(500, "Internal Error Occured", { "Content-Type": "text/html" });
resp.write("<html><head><title>500</title></head><body500: Internal Error. Details: " + err + "></body></html>");
}
else {
resp.writeHead(200, {"Content-Type": "application/json"});
resp.write(JSON.stringify(data));
}
resp.end();
});
};
exports.get = function (req, resp, empno) {
};
exports.add = function (req, resp, reqBody) {
};
exports.update = function (req, resp, reqBody) {
};
exports.delete = function (req, resp, reqBody) {
};
settings.js
exports.dbConfig = {
user: 'sa',
password: '123abc',
server: 'localhost',
database: 'LWWEBAPP',
port: 1433
};
exports.webPort = 8080;
via joey.coyle
No comments:
Post a Comment