@microsoft/managed-apps-cli 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +153 -0
- package/README.md +280 -0
- package/dist/ArgumentProvider.d.ts +102 -0
- package/dist/ArgumentProvider.d.ts.map +1 -0
- package/dist/ArgumentProvider.js +376 -0
- package/dist/ArgumentProvider.js.map +1 -0
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +18 -0
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -0
- package/dist/Authentication/NodeMsalAuthenticationProvider.js +99 -0
- package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -0
- package/dist/Authentication/OrchardAuthenticationProvider.d.ts +13 -0
- package/dist/Authentication/OrchardAuthenticationProvider.d.ts.map +1 -0
- package/dist/Authentication/OrchardAuthenticationProvider.js +30 -0
- package/dist/Authentication/OrchardAuthenticationProvider.js.map +1 -0
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +23 -0
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -0
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +60 -0
- package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -0
- package/dist/Bin.d.ts +6 -0
- package/dist/Bin.d.ts.map +1 -0
- package/dist/Bin.js +7 -0
- package/dist/Bin.js.map +1 -0
- package/dist/Cli.d.ts +2 -0
- package/dist/Cli.d.ts.map +1 -0
- package/dist/Cli.js +91 -0
- package/dist/Cli.js.map +1 -0
- package/dist/CliSettings.d.ts +14 -0
- package/dist/CliSettings.d.ts.map +1 -0
- package/dist/CliSettings.js +78 -0
- package/dist/CliSettings.js.map +1 -0
- package/dist/CliUtils.d.ts +92 -0
- package/dist/CliUtils.d.ts.map +1 -0
- package/dist/CliUtils.js +218 -0
- package/dist/CliUtils.js.map +1 -0
- package/dist/Constants/CliConstants.d.ts +6 -0
- package/dist/Constants/CliConstants.d.ts.map +1 -0
- package/dist/Constants/CliConstants.js +6 -0
- package/dist/Constants/CliConstants.js.map +1 -0
- package/dist/Constants/CommandRegistry.d.ts +23 -0
- package/dist/Constants/CommandRegistry.d.ts.map +1 -0
- package/dist/Constants/CommandRegistry.js +193 -0
- package/dist/Constants/CommandRegistry.js.map +1 -0
- package/dist/Constants/HelpStrings.d.ts +321 -0
- package/dist/Constants/HelpStrings.d.ts.map +1 -0
- package/dist/Constants/HelpStrings.js +438 -0
- package/dist/Constants/HelpStrings.js.map +1 -0
- package/dist/Constants.d.ts +10 -0
- package/dist/Constants.d.ts.map +1 -0
- package/dist/Constants.js +18 -0
- package/dist/Constants.js.map +1 -0
- package/dist/Errors/CliError.d.ts +5 -0
- package/dist/Errors/CliError.d.ts.map +1 -0
- package/dist/Errors/CliError.js +7 -0
- package/dist/Errors/CliError.js.map +1 -0
- package/dist/FS/CliFs.d.ts +41 -0
- package/dist/FS/CliFs.d.ts.map +1 -0
- package/dist/FS/CliFs.js +136 -0
- package/dist/FS/CliFs.js.map +1 -0
- package/dist/HttpClient/CliHttpClient.d.ts +24 -0
- package/dist/HttpClient/CliHttpClient.d.ts.map +1 -0
- package/dist/HttpClient/CliHttpClient.js +122 -0
- package/dist/HttpClient/CliHttpClient.js.map +1 -0
- package/dist/HttpClient/OrchardProxy.d.ts +11 -0
- package/dist/HttpClient/OrchardProxy.d.ts.map +1 -0
- package/dist/HttpClient/OrchardProxy.js +25 -0
- package/dist/HttpClient/OrchardProxy.js.map +1 -0
- package/dist/HttpClient/Proxy.d.ts +7 -0
- package/dist/HttpClient/Proxy.d.ts.map +1 -0
- package/dist/HttpClient/Proxy.js +5 -0
- package/dist/HttpClient/Proxy.js.map +1 -0
- package/dist/Logger/CliLogger.d.ts +36 -0
- package/dist/Logger/CliLogger.d.ts.map +1 -0
- package/dist/Logger/CliLogger.js +235 -0
- package/dist/Logger/CliLogger.js.map +1 -0
- package/dist/Logger/ConsoleWriter.d.ts +15 -0
- package/dist/Logger/ConsoleWriter.d.ts.map +1 -0
- package/dist/Logger/ConsoleWriter.js +45 -0
- package/dist/Logger/ConsoleWriter.js.map +1 -0
- package/dist/Logger/Constants.d.ts +6 -0
- package/dist/Logger/Constants.d.ts.map +1 -0
- package/dist/Logger/Constants.js +15 -0
- package/dist/Logger/Constants.js.map +1 -0
- package/dist/Logger/LoggerSettings.d.ts +19 -0
- package/dist/Logger/LoggerSettings.d.ts.map +1 -0
- package/dist/Logger/LoggerSettings.js +114 -0
- package/dist/Logger/LoggerSettings.js.map +1 -0
- package/dist/Logger/OneDSWriter.d.ts +22 -0
- package/dist/Logger/OneDSWriter.d.ts.map +1 -0
- package/dist/Logger/OneDSWriter.js +129 -0
- package/dist/Logger/OneDSWriter.js.map +1 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +5 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +1 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensions.js +46 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +1 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +27 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +1 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +168 -0
- package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +1 -0
- package/dist/Logger/Scrubber/ScrubUtils.d.ts +8 -0
- package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +1 -0
- package/dist/Logger/Scrubber/ScrubUtils.js +34 -0
- package/dist/Logger/Scrubber/ScrubUtils.js.map +1 -0
- package/dist/Types/Argument.types.d.ts +27 -0
- package/dist/Types/Argument.types.d.ts.map +1 -0
- package/dist/Types/Argument.types.js +5 -0
- package/dist/Types/Argument.types.js.map +1 -0
- package/dist/Types/Cli.types.d.ts +32 -0
- package/dist/Types/Cli.types.d.ts.map +1 -0
- package/dist/Types/Cli.types.js +5 -0
- package/dist/Types/Cli.types.js.map +1 -0
- package/dist/Types/Command.types.d.ts +52 -0
- package/dist/Types/Command.types.d.ts.map +1 -0
- package/dist/Types/Command.types.js +8 -0
- package/dist/Types/Command.types.js.map +1 -0
- package/dist/Types/Datasource.types.d.ts +43 -0
- package/dist/Types/Datasource.types.d.ts.map +1 -0
- package/dist/Types/Datasource.types.js +5 -0
- package/dist/Types/Datasource.types.js.map +1 -0
- package/dist/Types/LoggerTypes.types.d.ts +17 -0
- package/dist/Types/LoggerTypes.types.d.ts.map +1 -0
- package/dist/Types/LoggerTypes.types.js +5 -0
- package/dist/Types/LoggerTypes.types.js.map +1 -0
- package/dist/Utils/BuildVerbDescriptionTable.d.ts +19 -0
- package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -0
- package/dist/Utils/BuildVerbDescriptionTable.js +87 -0
- package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -0
- package/dist/Utils/ConsoleOutput.d.ts +80 -0
- package/dist/Utils/ConsoleOutput.d.ts.map +1 -0
- package/dist/Utils/ConsoleOutput.js +151 -0
- package/dist/Utils/ConsoleOutput.js.map +1 -0
- package/dist/Utils/DetectPackageManager.d.ts +9 -0
- package/dist/Utils/DetectPackageManager.d.ts.map +1 -0
- package/dist/Utils/DetectPackageManager.js +24 -0
- package/dist/Utils/DetectPackageManager.js.map +1 -0
- package/dist/Utils/EnhanceNetworkError.d.ts +14 -0
- package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -0
- package/dist/Utils/EnhanceNetworkError.js +59 -0
- package/dist/Utils/EnhanceNetworkError.js.map +1 -0
- package/dist/Utils/EnvVars.d.ts +17 -0
- package/dist/Utils/EnvVars.d.ts.map +1 -0
- package/dist/Utils/EnvVars.js +38 -0
- package/dist/Utils/EnvVars.js.map +1 -0
- package/dist/Utils/GitCredentialConfig.d.ts +12 -0
- package/dist/Utils/GitCredentialConfig.d.ts.map +1 -0
- package/dist/Utils/GitCredentialConfig.js +32 -0
- package/dist/Utils/GitCredentialConfig.js.map +1 -0
- package/dist/Utils/GitUtils.d.ts +22 -0
- package/dist/Utils/GitUtils.d.ts.map +1 -0
- package/dist/Utils/GitUtils.js +35 -0
- package/dist/Utils/GitUtils.js.map +1 -0
- package/dist/Utils/Paging.d.ts +23 -0
- package/dist/Utils/Paging.d.ts.map +1 -0
- package/dist/Utils/Paging.js +67 -0
- package/dist/Utils/Paging.js.map +1 -0
- package/dist/Utils/ReadPackageJson.d.ts +9 -0
- package/dist/Utils/ReadPackageJson.d.ts.map +1 -0
- package/dist/Utils/ReadPackageJson.js +13 -0
- package/dist/Utils/ReadPackageJson.js.map +1 -0
- package/dist/Utils/ResolveCommand.d.ts +26 -0
- package/dist/Utils/ResolveCommand.d.ts.map +1 -0
- package/dist/Utils/ResolveCommand.js +62 -0
- package/dist/Utils/ResolveCommand.js.map +1 -0
- package/dist/Utils/RunCommand.d.ts +33 -0
- package/dist/Utils/RunCommand.d.ts.map +1 -0
- package/dist/Utils/RunCommand.js +83 -0
- package/dist/Utils/RunCommand.js.map +1 -0
- package/dist/Utils/Spinner.d.ts +15 -0
- package/dist/Utils/Spinner.d.ts.map +1 -0
- package/dist/Utils/Spinner.js +71 -0
- package/dist/Utils/Spinner.js.map +1 -0
- package/dist/Utils/zipBuildArtifact.d.ts +35 -0
- package/dist/Utils/zipBuildArtifact.d.ts.map +1 -0
- package/dist/Utils/zipBuildArtifact.js +100 -0
- package/dist/Utils/zipBuildArtifact.js.map +1 -0
- package/dist/Verbs/AddAction.d.ts +6 -0
- package/dist/Verbs/AddAction.d.ts.map +1 -0
- package/dist/Verbs/AddAction.js +87 -0
- package/dist/Verbs/AddAction.js.map +1 -0
- package/dist/Verbs/AddDataSource.d.ts +19 -0
- package/dist/Verbs/AddDataSource.d.ts.map +1 -0
- package/dist/Verbs/AddDataSource.js +173 -0
- package/dist/Verbs/AddDataSource.js.map +1 -0
- package/dist/Verbs/AddFlow.d.ts +12 -0
- package/dist/Verbs/AddFlow.d.ts.map +1 -0
- package/dist/Verbs/AddFlow.js +67 -0
- package/dist/Verbs/AddFlow.js.map +1 -0
- package/dist/Verbs/AddTable.d.ts +6 -0
- package/dist/Verbs/AddTable.d.ts.map +1 -0
- package/dist/Verbs/AddTable.js +163 -0
- package/dist/Verbs/AddTable.js.map +1 -0
- package/dist/Verbs/AuthStatus.d.ts +6 -0
- package/dist/Verbs/AuthStatus.d.ts.map +1 -0
- package/dist/Verbs/AuthStatus.js +18 -0
- package/dist/Verbs/AuthStatus.js.map +1 -0
- package/dist/Verbs/BuildMaafApp.d.ts +6 -0
- package/dist/Verbs/BuildMaafApp.d.ts.map +1 -0
- package/dist/Verbs/BuildMaafApp.js +96 -0
- package/dist/Verbs/BuildMaafApp.js.map +1 -0
- package/dist/Verbs/ConnectorHelpers.d.ts +37 -0
- package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -0
- package/dist/Verbs/ConnectorHelpers.js +116 -0
- package/dist/Verbs/ConnectorHelpers.js.map +1 -0
- package/dist/Verbs/CreateMaafApp.d.ts +58 -0
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -0
- package/dist/Verbs/CreateMaafApp.js +712 -0
- package/dist/Verbs/CreateMaafApp.js.map +1 -0
- package/dist/Verbs/DeleteDataSource.d.ts +6 -0
- package/dist/Verbs/DeleteDataSource.d.ts.map +1 -0
- package/dist/Verbs/DeleteDataSource.js +105 -0
- package/dist/Verbs/DeleteDataSource.js.map +1 -0
- package/dist/Verbs/DeleteMaafApp.d.ts +23 -0
- package/dist/Verbs/DeleteMaafApp.d.ts.map +1 -0
- package/dist/Verbs/DeleteMaafApp.js +98 -0
- package/dist/Verbs/DeleteMaafApp.js.map +1 -0
- package/dist/Verbs/DeployMaafApp.d.ts +6 -0
- package/dist/Verbs/DeployMaafApp.d.ts.map +1 -0
- package/dist/Verbs/DeployMaafApp.js +501 -0
- package/dist/Verbs/DeployMaafApp.js.map +1 -0
- package/dist/Verbs/Dev.d.ts +6 -0
- package/dist/Verbs/Dev.d.ts.map +1 -0
- package/dist/Verbs/Dev.js +212 -0
- package/dist/Verbs/Dev.js.map +1 -0
- package/dist/Verbs/FindDataverseApi.d.ts +12 -0
- package/dist/Verbs/FindDataverseApi.d.ts.map +1 -0
- package/dist/Verbs/FindDataverseApi.js +101 -0
- package/dist/Verbs/FindDataverseApi.js.map +1 -0
- package/dist/Verbs/GetMaafApp.d.ts +6 -0
- package/dist/Verbs/GetMaafApp.d.ts.map +1 -0
- package/dist/Verbs/GetMaafApp.js +59 -0
- package/dist/Verbs/GetMaafApp.js.map +1 -0
- package/dist/Verbs/GetMaafBuildStatus.d.ts +6 -0
- package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -0
- package/dist/Verbs/GetMaafBuildStatus.js +67 -0
- package/dist/Verbs/GetMaafBuildStatus.js.map +1 -0
- package/dist/Verbs/GetSettings.d.ts +12 -0
- package/dist/Verbs/GetSettings.d.ts.map +1 -0
- package/dist/Verbs/GetSettings.js +48 -0
- package/dist/Verbs/GetSettings.js.map +1 -0
- package/dist/Verbs/Init.d.ts +6 -0
- package/dist/Verbs/Init.d.ts.map +1 -0
- package/dist/Verbs/Init.js +171 -0
- package/dist/Verbs/Init.js.map +1 -0
- package/dist/Verbs/ListConnectionReferences.d.ts +6 -0
- package/dist/Verbs/ListConnectionReferences.d.ts.map +1 -0
- package/dist/Verbs/ListConnectionReferences.js +70 -0
- package/dist/Verbs/ListConnectionReferences.js.map +1 -0
- package/dist/Verbs/ListConnectorActions.d.ts +6 -0
- package/dist/Verbs/ListConnectorActions.d.ts.map +1 -0
- package/dist/Verbs/ListConnectorActions.js +73 -0
- package/dist/Verbs/ListConnectorActions.js.map +1 -0
- package/dist/Verbs/ListConnectors.d.ts +6 -0
- package/dist/Verbs/ListConnectors.d.ts.map +1 -0
- package/dist/Verbs/ListConnectors.js +66 -0
- package/dist/Verbs/ListConnectors.js.map +1 -0
- package/dist/Verbs/ListDatasets.d.ts +6 -0
- package/dist/Verbs/ListDatasets.d.ts.map +1 -0
- package/dist/Verbs/ListDatasets.js +82 -0
- package/dist/Verbs/ListDatasets.js.map +1 -0
- package/dist/Verbs/ListEnvironmentVariables.d.ts +14 -0
- package/dist/Verbs/ListEnvironmentVariables.d.ts.map +1 -0
- package/dist/Verbs/ListEnvironmentVariables.js +66 -0
- package/dist/Verbs/ListEnvironmentVariables.js.map +1 -0
- package/dist/Verbs/ListFlows.d.ts +13 -0
- package/dist/Verbs/ListFlows.d.ts.map +1 -0
- package/dist/Verbs/ListFlows.js +88 -0
- package/dist/Verbs/ListFlows.js.map +1 -0
- package/dist/Verbs/ListMaafApps.d.ts +71 -0
- package/dist/Verbs/ListMaafApps.d.ts.map +1 -0
- package/dist/Verbs/ListMaafApps.js +168 -0
- package/dist/Verbs/ListMaafApps.js.map +1 -0
- package/dist/Verbs/ListSqlStoredProcedures.d.ts +6 -0
- package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -0
- package/dist/Verbs/ListSqlStoredProcedures.js +84 -0
- package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -0
- package/dist/Verbs/ListTables.d.ts +6 -0
- package/dist/Verbs/ListTables.d.ts.map +1 -0
- package/dist/Verbs/ListTables.js +94 -0
- package/dist/Verbs/ListTables.js.map +1 -0
- package/dist/Verbs/Login.d.ts +6 -0
- package/dist/Verbs/Login.d.ts.map +1 -0
- package/dist/Verbs/Login.js +28 -0
- package/dist/Verbs/Login.js.map +1 -0
- package/dist/Verbs/Logout.d.ts +6 -0
- package/dist/Verbs/Logout.d.ts.map +1 -0
- package/dist/Verbs/Logout.js +28 -0
- package/dist/Verbs/Logout.js.map +1 -0
- package/dist/Verbs/MaafAppPermissions.d.ts +23 -0
- package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -0
- package/dist/Verbs/MaafAppPermissions.js +278 -0
- package/dist/Verbs/MaafAppPermissions.js.map +1 -0
- package/dist/Verbs/Pack.d.ts +42 -0
- package/dist/Verbs/Pack.d.ts.map +1 -0
- package/dist/Verbs/Pack.js +114 -0
- package/dist/Verbs/Pack.js.map +1 -0
- package/dist/Verbs/RefreshDataSource.d.ts +6 -0
- package/dist/Verbs/RefreshDataSource.d.ts.map +1 -0
- package/dist/Verbs/RefreshDataSource.js +72 -0
- package/dist/Verbs/RefreshDataSource.js.map +1 -0
- package/dist/Verbs/RemoveFlow.d.ts +12 -0
- package/dist/Verbs/RemoveFlow.d.ts.map +1 -0
- package/dist/Verbs/RemoveFlow.js +99 -0
- package/dist/Verbs/RemoveFlow.js.map +1 -0
- package/dist/Verbs/SetSetting.d.ts +12 -0
- package/dist/Verbs/SetSetting.d.ts.map +1 -0
- package/dist/Verbs/SetSetting.js +141 -0
- package/dist/Verbs/SetSetting.js.map +1 -0
- package/dist/Verbs/ShareMaafApp.d.ts +12 -0
- package/dist/Verbs/ShareMaafApp.d.ts.map +1 -0
- package/dist/Verbs/ShareMaafApp.js +14 -0
- package/dist/Verbs/ShareMaafApp.js.map +1 -0
- package/dist/Verbs/ShowMaafApp.d.ts +94 -0
- package/dist/Verbs/ShowMaafApp.d.ts.map +1 -0
- package/dist/Verbs/ShowMaafApp.js +216 -0
- package/dist/Verbs/ShowMaafApp.js.map +1 -0
- package/dist/Verbs/TelemetrySettings.d.ts +8 -0
- package/dist/Verbs/TelemetrySettings.d.ts.map +1 -0
- package/dist/Verbs/TelemetrySettings.js +104 -0
- package/dist/Verbs/TelemetrySettings.js.map +1 -0
- package/dist/Verbs/UnshareMaafApp.d.ts +12 -0
- package/dist/Verbs/UnshareMaafApp.d.ts.map +1 -0
- package/dist/Verbs/UnshareMaafApp.js +14 -0
- package/dist/Verbs/UnshareMaafApp.js.map +1 -0
- package/dist/Verbs/VerbConstants.d.ts +415 -0
- package/dist/Verbs/VerbConstants.d.ts.map +1 -0
- package/dist/Verbs/VerbConstants.js +382 -0
- package/dist/Verbs/VerbConstants.js.map +1 -0
- package/dist/Verbs/index.d.ts +39 -0
- package/dist/Verbs/index.d.ts.map +1 -0
- package/dist/Verbs/index.js +39 -0
- package/dist/Verbs/index.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
|
5
|
+
/**
|
|
6
|
+
* List all cloud flows from a Dataverse environment.
|
|
7
|
+
* The org URL is discovered from the ms.config.json file.
|
|
8
|
+
*
|
|
9
|
+
* @param {ArgumentProvider} argumentProvider
|
|
10
|
+
* @returns {Promise<void>}
|
|
11
|
+
*/
|
|
12
|
+
export declare function listFlowsAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=ListFlows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListFlows.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListFlows.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { getPlayerServiceConfig } from '@microsoft/managed-apps-actions';
|
|
5
|
+
import { listFlowsAsync as listFlowsActionAsync } from '@microsoft/managed-apps-actions';
|
|
6
|
+
import { getCliLogger, getSettings } from '../CliSettings.js';
|
|
7
|
+
import { createDefaultStringOption } from '../CliUtils.js';
|
|
8
|
+
import { HelpStrings } from '../Constants/HelpStrings.js';
|
|
9
|
+
import { CliFS } from '../FS/CliFs.js';
|
|
10
|
+
import { printJsonSuccessList, printTable } from '../Utils/ConsoleOutput.js';
|
|
11
|
+
import { ListFlowsArguments } from './VerbConstants.js';
|
|
12
|
+
/**
|
|
13
|
+
* List all cloud flows from a Dataverse environment.
|
|
14
|
+
* The org URL is discovered from the ms.config.json file.
|
|
15
|
+
*
|
|
16
|
+
* @param {ArgumentProvider} argumentProvider
|
|
17
|
+
* @returns {Promise<void>}
|
|
18
|
+
*/
|
|
19
|
+
export async function listFlowsAsync(argumentProvider) {
|
|
20
|
+
const settings = getSettings();
|
|
21
|
+
const { fileConfig } = settings;
|
|
22
|
+
createOptionSchema(argumentProvider);
|
|
23
|
+
await argumentProvider.runVerb();
|
|
24
|
+
const cliFs = new CliFS({
|
|
25
|
+
cwd: process.cwd(),
|
|
26
|
+
allowCwdRead: true,
|
|
27
|
+
allowCwdWrite: true,
|
|
28
|
+
});
|
|
29
|
+
const playerServiceConfig = getPlayerServiceConfig();
|
|
30
|
+
// Use the already initialized authentication provider from ArgumentProvider
|
|
31
|
+
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
|
32
|
+
// Get the optional search parameter
|
|
33
|
+
const search = await argumentProvider.getOption(ListFlowsArguments.Search.name, true);
|
|
34
|
+
const context = {
|
|
35
|
+
vfs: cliFs,
|
|
36
|
+
authProvider: authenticationProvider,
|
|
37
|
+
region: playerServiceConfig.region,
|
|
38
|
+
environmentName: playerServiceConfig.environmentName,
|
|
39
|
+
actionsParams: {
|
|
40
|
+
search,
|
|
41
|
+
},
|
|
42
|
+
localFilePaths: {
|
|
43
|
+
appConfigPath: fileConfig.appConfigPath,
|
|
44
|
+
schemaPath: fileConfig.schemaPath,
|
|
45
|
+
codeGenPath: fileConfig.codeGenPath,
|
|
46
|
+
},
|
|
47
|
+
logger: getCliLogger(),
|
|
48
|
+
};
|
|
49
|
+
const flows = await listFlowsActionAsync(context);
|
|
50
|
+
if (argumentProvider.isJsonMode()) {
|
|
51
|
+
printJsonSuccessList(flows);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
printTable({
|
|
55
|
+
title: 'Cloud Flows',
|
|
56
|
+
columns: [
|
|
57
|
+
{ header: 'Name', maxWidth: 38 },
|
|
58
|
+
{ header: 'Status' },
|
|
59
|
+
{ header: 'Modified On' },
|
|
60
|
+
{ header: 'Flow ID' },
|
|
61
|
+
],
|
|
62
|
+
// For workflows: statecode 1 = Active/On, 0 = Draft/Off
|
|
63
|
+
rows: flows.map((flow) => [
|
|
64
|
+
flow.name,
|
|
65
|
+
flow.statecode === 1 ? 'Active' : 'Inactive',
|
|
66
|
+
new Date(flow.modifiedOn).toLocaleString(),
|
|
67
|
+
flow.workflowId ?? '',
|
|
68
|
+
]),
|
|
69
|
+
emptyMessage: 'No flows found.',
|
|
70
|
+
totalLabel: 'flow(s)',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function createOptionSchema(argumentProvider) {
|
|
74
|
+
argumentProvider.setDescription(HelpStrings.deprecated.Verbs['List-flows'].Description);
|
|
75
|
+
argumentProvider.addExamples(HelpStrings.deprecated.Verbs['List-flows'].Examples);
|
|
76
|
+
argumentProvider.addOptions([
|
|
77
|
+
createDefaultStringOption({
|
|
78
|
+
flags: {
|
|
79
|
+
key: ListFlowsArguments.Search.name,
|
|
80
|
+
alias: ListFlowsArguments.Search.alias,
|
|
81
|
+
},
|
|
82
|
+
env: ListFlowsArguments.Search.envVar,
|
|
83
|
+
message: ListFlowsArguments.Search.promptMessage,
|
|
84
|
+
description: HelpStrings.deprecated.Verbs['List-flows'].Options.Search,
|
|
85
|
+
}),
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=ListFlows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListFlows.js","sourceRoot":"","sources":["../../src/Verbs/ListFlows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { MaafAppListItem, MaafListPermission } from '@microsoft/managed-apps-actions';
|
|
5
|
+
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
|
6
|
+
/**
|
|
7
|
+
* Single row in the `ms app list` output, projected from the live `MaafAppListItem`
|
|
8
|
+
* payload to the minimum surface a tenant-wide listing needs (App ID / Display Name /
|
|
9
|
+
* Last Modified).
|
|
10
|
+
*
|
|
11
|
+
* Exported so tests can exercise the row projection directly via {@link toRow} without
|
|
12
|
+
* having to mock the API.
|
|
13
|
+
*/
|
|
14
|
+
export interface ListMaafAppRow {
|
|
15
|
+
/** Server-side app identifier (`MaafAppListItem.id` — a GUID / logical name). */
|
|
16
|
+
appId: string;
|
|
17
|
+
/** Display name from `MaafAppListItem.displayName`. */
|
|
18
|
+
displayName: string;
|
|
19
|
+
/**
|
|
20
|
+
* ISO timestamp of the last modification time (corresponds to the last deploy time).
|
|
21
|
+
* Absent on apps that have never been deployed.
|
|
22
|
+
*/
|
|
23
|
+
lastModifiedTime?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Implements `ms app list`: prints MAAF apps the authenticated caller can access.
|
|
27
|
+
*
|
|
28
|
+
* Scope:
|
|
29
|
+
* - Default (no `--environment-id`): every app the user can access across the tenant.
|
|
30
|
+
* - With `--environment-id <id>`: apps in the specified environment only.
|
|
31
|
+
*
|
|
32
|
+
* Permission filter (`--permission`) is optional and defaults to `write` (the
|
|
33
|
+
* developer-contributor surface). Passing `read` switches to the play/read surface.
|
|
34
|
+
*
|
|
35
|
+
* Pipeline:
|
|
36
|
+
* 1. Register description / examples / options and run the verb (so `--help` works without auth).
|
|
37
|
+
* 2. Resolve `tenantId` from the active auth context.
|
|
38
|
+
* 3. Read `--environment-id` / `--permission`, normalising and validating user input.
|
|
39
|
+
* 4. Fetch all pages via the `listAsync` action (pagination is handled inside the action).
|
|
40
|
+
* 5. Emit JSON when `--json` is set, otherwise a three-column table.
|
|
41
|
+
*
|
|
42
|
+
* Note: when the tenant feature gate `EnableMaafTenantAppListing` is closed, the
|
|
43
|
+
* tenant-scoped server endpoint returns an empty list; the human view falls through to
|
|
44
|
+
* the standard "No MAAF apps found." message, matching the spec's intentional
|
|
45
|
+
* indistinguishability from a genuinely empty tenant.
|
|
46
|
+
*/
|
|
47
|
+
export declare function listMaafAppsAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Validates a raw `--permission` CLI value against the {@link MaafListPermission} alphabet.
|
|
50
|
+
*
|
|
51
|
+
* Accepts `read` / `write` case-insensitively and returns the canonical lower-case form.
|
|
52
|
+
* When the flag is absent (or supplied as an empty string), the default
|
|
53
|
+
* ({@link DEFAULT_LIST_PERMISSION}, i.e. `write`) is applied here — the underlying action
|
|
54
|
+
* never substitutes a default.
|
|
55
|
+
*
|
|
56
|
+
* Throws a {@link UsageError} with a clear "must be one of …" message when the user
|
|
57
|
+
* supplies a value that isn't one of the accepted permissions (rather than passing it
|
|
58
|
+
* through and letting the server reject the eventual Swagger-enum value with an opaque 400).
|
|
59
|
+
*
|
|
60
|
+
* Exported for tests.
|
|
61
|
+
*/
|
|
62
|
+
export declare function resolvePermission(raw: string | undefined): MaafListPermission;
|
|
63
|
+
/**
|
|
64
|
+
* Projects a server-side `MaafAppListItem` payload into the minimal {@link ListMaafAppRow} shape.
|
|
65
|
+
*
|
|
66
|
+
* Note the wire's `lastModifiedTime` may be `null` (explicitly set on apps that have never
|
|
67
|
+
* been deployed); we coerce `null` to `undefined` so downstream rendering can use a single
|
|
68
|
+
* `string | undefined` contract.
|
|
69
|
+
*/
|
|
70
|
+
export declare function toRow(app: MaafAppListItem): ListMaafAppRow;
|
|
71
|
+
//# sourceMappingURL=ListMaafApps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListMaafApps.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListMaafApps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA0B5D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDzF;AAiCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAQ7E;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,cAAc,CAM1D"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { listAsync } from '@microsoft/managed-apps-actions';
|
|
5
|
+
import { getCliLogger } from '../CliSettings.js';
|
|
6
|
+
import { createDefaultStringOption, extractEnvironmentId } from '../CliUtils.js';
|
|
7
|
+
import { HelpStrings } from '../Constants/HelpStrings.js';
|
|
8
|
+
import { UsageError } from '../Errors/CliError.js';
|
|
9
|
+
import { printJsonSuccessList, printTable } from '../Utils/ConsoleOutput.js';
|
|
10
|
+
import { ListMaafAppsArguments } from './VerbConstants.js';
|
|
11
|
+
/**
|
|
12
|
+
* Default permission filter for `ms app list`. Matches the developer-CLI surface —
|
|
13
|
+
* apps the authenticated user can contribute to. The CLI owns this policy decision;
|
|
14
|
+
* the underlying `listAsync` action requires a permission to be supplied explicitly.
|
|
15
|
+
*/
|
|
16
|
+
const DEFAULT_LIST_PERMISSION = 'write';
|
|
17
|
+
/**
|
|
18
|
+
* Allowlist of accepted `--permission` CLI values, in the order surfaced in the help
|
|
19
|
+
* text and the "must be one of" error message.
|
|
20
|
+
*
|
|
21
|
+
* The action layer's `MaafListPermission` type is the canonical alphabet ('read'/'write');
|
|
22
|
+
* the CLI applies case-insensitive matching for friendliness and passes the value through
|
|
23
|
+
* unchanged. The Swagger-string mapping lives inside `PowerAppsRpService` so it does not
|
|
24
|
+
* leak across the package boundary.
|
|
25
|
+
*/
|
|
26
|
+
const VALID_PERMISSIONS = ['write', 'read'];
|
|
27
|
+
/**
|
|
28
|
+
* Implements `ms app list`: prints MAAF apps the authenticated caller can access.
|
|
29
|
+
*
|
|
30
|
+
* Scope:
|
|
31
|
+
* - Default (no `--environment-id`): every app the user can access across the tenant.
|
|
32
|
+
* - With `--environment-id <id>`: apps in the specified environment only.
|
|
33
|
+
*
|
|
34
|
+
* Permission filter (`--permission`) is optional and defaults to `write` (the
|
|
35
|
+
* developer-contributor surface). Passing `read` switches to the play/read surface.
|
|
36
|
+
*
|
|
37
|
+
* Pipeline:
|
|
38
|
+
* 1. Register description / examples / options and run the verb (so `--help` works without auth).
|
|
39
|
+
* 2. Resolve `tenantId` from the active auth context.
|
|
40
|
+
* 3. Read `--environment-id` / `--permission`, normalising and validating user input.
|
|
41
|
+
* 4. Fetch all pages via the `listAsync` action (pagination is handled inside the action).
|
|
42
|
+
* 5. Emit JSON when `--json` is set, otherwise a three-column table.
|
|
43
|
+
*
|
|
44
|
+
* Note: when the tenant feature gate `EnableMaafTenantAppListing` is closed, the
|
|
45
|
+
* tenant-scoped server endpoint returns an empty list; the human view falls through to
|
|
46
|
+
* the standard "No MAAF apps found." message, matching the spec's intentional
|
|
47
|
+
* indistinguishability from a genuinely empty tenant.
|
|
48
|
+
*/
|
|
49
|
+
export async function listMaafAppsAsync(argumentProvider) {
|
|
50
|
+
createOptionSchema(argumentProvider);
|
|
51
|
+
await argumentProvider.runVerb();
|
|
52
|
+
const tenantId = await argumentProvider.getTenantIdAsync();
|
|
53
|
+
if (!tenantId) {
|
|
54
|
+
throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
|
|
55
|
+
}
|
|
56
|
+
const environmentIdRaw = await argumentProvider.getOption(ListMaafAppsArguments.EnvironmentId.name, true);
|
|
57
|
+
// Accept either a short env id (e.g. `default-91bee3d9-…`) or a full ARM resource path
|
|
58
|
+
// and normalise to the short id; consistent with how other verbs handle env input.
|
|
59
|
+
const environmentId = environmentIdRaw ? extractEnvironmentId(environmentIdRaw) : undefined;
|
|
60
|
+
const permissionRaw = await argumentProvider.getOption(ListMaafAppsArguments.Permission.name, true);
|
|
61
|
+
const permission = resolvePermission(permissionRaw);
|
|
62
|
+
const apps = await listAsync({
|
|
63
|
+
tenantId,
|
|
64
|
+
environmentId,
|
|
65
|
+
permission,
|
|
66
|
+
logger: getCliLogger(),
|
|
67
|
+
});
|
|
68
|
+
const rows = apps.map(toRow);
|
|
69
|
+
if (argumentProvider.isJsonMode()) {
|
|
70
|
+
printJsonSuccessList(rows);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
printTable({
|
|
74
|
+
title: environmentId ? `Microsoft Apps (environment: ${environmentId})` : 'Microsoft Apps',
|
|
75
|
+
columns: [
|
|
76
|
+
{ header: 'App ID', maxWidth: 38 },
|
|
77
|
+
{ header: 'Display Name' },
|
|
78
|
+
{ header: 'Last Modified' },
|
|
79
|
+
],
|
|
80
|
+
rows: rows.map((row) => [
|
|
81
|
+
row.appId,
|
|
82
|
+
row.displayName || '<No Name>',
|
|
83
|
+
formatLastModified(row.lastModifiedTime),
|
|
84
|
+
]),
|
|
85
|
+
emptyMessage: 'No MAAF apps found.',
|
|
86
|
+
totalLabel: 'MAAF app(s) found',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Registers the verb's help text, examples, and `--environment-id` / `--permission`
|
|
91
|
+
* options on the supplied argument provider. Kept as a separate function (matching
|
|
92
|
+
* sibling verbs like `ListConnectors`) so the option schema is testable in isolation
|
|
93
|
+
* via `MockArgumentProvider.addOptions` spy assertions if needed.
|
|
94
|
+
*/
|
|
95
|
+
function createOptionSchema(argumentProvider) {
|
|
96
|
+
argumentProvider.setDescription(HelpStrings.app.list.description);
|
|
97
|
+
argumentProvider.addExamples(HelpStrings.app.list.examples);
|
|
98
|
+
argumentProvider.addOptions([
|
|
99
|
+
createDefaultStringOption({
|
|
100
|
+
flags: {
|
|
101
|
+
key: ListMaafAppsArguments.EnvironmentId.name,
|
|
102
|
+
alias: ListMaafAppsArguments.EnvironmentId.alias,
|
|
103
|
+
},
|
|
104
|
+
env: ListMaafAppsArguments.EnvironmentId.envVar,
|
|
105
|
+
message: ListMaafAppsArguments.EnvironmentId.promptMessage,
|
|
106
|
+
description: HelpStrings.app.list.options.environmentId,
|
|
107
|
+
}),
|
|
108
|
+
createDefaultStringOption({
|
|
109
|
+
flags: {
|
|
110
|
+
key: ListMaafAppsArguments.Permission.name,
|
|
111
|
+
alias: ListMaafAppsArguments.Permission.alias,
|
|
112
|
+
},
|
|
113
|
+
env: ListMaafAppsArguments.Permission.envVar,
|
|
114
|
+
message: ListMaafAppsArguments.Permission.promptMessage,
|
|
115
|
+
description: HelpStrings.app.list.options.permission,
|
|
116
|
+
}),
|
|
117
|
+
]);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Validates a raw `--permission` CLI value against the {@link MaafListPermission} alphabet.
|
|
121
|
+
*
|
|
122
|
+
* Accepts `read` / `write` case-insensitively and returns the canonical lower-case form.
|
|
123
|
+
* When the flag is absent (or supplied as an empty string), the default
|
|
124
|
+
* ({@link DEFAULT_LIST_PERMISSION}, i.e. `write`) is applied here — the underlying action
|
|
125
|
+
* never substitutes a default.
|
|
126
|
+
*
|
|
127
|
+
* Throws a {@link UsageError} with a clear "must be one of …" message when the user
|
|
128
|
+
* supplies a value that isn't one of the accepted permissions (rather than passing it
|
|
129
|
+
* through and letting the server reject the eventual Swagger-enum value with an opaque 400).
|
|
130
|
+
*
|
|
131
|
+
* Exported for tests.
|
|
132
|
+
*/
|
|
133
|
+
export function resolvePermission(raw) {
|
|
134
|
+
if (!raw)
|
|
135
|
+
return DEFAULT_LIST_PERMISSION;
|
|
136
|
+
const lowered = raw.toLowerCase();
|
|
137
|
+
const matched = VALID_PERMISSIONS.find((p) => p === lowered);
|
|
138
|
+
if (matched)
|
|
139
|
+
return matched;
|
|
140
|
+
throw new UsageError(`Invalid --permission value '${raw}'. Must be one of: ${VALID_PERMISSIONS.join(', ')}.`);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Projects a server-side `MaafAppListItem` payload into the minimal {@link ListMaafAppRow} shape.
|
|
144
|
+
*
|
|
145
|
+
* Note the wire's `lastModifiedTime` may be `null` (explicitly set on apps that have never
|
|
146
|
+
* been deployed); we coerce `null` to `undefined` so downstream rendering can use a single
|
|
147
|
+
* `string | undefined` contract.
|
|
148
|
+
*/
|
|
149
|
+
export function toRow(app) {
|
|
150
|
+
return {
|
|
151
|
+
appId: app.id,
|
|
152
|
+
displayName: app.displayName,
|
|
153
|
+
lastModifiedTime: app.lastModifiedTime ?? undefined,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Renders an optional ISO timestamp for the "Last Modified" table cell. Returns `'-'`
|
|
158
|
+
* when the field is absent (apps that have never been deployed) and the raw input
|
|
159
|
+
* when it can't be parsed as a date — the table is display-only, never used for I/O,
|
|
160
|
+
* so a non-parseable value is preferable to silently dropping data.
|
|
161
|
+
*/
|
|
162
|
+
function formatLastModified(iso) {
|
|
163
|
+
if (!iso)
|
|
164
|
+
return '-';
|
|
165
|
+
const d = new Date(iso);
|
|
166
|
+
return Number.isNaN(d.getTime()) ? iso : d.toLocaleDateString();
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=ListMaafApps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListMaafApps.js","sourceRoot":"","sources":["../../src/Verbs/ListMaafApps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
|
5
|
+
export declare function listSqlStoredProceduresAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=ListSqlStoredProcedures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListSqlStoredProcedures.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListSqlStoredProcedures.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,4BAA4B,CAChD,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAwDf"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { getPlayerServiceConfig, listSqlStoredProceduresAsync as listSqlStoredProceduresActionAsync, } from '@microsoft/managed-apps-actions';
|
|
5
|
+
import { getCliLogger, getSettings } from '../CliSettings.js';
|
|
6
|
+
import { createDefaultStringOption } from '../CliUtils.js';
|
|
7
|
+
import { HelpStrings } from '../Constants/HelpStrings.js';
|
|
8
|
+
import { CliFS } from '../FS/CliFs.js';
|
|
9
|
+
import { printJsonSuccessList, printTable } from '../Utils/ConsoleOutput.js';
|
|
10
|
+
import { ConnectionArguments, SharedArguments } from './VerbConstants.js';
|
|
11
|
+
export async function listSqlStoredProceduresAsync(argumentProvider) {
|
|
12
|
+
const settings = getSettings();
|
|
13
|
+
const { fileConfig } = settings;
|
|
14
|
+
createOptionSchema(argumentProvider);
|
|
15
|
+
await argumentProvider.runVerb();
|
|
16
|
+
const cliFs = new CliFS({
|
|
17
|
+
cwd: process.cwd(),
|
|
18
|
+
allowCwdRead: true,
|
|
19
|
+
allowCwdWrite: true,
|
|
20
|
+
});
|
|
21
|
+
const playerServiceConfig = getPlayerServiceConfig();
|
|
22
|
+
// Use the already initialized authentication provider from ArgumentProvider
|
|
23
|
+
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
|
24
|
+
const dsConfig = {
|
|
25
|
+
vfs: cliFs,
|
|
26
|
+
authProvider: authenticationProvider,
|
|
27
|
+
region: playerServiceConfig.region,
|
|
28
|
+
environmentName: playerServiceConfig.environmentName,
|
|
29
|
+
actionsParams: {
|
|
30
|
+
connectionId: await argumentProvider.getOption('connection'),
|
|
31
|
+
dataset: await argumentProvider.getOption('dataset'),
|
|
32
|
+
},
|
|
33
|
+
localFilePaths: {
|
|
34
|
+
appConfigPath: fileConfig.appConfigPath,
|
|
35
|
+
schemaPath: fileConfig.schemaPath,
|
|
36
|
+
codeGenPath: fileConfig.codeGenPath,
|
|
37
|
+
},
|
|
38
|
+
logger: getCliLogger(),
|
|
39
|
+
};
|
|
40
|
+
const storedProcedures = await listSqlStoredProceduresActionAsync(dsConfig);
|
|
41
|
+
if (argumentProvider.isJsonMode()) {
|
|
42
|
+
printJsonSuccessList(storedProcedures?.value ?? []);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (!storedProcedures?.value) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
printTable({
|
|
49
|
+
title: 'Stored Procedures',
|
|
50
|
+
metadata: [
|
|
51
|
+
`Dataset: ${dsConfig.actionsParams.dataset}`,
|
|
52
|
+
`Connection: ${dsConfig.actionsParams.connectionId}`,
|
|
53
|
+
],
|
|
54
|
+
columns: [{ header: 'Display Name' }, { header: 'Name' }],
|
|
55
|
+
rows: storedProcedures.value.map((sp) => [sp.DisplayName || '<No Display Name>', sp.Name]),
|
|
56
|
+
emptyMessage: 'No stored procedures found.',
|
|
57
|
+
totalLabel: 'stored procedure(s) found',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function createOptionSchema(argumentProvider) {
|
|
61
|
+
argumentProvider.setDescription(HelpStrings.deprecated.Verbs['List-sqlStoredProcedures'].Description);
|
|
62
|
+
argumentProvider.addExamples(HelpStrings.deprecated.Verbs['List-sqlStoredProcedures'].Examples);
|
|
63
|
+
argumentProvider.addOptions([
|
|
64
|
+
createDefaultStringOption({
|
|
65
|
+
flags: {
|
|
66
|
+
key: ConnectionArguments.Connection.name,
|
|
67
|
+
alias: ConnectionArguments.Connection.alias,
|
|
68
|
+
},
|
|
69
|
+
env: ConnectionArguments.Connection.envVar,
|
|
70
|
+
message: ConnectionArguments.Connection.promptMessage,
|
|
71
|
+
description: HelpStrings.deprecated.Verbs['List-sqlStoredProcedures'].Options.Connection,
|
|
72
|
+
}),
|
|
73
|
+
createDefaultStringOption({
|
|
74
|
+
flags: {
|
|
75
|
+
key: SharedArguments.Dataset.name,
|
|
76
|
+
alias: SharedArguments.Dataset.alias,
|
|
77
|
+
},
|
|
78
|
+
env: SharedArguments.Dataset.envVar,
|
|
79
|
+
message: SharedArguments.Dataset.promptMessage,
|
|
80
|
+
description: HelpStrings.deprecated.Verbs['List-sqlStoredProcedures'].Options.Dataset,
|
|
81
|
+
}),
|
|
82
|
+
]);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=ListSqlStoredProcedures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListSqlStoredProcedures.js","sourceRoot":"","sources":["../../src/Verbs/ListSqlStoredProcedures.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,sBAAsB,EACtB,4BAA4B,IAAI,kCAAkC,GACnE,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,gBAAkC;IAElC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IAErD,4EAA4E;IAC5E,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,yBAAyB,EAAE,CAAC;IAE5E,MAAM,QAAQ,GAAmC;QAC/C,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;QAClC,eAAe,EAAE,mBAAmB,CAAC,eAAe;QACpD,aAAa,EAAE;YACb,YAAY,EAAE,MAAM,gBAAgB,CAAC,SAAS,CAAS,YAAY,CAAC;YACpE,OAAO,EAAE,MAAM,gBAAgB,CAAC,SAAS,CAAS,SAAS,CAAC;SAC7D;QACD,cAAc,EAAE;YACd,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC;QACD,MAAM,EAAE,YAAY,EAAE;KACvB,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAE5E,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,UAAU,CAAC;QACT,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE;YACR,YAAY,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;YAC5C,eAAe,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE;SACrD;QACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACzD,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,mBAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1F,YAAY,EAAE,6BAA6B;QAC3C,UAAU,EAAE,2BAA2B;KACxC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAC7B,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,WAAW,CACrE,CAAC;IACF,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChG,gBAAgB,CAAC,UAAU,CAAC;QAC1B,yBAAyB,CAAC;YACxB,KAAK,EAAE;gBACL,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI;gBACxC,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,KAAK;aAC5C;YACD,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM;YAC1C,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,aAAa;YACrD,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,UAAU;SACzF,CAAC;QACF,yBAAyB,CAAC;YACxB,KAAK,EAAE;gBACL,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI;gBACjC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK;aACrC;YACD,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM;YACnC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa;YAC9C,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,OAAO;SACtF,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
|
5
|
+
export declare function listTablesAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=ListTables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListTables.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListTables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DvF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { getPlayerServiceConfig, listTablesAsync as listTablesActionAsync, } from '@microsoft/managed-apps-actions';
|
|
5
|
+
import { getCliLogger, getSettings } from '../CliSettings.js';
|
|
6
|
+
import { createDefaultStringOption } from '../CliUtils.js';
|
|
7
|
+
import { HelpStrings } from '../Constants/HelpStrings.js';
|
|
8
|
+
import { CliFS } from '../FS/CliFs.js';
|
|
9
|
+
import { printJsonSuccessList, printTable } from '../Utils/ConsoleOutput.js';
|
|
10
|
+
import { ConnectionArguments, SharedArguments } from './VerbConstants.js';
|
|
11
|
+
export async function listTablesAsync(argumentProvider) {
|
|
12
|
+
const settings = getSettings();
|
|
13
|
+
const { fileConfig } = settings;
|
|
14
|
+
createOptionSchema(argumentProvider);
|
|
15
|
+
await argumentProvider.runVerb();
|
|
16
|
+
const cliFs = new CliFS({
|
|
17
|
+
cwd: process.cwd(),
|
|
18
|
+
allowCwdRead: true,
|
|
19
|
+
allowCwdWrite: true,
|
|
20
|
+
});
|
|
21
|
+
const playerServiceConfig = getPlayerServiceConfig();
|
|
22
|
+
// Use the already initialized authentication provider from ArgumentProvider
|
|
23
|
+
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
|
24
|
+
const dsConfig = {
|
|
25
|
+
vfs: cliFs,
|
|
26
|
+
authProvider: authenticationProvider,
|
|
27
|
+
region: playerServiceConfig.region,
|
|
28
|
+
environmentName: playerServiceConfig.environmentName,
|
|
29
|
+
actionsParams: {
|
|
30
|
+
apiId: await argumentProvider.getOption('connector'),
|
|
31
|
+
connectionId: await argumentProvider.getOption('connection'),
|
|
32
|
+
dataset: await argumentProvider.getOption('dataset'),
|
|
33
|
+
},
|
|
34
|
+
localFilePaths: {
|
|
35
|
+
appConfigPath: fileConfig.appConfigPath,
|
|
36
|
+
schemaPath: fileConfig.schemaPath,
|
|
37
|
+
codeGenPath: fileConfig.codeGenPath,
|
|
38
|
+
},
|
|
39
|
+
logger: getCliLogger(),
|
|
40
|
+
};
|
|
41
|
+
const tables = await listTablesActionAsync(dsConfig);
|
|
42
|
+
if (argumentProvider.isJsonMode()) {
|
|
43
|
+
printJsonSuccessList(tables?.value ?? []);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!tables?.value) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
printTable({
|
|
50
|
+
title: 'Tables',
|
|
51
|
+
metadata: [
|
|
52
|
+
`Dataset: ${dsConfig.actionsParams.dataset}`,
|
|
53
|
+
`Connector: ${dsConfig.actionsParams.apiId}`,
|
|
54
|
+
`Connection: ${dsConfig.actionsParams.connectionId}`,
|
|
55
|
+
],
|
|
56
|
+
columns: [{ header: 'Display Name' }, { header: 'Name' }],
|
|
57
|
+
rows: tables.value.map((table) => [table.DisplayName || '<No Display Name>', table.Name]),
|
|
58
|
+
emptyMessage: 'No tables found.',
|
|
59
|
+
totalLabel: 'table(s) found',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function createOptionSchema(argumentProvider) {
|
|
63
|
+
argumentProvider.setDescription(HelpStrings.deprecated.Verbs['List-tables'].Description);
|
|
64
|
+
argumentProvider.addExamples(HelpStrings.deprecated.Verbs['List-tables'].Examples);
|
|
65
|
+
argumentProvider.addOptions([
|
|
66
|
+
createDefaultStringOption({
|
|
67
|
+
flags: {
|
|
68
|
+
key: ConnectionArguments.Connector.name,
|
|
69
|
+
},
|
|
70
|
+
env: ConnectionArguments.Connector.envVar,
|
|
71
|
+
message: ConnectionArguments.Connector.promptMessage,
|
|
72
|
+
description: HelpStrings.deprecated.Verbs['List-tables'].Options.Connector,
|
|
73
|
+
}),
|
|
74
|
+
createDefaultStringOption({
|
|
75
|
+
flags: {
|
|
76
|
+
key: ConnectionArguments.Connection.name,
|
|
77
|
+
alias: ConnectionArguments.Connection.alias,
|
|
78
|
+
},
|
|
79
|
+
env: ConnectionArguments.Connection.envVar,
|
|
80
|
+
message: ConnectionArguments.Connection.promptMessage,
|
|
81
|
+
description: HelpStrings.deprecated.Verbs['List-tables'].Options.Connection,
|
|
82
|
+
}),
|
|
83
|
+
createDefaultStringOption({
|
|
84
|
+
flags: {
|
|
85
|
+
key: SharedArguments.Dataset.name,
|
|
86
|
+
alias: SharedArguments.Dataset.alias,
|
|
87
|
+
},
|
|
88
|
+
env: SharedArguments.Dataset.envVar,
|
|
89
|
+
message: SharedArguments.Dataset.promptMessage,
|
|
90
|
+
description: HelpStrings.deprecated.Verbs['List-tables'].Options.Dataset,
|
|
91
|
+
}),
|
|
92
|
+
]);
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=ListTables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListTables.js","sourceRoot":"","sources":["../../src/Verbs/ListTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Login.d.ts","sourceRoot":"","sources":["../../src/Verbs/Login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,wBAAsB,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBlF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { HelpStrings } from '../Constants/HelpStrings.js';
|
|
5
|
+
import { printInfo, printSuccess } from '../Utils/ConsoleOutput.js';
|
|
6
|
+
import { LoginArguments } from './VerbConstants.js';
|
|
7
|
+
export async function loginAsync(argumentProvider) {
|
|
8
|
+
argumentProvider.setDescription(HelpStrings.auth.login.description);
|
|
9
|
+
argumentProvider.addExamples(HelpStrings.auth.login.examples);
|
|
10
|
+
argumentProvider.addOption({
|
|
11
|
+
flags: { key: LoginArguments.Hint.name },
|
|
12
|
+
description: HelpStrings.auth.login.options.hint,
|
|
13
|
+
optionalInNonInteractive: true,
|
|
14
|
+
});
|
|
15
|
+
await argumentProvider.runVerb();
|
|
16
|
+
const authProvider = argumentProvider.getAuthenticationProvider();
|
|
17
|
+
const resource = argumentProvider.getAuthResourceUrl();
|
|
18
|
+
const hint = await argumentProvider.getOption(LoginArguments.Hint.name, true);
|
|
19
|
+
await authProvider.getAccessTokenForResource(resource, hint);
|
|
20
|
+
const email = await authProvider.getCachedAccountAsync();
|
|
21
|
+
if (email) {
|
|
22
|
+
printSuccess(`Signed in as ${email}`);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
printInfo('Signed in successfully.');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Login.js","sourceRoot":"","sources":["../../src/Verbs/Login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,gBAAkC;IACjE,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9D,gBAAgB,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;QACxC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;QAChD,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;IAEH,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,gBAAgB,CAAC,yBAAyB,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtF,MAAM,YAAY,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,qBAAqB,EAAE,CAAC;IACzD,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logout.d.ts","sourceRoot":"","sources":["../../src/Verbs/Logout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,wBAAsB,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBnF"}
|