From f6400e7130ae7f7565610f083d676683879fa35c Mon Sep 17 00:00:00 2001 From: leilzh Date: Mon, 9 Nov 2020 16:29:06 +0800 Subject: [PATCH 1/2] fix: add skillConfiguration settings for old bot --- .../models/settings/defaultSettingManager.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Composer/packages/server/src/models/settings/defaultSettingManager.ts b/Composer/packages/server/src/models/settings/defaultSettingManager.ts index b9011d6cb9..0230d11154 100644 --- a/Composer/packages/server/src/models/settings/defaultSettingManager.ts +++ b/Composer/packages/server/src/models/settings/defaultSettingManager.ts @@ -1,9 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import set from 'lodash/set'; import { DialogSetting, SensitiveProperties } from '@bfc/shared'; import { UserIdentity } from '@bfc/extension'; +import has from 'lodash/has'; +import get from 'lodash/get'; +import set from 'lodash/set'; import { Path } from '../../utility/path'; import log from '../../logger'; @@ -11,6 +13,8 @@ import log from '../../logger'; import { FileSettingManager } from './fileSettingManager'; const debug = log.extend('default-settings-manager'); +const newSettingsValuePath = ['downsampling', 'luis.endpoint', 'luis.authoringEndpoint', 'skillConfiguration']; + export class DefaultSettingManager extends FileSettingManager { constructor(basePath: string, user?: UserIdentity) { super(basePath, user); @@ -90,18 +94,14 @@ export class DefaultSettingManager extends FileSettingManager { public async get(obfuscate = false): Promise { const result = await super.get(obfuscate); - //add downsampling property for old bot - if (!result.downsampling) { - result.downsampling = this.createDefaultSettings().downsampling; - } - //add luis endpoint for old bot - if (!result.luis.endpoint && result.luis.endpoint !== '') { - result.luis.endpoint = this.createDefaultSettings().luis.endpoint; - } - //add luis authoring endpoint for old bot - if (!result.luis.authoringEndpoint && result.luis.authoringEndpoint !== '') { - result.luis.authoringEndpoint = this.createDefaultSettings().luis.authoringEndpoint; - } + const defaultValue = this.createDefaultSettings(); + newSettingsValuePath.forEach((jsonPath: string) => { + if (!has(result, jsonPath)) { + set(result, jsonPath, get(defaultValue, jsonPath)); + } + }); + + this.set(result); return result; } From b0d62540bcc75a239ef0ccf203f7d139bab2f3a9 Mon Sep 17 00:00:00 2001 From: leilzh Date: Mon, 9 Nov 2020 17:16:12 +0800 Subject: [PATCH 2/2] add update file for get --- .../server/src/models/settings/defaultSettingManager.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Composer/packages/server/src/models/settings/defaultSettingManager.ts b/Composer/packages/server/src/models/settings/defaultSettingManager.ts index 0230d11154..cf6ca3de24 100644 --- a/Composer/packages/server/src/models/settings/defaultSettingManager.ts +++ b/Composer/packages/server/src/models/settings/defaultSettingManager.ts @@ -95,13 +95,18 @@ export class DefaultSettingManager extends FileSettingManager { public async get(obfuscate = false): Promise { const result = await super.get(obfuscate); const defaultValue = this.createDefaultSettings(); + let updateFile = false; newSettingsValuePath.forEach((jsonPath: string) => { if (!has(result, jsonPath)) { set(result, jsonPath, get(defaultValue, jsonPath)); + updateFile = true; } }); - this.set(result); + if (updateFile) { + this.set(result); + } + return result; }