From 737925c7c8ca701ea7ef309cf0e733cdbf2524ed Mon Sep 17 00:00:00 2001 From: Josiah Solomon Date: Mon, 23 Oct 2017 20:58:40 -0700 Subject: [PATCH 1/2] Added SQL Server Data Connection --- jsconfig.json | 2 +- package.json | 4 +- .../customers/customer-detail.controller.js | 2 +- src/server/config/db.js | 8 +++ src/server/routes/index.js | 57 ++++++++++++++----- 5 files changed, 56 insertions(+), 17 deletions(-) create mode 100644 src/server/config/db.js diff --git a/jsconfig.json b/jsconfig.json index 2bdd3d4e..cff42990 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,5 +1,5 @@ { "compilerOptions": { - "target": "ES5" + "target": "ES6" } } diff --git a/package.json b/package.json index 1b8c5f7d..ed512d82 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,9 @@ "cors": "^2.2.0", "express": "^4.9.3", "morgan": "^1.1.1", - "serve-favicon": "^2.0.1" + "mssql": "^4.1.0", + "serve-favicon": "^2.0.1", + "tsd": "^0.6.5" }, "devDependencies": { "browser-sync": "^2.5.0", diff --git a/src/client/app/customers/customer-detail.controller.js b/src/client/app/customers/customer-detail.controller.js index cb406422..bf7af932 100644 --- a/src/client/app/customers/customer-detail.controller.js +++ b/src/client/app/customers/customer-detail.controller.js @@ -30,7 +30,7 @@ function getCustomer(id) { return dataservice.getCustomer(id).then(function(data) { - vm.customer = data; + vm.customer = data[0]; vm.original = angular.copy(vm.customer); return vm.customer; }); diff --git a/src/server/config/db.js b/src/server/config/db.js new file mode 100644 index 00000000..a87b003e --- /dev/null +++ b/src/server/config/db.js @@ -0,0 +1,8 @@ +const config = { + user: 'gulppatterns', + password: 'TheForceIsWeak', + server: 'localhost', + database: 'gulppatterns' +} + +module.exports = config; \ No newline at end of file diff --git a/src/server/routes/index.js b/src/server/routes/index.js index 3903d5b3..c7b0c864 100644 --- a/src/server/routes/index.js +++ b/src/server/routes/index.js @@ -2,7 +2,9 @@ module.exports = function(app) { var api = '/api/'; var data = '/../data/'; var jsonfileservice = require('../utils/jsonfileservice')(); + var sql = require('mssql'); var four0four = require('../utils/404')(); + var config = require('../config/db'); app.get(api + 'customer/:id', getCustomer); app.get(api + 'customers', getCustomers); @@ -12,23 +14,50 @@ module.exports = function(app) { function getCustomer(req, res, next) { var id = req.params.id; var msg = 'customer id ' + id + ' not found. '; - try { - var json = jsonfileservice.getJsonFromFile(data + 'customers.json'); - var customer = json.filter(function(c) { - return c.id === parseInt(id); - }); - if (customer && customer[0]) { - res.send(customer[0]); - } else { - four0four.send404(req, res, msg); - } - } - catch (ex) { - four0four.send404(req, res, msg + ex.message); - } + sql.connect(config).then(pool => { + // Store Procedure + + return pool.request() + .input('customerid', sql.Int, id) + .execute('customers_sp') + sql.close() + }).then(result => { + res.send(result.recordset); + sql.close() + }).catch(err => { + // ... error checks + console.log(err) + sql.close() + }) + + sql.on('error', err => { + console.log(err) + }) } function getCustomers(req, res, next) { + sql.connect(config).then(pool => { + // Store Procedure + + return pool.request() + .input('customerid', sql.Int, null) + .execute('customers_sp') + sql.close() + }).then(result => { + res.send(result.recordset); + sql.close() + }).catch(err => { + // ... error checks + console.log(err) + sql.close() + }) + + sql.on('error', err => { + console.log(err) + }) + } + + function getCustomersv1(req, res, next) { var msg = 'customers not found. '; try { var json = jsonfileservice.getJsonFromFile(data + 'customers.json'); From 26b8a57427e5fe5f20838f4ff8b2cc4c165c10f9 Mon Sep 17 00:00:00 2001 From: Josiah Solomon Date: Mon, 23 Oct 2017 21:01:34 -0700 Subject: [PATCH 2/2] Revert back to ES5 --- jsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsconfig.json b/jsconfig.json index cff42990..2bdd3d4e 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,5 +1,5 @@ { "compilerOptions": { - "target": "ES6" + "target": "ES5" } }