Skip to content

Commit 516ef8f

Browse files
committed
Refactor
1 parent b15db29 commit 516ef8f

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

src/commands/revisionDraft/deployRevisionDraft/DeployRevisionDraftStep.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class DeployRevisionDraftStep extends AzureWizardExecuteStep<IDeployRevis
1919
public async execute(context: IDeployRevisionDraftContext, progress: Progress<{ message?: string | undefined; increment?: number | undefined }>): Promise<void> {
2020
const containerApp: ContainerAppModel = nonNullProp(context, 'containerApp');
2121
const containerAppEnvelope = await getContainerEnvelopeWithSecrets(context, context.subscription, containerApp);
22-
containerAppEnvelope.template = context.template;
22+
containerAppEnvelope.template = nonNullProp(context, 'template');
2323

2424
const creatingRevision: string = localize('creatingRevision', 'Creating revision...');
2525
progress.report({ message: creatingRevision });

src/commands/revisionDraft/deployRevisionDraft/IDeployRevisionDraftContext.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ import type { ExecuteActivityContext } from "@microsoft/vscode-azext-utils";
88
import type { IContainerAppContext } from "../../IContainerAppContext";
99

1010
export interface IDeployRevisionDraftContext extends IContainerAppContext, ExecuteActivityContext {
11-
template: Template;
11+
template: Template | undefined;
1212
}

src/commands/revisionDraft/deployRevisionDraft/deployRevisionDraft.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { ContainerAppsAPIClient, KnownActiveRevisionsMode, Revision } from "@azure/arm-appcontainers";
77
import { uiUtils } from "@microsoft/vscode-azext-azureutils";
8-
import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, createSubscriptionContext, nonNullProp, nonNullValue, nonNullValueAndProp } from "@microsoft/vscode-azext-utils";
8+
import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, createSubscriptionContext, nonNullProp, nonNullValueAndProp } from "@microsoft/vscode-azext-utils";
99
import * as deepEqual from "deep-eql";
1010
import { ext } from "../../../extensionVariables";
1111
import type { ContainerAppItem, ContainerAppModel } from "../../../tree/ContainerAppItem";
@@ -22,10 +22,6 @@ import type { IDeployRevisionDraftContext } from "./IDeployRevisionDraftContext"
2222
export async function deployRevisionDraft(context: IActionContext, node?: ContainerAppItem | RevisionDraftItem): Promise<void> {
2323
const item = node ?? await pickContainerApp(context);
2424

25-
if (!ext.revisionDraftFileSystem.doesContainerAppsItemHaveRevisionDraft(item)) {
26-
throw new Error(localize('noDraftExists', 'No draft changes exist for container app "{0}".', item.containerApp.name));
27-
}
28-
2925
const { subscription, containerApp } = item;
3026

3127
const wizardContext: IDeployRevisionDraftContext = {
@@ -34,7 +30,7 @@ export async function deployRevisionDraft(context: IActionContext, node?: Contai
3430
...(await createActivityContext()),
3531
subscription,
3632
containerApp,
37-
template: nonNullValue(ext.revisionDraftFileSystem.parseRevisionDraft(item)),
33+
template: ext.revisionDraftFileSystem.parseRevisionDraft(item),
3834
};
3935

4036
if (!await hasUnsavedChanges(wizardContext, item)) {
@@ -78,14 +74,14 @@ async function hasUnsavedChanges(context: IDeployRevisionDraftContext, item: Con
7874
const containerApp: ContainerAppModel = nonNullProp(context, 'containerApp');
7975

8076
if (context.containerApp?.revisionsMode === KnownActiveRevisionsMode.Single) {
81-
return !!containerApp.template && !deepEqual(containerApp.template, context.template);
77+
return !!containerApp.template && !!context.template && !deepEqual(containerApp.template, context.template);
8278
} else {
8379
const client: ContainerAppsAPIClient = await createContainerAppsAPIClient(context);
8480
const revisions: Revision[] = await uiUtils.listAllIterator(client.containerAppsRevisions.listRevisions(containerApp.resourceGroup, containerApp.name));
8581

8682
const baseRevisionName: string = nonNullValueAndProp(ext.revisionDraftFileSystem.getRevisionDraftFile(item), 'baseRevisionName');
8783
const baseRevision: Revision | undefined = revisions.find(revision => revision.name === baseRevisionName);
8884

89-
return !!baseRevision?.template && !deepEqual(baseRevision.template, context.template);
85+
return !!baseRevision?.template && !!context.template && !deepEqual(baseRevision.template, context.template);
9086
}
9187
}

src/tree/revisionManagement/RevisionDraftItem.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,12 @@ export class RevisionDraftItem implements RevisionsItemModel, RevisionsDraftMode
8686

8787
const baseRevisionName: string | undefined = ext.revisionDraftFileSystem.getRevisionDraftFile(this)?.baseRevisionName;
8888
const baseRevision: Revision | undefined = revisions?.find(revision => baseRevisionName && revision.name === baseRevisionName);
89-
9089
const draftTemplate: Template | undefined = ext.revisionDraftFileSystem.parseRevisionDraft(this);
91-
return !!baseRevision?.template && !deepEqual(baseRevision.template, draftTemplate);
90+
91+
if (!baseRevision?.template || !draftTemplate) {
92+
return false;
93+
}
94+
95+
return !deepEqual(baseRevision.template, draftTemplate);
9296
}
9397
}

0 commit comments

Comments
 (0)