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');