Skip to content

Commit dc59cc1

Browse files
author
Aleksander Dikanski
committed
move base mappings handling into api gateway deployment block
1 parent e51a90f commit dc59cc1

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

lib/stackInformation.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ module.exports = {
172172
)
173173
.spread((currentTemplate, aliasStackTemplates) => {
174174
const currentAliasStackTemplate = _.get(_.first(aliasStackTemplates, 'template', {}));
175-
const deployedAliasStackTemplates = _.map(filteredAliasStackTemplates, template => template.template);
175+
const deployedAliasStackTemplates = _.map(aliasStackTemplates, template => template.template);
176176

177177
this._serverless.service.provider.deployedCloudFormationTemplate = currentTemplate;
178178
this._serverless.service.provider.deployedCloudFormationAliasTemplate = currentAliasStackTemplate;

lib/stackops/apiGateway.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -186,19 +186,19 @@ module.exports = function(currentTemplate, aliasStackTemplates, currentAliasStac
186186
this.options.verbose && this._serverless.cli.log('Configuring stage');
187187
const stageResource = internal.createStageResource.call(this, `${stackName}-ApiGatewayRestApi`, deploymentName);
188188
aliasResources.push({ ApiGatewayStage: stageResource });
189-
}
190-
191-
const baseMapping = _.assign({}, _.pickBy(stageStack.Resources, ['Type', 'AWS::ApiGateway::BasePathMapping']));
192-
if (!_.isEmpty(baseMapping)) {
193-
const baseMappingName = _.keys(baseMapping)[0];
194-
const obj = baseMapping[baseMappingName];
189+
190+
const baseMapping = _.assign({}, _.pickBy(stageStack.Resources, ['Type', 'AWS::ApiGateway::BasePathMapping']));
191+
if (!_.isEmpty(baseMapping)) {
192+
const baseMappingName = _.keys(baseMapping)[0];
193+
const obj = baseMapping[baseMappingName];
195194

196-
delete obj.Properties.StageName;
197-
obj.Properties.RestApiId = { 'Fn::ImportValue': `${stackName}-ApiGatewayRestApi`};
195+
obj.Properties.StageName = { Ref: 'ApiGatewayStage' };
196+
obj.Properties.RestApiId = { 'Fn::ImportValue': `${stackName}-ApiGatewayRestApi`};
198197

199-
aliasResources.push(baseMapping);
200-
delete stageStack.Resources[baseMappingName];
201-
}
198+
aliasResources.push(baseMapping);
199+
delete stageStack.Resources[baseMappingName];
200+
}
201+
}
202202

203203
// Fetch lambda permissions, methods and resources. These have to be updated later to allow the aliased functions.
204204
const apiLambdaPermissions =

test/stackops/apiGateway.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -749,6 +749,7 @@ describe('API Gateway', () => {
749749
BasePath: '(none)',
750750
DomainName: 'example.com',
751751
RestApiId: { 'Fn::ImportValue': 'testService-myStage-ApiGatewayRestApi' },
752+
StageName: { Ref: 'ApiGatewayStage' },
752753
Stage: 'test'
753754
}
754755
})

0 commit comments

Comments
 (0)