deploy api: clean up code style

This commit is contained in:
Austen Collins 2015-08-28 08:50:44 -07:00
parent 8a7ee1465b
commit e7d50cf98d

View File

@ -4,9 +4,6 @@
* JAWS Command: deploy api <stage>
* - Deploys project's API Gateway REST API to the specified stage
*/
// Defaults
var JawsError = require('../jaws-error'),
Promise = require('bluebird'),
fs = require('fs'),
@ -25,13 +22,8 @@ var JawsError = require('../jaws-error'),
Promise.promisifyAll(fs);
module.exports = function(JAWS) {
var client = null;
/**
* Find Or Create Rest Api
* @returns {bluebird|exports|module.exports}
@ -107,7 +99,7 @@ module.exports = function(JAWS) {
// List all Resources for this REST API
return client.listResources(state.restApiId).then(function(response) {
return new Promise(function (resolve, reject) {
return new Promise(function(resolve, reject) {
// Parse API Gateway's HAL response
var apiResources = response._embedded.item;
@ -131,9 +123,7 @@ module.exports = function(JAWS) {
return cb();
});
}, function(error) {
resolve(state);
});
}, function(error) {resolve(state);});
});
});
};
@ -165,9 +155,7 @@ module.exports = function(JAWS) {
return cb();
},function(error) {
resolve(state);
});
}, function(error) { resolve(state); });
});
});
};
@ -214,7 +202,7 @@ module.exports = function(JAWS) {
} else if (parentIndex > -1) {
// Get Parent Resource ID
for (var i = 0;i < createdResources.length; i++) {
for (var i = 0; i < createdResources.length; i++) {
if (createdResources[i].pathPart === endpointResources[parentIndex]) {
endpoint.endpoint.apig.parentResourceId = createdResources[i].id;
}
@ -227,32 +215,30 @@ module.exports = function(JAWS) {
JawsError.errorCodes.UNKNOWN));
// Create Resource
client.createResource(state.restApiId, endpoint.endpoint.apig.parentResourceId, endpointResource).then(function(response) {
// Add resource to state.resources and callback
createdResources.push(response);
return resourceCb();
}).catch(function(error) {
reject(new JawsError(
error.message,
JawsError.errorCodes.UNKNOWN));
});
client.createResource(state.restApiId, endpoint.endpoint.apig.parentResourceId, endpointResource)
.then(function(response) {
// Add resource to state.resources and callback
createdResources.push(response);
return resourceCb();
}).catch(function(error) {
reject(new JawsError(
error.message,
JawsError.errorCodes.UNKNOWN));
});
}, function(error) {
// Attach the resource to the state's endpoint for later use
var endpointResource = endpoint.endpoint.path.split('/').pop().replace(/\//g, '');
for (var i=0; i < createdResources.length; i++) {
if (createdResources[i].pathPart === endpointResource) endpoint.endpoint.apig.resource = createdResources[i];
for (var i = 0; i < createdResources.length; i++) {
if (createdResources[i].pathPart === endpointResource) {
endpoint.endpoint.apig.resource = createdResources[i];
}
}
return endpointCb();
});
}, function(error) {
resolve(state);
});
}, function(error) { resolve(state); });
});
};
@ -270,7 +256,7 @@ module.exports = function(JAWS) {
// Create Method
var methodBody = {
"authorizationType" : endpoint.endpoint.authorizationType
authorizationType: endpoint.endpoint.authorizationType,
};
// If Request Params, add them
@ -299,9 +285,7 @@ module.exports = function(JAWS) {
JawsError.errorCodes.UNKNOWN));
});
}, function(error) {
resolve(state);
});
}, function(error) { resolve(state); });
});
};
@ -321,21 +305,24 @@ module.exports = function(JAWS) {
if (typeof endpoint.lambda !== 'undefined') {
var integrationBody = {
"type" : "AWS",
"httpMethod" : "POST",
"authorizationType": "none",
"uri" : "arn:aws:apigateway:"
type: 'AWS',
httpMethod: 'POST',
authorizationType: 'none',
uri: 'arn:aws:apigateway:'
+ state.region
+ ":lambda:path/2015-03-31/functions/arn:aws:lambda:"
+ ':lambda:path/2015-03-31/functions/arn:aws:lambda:'
+ state.region
+ ":814070455730:function:"
+ [state.stage, JAWS._meta.projectJson.name, endpoint.lambda.functionName].join('_-_').replace(/ /g,'')
+ "/invocations",
"credentials" : null,
"requestParameters" : endpoint.endpoint.requestParameters || {},
"requestTemplates" : endpoint.endpoint.requestTemplates || {},
"cacheNamespace" : endpoint.endpoint.cacheNamespace || null,
"cacheKeyParameters" : endpoint.endpoint.cacheKeyParameters || []
+ ':814070455730:function:'
+ [state.stage,
JAWS._meta.projectJson.name,
endpoint.lambda.functionName,
].join('_-_').replace(/ /g, '')
+ '/invocations',
credentials: null,
requestParameters: endpoint.endpoint.requestParameters || {},
requestTemplates: endpoint.endpoint.requestTemplates || {},
cacheNamespace: endpoint.endpoint.cacheNamespace || null,
cacheKeyParameters: endpoint.endpoint.cacheKeyParameters || [],
};
} else {
reject(new JawsError(
@ -344,7 +331,10 @@ module.exports = function(JAWS) {
}
// Create Integration
client.putIntegration(state.restApiId, endpoint.endpoint.apig.resource.id, endpoint.endpoint.method, integrationBody)
client.putIntegration(state.restApiId,
endpoint.endpoint.apig.resource.id,
endpoint.endpoint.method,
integrationBody)
.then(function(response) {
// Save integration to apig property
@ -358,9 +348,7 @@ module.exports = function(JAWS) {
JawsError.errorCodes.UNKNOWN));
});
}, function(error) {
resolve(state);
});
}, function(error) { resolve(state); });
});
};
@ -393,7 +381,11 @@ module.exports = function(JAWS) {
}
// Create Method Response
client.putMethodResponse(state.restApiId, endpoint.endpoint.apig.resource.id, endpoint.endpoint.method, thisResponse.statusCode, methodResponseBody)
client.putMethodResponse(state.restApiId,
endpoint.endpoint.apig.resource.id,
endpoint.endpoint.method,
thisResponse.statusCode,
methodResponseBody)
.then(function(response) {
return responseCb();
}).catch(function(error) {
@ -401,12 +393,8 @@ module.exports = function(JAWS) {
error.message,
JawsError.errorCodes.UNKNOWN));
});
}, function(error) {
return endpointCb();
});
}, function(error) {
resolve(state);
});
}, function(error) { return endpointCb(); });
}, function(error) { resolve(state); });
});
};
@ -442,7 +430,11 @@ module.exports = function(JAWS) {
integrationResponseBody.selectionPattern = responseKey;
// Create Integration Response
client.putIntegrationResponse(state.restApiId, endpoint.endpoint.apig.resource.id, endpoint.endpoint.method, thisResponse.statusCode, integrationResponseBody)
client.putIntegrationResponse(state.restApiId,
endpoint.endpoint.apig.resource.id,
endpoint.endpoint.method,
thisResponse.statusCode,
integrationResponseBody)
.then(function(response) {
return responseCb();
}).catch(function(error) {
@ -450,16 +442,10 @@ module.exports = function(JAWS) {
error.message,
JawsError.errorCodes.UNKNOWN));
});
}, function(error) {
return endpointCb();
});
}, function(error) {
resolve(state);
});
}, function(error) { return endpointCb(); });
}, function(error) { resolve(state); });
});
};
/**
* Create Deployment
* @param state
@ -468,16 +454,14 @@ module.exports = function(JAWS) {
*/
JAWS._dapiCreateDeployment = function(state) {
return new Promise(function(resolve, reject) {
var deployment = {
"stageName" : state.stage,
"stageDescription" : state.stage,
"description" : "JAWS deployment"
stageName: state.stage,
stageDescription: state.stage,
description: 'JAWS deployment',
};
client.createDeployment(state.restApiId, deployment)
.then(function(response){
.then(function(response) {
// Add deployment to state
state.deployment = response;
@ -521,7 +505,12 @@ module.exports = function(JAWS) {
.then(function(state) {
state.spinner.stop(true);
console.log('API successfully deployed: https://' + state.restApiId + '.execute-api.' + state.region + '.amazonaws.com/' + state.stage + '/');
console.log('API successfully deployed: https://'
+ state.restApiId
+ '.execute-api.'
+ state.region
+ '.amazonaws.com/'
+ state.stage + '/');
return Promise.resolve();
});