att-dhs
Version:
AT&T Developer Hosted Server Library
116 lines (89 loc) • 2.8 kB
JavaScript
/*jslint browser: true, devel: true, node: true, debug: true, todo: true, indent: 2, maxlen: 150, unparam: true*/
/*global require, module, get */
;
var config = require('./att.dhs.config').config,
oauth = require('./att.dhs.oauth').oauth,
e911 = require('./att.dhs.e911').e911,
redirect_uri;
function sendError(res, error) {
if ('ENOTFOUND' === error.code) {
res.send(503, 'Unable to reach API Server: ' + error.message);
return;
}
res.send(400, error.message);
}
function getConfig(req, res) {
var env_config,
logger;
try {
env_config = config.getConfiguration();
logger = config.getLogger();
logger.logTrace('Env configuration:', env_config);
res.json(env_config);
} catch (error) {
console.log('Error:', error.message);
res.send(400, error.message);
}
}
function createToken(req, res) {
var app_scope = req.body.app_scope,
auth_code = req.body.auth_code,
logger = config.getLogger();
logger.logInfo('dhs.routes: redirectToCallbackUrl');
logger.logTrace('App scope:', req.body.app_scope);
logger.logTrace('Auth code:', req.body.auth_code);
try {
logger.logDebug('Creating access token');
oauth.createAccessToken({
app_scope: app_scope,
auth_code: auth_code,
success: function (response) {
logger.logInfo('Success in creating access token');
logger.logTrace('Access token:', response);
res.json(200, response);
},
error: function (error) {
logger.logError('Error in creating access token:', error);
sendError(res, error);
}
});
} catch (error) {
logger.logError('Error: ', error.message);
res.send(400, error.message);
}
}
function createE911Id(req, res) {
var token = req.body.token,
address = req.body.address,
is_confirmed = req.body.is_confirmed,
logger = config.getLogger();
logger.logInfo('dhs.routes: postE911Id');
logger.logTrace('Token:', req.body.token);
logger.logTrace('Address:', req.body.address);
logger.logTrace('Is Address Confirmed:', req.body.is_confirmed);
try {
logger.logDebug('Creating e911 id');
e911.createE911Id({
token: token,
address: address,
is_confirmed: is_confirmed,
success: function (response) {
logger.logInfo('Success in creating e911 id');
logger.logTrace('e911 id: ', response);
res.json(200, response);
},
error: function (error) {
logger.logError('Error in creating e911 id: ', error);
sendError(res, error);
}
});
} catch (error) {
logger.logError('Error:', error.message);
res.send(400, error.message);
}
}
exports.routes = {
getConfig: getConfig,
createToken: createToken,
createE911Id: createE911Id
};