public async patchApplicationSettings()

in src/appservice-rest/Arm/azure-app-service.ts [172:198]


    public async patchApplicationSettings(addProperties: any, deleteProperties?: any): Promise<boolean> {
        var applicationSettings = await this.getApplicationSettings();
        var isNewValueUpdated: boolean = false;
        for(var key in addProperties) {
            if(applicationSettings.properties[key] != addProperties[key]) {
                core.debug(`Value of ${key} has been changed to ${addProperties[key]}`);
                isNewValueUpdated = true;
            }

            applicationSettings.properties[key] = addProperties[key];
        }
        
        for(var key in deleteProperties) {
            if(key in applicationSettings.properties) {
                delete applicationSettings.properties[key];
                core.debug(`Removing app setting : ${key}`);
                isNewValueUpdated = true;
            }
        }

        if(isNewValueUpdated) {
            applicationSettings.properties[WebsiteEnableSyncUpdateSiteKey] = this._isConsumptionApp ? 'false' : 'true';
            await this.updateApplicationSettings(applicationSettings);
        }

        return isNewValueUpdated;
    }