push neon reactor
This commit is contained in:
Generated
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Adds a data source based on the provided environment variables.
|
||||
* It supports both Dataverse and connector data sources.
|
||||
* Expects the following environment variables:
|
||||
* - API_ID: The ID of the API (e.g., 'dataverse' or a connector ID)
|
||||
* - CONNECTION_ID?: The ID of the connection (for connector data sources)
|
||||
* - TABLE?: The table name for Dataverse or tabular connector data sources
|
||||
* - ENV_URL?: The environment URL for Dataverse data sources
|
||||
* - DATASET?: The dataset name for tabular/stored proc connector data sources
|
||||
* - SQL_STORED_PROCEDURE?: The name of the SQL stored procedure for connector data sources
|
||||
* @param config - Local file paths configuration
|
||||
* @returns Promise<void>
|
||||
*/
|
||||
export declare function addDataSourceAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=AddDataSource.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AddDataSource.d.ts","sourceRoot":"","sources":["../../src/Verbs/AddDataSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC1F"}
|
||||
Generated
Vendored
+157
@@ -0,0 +1,157 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { addDataSourceAsync as addDataSourceActionsAsync, getPlayerServiceConfig, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption, promptConfirm, promptText } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printInfo, printSuccess } from '../Utils/ConsoleOutput.js';
|
||||
import { AddDataSourceArguments, SharedArguments } from './VerbConstants.js';
|
||||
/**
|
||||
* Adds a data source based on the provided environment variables.
|
||||
* It supports both Dataverse and connector data sources.
|
||||
* Expects the following environment variables:
|
||||
* - API_ID: The ID of the API (e.g., 'dataverse' or a connector ID)
|
||||
* - CONNECTION_ID?: The ID of the connection (for connector data sources)
|
||||
* - TABLE?: The table name for Dataverse or tabular connector data sources
|
||||
* - ENV_URL?: The environment URL for Dataverse data sources
|
||||
* - DATASET?: The dataset name for tabular/stored proc connector data sources
|
||||
* - SQL_STORED_PROCEDURE?: The name of the SQL stored procedure for connector data sources
|
||||
* @param config - Local file paths configuration
|
||||
* @returns Promise<void>
|
||||
*/
|
||||
export async function addDataSourceAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig, cliFs } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const dsConfig = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
apiId: () => argumentProvider.getOption('apiId'),
|
||||
connectionId: () => argumentProvider.getOption('connectionId'),
|
||||
tableName: () => argumentProvider.getOption('resourceName'),
|
||||
dataset: () => argumentProvider.getOption('dataset'),
|
||||
sqlStoredProcedure: () => argumentProvider.getOption('sqlStoredProcedure'),
|
||||
envUrl: () => argumentProvider.getOption('orgUrl'),
|
||||
solutionId: () => argumentProvider.getOption('solutionId'),
|
||||
connectionRef: () => argumentProvider.getOption('connectionRef'),
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
await addDataSourceActionsAsync(dsConfig);
|
||||
printSuccess('Data source added successfully.');
|
||||
printInfo("Hint: Run 'npx power-apps run' to test locally, or 'npx power-apps push' to deploy.");
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Add-data-source'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['Add-data-source'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ApiId.name,
|
||||
alias: SharedArguments.ApiId.alias,
|
||||
},
|
||||
env: SharedArguments.ApiId.envVar,
|
||||
message: SharedArguments.ApiId.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.ApiId,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ConnectionId.name,
|
||||
alias: SharedArguments.ConnectionId.alias,
|
||||
},
|
||||
env: SharedArguments.ConnectionId.envVar,
|
||||
message: SharedArguments.ConnectionId.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.ConnectionId,
|
||||
}),
|
||||
{
|
||||
flags: {
|
||||
key: AddDataSourceArguments.ConnectionRef.name,
|
||||
alias: AddDataSourceArguments.ConnectionRef.alias,
|
||||
},
|
||||
env: AddDataSourceArguments.ConnectionRef.envVar,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.ConnectionRef,
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
const hasConnectionRef = await promptConfirm({
|
||||
message: 'Are you using a connection reference instead of a connection ID?',
|
||||
});
|
||||
if (hasConnectionRef) {
|
||||
return await promptText({
|
||||
message: AddDataSourceArguments.ConnectionRef.promptMessage,
|
||||
});
|
||||
}
|
||||
return '';
|
||||
},
|
||||
},
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ResourceName.name,
|
||||
alias: SharedArguments.ResourceName.alias,
|
||||
},
|
||||
env: SharedArguments.ResourceName.envVar,
|
||||
message: SharedArguments.ResourceName.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.ResourceName,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.Dataset.name,
|
||||
alias: SharedArguments.Dataset.alias,
|
||||
},
|
||||
env: SharedArguments.Dataset.envVar,
|
||||
message: SharedArguments.Dataset.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.Dataset,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.OrgUrl.name,
|
||||
alias: SharedArguments.OrgUrl.alias,
|
||||
},
|
||||
env: SharedArguments.OrgUrl.envVar,
|
||||
message: SharedArguments.OrgUrl.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.OrgUrl,
|
||||
}),
|
||||
{
|
||||
flags: {
|
||||
key: SharedArguments.SqlStoredProcedure.name,
|
||||
alias: SharedArguments.SqlStoredProcedure.alias,
|
||||
},
|
||||
env: SharedArguments.SqlStoredProcedure.envVar,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.SqlStoredProcedure,
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
const hasSqlProcedure = await promptConfirm({
|
||||
message: 'Are you trying to add an SQL stored procedure?',
|
||||
});
|
||||
if (hasSqlProcedure) {
|
||||
return await promptText({
|
||||
message: SharedArguments.SqlStoredProcedure.promptMessage,
|
||||
});
|
||||
}
|
||||
return '';
|
||||
},
|
||||
},
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.SolutionId.name,
|
||||
alias: SharedArguments.SolutionId.alias,
|
||||
},
|
||||
env: SharedArguments.SolutionId.envVar,
|
||||
message: SharedArguments.SolutionId.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-data-source'].Options.SolutionId,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=AddDataSource.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AddDataSource.js","sourceRoot":"","sources":["../../src/Verbs/AddDataSource.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Adds a Dataverse API (custom action, custom function, SDK message, or first-party
|
||||
* action/function) to the app.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function addDataverseApiAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=AddDataverseApi.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AddDataverseApi.d.ts","sourceRoot":"","sources":["../../src/Verbs/AddDataverseApi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C5F"}
|
||||
Generated
Vendored
+67
@@ -0,0 +1,67 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { addDataverseApiAsync as addDataverseApiActionAsync, getPlayerServiceConfig, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { AddDataverseApiArguments } from './VerbConstants.js';
|
||||
/**
|
||||
* Adds a Dataverse API (custom action, custom function, SDK message, or first-party
|
||||
* action/function) to the app.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function addDataverseApiAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const apiName = await argumentProvider.getOption(AddDataverseApiArguments.ApiName.key);
|
||||
if (!apiName) {
|
||||
throw new Error('Dataverse API name is required.');
|
||||
}
|
||||
const context = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
apiName,
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
await addDataverseApiActionAsync(context);
|
||||
console.log(`Dataverse API '${apiName}' added successfully.`);
|
||||
console.log("Hint: Run 'npx power-apps run' to test locally, or 'npx power-apps push' to deploy.");
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Add-dataverse-api'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['Add-dataverse-api'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: AddDataverseApiArguments.ApiName.name,
|
||||
alias: AddDataverseApiArguments.ApiName.alias,
|
||||
},
|
||||
env: AddDataverseApiArguments.ApiName.envVar,
|
||||
message: AddDataverseApiArguments.ApiName.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-dataverse-api'].Options.ApiName,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=AddDataverseApi.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AddDataverseApi.js","sourceRoot":"","sources":["../../src/Verbs/AddDataverseApi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,oBAAoB,IAAI,0BAA0B,EAClD,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAGvC,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,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,gBAAkC;IAC3E,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;IACrD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,yBAAyB,EAAE,CAAC;IAE5E,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;QAClC,eAAe,EAAE,mBAAmB,CAAC,eAAe;QACpD,aAAa,EAAE;YACb,OAAO;SACR;QACD,cAAc,EAAE;YACd,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC;QACD,MAAM,EAAE,YAAY,EAAE;KACvB,CAAC;IAEF,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,uBAAuB,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CACT,qFAAqF,CACtF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,CAAC;IACpF,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9E,gBAAgB,CAAC,UAAU,CAAC;QAC1B,yBAAyB,CAAC;YACxB,KAAK,EAAE;gBACL,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI;gBAC1C,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK;aAC9C;YACD,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,MAAM;YAC5C,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,aAAa;YACvD,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,OAAO;SACpE,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
||||
Generated
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Add a cloud flow to the current Power Apps code app by retrieving its metadata.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function addFlowAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=AddFlow.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AddFlow.d.ts","sourceRoot":"","sources":["../../src/Verbs/AddFlow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCpF"}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { addFlowAsync as addFlowActionAsync, getPlayerServiceConfig, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { AddFlowArguments } from './VerbConstants.js';
|
||||
/**
|
||||
* Add a cloud flow to the current Power Apps code app by retrieving its metadata.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function addFlowAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const flowId = await argumentProvider.getOption('flowId');
|
||||
const context = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
flowId,
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const result = await addFlowActionAsync(context);
|
||||
if (result.success) {
|
||||
console.log('\nFlow added successfully.');
|
||||
}
|
||||
else {
|
||||
console.error(`\nFailed to add flow: ${result.error}`);
|
||||
}
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Add-flow'].Description);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: AddFlowArguments.FlowId.name,
|
||||
alias: AddFlowArguments.FlowId.alias,
|
||||
},
|
||||
env: AddFlowArguments.FlowId.envVar,
|
||||
message: AddFlowArguments.FlowId.promptMessage,
|
||||
description: HelpStrings.Verbs['Add-flow'].Options.FlowId,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=AddFlow.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AddFlow.js","sourceRoot":"","sources":["../../src/Verbs/AddFlow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,IAAI,kBAAkB,EAClC,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAGvC,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,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,gBAAkC;IACnE,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;IACrD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,yBAAyB,EAAE,CAAC;IAE5E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,QAAQ,CAAC,CAAC;IAElE,MAAM,OAAO,GAAmB;QAC9B,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;QAClC,eAAe,EAAE,mBAAmB,CAAC,eAAe;QACpD,aAAa,EAAE;YACb,MAAM;SACP;QACD,cAAc,EAAE;YACd,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC;QACD,MAAM,EAAE,YAAY,EAAE;KACvB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3E,gBAAgB,CAAC,UAAU,CAAC;QAC1B,yBAAyB,CAAC;YACxB,KAAK,EAAE;gBACL,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI;gBACjC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK;aACrC;YACD,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM;YACnC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,aAAa;YAC9C,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM;SAC1D,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
||||
Generated
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare const BROWSER_CONNECTION_ENV_VAR = "POWERAPPS_CLI_ENABLE_BROWSER_CONNECTION";
|
||||
export declare const BROWSER_DISABLED_MESSAGE = "This connection requires user interaction. Please open https://make.powerapps.com to create a connection.";
|
||||
export declare function isBrowserConnectionEnabled(): boolean;
|
||||
/**
|
||||
* Create a connection for a connector.
|
||||
*
|
||||
* Behavior:
|
||||
* - Fetches the connector definition.
|
||||
* - If the connector has a single SSO-eligible auth type, attempts silent SSO
|
||||
* via `createConnectionAsync` (no browser required).
|
||||
* - Otherwise (or if SSO fails in interactive mode), opens the maaf-player
|
||||
* connection-creation page in the browser and waits for the callback.
|
||||
* - In non-interactive mode without SSO-eligibility, fails with a clear
|
||||
* `UsageError` since there is no browser to fall back to.
|
||||
*/
|
||||
export declare function createConnectionVerbAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=CreateConnection.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CreateConnection.d.ts","sourceRoot":"","sources":["../../src/Verbs/CreateConnection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,eAAO,MAAM,0BAA0B,4CAA4C,CAAC;AACpF,eAAO,MAAM,wBAAwB,8GACwE,CAAC;AAE9G,wBAAgB,0BAA0B,IAAI,OAAO,CAOpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FjG"}
|
||||
Generated
Vendored
+265
@@ -0,0 +1,265 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { createConnectionAsync as createConnectionAction, getConnectorAsync, getPlayerServiceConfig, isSsoOnlyConnector, } from '@microsoft/power-apps-actions';
|
||||
import { createMaafConnectionUrl } from '@microsoft/power-apps-common/services';
|
||||
import * as http from 'http';
|
||||
import open from 'open';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliError, UsageError } from '../Errors/CliError.js';
|
||||
import { printInfo, printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
|
||||
import { CreateConnectionArguments, SharedArguments } from './VerbConstants.js';
|
||||
const CONNECTION_CREATION_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes
|
||||
const PROTOCOL_VERSION = '1';
|
||||
export const BROWSER_CONNECTION_ENV_VAR = 'POWERAPPS_CLI_ENABLE_BROWSER_CONNECTION';
|
||||
export const BROWSER_DISABLED_MESSAGE = 'This connection requires user interaction. Please open https://make.powerapps.com to create a connection.';
|
||||
export function isBrowserConnectionEnabled() {
|
||||
const value = process.env[BROWSER_CONNECTION_ENV_VAR];
|
||||
if (!value) {
|
||||
return false;
|
||||
}
|
||||
const normalized = value.trim().toLowerCase();
|
||||
return normalized === '1' || normalized === 'true' || normalized === 'yes' || normalized === 'on';
|
||||
}
|
||||
/**
|
||||
* Create a connection for a connector.
|
||||
*
|
||||
* Behavior:
|
||||
* - Fetches the connector definition.
|
||||
* - If the connector has a single SSO-eligible auth type, attempts silent SSO
|
||||
* via `createConnectionAsync` (no browser required).
|
||||
* - Otherwise (or if SSO fails in interactive mode), opens the maaf-player
|
||||
* connection-creation page in the browser and waits for the callback.
|
||||
* - In non-interactive mode without SSO-eligibility, fails with a clear
|
||||
* `UsageError` since there is no browser to fall back to.
|
||||
*/
|
||||
export async function createConnectionVerbAsync(argumentProvider) {
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const settings = getSettings();
|
||||
const logger = getCliLogger();
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authProvider = argumentProvider.getAuthenticationProvider();
|
||||
const apiIdRaw = await argumentProvider.getOption('apiId');
|
||||
const displayName = await argumentProvider.getOption('displayName', true);
|
||||
if (!apiIdRaw) {
|
||||
throw new UsageError(`Missing required option --${SharedArguments.ApiId.name} (-${SharedArguments.ApiId.alias}).`);
|
||||
}
|
||||
const apiId = normalizeConnectorId(apiIdRaw);
|
||||
// 1. Fetch connector + decide SSO vs browser path
|
||||
const connector = await getConnectorAsync(apiId, logger);
|
||||
if (!connector) {
|
||||
throw new CliError(`Connector '${apiId}' not found.`);
|
||||
}
|
||||
// SSO-only path: try silent flow
|
||||
if (isSsoOnlyConnector(connector)) {
|
||||
try {
|
||||
const context = {
|
||||
vfs: settings.cliFs,
|
||||
authProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: { connectorId: apiId, displayName },
|
||||
localFilePaths: {
|
||||
powerConfigPath: settings.fileConfig.powerConfigPath,
|
||||
schemaPath: settings.fileConfig.schemaPath,
|
||||
codeGenPath: settings.fileConfig.codeGenPath,
|
||||
},
|
||||
logger,
|
||||
};
|
||||
const connection = await createConnectionAction(context);
|
||||
emitSuccess(argumentProvider, {
|
||||
connectionId: connection.name,
|
||||
displayName: connection.properties.displayName,
|
||||
});
|
||||
return;
|
||||
}
|
||||
catch (ssoError) {
|
||||
if (!settings.interactive) {
|
||||
throw ssoError;
|
||||
}
|
||||
if (!isBrowserConnectionEnabled()) {
|
||||
printWarning(`Silent connection creation failed: ${ssoError instanceof Error ? ssoError.message : String(ssoError)}`);
|
||||
throw new UsageError(BROWSER_DISABLED_MESSAGE);
|
||||
}
|
||||
printWarning(`Silent connection creation failed: ${ssoError instanceof Error ? ssoError.message : String(ssoError)}`);
|
||||
printInfo('Falling back to browser-based connection creation...\n');
|
||||
}
|
||||
}
|
||||
else if (!settings.interactive) {
|
||||
throw new UsageError(`Connector '${apiId}' requires interactive sign-in to create a connection. ` +
|
||||
`Re-run without --non-interactive, or create the connection in the Power Apps maker portal.`);
|
||||
}
|
||||
else if (!isBrowserConnectionEnabled()) {
|
||||
throw new UsageError(BROWSER_DISABLED_MESSAGE);
|
||||
}
|
||||
else {
|
||||
printInfo('This connector requires manual interaction. Opening browser for connection creation...\n');
|
||||
}
|
||||
// 2. Browser-based fallback
|
||||
const result = await startConnectionServerAsync({
|
||||
connectorName: apiId,
|
||||
environmentId: playerServiceConfig.environmentName,
|
||||
region: playerServiceConfig.region,
|
||||
});
|
||||
if (result.status === 'created' && result.connectionName) {
|
||||
emitSuccess(argumentProvider, {
|
||||
connectionId: result.connectionName,
|
||||
displayName: result.displayName,
|
||||
});
|
||||
}
|
||||
else if (result.status === 'error') {
|
||||
throw new CliError(result.errorMessage ?? 'Connection creation failed in the browser.');
|
||||
}
|
||||
else {
|
||||
throw new UsageError('Connection creation was cancelled.');
|
||||
}
|
||||
}
|
||||
function emitSuccess(argumentProvider, result) {
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(result, null, 2));
|
||||
return;
|
||||
}
|
||||
printSuccess('Connection created successfully!');
|
||||
if (result.displayName) {
|
||||
printInfo(` Display Name: ${result.displayName}`);
|
||||
}
|
||||
printInfo(` Connection ID: ${result.connectionId}`);
|
||||
}
|
||||
function normalizeConnectorId(connectorId) {
|
||||
return connectorId.startsWith('shared_') ? connectorId : `shared_${connectorId}`;
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Create-connection'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['Create-connection'].Examples ?? []);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ApiId.name,
|
||||
alias: SharedArguments.ApiId.alias,
|
||||
},
|
||||
env: SharedArguments.ApiId.envVar,
|
||||
message: SharedArguments.ApiId.promptMessage,
|
||||
description: HelpStrings.Verbs['Create-connection'].Options?.ApiId ?? '',
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: CreateConnectionArguments.DisplayName.name,
|
||||
alias: CreateConnectionArguments.DisplayName.alias,
|
||||
},
|
||||
env: CreateConnectionArguments.DisplayName.envVar,
|
||||
message: CreateConnectionArguments.DisplayName.promptMessage,
|
||||
description: HelpStrings.Verbs['Create-connection'].Options?.DisplayName ?? '',
|
||||
}),
|
||||
]);
|
||||
}
|
||||
/**
|
||||
* Starts a local HTTP server, opens the maaf-player connection page in the
|
||||
* browser, and waits for a callback with the result. Uses the same pattern as
|
||||
* an OAuth authorization code flow: nonce for CSRF, protocol version for drift
|
||||
* detection, and a timeout for cleanup.
|
||||
*/
|
||||
async function startConnectionServerAsync(config) {
|
||||
const { connectorName, environmentId, region } = config;
|
||||
const nonce = crypto.randomUUID();
|
||||
return new Promise((resolve, reject) => {
|
||||
const server = http.createServer((req, res) => {
|
||||
const url = new URL(req.url ?? '/', `http://localhost`);
|
||||
if (url.pathname === '/callback' && req.method === 'GET') {
|
||||
const queryNonce = url.searchParams.get('nonce');
|
||||
if (queryNonce !== nonce) {
|
||||
res.writeHead(403, { 'Content-Type': 'text/html; charset=utf-8' });
|
||||
res.end('<html><body><h2>Connection request verification failed. Please run the CLI command again.</h2></body></html>');
|
||||
cleanup();
|
||||
resolve({ status: 'cancelled' });
|
||||
return;
|
||||
}
|
||||
const callbackVersion = url.searchParams.get('v');
|
||||
if (callbackVersion !== PROTOCOL_VERSION) {
|
||||
printWarning(`Warning: callback protocol version mismatch (expected ${PROTOCOL_VERSION}, got ${callbackVersion ?? 'none'}). Update the CLI to the latest version.`);
|
||||
}
|
||||
const status = url.searchParams.get('status');
|
||||
const errorMessage = url.searchParams.get('message') ?? undefined;
|
||||
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
||||
let tabHtml;
|
||||
if (status === 'created') {
|
||||
tabHtml =
|
||||
'<html><body><h2>Connection created! You can close this tab.</h2></body></html>';
|
||||
}
|
||||
else if (status === 'error') {
|
||||
const safeMessage = errorMessage
|
||||
? errorMessage.replace(/[&<>"']/g, (c) => `&#${c.charCodeAt(0)};`)
|
||||
: '';
|
||||
tabHtml = safeMessage
|
||||
? `<html><body><h2>Connection creation failed. You can close this tab.</h2><p>${safeMessage}</p></body></html>`
|
||||
: '<html><body><h2>Connection creation failed. You can close this tab.</h2></body></html>';
|
||||
}
|
||||
else {
|
||||
tabHtml =
|
||||
'<html><body><h2>Connection creation cancelled. You can close this tab.</h2></body></html>';
|
||||
}
|
||||
res.end(tabHtml);
|
||||
cleanup();
|
||||
if (status === 'created') {
|
||||
resolve({
|
||||
status: 'created',
|
||||
connectionId: url.searchParams.get('connectionId') ?? undefined,
|
||||
connectionName: url.searchParams.get('connectionName') ?? undefined,
|
||||
displayName: url.searchParams.get('displayName') ?? undefined,
|
||||
});
|
||||
}
|
||||
else if (status === 'error') {
|
||||
resolve({ status: 'error', errorMessage });
|
||||
}
|
||||
else {
|
||||
resolve({ status: 'cancelled' });
|
||||
}
|
||||
return;
|
||||
}
|
||||
res.writeHead(404);
|
||||
res.end('Not found');
|
||||
});
|
||||
server.listen(0, 'localhost', async () => {
|
||||
const address = server.address();
|
||||
const port = typeof address === 'object' && address ? address.port : 0;
|
||||
const callbackUrl = `http://localhost:${port}/callback`;
|
||||
const playerUrl = createMaafConnectionUrl(region, environmentId, {
|
||||
connector: connectorName,
|
||||
callbackUrl,
|
||||
nonce,
|
||||
protocolVersion: PROTOCOL_VERSION,
|
||||
});
|
||||
printInfo(`Opening browser at ${playerUrl}`);
|
||||
try {
|
||||
await open(playerUrl, { wait: false });
|
||||
}
|
||||
catch {
|
||||
printInfo(`Could not open browser automatically. Please navigate to:\n ${playerUrl}`);
|
||||
}
|
||||
printInfo('Waiting for connection creation... (press Ctrl+C to cancel)\n');
|
||||
});
|
||||
server.on('error', (error) => {
|
||||
cleanup();
|
||||
reject(error);
|
||||
});
|
||||
const timeoutId = setTimeout(() => {
|
||||
printInfo('\nConnection creation timed out after 10 minutes.');
|
||||
cleanup();
|
||||
resolve({ status: 'cancelled' });
|
||||
}, CONNECTION_CREATION_TIMEOUT_MS);
|
||||
const sigintHandler = () => {
|
||||
printInfo('\nCancelling...');
|
||||
cleanup();
|
||||
resolve({ status: 'cancelled' });
|
||||
};
|
||||
function cleanup() {
|
||||
clearTimeout(timeoutId);
|
||||
process.off('SIGINT', sigintHandler);
|
||||
server.close();
|
||||
}
|
||||
process.on('SIGINT', sigintHandler);
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=CreateConnection.js.map
|
||||
Generated
Vendored
+1
File diff suppressed because one or more lines are too long
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function deleteDataSourceAsync(argumentProvider: ArgumentProvider): Promise<boolean>;
|
||||
//# sourceMappingURL=DeleteDataSource.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"DeleteDataSource.d.ts","sourceRoot":"","sources":["../../src/Verbs/DeleteDataSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuDhG"}
|
||||
Generated
Vendored
+108
@@ -0,0 +1,108 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { deleteDataSourceAsync as deleteDataSourceActionAsync, getPlayerServiceConfig, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption, promptConfirm, promptText } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
|
||||
import { DeleteDataSourceArguments, SharedArguments } from './VerbConstants.js';
|
||||
export async function deleteDataSourceAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig, cliFs } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const force = await argumentProvider.getOption('force', true);
|
||||
if (!force && settings.interactive) {
|
||||
const confirmed = await promptConfirm({
|
||||
message: 'Are you sure you want to delete this data source?',
|
||||
});
|
||||
if (!confirmed) {
|
||||
printWarning('Delete cancelled.');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const memo = (fn) => {
|
||||
let promise;
|
||||
return () => (promise ??= fn());
|
||||
};
|
||||
const getApiId = memo(() => argumentProvider.getOption('apiId'));
|
||||
const getDataSourceName = memo(() => argumentProvider.getOption('dataSourceName'));
|
||||
const getSqlStoredProcedure = memo(() => argumentProvider.getOption('sqlStoredProcedure'));
|
||||
const config = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
localFilePaths: fileConfig,
|
||||
actionsParams: {
|
||||
apiId: getApiId,
|
||||
dataSourceName: getDataSourceName,
|
||||
sqlStoredProcedure: getSqlStoredProcedure,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const returnValue = await deleteDataSourceActionAsync(config);
|
||||
if (returnValue) {
|
||||
const apiId = await getApiId();
|
||||
const isSql = apiId.replace('shared_', '').toLowerCase() === 'sql';
|
||||
const dataSourceLabel = isSql ? await getSqlStoredProcedure() : await getDataSourceName();
|
||||
printSuccess(`${dataSourceLabel} from API ${apiId} deleted successfully.`);
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Delete-data-source'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['Delete-data-source'].Examples);
|
||||
argumentProvider.addSwitch({
|
||||
flags: { key: 'force', alias: 'f' },
|
||||
env: '',
|
||||
description: HelpStrings.Verbs['Delete-data-source'].Options.Force,
|
||||
});
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: DeleteDataSourceArguments.DataSourceName.name,
|
||||
alias: DeleteDataSourceArguments.DataSourceName.alias,
|
||||
},
|
||||
env: DeleteDataSourceArguments.DataSourceName.envVar
|
||||
? DeleteDataSourceArguments.DataSourceName.envVar
|
||||
: SharedArguments.ResourceName.envVar,
|
||||
message: DeleteDataSourceArguments.DataSourceName.promptMessage,
|
||||
description: HelpStrings.Verbs['Delete-data-source'].Options.DataSourceName,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ApiId.name,
|
||||
alias: SharedArguments.ApiId.alias,
|
||||
},
|
||||
env: SharedArguments.ApiId.envVar,
|
||||
message: SharedArguments.ApiId.promptMessage,
|
||||
description: HelpStrings.Verbs['Delete-data-source'].Options.ApiId,
|
||||
}),
|
||||
{
|
||||
flags: {
|
||||
key: SharedArguments.SqlStoredProcedure.name,
|
||||
alias: SharedArguments.SqlStoredProcedure.alias,
|
||||
},
|
||||
env: SharedArguments.SqlStoredProcedure.envVar,
|
||||
description: HelpStrings.Verbs['Delete-data-source'].Options.SqlStoredProcedure,
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
const hasSqlProcedure = await promptConfirm({
|
||||
message: 'Do you have an SQL procedure?',
|
||||
});
|
||||
if (hasSqlProcedure) {
|
||||
return await promptText({
|
||||
message: SharedArguments.SqlStoredProcedure.promptMessage,
|
||||
});
|
||||
}
|
||||
return '';
|
||||
},
|
||||
},
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=DeleteDataSource.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"DeleteDataSource.js","sourceRoot":"","sources":["../../src/Verbs/DeleteDataSource.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Search Dataverse actions and functions in a Dataverse environment.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function findDataverseApiAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=FindDataverseApi.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FindDataverseApi.d.ts","sourceRoot":"","sources":["../../src/Verbs/FindDataverseApi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE7F"}
|
||||
Generated
Vendored
+101
@@ -0,0 +1,101 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { findDataverseApiAsync as findDataverseApiActionAsync, getPlayerServiceConfig, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printWarning } from '../Utils/ConsoleOutput.js';
|
||||
import { FindDataverseApiArguments } from './VerbConstants.js';
|
||||
const SEPARATOR_WIDTH = 100;
|
||||
/**
|
||||
* Search Dataverse actions and functions in a Dataverse environment.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function findDataverseApiAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const searchTerm = await argumentProvider.getOption(FindDataverseApiArguments.SearchTerm.name, true);
|
||||
if (!searchTerm) {
|
||||
printWarning('Warning: No search term specified. Fetching all Dataverse operations — this may take a while.');
|
||||
}
|
||||
const context = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
searchTerm,
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const operations = await findDataverseApiActionAsync(context);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(operations, null, 2));
|
||||
return;
|
||||
}
|
||||
console.log('\n' + '='.repeat(SEPARATOR_WIDTH));
|
||||
console.log('Dataverse Operations');
|
||||
console.log('='.repeat(SEPARATOR_WIDTH));
|
||||
if (operations.length === 0) {
|
||||
console.log('\nNo operations found.');
|
||||
console.log('='.repeat(SEPARATOR_WIDTH));
|
||||
return;
|
||||
}
|
||||
for (const operation of operations) {
|
||||
printCsdlOperation(operation);
|
||||
}
|
||||
console.log('-'.repeat(SEPARATOR_WIDTH));
|
||||
console.log(`Total: ${operations.length} operation(s)`);
|
||||
console.log('='.repeat(SEPARATOR_WIDTH));
|
||||
}
|
||||
function printCsdlOperation(op) {
|
||||
console.log(`\n ${op.name} (${op.kind})`);
|
||||
const params = op.isBound ? op.parameters.slice(1) : op.parameters;
|
||||
if (op.isBound && op.parameters[0]) {
|
||||
console.log(` Bound to: ${op.parameters[0].type}`);
|
||||
}
|
||||
if (params.length > 0) {
|
||||
console.log(' Parameters:');
|
||||
for (const p of params) {
|
||||
const optional = p.nullable ? '?' : '';
|
||||
console.log(` - ${p.name}${optional}: ${p.type}`);
|
||||
}
|
||||
}
|
||||
if (op.returnType) {
|
||||
console.log(` Returns: ${op.returnType.type}`);
|
||||
}
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Find-dataverse-api'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['Find-dataverse-api'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: FindDataverseApiArguments.SearchTerm.name,
|
||||
alias: FindDataverseApiArguments.SearchTerm.alias,
|
||||
},
|
||||
env: FindDataverseApiArguments.SearchTerm.envVar,
|
||||
message: FindDataverseApiArguments.SearchTerm.promptMessage,
|
||||
description: HelpStrings.Verbs['Find-dataverse-api'].Options.SearchTerm,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=FindDataverseApi.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FindDataverseApi.js","sourceRoot":"","sources":["../../src/Verbs/FindDataverseApi.ts"],"names":[],"mappings":"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"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function initAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=Init.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/Verbs/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEjF"}
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getEnvironmentByName, VERSION, writeRepoConfig } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { UsageError } from '../Errors/CliError.js';
|
||||
import { printInfo, printSuccess } from '../Utils/ConsoleOutput.js';
|
||||
import { InitArguments } from './VerbConstants.js';
|
||||
export async function initAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
if (settings.appConfig) {
|
||||
throw new UsageError('power.config.json already exists in this directory. Use a new directory or delete the existing config.');
|
||||
}
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const logger = getCliLogger();
|
||||
const initScenario = logger.trackScenario('Init');
|
||||
try {
|
||||
// Validate required options
|
||||
const environmentId = argumentProvider.getEnvironmentId() ||
|
||||
(await argumentProvider.getOption('environmentId'));
|
||||
const region = await argumentProvider.getOption('cloud');
|
||||
if (!environmentId) {
|
||||
throw new UsageError('Argument environmentId is required. Use --environmentId or -e to specify it.');
|
||||
}
|
||||
const environmentExists = await validateEnvironmentExists(environmentId);
|
||||
if (!environmentExists) {
|
||||
throw new Error(`Environment '${environmentId}' not found. Please verify the environment ID and ensure you have access to it.`);
|
||||
}
|
||||
const displayName = await argumentProvider.getOption('displayName');
|
||||
const description = await argumentProvider.getOption('description');
|
||||
const buildPath = await argumentProvider.getOption('buildPath');
|
||||
const fileEntryPoint = await argumentProvider.getOption('fileEntryPoint');
|
||||
const appUrl = await argumentProvider.getOption('appUrl');
|
||||
const logoPath = await argumentProvider.getOption('logoPath');
|
||||
const appConfig = {
|
||||
version: VERSION,
|
||||
appId: null, // This will be set later when the app is created
|
||||
appDisplayName: displayName,
|
||||
region,
|
||||
environmentId,
|
||||
description,
|
||||
buildPath,
|
||||
buildEntryPoint: fileEntryPoint,
|
||||
localAppUrl: appUrl,
|
||||
logoPath,
|
||||
connectionReferences: {},
|
||||
databaseReferences: {},
|
||||
};
|
||||
await writeRepoConfig(settings.fileConfig.powerConfigPath, appConfig);
|
||||
initScenario.complete();
|
||||
printSuccess(`Created power.config.json for ${displayName}.`);
|
||||
printInfo("Hint: Run 'npx power-apps add-data-source' to connect data, or 'npx power-apps run' to start locally.");
|
||||
}
|
||||
catch (error) {
|
||||
initScenario.failure({ error: error instanceof Error ? error.message : String(error) });
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs.Init.Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs.Init.Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: InitArguments.DisplayName.name,
|
||||
alias: InitArguments.DisplayName.alias,
|
||||
},
|
||||
env: InitArguments.DisplayName.envVar,
|
||||
message: InitArguments.DisplayName.promptMessage,
|
||||
description: HelpStrings.Verbs.Init.Options.DisplayName,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: InitArguments.Description.name,
|
||||
alias: InitArguments.Description.alias,
|
||||
},
|
||||
env: InitArguments.Description.envVar,
|
||||
default: ' ',
|
||||
message: InitArguments.Description.promptMessage,
|
||||
description: HelpStrings.Verbs.Init.Options.Description,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: InitArguments.BuildPath.name,
|
||||
alias: InitArguments.BuildPath.alias,
|
||||
},
|
||||
env: InitArguments.BuildPath.envVar,
|
||||
message: InitArguments.BuildPath.promptMessage,
|
||||
initialValue: InitArguments.BuildPath.initialValue,
|
||||
default: './dist',
|
||||
description: HelpStrings.Verbs.Init.Options.BuildPath,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: InitArguments.FileEntryPoint.name,
|
||||
alias: InitArguments.FileEntryPoint.alias,
|
||||
},
|
||||
env: InitArguments.FileEntryPoint.envVar,
|
||||
message: InitArguments.FileEntryPoint.promptMessage,
|
||||
initialValue: InitArguments.FileEntryPoint.initialValue,
|
||||
default: 'index.html',
|
||||
description: HelpStrings.Verbs.Init.Options.FileEntryPoint,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: InitArguments.AppUrl.name,
|
||||
alias: InitArguments.AppUrl.alias,
|
||||
},
|
||||
env: InitArguments.AppUrl.envVar,
|
||||
message: InitArguments.AppUrl.promptMessage,
|
||||
initialValue: InitArguments.AppUrl.initialValue,
|
||||
default: 'http://localhost:3000',
|
||||
description: HelpStrings.Verbs.Init.Options.AppUrl,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: InitArguments.LogoPath.name,
|
||||
alias: InitArguments.LogoPath.alias,
|
||||
},
|
||||
env: InitArguments.LogoPath.envVar,
|
||||
message: InitArguments.LogoPath.promptMessage,
|
||||
initialValue: InitArguments.LogoPath.initialValue,
|
||||
default: 'Default',
|
||||
description: HelpStrings.Verbs.Init.Options.LogoPath,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
/**
|
||||
* Validates that an environment exists by pinging the Power Platform API.
|
||||
* @param environmentId - The environment ID to validate
|
||||
* @returns True if the environment exists, false otherwise
|
||||
*/
|
||||
async function validateEnvironmentExists(environmentId) {
|
||||
try {
|
||||
const environment = await getEnvironmentByName(environmentId);
|
||||
return !!environment?.properties;
|
||||
}
|
||||
catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=Init.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/Verbs/Init.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function getCodeAppsAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListCodeApps.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListCodeApps.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListCodeApps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,wBAAsB,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxF"}
|
||||
Generated
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { listAppsAsync } from '@microsoft/power-apps-actions';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printTable } from '../Utils/ConsoleOutput.js';
|
||||
export async function getCodeAppsAsync(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-codeapps'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-codeapps'].Examples);
|
||||
// No options, so can just run directly
|
||||
await argumentProvider.runVerb();
|
||||
const codeApps = await listAppsAsync();
|
||||
const filteredCodeApps = codeApps
|
||||
.filter((app) => app.appType === 'CodeApp')
|
||||
.map((app) => ({
|
||||
appId: app.name,
|
||||
name: app.properties.displayName,
|
||||
}));
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(filteredCodeApps, null, 2));
|
||||
return;
|
||||
}
|
||||
printTable({
|
||||
title: 'Code Apps',
|
||||
columns: [{ header: 'App ID', maxWidth: 38 }, { header: 'Display Name' }],
|
||||
rows: filteredCodeApps.map((app) => [app.appId, app.name || '<No Name>']),
|
||||
emptyMessage: 'No code apps found.',
|
||||
totalLabel: 'code app(s) found',
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=ListCodeApps.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListCodeApps.js","sourceRoot":"","sources":["../../src/Verbs/ListCodeApps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,gBAAkC;IACvE,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC;IAChF,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,uCAAuC;IACvC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,MAAM,gBAAgB,GAAG,QAAQ;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC;SAC1C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,IAAI;QACf,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW;KACjC,CAAC,CAAC,CAAC;IAEN,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,UAAU,CAAC;QACT,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACzE,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;QACzE,YAAY,EAAE,qBAAqB;QACnC,UAAU,EAAE,mBAAmB;KAChC,CAAC,CAAC;AACL,CAAC"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function listConnectionReferences(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListConnectionReferences.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListConnectionReferences.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListConnectionReferences.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,wBAAwB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhG"}
|
||||
Generated
Vendored
+70
@@ -0,0 +1,70 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listConnectionReferences as listConnectionReferencesActions, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printKeyValueList } from '../Utils/ConsoleOutput.js';
|
||||
import { SharedArguments } from './VerbConstants.js';
|
||||
export async function listConnectionReferences(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const dsConfig = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
solutionId: await argumentProvider.getOption('solutionId'),
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const connectionReferences = await listConnectionReferencesActions(dsConfig);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(connectionReferences, null, 2));
|
||||
return;
|
||||
}
|
||||
printKeyValueList({
|
||||
title: 'Connection References:',
|
||||
items: connectionReferences,
|
||||
fields: [
|
||||
{ label: 'Display Name', value: (r) => r.msdyn_displayname },
|
||||
{ label: 'Name', value: (r) => r.msdyn_name ?? '(not set)' },
|
||||
{ label: 'Description', value: (r) => r.msdyn_description },
|
||||
],
|
||||
emptyMessage: 'No connection references found.',
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-connection-references'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-connection-references'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.SolutionId.name,
|
||||
alias: SharedArguments.SolutionId.alias,
|
||||
},
|
||||
env: SharedArguments.SolutionId.envVar,
|
||||
message: SharedArguments.SolutionId.promptMessage,
|
||||
description: HelpStrings.Verbs['List-connection-references'].Options.SolutionId,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=ListConnectionReferences.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListConnectionReferences.js","sourceRoot":"","sources":["../../src/Verbs/ListConnectionReferences.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,sBAAsB,EACtB,wBAAwB,IAAI,+BAA+B,GAC5D,MAAM,+BAA+B,CAAC;AAGvC,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,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,gBAAkC;IAC/E,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,GAAoC;QAChD,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;QAClC,eAAe,EAAE,mBAAmB,CAAC,eAAe;QACpD,aAAa,EAAE;YACb,UAAU,EAAE,MAAM,gBAAgB,CAAC,SAAS,CAAS,YAAY,CAAC;SACnE;QACD,cAAc,EAAE;YACd,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC;QACD,MAAM,EAAE,YAAY,EAAE;KACvB,CAAC;IAEF,MAAM,oBAAoB,GAAG,MAAM,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAE7E,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,iBAAiB,CAAC;QAChB,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE;YACN,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;YAC5D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,WAAW,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;SAC5D;QACD,YAAY,EAAE,iCAAiC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7F,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvF,gBAAgB,CAAC,UAAU,CAAC;QAC1B,yBAAyB,CAAC;YACxB,KAAK,EAAE;gBACL,GAAG,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI;gBACpC,KAAK,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK;aACxC;YACD,GAAG,EAAE,eAAe,CAAC,UAAU,CAAC,MAAM;YACtC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,aAAa;YACjD,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,UAAU;SAChF,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function listConnectionsAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListConnections.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListConnections.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListConnections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5F"}
|
||||
Generated
Vendored
+73
@@ -0,0 +1,73 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listConnectionsAsync as listConnectionsAction, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printTable } from '../Utils/ConsoleOutput.js';
|
||||
import { ListConnectionsArguments } from './VerbConstants.js';
|
||||
export async function listConnectionsAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const search = await argumentProvider.getOption(ListConnectionsArguments.Search.name, true);
|
||||
const context = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: { search },
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const connections = await listConnectionsAction(context);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(connections, null, 2));
|
||||
return;
|
||||
}
|
||||
printTable({
|
||||
title: 'Connections',
|
||||
columns: [
|
||||
{ header: 'Display Name', maxWidth: 38 },
|
||||
{ header: 'Api ID', maxWidth: 40 },
|
||||
{ header: 'Connection ID' },
|
||||
],
|
||||
rows: connections.map((c) => [
|
||||
c.properties.displayName,
|
||||
c.properties.apiId.split('/').pop() || c.properties.apiId,
|
||||
c.name,
|
||||
]),
|
||||
emptyMessage: 'No connections found.',
|
||||
totalLabel: 'connection(s)',
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-connections'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-connections'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: ListConnectionsArguments.Search.name,
|
||||
alias: ListConnectionsArguments.Search.alias,
|
||||
},
|
||||
env: ListConnectionsArguments.Search.envVar,
|
||||
message: ListConnectionsArguments.Search.promptMessage,
|
||||
description: HelpStrings.Verbs['List-connections'].Options.Search,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=ListConnections.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListConnections.js","sourceRoot":"","sources":["../../src/Verbs/ListConnections.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function listDatasetsAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListDatasets.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListDatasets.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListDatasets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzF"}
|
||||
Generated
Vendored
+83
@@ -0,0 +1,83 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listDatasetsAsync as listDatasetsActionAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printTable } from '../Utils/ConsoleOutput.js';
|
||||
import { SharedArguments } from './VerbConstants.js';
|
||||
export async function listDatasetsAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const dsConfig = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
apiId: await argumentProvider.getOption('apiId'),
|
||||
connectionId: await argumentProvider.getOption('connectionId'),
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const datasets = await listDatasetsActionAsync(dsConfig);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(datasets?.value ?? [], null, 2));
|
||||
return;
|
||||
}
|
||||
printTable({
|
||||
title: 'Datasets',
|
||||
metadata: [
|
||||
`Connector: ${dsConfig.actionsParams.apiId}`,
|
||||
`Connection: ${dsConfig.actionsParams.connectionId}`,
|
||||
],
|
||||
columns: [{ header: 'Display Name' }, { header: 'Name' }],
|
||||
rows: datasets.value.map((dataset) => [
|
||||
dataset.DisplayName || '<No Display Name>',
|
||||
dataset.Name,
|
||||
]),
|
||||
totalLabel: 'dataset(s) found',
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-datasets'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-datasets'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ApiId.name,
|
||||
alias: SharedArguments.ApiId.alias,
|
||||
},
|
||||
env: SharedArguments.ApiId.envVar,
|
||||
message: SharedArguments.ApiId.promptMessage,
|
||||
description: HelpStrings.Verbs['List-datasets'].Options.ApiId,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ConnectionId.name,
|
||||
alias: SharedArguments.ConnectionId.alias,
|
||||
},
|
||||
env: SharedArguments.ConnectionId.envVar,
|
||||
message: SharedArguments.ConnectionId.promptMessage,
|
||||
description: HelpStrings.Verbs['List-datasets'].Options.ConnectionId,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=ListDatasets.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListDatasets.js","sourceRoot":"","sources":["../../src/Verbs/ListDatasets.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Get environment variables from a Dataverse environment.
|
||||
* Expects the following arguments:
|
||||
* - envUrl: The environment URL for Dataverse data sources
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function listAllEnvironmentVariablesAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListEnvironmentVariables.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListEnvironmentVariables.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListEnvironmentVariables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAoDf"}
|
||||
Generated
Vendored
+66
@@ -0,0 +1,66 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listAllEnvironmentVariablesAsync as listAllEnvironmentVariablesActionAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printKeyValueList } from '../Utils/ConsoleOutput.js';
|
||||
/**
|
||||
* Get environment variables from a Dataverse environment.
|
||||
* Expects the following arguments:
|
||||
* - envUrl: The environment URL for Dataverse data sources
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function listAllEnvironmentVariablesAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const dsConfig = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const environmentVariableDefinitions = await listAllEnvironmentVariablesActionAsync(dsConfig);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(environmentVariableDefinitions, null, 2));
|
||||
return;
|
||||
}
|
||||
printKeyValueList({
|
||||
title: 'Environment Variables:',
|
||||
items: environmentVariableDefinitions,
|
||||
fields: [
|
||||
{ label: 'Schema Name', value: (v) => v.schemaname },
|
||||
{ label: 'Display Name', value: (v) => v.displayname },
|
||||
{ label: 'Type', value: (v) => String(v.type) },
|
||||
{
|
||||
label: 'Value',
|
||||
value: (v) => v.environmentvariabledefinition_environmentvariablevalue[0]?.value ?? '<No Value>',
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-environment-variables'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-environment-variables'].Examples);
|
||||
}
|
||||
//# sourceMappingURL=ListEnvironmentVariables.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListEnvironmentVariables.js","sourceRoot":"","sources":["../../src/Verbs/ListEnvironmentVariables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,sBAAsB,EACtB,gCAAgC,IAAI,sCAAsC,GAC3E,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,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,GAAuC;QACnD,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;QAClC,eAAe,EAAE,mBAAmB,CAAC,eAAe;QACpD,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE;YACd,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC;QACD,MAAM,EAAE,YAAY,EAAE;KACvB,CAAC;IAEF,MAAM,8BAA8B,GAAG,MAAM,sCAAsC,CAAC,QAAQ,CAAC,CAAC;IAE9F,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,iBAAiB,CAAC;QAChB,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE;YACN,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;YACpD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;YACtD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC/C;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,YAAY;aACrF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7F,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,CAAC;AACzF,CAAC"}
|
||||
Generated
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* List all cloud flows from a Dataverse environment.
|
||||
* The org URL is discovered from the power.config.json file.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function listFlowsAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListFlows.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListFlows.d.ts","sourceRoot":"","sources":["../../src/Verbs/ListFlows.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF"}
|
||||
Generated
Vendored
+87
@@ -0,0 +1,87 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listFlowsAsync as listFlowsActionAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printTable } from '../Utils/ConsoleOutput.js';
|
||||
import { ListFlowsArguments } from './VerbConstants.js';
|
||||
/**
|
||||
* List all cloud flows from a Dataverse environment.
|
||||
* The org URL is discovered from the power.config.json file.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function listFlowsAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
// Get the optional search parameter
|
||||
const search = await argumentProvider.getOption(ListFlowsArguments.Search.name, true);
|
||||
const context = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
search,
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const flows = await listFlowsActionAsync(context);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(flows, null, 2));
|
||||
return;
|
||||
}
|
||||
printTable({
|
||||
title: 'Cloud Flows',
|
||||
columns: [
|
||||
{ header: 'Name', maxWidth: 38 },
|
||||
{ header: 'Status' },
|
||||
{ header: 'Modified On' },
|
||||
{ header: 'Flow ID' },
|
||||
],
|
||||
// For workflows: statecode 1 = Active/On, 0 = Draft/Off
|
||||
rows: flows.map((flow) => [
|
||||
flow.name,
|
||||
flow.statecode === 1 ? 'Active' : 'Inactive',
|
||||
new Date(flow.modifiedOn).toLocaleString(),
|
||||
flow.workflowId ?? '',
|
||||
]),
|
||||
emptyMessage: 'No flows found.',
|
||||
totalLabel: 'flow(s)',
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-flows'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-flows'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: ListFlowsArguments.Search.name,
|
||||
alias: ListFlowsArguments.Search.alias,
|
||||
},
|
||||
env: ListFlowsArguments.Search.envVar,
|
||||
message: ListFlowsArguments.Search.promptMessage,
|
||||
description: HelpStrings.Verbs['List-flows'].Options.Search,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=ListFlows.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListFlows.js","sourceRoot":"","sources":["../../src/Verbs/ListFlows.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function listSqlStoredProceduresAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListSqlStoredProcedures.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +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"}
|
||||
Generated
Vendored
+84
@@ -0,0 +1,84 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listSqlStoredProceduresAsync as listSqlStoredProceduresActionAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printTable } from '../Utils/ConsoleOutput.js';
|
||||
import { SharedArguments } from './VerbConstants.js';
|
||||
export async function listSqlStoredProceduresAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const dsConfig = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
connectionId: await argumentProvider.getOption('connectionId'),
|
||||
dataset: await argumentProvider.getOption('dataset'),
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const storedProcedures = await listSqlStoredProceduresActionAsync(dsConfig);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(storedProcedures?.value ?? [], null, 2));
|
||||
return;
|
||||
}
|
||||
if (!storedProcedures?.value) {
|
||||
return;
|
||||
}
|
||||
printTable({
|
||||
title: 'Stored Procedures',
|
||||
metadata: [
|
||||
`Dataset: ${dsConfig.actionsParams.dataset}`,
|
||||
`Connection: ${dsConfig.actionsParams.connectionId}`,
|
||||
],
|
||||
columns: [{ header: 'Display Name' }, { header: 'Name' }],
|
||||
rows: storedProcedures.value.map((sp) => [sp.DisplayName || '<No Display Name>', sp.Name]),
|
||||
emptyMessage: 'No stored procedures found.',
|
||||
totalLabel: 'stored procedure(s) found',
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-sqlStoredProcedures'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-sqlStoredProcedures'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ConnectionId.name,
|
||||
alias: SharedArguments.ConnectionId.alias,
|
||||
},
|
||||
env: SharedArguments.ConnectionId.envVar,
|
||||
message: SharedArguments.ConnectionId.promptMessage,
|
||||
description: HelpStrings.Verbs['List-sqlStoredProcedures'].Options.ConnectionId,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.Dataset.name,
|
||||
alias: SharedArguments.Dataset.alias,
|
||||
},
|
||||
env: SharedArguments.Dataset.envVar,
|
||||
message: SharedArguments.Dataset.promptMessage,
|
||||
description: HelpStrings.Verbs['List-sqlStoredProcedures'].Options.Dataset,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=ListSqlStoredProcedures.js.map
|
||||
CodeApp_NeonReactor/node_modules/@microsoft/power-apps-cli/dist/Verbs/ListSqlStoredProcedures.js.map
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListSqlStoredProcedures.js","sourceRoot":"","sources":["../../src/Verbs/ListSqlStoredProcedures.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function listTablesAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=ListTables.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +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"}
|
||||
Generated
Vendored
+95
@@ -0,0 +1,95 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, listTablesAsync as listTablesActionAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { createDefaultStringOption } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { printTable } from '../Utils/ConsoleOutput.js';
|
||||
import { SharedArguments } from './VerbConstants.js';
|
||||
export async function listTablesAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
// Use the already initialized authentication provider from ArgumentProvider
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const dsConfig = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
apiId: await argumentProvider.getOption('apiId'),
|
||||
connectionId: await argumentProvider.getOption('connectionId'),
|
||||
dataset: await argumentProvider.getOption('dataset'),
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const tables = await listTablesActionAsync(dsConfig);
|
||||
if (argumentProvider.isJsonMode()) {
|
||||
console.log(JSON.stringify(tables?.value ?? [], null, 2));
|
||||
return;
|
||||
}
|
||||
if (!tables?.value) {
|
||||
return;
|
||||
}
|
||||
printTable({
|
||||
title: 'Tables',
|
||||
metadata: [
|
||||
`Dataset: ${dsConfig.actionsParams.dataset}`,
|
||||
`Connector: ${dsConfig.actionsParams.apiId}`,
|
||||
`Connection: ${dsConfig.actionsParams.connectionId}`,
|
||||
],
|
||||
columns: [{ header: 'Display Name' }, { header: 'Name' }],
|
||||
rows: tables.value.map((table) => [table.DisplayName || '<No Display Name>', table.Name]),
|
||||
emptyMessage: 'No tables found.',
|
||||
totalLabel: 'table(s) found',
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['List-tables'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['List-tables'].Examples);
|
||||
argumentProvider.addOptions([
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ApiId.name,
|
||||
alias: SharedArguments.ApiId.alias,
|
||||
},
|
||||
env: SharedArguments.ApiId.envVar,
|
||||
message: SharedArguments.ApiId.promptMessage,
|
||||
description: HelpStrings.Verbs['List-tables'].Options.ApiId,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.ConnectionId.name,
|
||||
alias: SharedArguments.ConnectionId.alias,
|
||||
},
|
||||
env: SharedArguments.ConnectionId.envVar,
|
||||
message: SharedArguments.ConnectionId.promptMessage,
|
||||
description: HelpStrings.Verbs['List-tables'].Options.ConnectionId,
|
||||
}),
|
||||
createDefaultStringOption({
|
||||
flags: {
|
||||
key: SharedArguments.Dataset.name,
|
||||
alias: SharedArguments.Dataset.alias,
|
||||
},
|
||||
env: SharedArguments.Dataset.envVar,
|
||||
message: SharedArguments.Dataset.promptMessage,
|
||||
description: HelpStrings.Verbs['List-tables'].Options.Dataset,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=ListTables.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ListTables.js","sourceRoot":"","sources":["../../src/Verbs/ListTables.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function logoutAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=Logout.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +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"}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import * as fs from 'fs';
|
||||
import { AUTH_CACHE_DIRECTORY } from '../Constants.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printError, printInfo, printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
|
||||
export async function logoutAsync(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs.Logout.Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs.Logout.Examples);
|
||||
await argumentProvider.runVerb();
|
||||
const cacheDir = AUTH_CACHE_DIRECTORY;
|
||||
try {
|
||||
if (fs.existsSync(cacheDir)) {
|
||||
fs.rmSync(cacheDir, { recursive: true, force: true });
|
||||
printSuccess('Successfully logged out. Cached credentials have been cleared.');
|
||||
printInfo('On next command, you will be prompted to sign in via the browser. If your browser has a single account session, it will be used automatically.');
|
||||
}
|
||||
else {
|
||||
printWarning('No user found.');
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
printError(`Failed to log out the user: ${error.message}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=Logout.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Logout.js","sourceRoot":"","sources":["../../src/Verbs/Logout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3F,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,gBAAkC;IAClE,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,oBAAoB,CAAC;IAEtC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,YAAY,CAAC,gEAAgE,CAAC,CAAC;YAC/E,SAAS,CACP,gJAAgJ,CACjJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,+BAAgC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function pushAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=Push.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Push.d.ts","sourceRoot":"","sources":["../../src/Verbs/Push.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D,wBAAsB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCjF"}
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { DataverseSystemDataService, getEnvironmentByName, getPlayerServiceConfig, pushApp, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { isGuid, promptConfirm, promptText } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printInfo, printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
|
||||
import { SharedArguments } from './VerbConstants.js';
|
||||
export async function pushAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { appConfig, fileConfig, cliFs } = settings;
|
||||
argumentProvider.setDescription(HelpStrings.Verbs.Push.Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs.Push.Examples);
|
||||
createOptionSchema(argumentProvider, appConfig?.environmentId, appConfig?.appId);
|
||||
await argumentProvider.runVerb();
|
||||
if (!appConfig) {
|
||||
throw new Error('power.config.json is required to push an app');
|
||||
}
|
||||
if (!appConfig.environmentId) {
|
||||
throw new Error('Environment ID is required in power.config.json to push an app');
|
||||
}
|
||||
if (!appConfig.region) {
|
||||
appConfig.region = 'prod';
|
||||
}
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const pushConfig = {
|
||||
vfs: cliFs,
|
||||
actionsParams: {
|
||||
solutionId: await argumentProvider.getOption('solutionId', true),
|
||||
appName: appConfig.appId,
|
||||
appType: appConfig.appType,
|
||||
},
|
||||
environmentName: appConfig.environmentId,
|
||||
region: appConfig.region || 'prod',
|
||||
authProvider: authenticationProvider,
|
||||
localFilePaths: fileConfig,
|
||||
logger: getCliLogger(),
|
||||
httpClient: getPlayerServiceConfig().httpClient,
|
||||
};
|
||||
const app = await pushApp(pushConfig);
|
||||
printSuccess(`App pushed successfully. You can play your app at ${app.properties.appPlayUri}`);
|
||||
printInfo("Hint: Run 'npx power-apps run' to test locally.");
|
||||
}
|
||||
function createOptionSchema(argumentProvider, environmentId, appId) {
|
||||
argumentProvider.addOption({
|
||||
flags: {
|
||||
key: SharedArguments.SolutionId.name,
|
||||
alias: SharedArguments.SolutionId.alias,
|
||||
},
|
||||
env: SharedArguments.SolutionId.envVar,
|
||||
description: HelpStrings.Verbs.Push.Options.SolutionName,
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
if (!environmentId) {
|
||||
throw new Error('Environment ID is required');
|
||||
}
|
||||
if (!appId) {
|
||||
const useSpecificSolution = await promptConfirm({
|
||||
message: 'Would you like to specify a solution to push the app into?',
|
||||
});
|
||||
if (!useSpecificSolution) {
|
||||
const environmentDetails = await getEnvironmentByName(environmentId);
|
||||
const dvService = new DataverseSystemDataService(getPlayerServiceConfig().httpClient);
|
||||
const orgUrl = environmentDetails.properties.linkedEnvironmentMetadata?.instanceUrl;
|
||||
if (!orgUrl) {
|
||||
throw new Error('Organization URL is not available for the specified environment.');
|
||||
}
|
||||
const preferredSolutionId = await dvService.getPreferredSolution(orgUrl);
|
||||
// If we are not able to get a preferred solution, return empty. The app will just not be added to a solution
|
||||
if (!preferredSolutionId) {
|
||||
printWarning('No preferred solution found. App will not be put in a solution. We recommended setting a preferred solution for your environment in the future.');
|
||||
return '';
|
||||
}
|
||||
return preferredSolutionId;
|
||||
}
|
||||
else {
|
||||
const solutionName = await promptText({
|
||||
message: 'Please enter the solution name or ID:',
|
||||
});
|
||||
if (!solutionName) {
|
||||
return '';
|
||||
}
|
||||
// If it is a GUID, return as is
|
||||
if (isGuid(solutionName)) {
|
||||
return solutionName;
|
||||
}
|
||||
const environmentDetails = await getEnvironmentByName(environmentId);
|
||||
const dvService = new DataverseSystemDataService(getPlayerServiceConfig().httpClient);
|
||||
const orgUrl = environmentDetails.properties.linkedEnvironmentMetadata?.instanceUrl;
|
||||
if (!orgUrl) {
|
||||
throw new Error('Organization URL is not available for the specified environment.');
|
||||
}
|
||||
const solutions = await dvService.getSolutions(orgUrl);
|
||||
const solutionId = solutions.find((solution) => solution.friendlyname.toLowerCase() === solutionName.toLowerCase() ||
|
||||
solution.uniquename.toLowerCase() === solutionName.toLowerCase())?.solutionid;
|
||||
if (!solutionId) {
|
||||
throw new Error(`Solution with name '${solutionName}' not found.`);
|
||||
}
|
||||
return solutionId;
|
||||
}
|
||||
}
|
||||
// If none, return empty
|
||||
return '';
|
||||
},
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=Push.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Push.js","sourceRoot":"","sources":["../../src/Verbs/Push.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function refreshDataSourceAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=RefreshDataSource.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RefreshDataSource.d.ts","sourceRoot":"","sources":["../../src/Verbs/RefreshDataSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D,wBAAsB,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C9F"}
|
||||
Generated
Vendored
+71
@@ -0,0 +1,71 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, refreshDataSourceAsync as refreshDataSourceActionsAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { promptConfirm, promptText } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printError, printInfo, printSuccess } from '../Utils/ConsoleOutput.js';
|
||||
import { RefreshDataSourceArguments } from './VerbConstants.js';
|
||||
export async function refreshDataSourceAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig, cliFs } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const rawDataSourceName = await argumentProvider.getOption('dataSourceName');
|
||||
const dataSourceName = rawDataSourceName || undefined;
|
||||
const config = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
actionsParams: {
|
||||
dataSourceName,
|
||||
},
|
||||
};
|
||||
const result = await refreshDataSourceActionsAsync(config);
|
||||
for (const dsName of result.succeeded) {
|
||||
printSuccess(`'${dsName}' refreshed successfully.`);
|
||||
}
|
||||
for (const failure of result.failed) {
|
||||
printError(`Failed to refresh '${failure.dataSourceName}': ${failure.error}`);
|
||||
}
|
||||
if (result.succeeded.length > 0 && result.failed.length === 0) {
|
||||
printInfo("Hint: Run 'npx power-apps run' to test locally, or 'npx power-apps push' to deploy.");
|
||||
}
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Refresh-data-source'].Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs['Refresh-data-source'].Examples ?? []);
|
||||
argumentProvider.addOptions([
|
||||
{
|
||||
flags: {
|
||||
key: RefreshDataSourceArguments.DataSourceName.name,
|
||||
alias: RefreshDataSourceArguments.DataSourceName.alias,
|
||||
},
|
||||
env: RefreshDataSourceArguments.DataSourceName.envVar,
|
||||
description: HelpStrings.Verbs['Refresh-data-source'].Options?.DataSourceName ?? '',
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
const hasSpecificDs = await promptConfirm({
|
||||
message: 'Do you want to refresh a specific data source? (No to refresh all)',
|
||||
});
|
||||
if (hasSpecificDs) {
|
||||
return await promptText({
|
||||
message: RefreshDataSourceArguments.DataSourceName.promptMessage,
|
||||
});
|
||||
}
|
||||
return '';
|
||||
},
|
||||
},
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=RefreshDataSource.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RefreshDataSource.js","sourceRoot":"","sources":["../../src/Verbs/RefreshDataSource.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Remove a cloud flow from the current Power Apps code app.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function removeFlowAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=RemoveFlow.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RemoveFlow.d.ts","sourceRoot":"","sources":["../../src/Verbs/RemoveFlow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CvF"}
|
||||
Generated
Vendored
+98
@@ -0,0 +1,98 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import { getPlayerServiceConfig, removeFlowAsync as removeFlowActionAsync, } from '@microsoft/power-apps-actions';
|
||||
import { getCliLogger, getSettings } from '../CliSettings.js';
|
||||
import { promptConfirm, promptText } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { CliFS } from '../FS/CliFs.js';
|
||||
import { RemoveFlowArguments } from './VerbConstants.js';
|
||||
/**
|
||||
* Remove a cloud flow from the current Power Apps code app.
|
||||
*
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function removeFlowAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
const cliFs = new CliFS({
|
||||
cwd: process.cwd(),
|
||||
allowCwdRead: true,
|
||||
allowCwdWrite: true,
|
||||
});
|
||||
const playerServiceConfig = getPlayerServiceConfig();
|
||||
const authenticationProvider = argumentProvider.getAuthenticationProvider();
|
||||
const flowDataSourceName = await argumentProvider.getOption('flowName');
|
||||
const flowId = await argumentProvider.getOption('flowId');
|
||||
const context = {
|
||||
vfs: cliFs,
|
||||
authProvider: authenticationProvider,
|
||||
region: playerServiceConfig.region,
|
||||
environmentName: playerServiceConfig.environmentName,
|
||||
actionsParams: {
|
||||
flowDataSourceName,
|
||||
flowId,
|
||||
},
|
||||
localFilePaths: {
|
||||
powerConfigPath: fileConfig.powerConfigPath,
|
||||
schemaPath: fileConfig.schemaPath,
|
||||
codeGenPath: fileConfig.codeGenPath,
|
||||
},
|
||||
logger: getCliLogger(),
|
||||
};
|
||||
const result = await removeFlowActionAsync(context);
|
||||
const flowIdentifier = flowDataSourceName ?? flowId ?? '';
|
||||
if (!result.found) {
|
||||
console.log(`\nFlow "${flowIdentifier}" was not found in power.config.`);
|
||||
}
|
||||
else if (result.success) {
|
||||
console.log(`\nFlow "${flowIdentifier}" removed successfully.`);
|
||||
}
|
||||
else {
|
||||
console.error(`\nFailed to remove flow: ${result.error}`);
|
||||
}
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs['Remove-flow'].Description);
|
||||
argumentProvider.addOptions([
|
||||
{
|
||||
flags: {
|
||||
key: RemoveFlowArguments.FlowDataSourceName.name,
|
||||
alias: RemoveFlowArguments.FlowDataSourceName.alias,
|
||||
},
|
||||
env: RemoveFlowArguments.FlowDataSourceName.envVar,
|
||||
description: HelpStrings.Verbs['Remove-flow'].Options.FlowDataSourceName,
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
const useFlowName = await promptConfirm({
|
||||
message: 'Do you want to remove a flow by name?',
|
||||
});
|
||||
if (useFlowName) {
|
||||
return await promptText({
|
||||
message: RemoveFlowArguments.FlowDataSourceName.promptMessage,
|
||||
});
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
},
|
||||
{
|
||||
flags: {
|
||||
key: RemoveFlowArguments.FlowId.name,
|
||||
alias: RemoveFlowArguments.FlowId.alias,
|
||||
},
|
||||
env: RemoveFlowArguments.FlowId.envVar,
|
||||
description: HelpStrings.Verbs['Remove-flow'].Options.FlowId,
|
||||
optionalInNonInteractive: true,
|
||||
customPrompt: async () => {
|
||||
const existingName = await argumentProvider.getOption('flowName', true);
|
||||
if (existingName)
|
||||
return undefined;
|
||||
return await promptText({ message: RemoveFlowArguments.FlowId.promptMessage });
|
||||
},
|
||||
},
|
||||
]);
|
||||
}
|
||||
//# sourceMappingURL=RemoveFlow.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RemoveFlow.js","sourceRoot":"","sources":["../../src/Verbs/RemoveFlow.ts"],"names":[],"mappings":"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"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
export declare function runAsync(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=Run.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/Verbs/Run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D,wBAAsB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhF"}
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import * as fs from 'fs';
|
||||
import * as http from 'http';
|
||||
import { getSettings } from '../CliSettings.js';
|
||||
import { createPlayUrl } from '../CliUtils.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printError, printInfo, printWarning } from '../Utils/ConsoleOutput.js';
|
||||
import { RunArguments } from './VerbConstants.js';
|
||||
export async function runAsync(argumentProvider) {
|
||||
const settings = getSettings();
|
||||
const { appConfig, fileConfig } = settings;
|
||||
createOptionSchema(argumentProvider, appConfig?.localAppUrl);
|
||||
await argumentProvider.runVerb();
|
||||
if (!appConfig) {
|
||||
throw new Error('power.config.json is required to run an app');
|
||||
}
|
||||
if (!appConfig.environmentId) {
|
||||
throw new Error('Environment ID is required in power.config.json to run an app');
|
||||
}
|
||||
if (!appConfig.region) {
|
||||
appConfig.region = 'prod';
|
||||
}
|
||||
const powerConfigPath = fileConfig.powerConfigPath;
|
||||
const port = await argumentProvider.getOption('port');
|
||||
const appUrl = await argumentProvider.getOption('localAppUrl');
|
||||
// Start the local server
|
||||
await startLocalServer(powerConfigPath, parseInt(port, 10), appConfig, appUrl);
|
||||
}
|
||||
async function startLocalServer(powerConfigPath, port, appConfig, localAppUrl) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const server = http.createServer((req, res) => {
|
||||
res.setHeader('Access-Control-Allow-Origin', '*');
|
||||
res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
|
||||
res.setHeader('Access-Control-Allow-Headers', '*');
|
||||
if (req.method === 'OPTIONS') {
|
||||
res.writeHead(200);
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
try {
|
||||
if (!fs.existsSync(powerConfigPath)) {
|
||||
res.writeHead(404, { 'Content-Type': 'application/json' });
|
||||
res.end(JSON.stringify({ error: 'power.config.json not found' }));
|
||||
return;
|
||||
}
|
||||
const fileContent = fs.readFileSync(powerConfigPath, 'utf8');
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.end(fileContent);
|
||||
}
|
||||
catch (error) {
|
||||
printError(`Error serving power.config.json: ${error.message}`);
|
||||
res.writeHead(500, { 'Content-Type': 'application/json' });
|
||||
res.end(JSON.stringify({ error: 'Internal server error' }));
|
||||
}
|
||||
});
|
||||
server.listen(port, 'localhost', async () => {
|
||||
printInfo(`Your power.config.json to setup connections is available at http://localhost:${port}`);
|
||||
printInfo(`\nYou can play your app locally at ${createPlayUrl(appConfig.region, appConfig.environmentId, 'local', localAppUrl, `http://localhost:${port}`)}`);
|
||||
// Check if localAppUrl is running
|
||||
await checkLocalAppUrl(localAppUrl);
|
||||
});
|
||||
server.on('error', (error) => {
|
||||
printError(`Server error: ${error.message}`);
|
||||
reject(error);
|
||||
});
|
||||
process.on('SIGINT', () => {
|
||||
printInfo('\nShutting down server...');
|
||||
server.close(() => {
|
||||
printInfo('Server stopped');
|
||||
process.exit(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
function createOptionSchema(argumentProvider, localAppUrl) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs.Run.Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs.Run.Examples);
|
||||
argumentProvider.addOptions([
|
||||
{
|
||||
flags: {
|
||||
key: RunArguments.Port.name,
|
||||
alias: RunArguments.Port.alias,
|
||||
},
|
||||
env: RunArguments.Port.envVar,
|
||||
default: RunArguments.Port.initialValue,
|
||||
description: HelpStrings.Verbs.Run.Options.Port,
|
||||
},
|
||||
{
|
||||
flags: {
|
||||
key: RunArguments.LocalAppUrl.name,
|
||||
alias: RunArguments.LocalAppUrl.alias,
|
||||
},
|
||||
env: RunArguments.LocalAppUrl.envVar,
|
||||
default: localAppUrl || RunArguments.LocalAppUrl.initialValue,
|
||||
description: HelpStrings.Verbs.Run.Options.LocalAppUrl,
|
||||
},
|
||||
]);
|
||||
}
|
||||
async function checkLocalAppUrl(localAppUrl) {
|
||||
try {
|
||||
const controller = new AbortController();
|
||||
const timeoutId = setTimeout(() => controller.abort(), 5000);
|
||||
const response = await fetch(localAppUrl, {
|
||||
method: 'HEAD',
|
||||
signal: controller.signal,
|
||||
});
|
||||
clearTimeout(timeoutId);
|
||||
if (response.ok || response.status < 500) {
|
||||
// No-op
|
||||
return;
|
||||
}
|
||||
else {
|
||||
printWarning(`Warning: Your local app running at ${localAppUrl} returned status ${response.status}, which is unexpected. Check your app code for exceptions.`);
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
printWarning(`Warning: Your local app is NOT currently running at ${localAppUrl}`);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=Run.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/Verbs/Run.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import type { ArgumentProvider } from '../ArgumentProvider.js';
|
||||
/**
|
||||
* Modify the user telemetry settings
|
||||
* Does not resolve conflicts between options; Just writes whatever is provided
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export declare function modifyTelemetrySettings(argumentProvider: ArgumentProvider): Promise<void>;
|
||||
//# sourceMappingURL=TelemetrySettings.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"TelemetrySettings.d.ts","sourceRoot":"","sources":["../../src/Verbs/TelemetrySettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC/F"}
|
||||
Generated
Vendored
+158
@@ -0,0 +1,158 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import { CLI_CONFIG_DIRECTORY, USER_SETTINGS_FILE } from '../Constants.js';
|
||||
import { HelpStrings } from '../Constants/HelpStrings.js';
|
||||
import { printError, printKeyValueList, printWarning } from '../Utils/ConsoleOutput.js';
|
||||
/**
|
||||
* Modify the user telemetry settings
|
||||
* Does not resolve conflicts between options; Just writes whatever is provided
|
||||
* @param {ArgumentProvider} argumentProvider
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function modifyTelemetrySettings(argumentProvider) {
|
||||
createOptionSchema(argumentProvider);
|
||||
await argumentProvider.runVerb();
|
||||
// These are switches, so they will be true or undefined
|
||||
const enableTelemetry = await argumentProvider.getOption('enable', true);
|
||||
const disableTelemetry = await argumentProvider.getOption('disable', true);
|
||||
const showSettings = await argumentProvider.getOption('showSettings', true);
|
||||
const consoleOnly = await argumentProvider.getOption('consoleOnly', true);
|
||||
const outputToConsole = await argumentProvider.getOption('outputToConsole', true);
|
||||
const jsonMode = argumentProvider.isJsonMode();
|
||||
// if all are undefined, show current settings as default behavior
|
||||
if (enableTelemetry === undefined &&
|
||||
disableTelemetry === undefined &&
|
||||
consoleOnly === undefined &&
|
||||
outputToConsole === undefined &&
|
||||
showSettings === undefined) {
|
||||
displayUserTelemetrySettings(jsonMode);
|
||||
return;
|
||||
}
|
||||
// if both enable and disable are set, throw an error
|
||||
if (enableTelemetry && disableTelemetry) {
|
||||
throw new Error('Cannot enable and disable telemetry at the same time.');
|
||||
}
|
||||
if (showSettings) {
|
||||
displayUserTelemetrySettings(jsonMode);
|
||||
}
|
||||
else {
|
||||
const telemetryEnabled = enableTelemetry ? true : disableTelemetry ? false : undefined;
|
||||
updateUserTelemetrySettings(telemetryEnabled, consoleOnly, outputToConsole);
|
||||
}
|
||||
}
|
||||
function createOptionSchema(argumentProvider) {
|
||||
argumentProvider.setDescription(HelpStrings.Verbs.Telemetry.Description);
|
||||
argumentProvider.addExamples(HelpStrings.Verbs.Telemetry.Examples);
|
||||
argumentProvider.addSwitches([
|
||||
{
|
||||
flags: {
|
||||
key: 'enable',
|
||||
alias: 'te',
|
||||
},
|
||||
env: 'POWERAPPS_CLI_ENABLE_TELEMETRY',
|
||||
description: HelpStrings.Verbs.Telemetry.Options.Enable,
|
||||
},
|
||||
{
|
||||
flags: {
|
||||
key: 'disable',
|
||||
alias: 'td',
|
||||
},
|
||||
env: 'POWERAPPS_CLI_DISABLE_TELEMETRY',
|
||||
description: HelpStrings.Verbs.Telemetry.Options.Disable,
|
||||
},
|
||||
{
|
||||
flags: {
|
||||
key: 'show-settings',
|
||||
alias: 'ts',
|
||||
},
|
||||
env: 'POWERAPPS_CLI_SHOW_SETTINGS',
|
||||
description: HelpStrings.Verbs.Telemetry.Options.ShowSettings,
|
||||
},
|
||||
]);
|
||||
argumentProvider.addOptions([
|
||||
{
|
||||
flags: {
|
||||
key: 'console-only',
|
||||
alias: 'tc',
|
||||
},
|
||||
env: 'POWERAPPS_CLI_CONSOLE_ONLY',
|
||||
description: HelpStrings.Verbs.Telemetry.Options.ConsoleOnly,
|
||||
},
|
||||
{
|
||||
flags: {
|
||||
key: 'output-to-console',
|
||||
alias: 'to',
|
||||
},
|
||||
env: 'POWERAPPS_CLI_OUTPUT_TO_CONSOLE',
|
||||
description: HelpStrings.Verbs.Telemetry.Options.OutputToConsole,
|
||||
},
|
||||
]);
|
||||
}
|
||||
function displayUserTelemetrySettings(jsonMode) {
|
||||
try {
|
||||
const userSettingsPath = path.join(CLI_CONFIG_DIRECTORY, USER_SETTINGS_FILE);
|
||||
if (fs.existsSync(userSettingsPath)) {
|
||||
const fileContent = fs.readFileSync(userSettingsPath, 'utf-8');
|
||||
const existingSettings = JSON.parse(fileContent);
|
||||
if (jsonMode) {
|
||||
console.log(JSON.stringify(existingSettings, null, 2));
|
||||
return;
|
||||
}
|
||||
printKeyValueList({
|
||||
title: 'Telemetry Settings:',
|
||||
items: [existingSettings],
|
||||
fields: [
|
||||
{ label: 'Enabled', value: (s) => String(s.enabled) },
|
||||
{ label: 'Console Only', value: (s) => String(s.consoleOnly) },
|
||||
{ label: 'Output To Console', value: (s) => String(s.outputToConsole) },
|
||||
],
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (jsonMode) {
|
||||
console.log(JSON.stringify(null));
|
||||
return;
|
||||
}
|
||||
printWarning('No telemetry settings found. Using default settings.');
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
printError(`Failed to display telemetry settings: ${error.message}`);
|
||||
}
|
||||
}
|
||||
function updateUserTelemetrySettings(telemetryEnabled, consoleOnly, outputToConsole) {
|
||||
// CLI_CONFIG_DIRECTORY, USER_SETTINGS_FILE
|
||||
try {
|
||||
if (fs.existsSync(CLI_CONFIG_DIRECTORY) === false) {
|
||||
fs.mkdirSync(CLI_CONFIG_DIRECTORY, { recursive: true });
|
||||
}
|
||||
const userSettingsPath = path.join(CLI_CONFIG_DIRECTORY, USER_SETTINGS_FILE);
|
||||
let userSettings;
|
||||
if (fs.existsSync(userSettingsPath)) {
|
||||
const fileContent = fs.readFileSync(userSettingsPath, 'utf-8');
|
||||
const existingSettings = JSON.parse(fileContent);
|
||||
userSettings = {
|
||||
enabled: telemetryEnabled ?? existingSettings.enabled,
|
||||
consoleOnly: consoleOnly !== undefined ? consoleOnly === 'true' : existingSettings.consoleOnly,
|
||||
outputToConsole: outputToConsole !== undefined
|
||||
? outputToConsole === 'true'
|
||||
: existingSettings.outputToConsole,
|
||||
};
|
||||
}
|
||||
else {
|
||||
userSettings = {
|
||||
enabled: telemetryEnabled ?? true,
|
||||
consoleOnly: consoleOnly !== undefined ? consoleOnly === 'true' : false,
|
||||
outputToConsole: outputToConsole !== undefined ? outputToConsole === 'true' : false,
|
||||
};
|
||||
}
|
||||
fs.writeFileSync(userSettingsPath, JSON.stringify(userSettings, null, 2), 'utf-8');
|
||||
}
|
||||
catch (error) {
|
||||
throw new Error(`Failed to update telemetry settings: ${error.message}`);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=TelemetrySettings.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"TelemetrySettings.js","sourceRoot":"","sources":["../../src/Verbs/TelemetrySettings.ts"],"names":[],"mappings":"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"}
|
||||
Generated
Vendored
+219
@@ -0,0 +1,219 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
/**
|
||||
* Argument definitions for CLI verbs.
|
||||
*/
|
||||
export declare const SharedArguments: {
|
||||
Help: {
|
||||
name: string;
|
||||
alias: string;
|
||||
};
|
||||
ApiId: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
SolutionId: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
OrgUrl: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
ConnectionId: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
Dataset: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
SqlStoredProcedure: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
ResourceName: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
Search: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const AddDataSourceArguments: {
|
||||
ConnectionRef: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const DeleteDataSourceArguments: {
|
||||
DataSourceName: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const GlobalArguments: {
|
||||
EnvironmentId: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
Cloud: {
|
||||
name: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const InitArguments: {
|
||||
DisplayName: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
Description: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
BuildPath: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
initialValue: string;
|
||||
};
|
||||
FileEntryPoint: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
initialValue: string;
|
||||
};
|
||||
AppUrl: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
initialValue: string;
|
||||
};
|
||||
LogoPath: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
initialValue: string;
|
||||
};
|
||||
};
|
||||
export declare const RunArguments: {
|
||||
Port: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
initialValue: string;
|
||||
};
|
||||
LocalAppUrl: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
initialValue: string;
|
||||
};
|
||||
};
|
||||
export declare const ListConnectionsArguments: {
|
||||
Search: {
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
name: string;
|
||||
alias: string;
|
||||
};
|
||||
};
|
||||
export declare const ListFlowsArguments: {
|
||||
Search: {
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
name: string;
|
||||
alias: string;
|
||||
};
|
||||
};
|
||||
export declare const AddFlowArguments: {
|
||||
FlowId: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const RemoveFlowArguments: {
|
||||
FlowDataSourceName: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
FlowId: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const FindDataverseApiArguments: {
|
||||
SearchTerm: {
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
name: string;
|
||||
alias: string;
|
||||
};
|
||||
};
|
||||
export declare const RefreshDataSourceArguments: {
|
||||
DataSourceName: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const AddDataverseApiArguments: {
|
||||
ApiName: {
|
||||
name: string;
|
||||
key: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
export declare const CreateConnectionArguments: {
|
||||
DisplayName: {
|
||||
name: string;
|
||||
alias: string;
|
||||
promptMessage: string;
|
||||
envVar: string;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=VerbConstants.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"VerbConstants.d.ts","sourceRoot":"","sources":["../../src/Verbs/VerbConstants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD3B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;CAY3B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAexB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;CAOpC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;CAM9B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;CAO5B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAa/B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;CAMrC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;CAOtC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;CAQpC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC"}
|
||||
Generated
Vendored
+216
@@ -0,0 +1,216 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
/**
|
||||
* Argument definitions for CLI verbs.
|
||||
*/
|
||||
export const SharedArguments = {
|
||||
Help: {
|
||||
name: 'help',
|
||||
alias: 'h',
|
||||
},
|
||||
ApiId: {
|
||||
name: 'api-id',
|
||||
alias: 'a',
|
||||
promptMessage: 'Please provide the API ID:',
|
||||
envVar: 'API_ID',
|
||||
},
|
||||
SolutionId: {
|
||||
name: 'solution-id',
|
||||
alias: 's',
|
||||
promptMessage: 'Please provide the Solution ID:',
|
||||
envVar: 'SOLUTION_ID',
|
||||
},
|
||||
OrgUrl: {
|
||||
name: 'org-url',
|
||||
alias: 'u',
|
||||
promptMessage: 'Please provide the organization URL:',
|
||||
envVar: 'ENV_URL',
|
||||
},
|
||||
ConnectionId: {
|
||||
name: 'connection-id',
|
||||
alias: 'c',
|
||||
promptMessage: 'Please provide the Connection ID:',
|
||||
envVar: 'CONNECTION_ID',
|
||||
},
|
||||
Dataset: {
|
||||
name: 'dataset',
|
||||
alias: 'd',
|
||||
promptMessage: 'Please provide the dataset:',
|
||||
envVar: 'DATASET',
|
||||
},
|
||||
SqlStoredProcedure: {
|
||||
name: 'sql-stored-procedure',
|
||||
alias: 'sp',
|
||||
promptMessage: 'Please provide the SQL stored procedure name:',
|
||||
envVar: 'SQL_STORED_PROCEDURE',
|
||||
},
|
||||
ResourceName: {
|
||||
name: 'resource-name',
|
||||
alias: 't',
|
||||
promptMessage: 'Please provide the resource name:',
|
||||
envVar: 'TABLE',
|
||||
},
|
||||
Search: {
|
||||
name: 'search',
|
||||
alias: 's',
|
||||
promptMessage: 'Please provide a search term:',
|
||||
envVar: 'SEARCH_TERM',
|
||||
},
|
||||
};
|
||||
export const AddDataSourceArguments = {
|
||||
ConnectionRef: {
|
||||
name: 'connection-ref',
|
||||
alias: 'cr',
|
||||
promptMessage: 'Please provide the Connection Reference:',
|
||||
envVar: 'CONNECTION_REF',
|
||||
},
|
||||
};
|
||||
export const DeleteDataSourceArguments = {
|
||||
DataSourceName: {
|
||||
name: 'data-source-name',
|
||||
alias: 'n',
|
||||
promptMessage: 'Please provide the data source or table name:',
|
||||
envVar: 'DATA_SOURCE_NAME',
|
||||
},
|
||||
};
|
||||
export const GlobalArguments = {
|
||||
EnvironmentId: {
|
||||
name: 'environment-id',
|
||||
alias: 'e',
|
||||
promptMessage: 'Please provide the environment ID:',
|
||||
envVar: 'ENVIRONMENT_ID',
|
||||
},
|
||||
Cloud: {
|
||||
name: 'cloud',
|
||||
promptMessage: 'Please select the cloud instance:',
|
||||
envVar: 'CLOUD_INSTANCE',
|
||||
},
|
||||
};
|
||||
export const InitArguments = {
|
||||
DisplayName: {
|
||||
name: 'display-name',
|
||||
alias: 'n',
|
||||
promptMessage: 'Please provide the display name for the app:',
|
||||
envVar: 'APP_DISPLAY_NAME',
|
||||
},
|
||||
Description: {
|
||||
name: 'description',
|
||||
alias: 'd',
|
||||
promptMessage: 'Please provide a description for the app:',
|
||||
envVar: 'APP_DESCRIPTION',
|
||||
},
|
||||
BuildPath: {
|
||||
name: 'build-path',
|
||||
alias: 'b',
|
||||
promptMessage: 'Please provide the build path for the app:',
|
||||
envVar: 'APP_BUILD_PATH',
|
||||
initialValue: './dist',
|
||||
},
|
||||
FileEntryPoint: {
|
||||
name: 'file-entry-point',
|
||||
alias: 'f',
|
||||
promptMessage: 'Please provide the file entry point for the app:',
|
||||
envVar: 'APP_FILE_ENTRY_POINT',
|
||||
initialValue: 'index.html',
|
||||
},
|
||||
AppUrl: {
|
||||
name: 'app-url',
|
||||
alias: 'a',
|
||||
promptMessage: 'Please provide the local app URL:',
|
||||
envVar: 'APP_URL',
|
||||
initialValue: 'http://localhost:3000',
|
||||
},
|
||||
LogoPath: {
|
||||
name: 'logo-path',
|
||||
alias: 'l',
|
||||
promptMessage: 'Please provide the logo path for the app:',
|
||||
envVar: 'APP_LOGO_PATH',
|
||||
initialValue: 'Default',
|
||||
},
|
||||
};
|
||||
export const RunArguments = {
|
||||
Port: {
|
||||
name: 'port',
|
||||
alias: 'p',
|
||||
promptMessage: 'Please provide the port number:',
|
||||
envVar: 'PORT',
|
||||
initialValue: '8080',
|
||||
},
|
||||
LocalAppUrl: {
|
||||
name: 'local-app-url',
|
||||
alias: 'l',
|
||||
promptMessage: 'Please provide the local app URL:',
|
||||
envVar: 'LOCAL_APP_URL',
|
||||
initialValue: 'http://localhost:3000',
|
||||
},
|
||||
};
|
||||
export const ListConnectionsArguments = {
|
||||
Search: {
|
||||
...SharedArguments.Search,
|
||||
promptMessage: 'Please provide a search term to filter connections by display name or connector ID:',
|
||||
envVar: 'CONNECTION_SEARCH',
|
||||
},
|
||||
};
|
||||
export const ListFlowsArguments = {
|
||||
Search: {
|
||||
...SharedArguments.Search,
|
||||
promptMessage: 'Please provide a search term to filter flows by name:',
|
||||
envVar: 'FLOW_SEARCH',
|
||||
},
|
||||
};
|
||||
export const AddFlowArguments = {
|
||||
FlowId: {
|
||||
name: 'flow-id',
|
||||
alias: 'f',
|
||||
promptMessage: 'Please provide the flow ID:',
|
||||
envVar: 'FLOW_ID',
|
||||
},
|
||||
};
|
||||
export const RemoveFlowArguments = {
|
||||
FlowDataSourceName: {
|
||||
name: 'flow-name',
|
||||
alias: 'n',
|
||||
promptMessage: 'Please provide the flow data source name:',
|
||||
envVar: 'FLOW_DATA_SOURCE_NAME',
|
||||
},
|
||||
FlowId: {
|
||||
name: 'flow-id',
|
||||
alias: 'f',
|
||||
promptMessage: 'Please provide the flow ID:',
|
||||
envVar: 'REMOVE_FLOW_ID',
|
||||
},
|
||||
};
|
||||
export const FindDataverseApiArguments = {
|
||||
SearchTerm: {
|
||||
...SharedArguments.Search,
|
||||
promptMessage: 'Please provide a search term to filter Dataverse operations by name:',
|
||||
envVar: 'DATAVERSE_API_SEARCH_TERM',
|
||||
},
|
||||
};
|
||||
export const RefreshDataSourceArguments = {
|
||||
DataSourceName: {
|
||||
name: 'data-source-name',
|
||||
alias: 'n',
|
||||
promptMessage: 'Please provide the data source name to refresh:',
|
||||
envVar: 'DATA_SOURCE_NAME',
|
||||
},
|
||||
};
|
||||
export const AddDataverseApiArguments = {
|
||||
ApiName: {
|
||||
name: 'api-name',
|
||||
key: 'apiName',
|
||||
alias: 'n',
|
||||
promptMessage: 'Please provide the Dataverse API name:',
|
||||
envVar: 'DATAVERSE_API_NAME',
|
||||
},
|
||||
};
|
||||
export const CreateConnectionArguments = {
|
||||
DisplayName: {
|
||||
name: 'display-name',
|
||||
alias: 'n',
|
||||
promptMessage: 'Please provide a display name for the new connection:',
|
||||
envVar: 'CONNECTION_DISPLAY_NAME',
|
||||
},
|
||||
};
|
||||
//# sourceMappingURL=VerbConstants.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"VerbConstants.js","sourceRoot":"","sources":["../../src/Verbs/VerbConstants.ts"],"names":[],"mappings":"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"}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
export * from './AddDataSource.js';
|
||||
export * from './AddDataverseApi.js';
|
||||
export * from './AddFlow.js';
|
||||
export * from './CreateConnection.js';
|
||||
export * from './DeleteDataSource.js';
|
||||
export * from './FindDataverseApi.js';
|
||||
export * from './Init.js';
|
||||
export * from './ListCodeApps.js';
|
||||
export * from './ListConnectionReferences.js';
|
||||
export * from './ListConnections.js';
|
||||
export * from './ListDatasets.js';
|
||||
export * from './ListEnvironmentVariables.js';
|
||||
export * from './ListFlows.js';
|
||||
export * from './ListSqlStoredProcedures.js';
|
||||
export * from './ListTables.js';
|
||||
export * from './Logout.js';
|
||||
export * from './Push.js';
|
||||
export * from './RefreshDataSource.js';
|
||||
export * from './RemoveFlow.js';
|
||||
export * from './Run.js';
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Verbs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC"}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
/*!
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*/
|
||||
export * from './AddDataSource.js';
|
||||
export * from './AddDataverseApi.js';
|
||||
export * from './AddFlow.js';
|
||||
export * from './CreateConnection.js';
|
||||
export * from './DeleteDataSource.js';
|
||||
export * from './FindDataverseApi.js';
|
||||
export * from './Init.js';
|
||||
export * from './ListCodeApps.js';
|
||||
export * from './ListConnectionReferences.js';
|
||||
export * from './ListConnections.js';
|
||||
export * from './ListDatasets.js';
|
||||
export * from './ListEnvironmentVariables.js';
|
||||
export * from './ListFlows.js';
|
||||
export * from './ListSqlStoredProcedures.js';
|
||||
export * from './ListTables.js';
|
||||
export * from './Logout.js';
|
||||
export * from './Push.js';
|
||||
export * from './RefreshDataSource.js';
|
||||
export * from './RemoveFlow.js';
|
||||
export * from './Run.js';
|
||||
//# sourceMappingURL=index.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Verbs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC"}
|
||||
Reference in New Issue
Block a user