diff --git a/CHANGELOG.md b/CHANGELOG.md index a7ab755..417792b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [2.23.1](https://github.com/serverless-tencent/tencent-component-toolkit/compare/v2.23.0...v2.23.1) (2022-01-11) + + +### Bug Fixes + +* 修改更新逻辑,完成旧版本兼容 ([#270](https://github.com/serverless-tencent/tencent-component-toolkit/issues/270)) ([d4b1660](https://github.com/serverless-tencent/tencent-component-toolkit/commit/d4b166060697994830ce36f0e926bf37557db1bd)) + # [2.23.0](https://github.com/serverless-tencent/tencent-component-toolkit/compare/v2.22.2...v2.23.0) (2022-01-10) diff --git a/package.json b/package.json index 8341cfe..4b4db07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tencent-component-toolkit", - "version": "2.23.0", + "version": "2.23.1", "description": "Tencent component toolkit", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/src/modules/apigw/index.ts b/src/modules/apigw/index.ts index fe79ab2..e213ef6 100644 --- a/src/modules/apigw/index.ts +++ b/src/modules/apigw/index.ts @@ -240,6 +240,8 @@ export default class Apigw { oldState = {}, serviceId, isAutoRelease = true, + serviceName, + serviceDesc, } = inputs; inputs.protocols = getProtocolString(inputs.protocols as ('http' | 'https')[]); @@ -248,6 +250,27 @@ export default class Apigw { const detail = await this.service.getById(serviceId); if (detail) { + // 如果 serviceName,serviceDesc,protocols任意字段更新了,则更新服务 + if ( + !(serviceName === detail.ServiceName && serviceDesc === detail.ServiceDesc) && + !(serviceName === undefined && serviceDesc === undefined) + ) { + const apiInputs = { + Action: 'ModifyService' as const, + serviceId, + serviceDesc: serviceDesc || detail.ServiceDesc || undefined, + serviceName: serviceName || detail.ServiceName || undefined, + }; + if (!serviceName) { + delete apiInputs.serviceName; + } + if (!serviceDesc) { + delete apiInputs.serviceDesc; + } + + await this.request(apiInputs); + } + const apiList: ApiEndpoint[] = await this.api.bulkDeploy({ apiList: endpoints, stateList: stateApiList, @@ -269,7 +292,7 @@ export default class Apigw { const outputs: ApigwDeployOutputs = { created: false, serviceId, - serviceName: detail.ServiceName, + serviceName: serviceName || detail.ServiceName, subDomain: subDomain, protocols: inputs.protocols, environment: environment, @@ -291,7 +314,8 @@ export default class Apigw { })); } - return this.formatApigwOutputs(outputs); + // return this.formatApigwOutputs(outputs); + return outputs; } throw new ApiError({ type: 'API_APIGW_DescribeService',