diff --git a/controllers/exclusion.js b/controllers/exclusion.js index 9e6a79b..8917932 100644 --- a/controllers/exclusion.js +++ b/controllers/exclusion.js @@ -1,12 +1,27 @@ var Exclusion = require('../models/exclusion'); -exports.index = function(req, res) { +var digDeeper = function(req, res) { + var prefixes = /^\(?(dr|mr|ms|mrs|col|sgt|sergeant|cpt|captain|ltc|major|maj|chief|cwo|ssg|sfc)\)?\.?\s/i; + var suffixes = /\s?(jr|sr|ii|iii|iv|v|esq|ph\.?d|m\.?d)\.?$/i; + var cleanNameBits = req.query.name.replace(prefixes, '').replace(suffixes, '').split(" "); + var firstName = cleanNameBits.shift(); + var lastName = cleanNameBits.pop(); + + req.query = {first:firstName, last:lastName}; + index(req, res); + +}; + +var index = exports.index = function(req, res) { var query = Exclusion.apiQuery(req.query); var response = {}; query.exec(function (err, results) { if (err) res.send({err:err}); + else if (results.length === 0 && typeof req.query.first === 'undefined' && typeof req.query.name !== 'undefined') { + digDeeper(req, res); + } else { response.results = results; response.meta = { @@ -23,3 +38,5 @@ exports.index = function(req, res) { }); }; + +