Skip to content

Commit b673e16

Browse files
authored
Don't force ignoring cache if there is no need to (#2684)
* Don't force ignoring cache if there is no need to * Remove getFunctionAppAzureAppSettings from FunctionAppService * Use siteService for app settings in FunctionAppService
1 parent 182ad58 commit b673e16

File tree

8 files changed

+29
-19
lines changed

8 files changed

+29
-19
lines changed

client/src/app/api/api-details/api-details.component.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { AiService } from '../../shared/services/ai.service';
1616
import { RequestResposeOverrideComponent } from '../request-respose-override/request-respose-override.component';
1717
import { ArmSiteDescriptor } from '../../shared/resourceDescriptors';
1818
import { NavigableComponent, ExtendedTreeViewInfo } from '../../shared/components/navigable-component';
19+
import { SiteService } from '../../shared/services/site.service';
1920

2021
@Component({
2122
selector: 'api-details',
@@ -42,6 +43,7 @@ export class ApiDetailsComponent extends NavigableComponent implements OnDestroy
4243
private _translateService: TranslateService,
4344
private _aiService: AiService,
4445
private _functionAppService: FunctionAppService,
46+
private _siteService: SiteService,
4547
injector: Injector) {
4648
super('api-details', injector, DashboardType.ProxyDashboard);
4749

@@ -62,7 +64,7 @@ export class ApiDetailsComponent extends NavigableComponent implements OnDestroy
6264
this.initEdit();
6365
return Observable.zip(
6466
this._functionAppService.getApiProxies(context),
65-
this._functionAppService.getFunctionAppAzureAppSettings(context));
67+
this._siteService.getAppSettings(context.site.id));
6668
});
6769
})
6870
.do(r => {

client/src/app/api/api-new/api-new.component.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { FunctionInfo } from '../../shared/models/function-info';
1515
import { errorIds } from '../../shared/models/error-ids';
1616
import { RequestResposeOverrideComponent } from '../request-respose-override/request-respose-override.component';
1717
import { NavigableComponent } from '../../shared/components/navigable-component';
18+
import { SiteService } from '../../shared/services/site.service';
1819

1920
@Component({
2021
selector: 'api-new',
@@ -55,6 +56,7 @@ export class ApiNewComponent extends NavigableComponent {
5556
private _translateService: TranslateService,
5657
private _aiService: AiService,
5758
private _functionAppService: FunctionAppService,
59+
private _siteService: SiteService,
5860
fb: FormBuilder,
5961
injector: Injector) {
6062
super('api-new', injector, DashboardType.CreateProxyDashboard);
@@ -94,7 +96,7 @@ export class ApiNewComponent extends NavigableComponent {
9496
return Observable.zip(
9597
this._functionAppService.getFunctions(context),
9698
this._functionAppService.getApiProxies(context),
97-
this._functionAppService.getFunctionAppAzureAppSettings(context),
99+
this._siteService.getAppSettings(context.site.id),
98100
(f, p, a) => ({ fcs: f, proxies: p, appSettings: a, context: context }));
99101
});
100102
})

client/src/app/binding/binding.component.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { FunctionInfo } from '../shared/models/function-info';
1717
import { FunctionAppService } from 'app/shared/services/function-app.service';
1818
import { FunctionAppContext } from 'app/shared/function-app-context';
1919
import { FunctionAppContextComponent } from 'app/shared/components/function-app-context-component';
20+
import { SiteService } from '../shared/services/site.service';
2021

2122
declare var marked: any;
2223

@@ -59,6 +60,7 @@ export class BindingComponent extends FunctionAppContextComponent implements OnD
5960
constructor(@Inject(ElementRef) elementRef: ElementRef,
6061
broadcastService: BroadcastService,
6162
private _functionAppService: FunctionAppService,
63+
private _siteService: SiteService,
6264
private _portalService: PortalService,
6365
private _cacheService: CacheService,
6466
private _translateService: TranslateService,
@@ -116,7 +118,7 @@ export class BindingComponent extends FunctionAppContextComponent implements OnD
116118
.switchMap(viewInfo => {
117119
// TODO: [alrod] handle error
118120
this._functionInfo = viewInfo.functionInfo.result;
119-
return this._functionAppService.getFunctionAppAzureAppSettings(viewInfo.context);
121+
return this._siteService.getAppSettings(viewInfo.context.site.id);
120122
})
121123
.subscribe(appSettingsResult => {
122124
// TODO: [alrod] handle error

client/src/app/function-monitor/function-monitor.component.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { BroadcastEvent } from '../shared/models/broadcast-event';
1414
import { PortalResources } from '../shared/models/portal-resources';
1515
import { TranslateService } from '@ngx-translate/core';
1616
import { ApplicationInsightsService } from '../shared/services/application-insights.service';
17+
import { SiteService } from '../shared/services/site.service';
1718

1819
@Component({
1920
selector: ComponentNames.functionMonitor,
@@ -29,6 +30,7 @@ export class FunctionMonitorComponent extends NavigableComponent {
2930

3031
constructor(
3132
private _functionAppService: FunctionAppService,
33+
private _siteService: SiteService,
3234
private _scenarioService: ScenarioService,
3335
private _translateService: TranslateService,
3436
private _applicationInsightsService: ApplicationInsightsService,
@@ -62,7 +64,7 @@ export class FunctionMonitorComponent extends NavigableComponent {
6264
.switchMap(tuple => Observable.zip(
6365
Observable.of(tuple[0]),
6466
this._functionAppService.getFunction(tuple[0], tuple[1].functionDescriptor.name),
65-
this._functionAppService.getFunctionAppAzureAppSettings(tuple[0]),
67+
this._siteService.getAppSettings(tuple[0].site.id),
6668
this._scenarioService.checkScenarioAsync(ScenarioIds.appInsightsConfigurable, { site: tuple[0].site })
6769
))
6870
.map((tuple): FunctionMonitorInfo => ({

client/src/app/function-quickstart/function-quickstart.component.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { Dom } from '../shared/Utilities/dom';
2525
import { Observable } from 'rxjs/Observable';
2626
import { ArmObj } from '../shared/models/arm/arm-obj';
2727
import { ApplicationSettings } from '../shared/models/arm/application-settings';
28+
import { SiteService } from '../shared/services/site.service';
2829

2930

3031
type TemplateType = 'HttpTrigger' | 'TimerTrigger' | 'QueueTrigger';
@@ -59,7 +60,8 @@ export class FunctionQuickstartComponent extends FunctionAppContextComponent {
5960
private _globalStateService: GlobalStateService,
6061
private _translateService: TranslateService,
6162
private _aiService: AiService,
62-
private _functionAppService: FunctionAppService) {
63+
private _functionAppService: FunctionAppService,
64+
private _siteService: SiteService) {
6365
super('function-quickstart', _functionAppService, broadcastService, () => _globalStateService.setBusyState());
6466

6567
this.selectedFunction = 'HttpTrigger';
@@ -78,7 +80,7 @@ export class FunctionQuickstartComponent extends FunctionAppContextComponent {
7880
return Observable.zip(
7981
this._functionAppService.getFunctions(this.context),
8082
this._functionAppService.getRuntimeGeneration(this.context),
81-
this._functionAppService.getFunctionAppAzureAppSettings(this.context));
83+
this._siteService.getAppSettings(this.context.site.id));
8284
})
8385
.do(null, e => {
8486
this._aiService.trackException(e, '/errors/function-quickstart');

client/src/app/function/binding-v2/binding-v2.component.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { FunctionAppService } from 'app/shared/services/function-app.service';
2121
import { FunctionAppContextComponent } from 'app/shared/components/function-app-context-component';
2222
import { Subscription } from 'rxjs/Subscription';
2323
import { FunctionAppContext } from 'app/shared/function-app-context';
24+
import { SiteService } from '../../shared/services/site.service';
2425

2526
declare var marked: any;
2627

@@ -76,6 +77,7 @@ export class BindingV2Component extends FunctionAppContextComponent {
7677
private _translateService: TranslateService,
7778
private _aiService: AiService,
7879
private _functionAppService: FunctionAppService,
80+
private _siteService: SiteService,
7981
private _logService: LogService) {
8082
super('binding-v2', _functionAppService, broadcastService);
8183

@@ -124,7 +126,7 @@ export class BindingV2Component extends FunctionAppContextComponent {
124126
.switchMap(view => {
125127
this._functionInfo = view.functionInfo.result;
126128
return Observable.zip(
127-
this._functionAppService.getFunctionAppAzureAppSettings(view.context),
129+
this._siteService.getAppSettings(view.context.site.id),
128130
this._functionAppService.getAuthSettings(view.context),
129131
Observable.of(view)
130132
);

client/src/app/function/function-new/function-new.component.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { Subscription } from 'rxjs/Subscription';
2525
import { ScenarioService } from '../../shared/services/scenario/scenario.service';
2626
import { ArmObj } from '../../shared/models/arm/arm-obj';
2727
import { ApplicationSettings } from '../../shared/models/arm/application-settings';
28+
import { SiteService } from '../../shared/services/site.service';
2829

2930
interface CategoryOrder {
3031
name: string;
@@ -132,7 +133,8 @@ export class FunctionNewComponent extends FunctionAppContextComponent implements
132133
private _globalStateService: GlobalStateService,
133134
private _translateService: TranslateService,
134135
private _logService: LogService,
135-
private _functionAppService: FunctionAppService) {
136+
private _functionAppService: FunctionAppService,
137+
private _siteService: SiteService) {
136138
super('function-new', _functionAppService, _broadcastService, () => _globalStateService.setBusyState());
137139

138140
this.disabled = !!_broadcastService.getDirtyState('function_disabled');
@@ -155,7 +157,7 @@ export class FunctionNewComponent extends FunctionAppContextComponent implements
155157
return Observable.zip(
156158
this._functionAppService.getFunctions(this.context),
157159
this._functionAppService.getRuntimeGeneration(this.context),
158-
this._functionAppService.getFunctionAppAzureAppSettings(this.context),
160+
this._siteService.getAppSettings(this.context.site.id),
159161
this._functionAppService.getBindingConfig(this.context),
160162
this._functionAppService.getTemplates(this.context));
161163
})

client/src/app/shared/services/function-app.service.ts

+6-10
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { LogService } from './log.service';
3636
import { PortalService } from 'app/shared/services/portal.service';
3737
import { ExtensionInstallStatus } from '../models/extension-install-status';
3838
import { Templates } from './../../function/embedded/temp-templates';
39+
import { SiteService } from './site.service';
3940

4041
type Result<T> = Observable<HttpResult<T>>;
4142
@Injectable()
@@ -50,6 +51,7 @@ export class FunctionAppService {
5051
private _injector: Injector,
5152
private _portalService: PortalService,
5253
private _globalStateService: GlobalStateService,
54+
private _siteService: SiteService,
5355
logService: LogService,
5456
injector: Injector) {
5557

@@ -73,7 +75,7 @@ export class FunctionAppService {
7375
} else if (ArmUtil.isLinuxApp(context.site)) {
7476
return this._cacheService.get(Constants.serviceHost + `api/runtimetoken${context.site.id}`, false, this.portalHeaders(info.token))
7577
} else {
76-
return this._cacheService.get(context.urlTemplates.scmTokenUrl, true, this.headers(info.token));
78+
return this._cacheService.get(context.urlTemplates.scmTokenUrl, false, this.headers(info.token));
7779
}
7880
})
7981
.map(r => r.json());
@@ -261,7 +263,7 @@ export class FunctionAppService {
261263

262264
return this._cacheService.get(
263265
`${Constants.cdnHost}api/templates?runtime=${(extensionVersion || 'latest')}&cacheBreak=${window.appsvc.cacheBreakQuery}`,
264-
true,
266+
false,
265267
headers);
266268
})
267269
.map(r => {
@@ -286,12 +288,6 @@ export class FunctionAppService {
286288
.map(r => r.json()));
287289
}
288290

289-
getFunctionAppAzureAppSettings(context: FunctionAppContext) {
290-
return this.azure.executeWithConditions([], { resourceId: context.site.id }, t =>
291-
this._cacheService.postArm(`${context.site.id}/config/appsettings/list`, true)
292-
.map(r => r.json() as ArmObj<{ [key: string]: string }>));
293-
}
294-
295291
createFunctionV2(context: FunctionAppContext, functionName: string, files: any, config: any) {
296292
const filesCopy = Object.assign({}, files);
297293
const sampleData = filesCopy['sample.dat'];
@@ -780,15 +776,15 @@ export class FunctionAppService {
780776
return this.azure.executeWithConditions([], { resourceId: context.site.id },
781777
Observable.zip(
782778
this.isSourceControlEnabled(context),
783-
this.azure.executeWithConditions([], { resourceId: context.site.id }, this._cacheService.postArm(`${context.site.id}/config/appsettings/list`, true)),
779+
this._siteService.getAppSettings(context.site.id),
784780
this.isSlot(context)
785781
? Observable.of({ isSuccessful: true, result: true, error: null })
786782
: this.getSlotsList(context).map(r => r.isSuccessful ? Object.assign(r, { result: r.result.length > 0 }) : r),
787783
this.getFunctions(context),
788784
(a, b, s, f) => ({ sourceControlEnabled: a, appSettingsResponse: b, hasSlots: s, functions: f }))
789785
.map(result => {
790786
const appSettings: ArmObj<{ [key: string]: string }> = result.appSettingsResponse.isSuccessful
791-
? result.appSettingsResponse.result.json()
787+
? result.appSettingsResponse.result
792788
: null;
793789

794790
const sourceControlled = result.sourceControlEnabled.isSuccessful &&

0 commit comments

Comments
 (0)