Added a bunch of stuff

This commit is contained in:
Dobie Wollert
2015-08-05 06:03:02 -07:00
parent b4e727c0e6
commit fdc8727044
35 changed files with 1815 additions and 276 deletions

View File

@ -0,0 +1,73 @@
var mongoose = require('mongoose'),
CheckList = mongoose.model('CheckList');
var _ = require('lodash');
var md5 = require('MD5');
var log = require('log4node');
exports.index = function(req, res, next) {
log.info('check_lists.index');
CheckList.find({ deleted: false })
.exec(returnResult(res));
};
exports.get = function(req, res, next) {
var id = req.param('check_list_id');
log.info("check_lists.get %s", id);
CheckList.findById(id)
.exec(returnResult(res));
};
exports.create = function(req, res, next) {
log.info("check_lists.create %j", res.body);
var checkList = new CheckList(req.body);
checkList.save(returnResult(res));
};
exports.update = function(req, res, next) {
var id = req.param('check_list_id');
log.info('check_lists.update %s %j', id, req.body);
CheckList.findById(id, function(err, checkList) {
if (err) {
log.error("Error: %s", err);
res.json(500, err);
} else if (!checkList) {
res.json(404, 'Unknown CheckList: %s', id);
} else {
_.assign(checkList, req.body);
checkList.save(returnResult(res, checkList));
}
});
};
function returnResult(res, result) {
return function(err, data) {
if (err) {
log.error("Error: %s", err);
res.json(500, err);
} else {
if (result) {
res.json(result);
} else {
res.json(data);
}
}
}
}
function mutateResult(res, mutator) {
return function(err, results) {
if (err) {
log.error("Error: %s", err);
res.json(500, err);
} else {
res.json(mutator(results));
}
}
}

View File

@ -1,5 +1,6 @@
var mongoose = require('mongoose'),
Device = mongoose.model('Device');
Device = mongoose.model('Device'),
TestRun = mongoose.model('TestRun');
var _ = require('lodash');
var md5 = require('MD5');
@ -9,7 +10,18 @@ var log = require('log4node');
exports.index = function(req, res, next) {
log.info('devices.index');
Device.find({ deleted: false })
var query = {
deleted: false
};
var deviceType = req.param('deviceType');
if (deviceType) {
query.deviceType = deviceType;
}
Device.find(query)
.populate('deviceType', 'category make model')
.populate('client', 'name identifier')
.exec(returnResult(res));
};
@ -19,9 +31,25 @@ exports.get = function(req, res, next) {
log.info("devices.get %s", id);
Device.findById(id)
.populate('deviceType', 'category make model checkList')
.populate('deviceType.checkList', 'name fields')
.populate('client', 'name identifier')
.exec(returnResult(res));
};
exports.testRuns = function(req, res, next) {
var id = req.param('device_id');
log.info("devices.testRuns %s", id);
TestRun.find({device: id, deleted: false })
.exec(function(err, devices) {
if (err) return next(err);
if (!devices) return next(new Error('Failed to load testRuns ' + id));
res.json(devices);
});
}
exports.create = function(req, res, next) {
log.info("devices.create %j", res.body);

View File

@ -0,0 +1,73 @@
var mongoose = require('mongoose'),
TestRun = mongoose.model('TestRun');
var _ = require('lodash');
var md5 = require('MD5');
var log = require('log4node');
exports.index = function(req, res, next) {
log.info('test_runs.index');
TestRun.find({ deleted: false })
.exec(returnResult(res));
};
exports.get = function(req, res, next) {
var id = req.param('test_run_id');
log.info("test_runs.get %s", id);
TestRun.findById(id)
.exec(returnResult(res));
};
exports.create = function(req, res, next) {
log.info("test_runs.create %j", res.body);
var testRun = new TestRun(req.body);
testRun.save(returnResult(res));
};
exports.update = function(req, res, next) {
var id = req.param('test_run_id');
log.info('test_runs.update %s %j', id, req.body);
TestRun.findById(id, function(err, testRun) {
if (err) {
log.error("Error: %s", err);
res.json(500, err);
} else if (!testRun) {
res.json(404, 'Unknown TestRun: %s', id);
} else {
_.assign(testRun, req.body);
testRun.save(returnResult(res, testRun));
}
});
};
function returnResult(res, result) {
return function(err, data) {
if (err) {
log.error("Error: %s", err);
res.json(500, err);
} else {
if (result) {
res.json(result);
} else {
res.json(data);
}
}
}
}
function mutateResult(res, mutator) {
return function(err, results) {
if (err) {
log.error("Error: %s", err);
res.json(500, err);
} else {
res.json(mutator(results));
}
}
}

View File

@ -77,7 +77,8 @@ module.exports = function(config, calendar) {
scheduling: req.body.scheduling,
techs: req.body.techs,
alternativeContact: req.body.alternativeContact,
trackingNumber: req.body.trackingNumber
trackingNumber: req.body.trackingNumber,
devices: req.body.devices
});
var notify = req.body._notify || "";
@ -241,6 +242,7 @@ module.exports = function(config, calendar) {
workorder.paidOn = req.body.paidOn;
workorder.alternativeContact = req.body.alternativeContact;
workorder.trackingNumber = req.body.trackingNumber;
workorder.devices = req.body.devices;
callback(err);
});
},