|
3 | 3 | * Licensed under the MIT License. See License.txt in the project root for license information. |
4 | 4 | *--------------------------------------------------------------------------------------------*/ |
5 | 5 |
|
6 | | -import { ContainerAppsAPIClient } from "@azure/arm-appcontainers"; |
7 | | -import { IActionContext, nonNullProp } from "@microsoft/vscode-azext-utils"; |
| 6 | +import { ContainerAppsAPIClient, KnownActiveRevisionsMode } from "@azure/arm-appcontainers"; |
| 7 | +import { IActionContext, nonNullProp, nonNullValue } from "@microsoft/vscode-azext-utils"; |
8 | 8 | import { ext } from "../../extensionVariables"; |
9 | 9 | import type { ContainerAppItem } from "../../tree/ContainerAppItem"; |
10 | 10 | import { RevisionItem } from "../../tree/revisionManagement/RevisionItem"; |
11 | 11 | import { createContainerAppsClient } from "../../utils/azureClients"; |
12 | 12 | import { localize } from "../../utils/localize"; |
13 | 13 | import { pickContainerApp } from "../../utils/pickItem/pickContainerApp"; |
| 14 | +import { pickRevision } from "../../utils/pickItem/pickRevision"; |
14 | 15 |
|
15 | 16 | export async function executeRevisionOperation(context: IActionContext, node: ContainerAppItem | RevisionItem | undefined, operation: RevisionOperation): Promise<void> { |
16 | | - const item = node ?? await pickContainerApp(context); |
| 17 | + if (!node) { |
| 18 | + node = await pickContainerApp(context); |
| 19 | + |
| 20 | + if (node.containerApp.revisionsMode === KnownActiveRevisionsMode.Multiple) { |
| 21 | + node = await pickRevision(context, node); |
| 22 | + } |
| 23 | + } |
| 24 | + |
| 25 | + const item: ContainerAppItem | RevisionItem = nonNullValue(node); |
17 | 26 |
|
18 | 27 | await ext.state.runWithTemporaryDescription(item.id, revisionOperationDescriptions[operation], async () => { |
19 | 28 | const appClient: ContainerAppsAPIClient = await createContainerAppsClient(context, item.subscription); |
|
0 commit comments