@mcp-consultant-tools/powerplatform-customization 28.0.0-beta.7 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/PowerPlatformService.d.ts +14 -0
- package/build/PowerPlatformService.d.ts.map +1 -1
- package/build/PowerPlatformService.js +64 -0
- package/build/PowerPlatformService.js.map +1 -1
- package/build/cli/commands/app-commands.d.ts +7 -0
- package/build/cli/commands/app-commands.d.ts.map +1 -0
- package/build/cli/commands/app-commands.js +49 -0
- package/build/cli/commands/app-commands.js.map +1 -0
- package/build/cli/commands/attribute-commands.d.ts +7 -0
- package/build/cli/commands/attribute-commands.d.ts.map +1 -0
- package/build/cli/commands/attribute-commands.js +208 -0
- package/build/cli/commands/attribute-commands.js.map +1 -0
- package/build/cli/commands/entity-commands.d.ts +7 -0
- package/build/cli/commands/entity-commands.d.ts.map +1 -0
- package/build/cli/commands/entity-commands.js +134 -0
- package/build/cli/commands/entity-commands.js.map +1 -0
- package/build/cli/commands/flow-commands.d.ts +8 -0
- package/build/cli/commands/flow-commands.d.ts.map +1 -0
- package/build/cli/commands/flow-commands.js +209 -0
- package/build/cli/commands/flow-commands.js.map +1 -0
- package/build/cli/commands/form-commands.d.ts +7 -0
- package/build/cli/commands/form-commands.d.ts.map +1 -0
- package/build/cli/commands/form-commands.js +95 -0
- package/build/cli/commands/form-commands.js.map +1 -0
- package/build/cli/commands/index.d.ts +21 -0
- package/build/cli/commands/index.d.ts.map +1 -0
- package/build/cli/commands/index.js +48 -0
- package/build/cli/commands/index.js.map +1 -0
- package/build/cli/commands/integration-commands.d.ts +7 -0
- package/build/cli/commands/integration-commands.d.ts.map +1 -0
- package/build/cli/commands/integration-commands.js +100 -0
- package/build/cli/commands/integration-commands.js.map +1 -0
- package/build/cli/commands/optionset-commands.d.ts +7 -0
- package/build/cli/commands/optionset-commands.d.ts.map +1 -0
- package/build/cli/commands/optionset-commands.js +133 -0
- package/build/cli/commands/optionset-commands.js.map +1 -0
- package/build/cli/commands/plugin-commands.d.ts +8 -0
- package/build/cli/commands/plugin-commands.d.ts.map +1 -0
- package/build/cli/commands/plugin-commands.js +278 -0
- package/build/cli/commands/plugin-commands.js.map +1 -0
- package/build/cli/commands/relationship-commands.d.ts +7 -0
- package/build/cli/commands/relationship-commands.d.ts.map +1 -0
- package/build/cli/commands/relationship-commands.js +102 -0
- package/build/cli/commands/relationship-commands.js.map +1 -0
- package/build/cli/commands/solution-commands.d.ts +8 -0
- package/build/cli/commands/solution-commands.d.ts.map +1 -0
- package/build/cli/commands/solution-commands.js +132 -0
- package/build/cli/commands/solution-commands.js.map +1 -0
- package/build/cli/commands/view-commands.d.ts +7 -0
- package/build/cli/commands/view-commands.d.ts.map +1 -0
- package/build/cli/commands/view-commands.js +94 -0
- package/build/cli/commands/view-commands.js.map +1 -0
- package/build/cli/commands/webhook-commands.d.ts +7 -0
- package/build/cli/commands/webhook-commands.d.ts.map +1 -0
- package/build/cli/commands/webhook-commands.js +46 -0
- package/build/cli/commands/webhook-commands.js.map +1 -0
- package/build/cli/commands/webresource-commands.d.ts +7 -0
- package/build/cli/commands/webresource-commands.d.ts.map +1 -0
- package/build/cli/commands/webresource-commands.js +96 -0
- package/build/cli/commands/webresource-commands.js.map +1 -0
- package/build/cli/commands/workflow-commands.d.ts +8 -0
- package/build/cli/commands/workflow-commands.d.ts.map +1 -0
- package/build/cli/commands/workflow-commands.js +107 -0
- package/build/cli/commands/workflow-commands.js.map +1 -0
- package/build/cli/output.d.ts +20 -0
- package/build/cli/output.d.ts.map +1 -0
- package/build/cli/output.js +45 -0
- package/build/cli/output.js.map +1 -0
- package/build/cli.d.ts +9 -0
- package/build/cli.d.ts.map +1 -0
- package/build/cli.js +27 -0
- package/build/cli.js.map +1 -0
- package/build/context-factory.d.ts +8 -0
- package/build/context-factory.d.ts.map +1 -0
- package/build/context-factory.js +36 -0
- package/build/context-factory.js.map +1 -0
- package/build/index.js +0 -0
- package/build/tool-examples.d.ts +4 -0
- package/build/tool-examples.d.ts.map +1 -1
- package/build/tool-examples.js +7 -0
- package/build/tool-examples.js.map +1 -1
- package/build/tools/app-endpoint-tools.d.ts.map +1 -1
- package/build/tools/app-endpoint-tools.js +9 -0
- package/build/tools/app-endpoint-tools.js.map +1 -1
- package/build/tools/entity-tools.d.ts.map +1 -1
- package/build/tools/entity-tools.js +18 -1
- package/build/tools/entity-tools.js.map +1 -1
- package/build/tools/index.js +3 -3
- package/build/tools/web-resource-tools.d.ts.map +1 -1
- package/build/tools/web-resource-tools.js +36 -3
- package/build/tools/web-resource-tools.js.map +1 -1
- package/package.json +6 -4
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { outputResult, handleCliError } from '../output.js';
|
|
2
|
+
export function registerRelationshipCommands(program, ctx) {
|
|
3
|
+
const relationship = program.command('relationship').description('Entity relationship operations');
|
|
4
|
+
relationship
|
|
5
|
+
.command('create-o2m')
|
|
6
|
+
.description('Create a one-to-many (1:N) relationship between two entities')
|
|
7
|
+
.requiredOption('--referenced-entity <name>', 'The parent (one side) entity logical name')
|
|
8
|
+
.requiredOption('--referencing-entity <name>', 'The child (many side) entity logical name')
|
|
9
|
+
.requiredOption('--schema-name <name>', 'Relationship schema name (e.g., si_account_application)')
|
|
10
|
+
.requiredOption('--lookup-attr-schema <name>', 'Lookup attribute schema name on child entity')
|
|
11
|
+
.requiredOption('--lookup-attr-display <name>', 'Lookup attribute display name')
|
|
12
|
+
.option('--solution <name>', 'Solution unique name')
|
|
13
|
+
.action(async (opts) => {
|
|
14
|
+
try {
|
|
15
|
+
const service = ctx.pp;
|
|
16
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
17
|
+
const relationshipDefinition = {
|
|
18
|
+
"@odata.type": "Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata",
|
|
19
|
+
SchemaName: opts.schemaName,
|
|
20
|
+
ReferencedEntity: opts.referencedEntity,
|
|
21
|
+
ReferencingEntity: opts.referencingEntity,
|
|
22
|
+
Lookup: {
|
|
23
|
+
"@odata.type": "Microsoft.Dynamics.CRM.LookupAttributeMetadata",
|
|
24
|
+
SchemaName: opts.lookupAttrSchema,
|
|
25
|
+
DisplayName: {
|
|
26
|
+
"@odata.type": "Microsoft.Dynamics.CRM.Label",
|
|
27
|
+
LocalizedLabels: [{ "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", Label: opts.lookupAttrDisplay, LanguageCode: 1033 }]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
32
|
+
await service.createOneToManyRelationship(relationshipDefinition, solution);
|
|
33
|
+
outputResult({ success: true, schemaName: opts.schemaName, type: '1:N' });
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
handleCliError(error);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
relationship
|
|
40
|
+
.command('create-m2m')
|
|
41
|
+
.description('Create a many-to-many (N:N) relationship between two entities')
|
|
42
|
+
.requiredOption('--entity1 <name>', 'First entity logical name')
|
|
43
|
+
.requiredOption('--entity2 <name>', 'Second entity logical name')
|
|
44
|
+
.requiredOption('--schema-name <name>', 'Relationship schema name')
|
|
45
|
+
.requiredOption('--intersect-entity-name <name>', 'Intersect entity name')
|
|
46
|
+
.option('--solution <name>', 'Solution unique name')
|
|
47
|
+
.action(async (opts) => {
|
|
48
|
+
try {
|
|
49
|
+
const service = ctx.pp;
|
|
50
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
51
|
+
const relationshipDefinition = {
|
|
52
|
+
"@odata.type": "Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata",
|
|
53
|
+
SchemaName: opts.schemaName,
|
|
54
|
+
Entity1LogicalName: opts.entity1,
|
|
55
|
+
Entity2LogicalName: opts.entity2,
|
|
56
|
+
IntersectEntityName: opts.intersectEntityName
|
|
57
|
+
};
|
|
58
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
59
|
+
await service.createManyToManyRelationship(relationshipDefinition, solution);
|
|
60
|
+
outputResult({ success: true, schemaName: opts.schemaName, type: 'N:N' });
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
handleCliError(error);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
relationship
|
|
67
|
+
.command('delete')
|
|
68
|
+
.description('Delete a relationship (removes lookup column and all association data)')
|
|
69
|
+
.requiredOption('--metadata-id <guid>', 'Relationship MetadataId (GUID)')
|
|
70
|
+
.action(async (opts) => {
|
|
71
|
+
try {
|
|
72
|
+
const service = ctx.pp;
|
|
73
|
+
await service.deleteRelationship(opts.metadataId);
|
|
74
|
+
outputResult({ success: true, deleted: opts.metadataId });
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
handleCliError(error);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
relationship
|
|
81
|
+
.command('update')
|
|
82
|
+
.description('Update relationship navigation property names')
|
|
83
|
+
.requiredOption('--metadata-id <guid>', 'Relationship MetadataId (GUID)')
|
|
84
|
+
.option('--referenced-nav-property <name>', 'Referenced entity navigation property name')
|
|
85
|
+
.option('--referencing-nav-property <name>', 'Referencing entity navigation property name')
|
|
86
|
+
.action(async (opts) => {
|
|
87
|
+
try {
|
|
88
|
+
const service = ctx.pp;
|
|
89
|
+
const updates = {};
|
|
90
|
+
if (opts.referencedNavProperty)
|
|
91
|
+
updates.ReferencedEntityNavigationPropertyName = opts.referencedNavProperty;
|
|
92
|
+
if (opts.referencingNavProperty)
|
|
93
|
+
updates.ReferencingEntityNavigationPropertyName = opts.referencingNavProperty;
|
|
94
|
+
await service.updateRelationship(opts.metadataId, updates);
|
|
95
|
+
outputResult({ success: true, metadataId: opts.metadataId });
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
handleCliError(error);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=relationship-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/relationship-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solution CLI commands: create-publisher, create, components, add-component,
|
|
3
|
+
* remove-component, export, import, publish-all
|
|
4
|
+
*/
|
|
5
|
+
import type { Command } from 'commander';
|
|
6
|
+
import type { ServiceContext } from '../../context-factory.js';
|
|
7
|
+
export declare function registerSolutionCommands(program: Command, ctx: ServiceContext): void;
|
|
8
|
+
//# sourceMappingURL=solution-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solution-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/solution-commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA8IpF"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { outputResult, handleCliError } from '../output.js';
|
|
2
|
+
export function registerSolutionCommands(program, ctx) {
|
|
3
|
+
const solution = program.command('solution').description('Solution and publisher operations');
|
|
4
|
+
solution
|
|
5
|
+
.command('create-publisher')
|
|
6
|
+
.description('Create a new solution publisher')
|
|
7
|
+
.requiredOption('--unique-name <name>', 'Publisher unique name (lowercase, no spaces)')
|
|
8
|
+
.requiredOption('--friendly-name <name>', 'Publisher display name')
|
|
9
|
+
.requiredOption('--prefix <prefix>', 'Customization prefix (2-8 lowercase letters)')
|
|
10
|
+
.requiredOption('--option-value-prefix <n>', 'Option value prefix (5-digit number)', parseInt)
|
|
11
|
+
.option('--description <desc>', 'Publisher description')
|
|
12
|
+
.action(async (opts) => {
|
|
13
|
+
try {
|
|
14
|
+
const service = ctx.pp;
|
|
15
|
+
const result = await service.createPublisher(opts.uniqueName, opts.friendlyName, opts.prefix, opts.optionValuePrefix, opts.description);
|
|
16
|
+
outputResult(result);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
handleCliError(error);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
solution
|
|
23
|
+
.command('create')
|
|
24
|
+
.description('Create a new unmanaged solution')
|
|
25
|
+
.requiredOption('--unique-name <name>', 'Solution unique name (no spaces)')
|
|
26
|
+
.requiredOption('--friendly-name <name>', 'Solution display name')
|
|
27
|
+
.requiredOption('--version <ver>', 'Version in major.minor.build.revision format')
|
|
28
|
+
.requiredOption('--publisher-id <guid>', 'Publisher ID (GUID)')
|
|
29
|
+
.option('--description <desc>', 'Solution description')
|
|
30
|
+
.action(async (opts) => {
|
|
31
|
+
try {
|
|
32
|
+
const service = ctx.pp;
|
|
33
|
+
const result = await service.createSolution(opts.uniqueName, opts.friendlyName, opts.version, opts.publisherId, opts.description);
|
|
34
|
+
outputResult(result);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
handleCliError(error);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
solution
|
|
41
|
+
.command('components')
|
|
42
|
+
.description('List all components in a solution')
|
|
43
|
+
.requiredOption('--solution-name <name>', 'Solution unique name')
|
|
44
|
+
.action(async (opts) => {
|
|
45
|
+
try {
|
|
46
|
+
const service = ctx.pp;
|
|
47
|
+
const result = await service.getSolutionComponents(opts.solutionName);
|
|
48
|
+
outputResult(result);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
handleCliError(error);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
solution
|
|
55
|
+
.command('add-component')
|
|
56
|
+
.description('Add a component to a solution')
|
|
57
|
+
.requiredOption('--solution-name <name>', 'Solution unique name')
|
|
58
|
+
.requiredOption('--component-id <guid>', 'Component ID (GUID or MetadataId)')
|
|
59
|
+
.requiredOption('--component-type <n>', 'Component type number (1=Entity, 2=Attribute, etc.)', parseInt)
|
|
60
|
+
.option('--add-required', 'Add required components (default: true)', true)
|
|
61
|
+
.action(async (opts) => {
|
|
62
|
+
try {
|
|
63
|
+
const service = ctx.pp;
|
|
64
|
+
await service.addComponentToSolution(opts.solutionName, opts.componentId, opts.componentType, opts.addRequired);
|
|
65
|
+
outputResult({ success: true, solutionName: opts.solutionName, componentId: opts.componentId, componentType: opts.componentType });
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
handleCliError(error);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
solution
|
|
72
|
+
.command('remove-component')
|
|
73
|
+
.description('Remove a component from a solution')
|
|
74
|
+
.requiredOption('--solution-name <name>', 'Solution unique name')
|
|
75
|
+
.requiredOption('--component-id <guid>', 'Component ID (GUID or MetadataId)')
|
|
76
|
+
.requiredOption('--component-type <n>', 'Component type number', parseInt)
|
|
77
|
+
.action(async (opts) => {
|
|
78
|
+
try {
|
|
79
|
+
const service = ctx.pp;
|
|
80
|
+
await service.removeComponentFromSolution(opts.solutionName, opts.componentId, opts.componentType);
|
|
81
|
+
outputResult({ success: true, solutionName: opts.solutionName, removed: opts.componentId });
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
handleCliError(error);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
solution
|
|
88
|
+
.command('export')
|
|
89
|
+
.description('Export a solution as base64-encoded zip')
|
|
90
|
+
.requiredOption('--solution-name <name>', 'Solution unique name')
|
|
91
|
+
.option('--managed', 'Export as managed solution', false)
|
|
92
|
+
.action(async (opts) => {
|
|
93
|
+
try {
|
|
94
|
+
const service = ctx.pp;
|
|
95
|
+
const result = await service.exportSolution(opts.solutionName, opts.managed ?? false);
|
|
96
|
+
outputResult(result);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
handleCliError(error);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
solution
|
|
103
|
+
.command('import')
|
|
104
|
+
.description('Import a solution from base64-encoded zip')
|
|
105
|
+
.requiredOption('--customization-file <base64>', 'Base64-encoded solution zip file')
|
|
106
|
+
.option('--publish-workflows', 'Publish workflows after import (default: true)', true)
|
|
107
|
+
.option('--overwrite', 'Overwrite unmanaged customizations', false)
|
|
108
|
+
.action(async (opts) => {
|
|
109
|
+
try {
|
|
110
|
+
const service = ctx.pp;
|
|
111
|
+
const result = await service.importSolution(opts.customizationFile, opts.overwrite ?? false, opts.publishWorkflows ?? true);
|
|
112
|
+
outputResult(result);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
handleCliError(error);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
solution
|
|
119
|
+
.command('publish-all')
|
|
120
|
+
.description('Publish all pending customizations')
|
|
121
|
+
.action(async () => {
|
|
122
|
+
try {
|
|
123
|
+
const service = ctx.pp;
|
|
124
|
+
await service.publishAllCustomizations();
|
|
125
|
+
outputResult({ success: true, message: 'All customizations published' });
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
handleCliError(error);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=solution-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solution-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/solution-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View CLI commands: create, update, delete, set-default
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../context-factory.js';
|
|
6
|
+
export declare function registerViewCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=view-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/view-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA0FhF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { outputResult, handleCliError } from '../output.js';
|
|
2
|
+
export function registerViewCommands(program, ctx) {
|
|
3
|
+
const view = program.command('view').description('View operations');
|
|
4
|
+
view
|
|
5
|
+
.command('create')
|
|
6
|
+
.description('Create a new view for an entity using FetchXML')
|
|
7
|
+
.requiredOption('--name <name>', 'View name')
|
|
8
|
+
.requiredOption('--entity <name>', 'Entity logical name')
|
|
9
|
+
.requiredOption('--fetch-xml <xml>', 'FetchXML query defining the data filter')
|
|
10
|
+
.requiredOption('--layout-xml <xml>', 'Layout XML defining visible columns and widths')
|
|
11
|
+
.option('--query-type <n>', 'Query type (default: 0 for public view)', parseInt)
|
|
12
|
+
.option('--is-default', 'Set as default view', false)
|
|
13
|
+
.option('--description <desc>', 'View description')
|
|
14
|
+
.option('--solution <name>', 'Solution unique name')
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
try {
|
|
17
|
+
const service = ctx.pp;
|
|
18
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
19
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
20
|
+
const result = await service.createView(opts.name, opts.entity, opts.fetchXml, opts.layoutXml, {
|
|
21
|
+
queryType: opts.queryType || 0,
|
|
22
|
+
isDefault: opts.isDefault || false,
|
|
23
|
+
description: opts.description,
|
|
24
|
+
solutionUniqueName: solution
|
|
25
|
+
});
|
|
26
|
+
outputResult(result);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
handleCliError(error);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
view
|
|
33
|
+
.command('update')
|
|
34
|
+
.description('Update an existing view')
|
|
35
|
+
.requiredOption('--view-id <guid>', 'View ID (GUID)')
|
|
36
|
+
.option('--name <name>', 'New view name')
|
|
37
|
+
.option('--fetch-xml <xml>', 'New FetchXML query')
|
|
38
|
+
.option('--layout-xml <xml>', 'New layout XML')
|
|
39
|
+
.option('--is-default', 'Set as default view')
|
|
40
|
+
.option('--description <desc>', 'New description')
|
|
41
|
+
.option('--solution <name>', 'Solution unique name')
|
|
42
|
+
.action(async (opts) => {
|
|
43
|
+
try {
|
|
44
|
+
const service = ctx.pp;
|
|
45
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
46
|
+
const updates = {};
|
|
47
|
+
if (opts.name)
|
|
48
|
+
updates.name = opts.name;
|
|
49
|
+
if (opts.fetchXml)
|
|
50
|
+
updates.fetchxml = opts.fetchXml;
|
|
51
|
+
if (opts.layoutXml)
|
|
52
|
+
updates.layoutxml = opts.layoutXml;
|
|
53
|
+
if (opts.isDefault !== undefined)
|
|
54
|
+
updates.isdefault = opts.isDefault;
|
|
55
|
+
if (opts.description)
|
|
56
|
+
updates.description = opts.description;
|
|
57
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
58
|
+
await service.updateView(opts.viewId, updates, solution);
|
|
59
|
+
outputResult({ success: true, viewId: opts.viewId });
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
handleCliError(error);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
view
|
|
66
|
+
.command('delete')
|
|
67
|
+
.description('Delete a view')
|
|
68
|
+
.requiredOption('--view-id <guid>', 'View ID (GUID)')
|
|
69
|
+
.action(async (opts) => {
|
|
70
|
+
try {
|
|
71
|
+
const service = ctx.pp;
|
|
72
|
+
await service.deleteView(opts.viewId);
|
|
73
|
+
outputResult({ success: true, deleted: opts.viewId });
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
handleCliError(error);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
view
|
|
80
|
+
.command('set-default')
|
|
81
|
+
.description('Set a view as the default view for its entity')
|
|
82
|
+
.requiredOption('--view-id <guid>', 'View ID (GUID)')
|
|
83
|
+
.action(async (opts) => {
|
|
84
|
+
try {
|
|
85
|
+
const service = ctx.pp;
|
|
86
|
+
await service.setDefaultView(opts.viewId);
|
|
87
|
+
outputResult({ success: true, defaultView: opts.viewId });
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
handleCliError(error);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=view-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/view-commands.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,GAAmB;IAExE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEpE,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC;SAC5C,cAAc,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;SACxD,cAAc,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;SAC9E,cAAc,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;SACtF,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,EAAE,QAAe,CAAC;SACtF,MAAM,CAAC,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC;SACpD,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,8BAA8B,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC;YACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,8BAA8B,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACrC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EACrD;gBACE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;gBAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;gBAClC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,QAAQ;aAC7B,CACF,CAAC;YACF,YAAY,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yBAAyB,CAAC;SACtC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACjD,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;SAC9C,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,8BAA8B,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC;YACxF,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpD,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACrE,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,8BAA8B,CAAC;YACjE,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,eAAe,CAAC;SAC5B,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook CLI commands: register
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../context-factory.js';
|
|
6
|
+
export declare function registerWebhookCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=webhook-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/webhook-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA8CnF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { outputResult, handleCliError } from '../output.js';
|
|
2
|
+
export function registerWebhookCommands(program, ctx) {
|
|
3
|
+
const webhook = program.command('webhook').description('Webhook operations');
|
|
4
|
+
webhook
|
|
5
|
+
.command('register')
|
|
6
|
+
.description('Register a webhook endpoint with an SDK message processing step in one operation')
|
|
7
|
+
.requiredOption('--name <name>', 'Friendly name for the webhook')
|
|
8
|
+
.requiredOption('--url <url>', 'Webhook URL (must be HTTPS)')
|
|
9
|
+
.requiredOption('--auth-type <type>', 'Auth type: Anonymous, HttpHeader, HttpQueryString, WebKey')
|
|
10
|
+
.requiredOption('--entity-name <name>', 'Entity logical name to trigger on')
|
|
11
|
+
.requiredOption('--message-name <name>', 'SDK message: Create, Update, Delete, etc.')
|
|
12
|
+
.option('--auth-value <value>', 'Authentication value (API key, token)')
|
|
13
|
+
.option('--stage <stage>', 'Execution stage: PreValidation, PreOperation, PostOperation (default: PostOperation)')
|
|
14
|
+
.option('--execution-mode <mode>', 'Execution mode: Sync, Async (default: Async)')
|
|
15
|
+
.option('--filtering-attributes <attrs>', 'Comma-separated fields to monitor for Update message')
|
|
16
|
+
.option('--description <desc>', 'Description of the webhook')
|
|
17
|
+
.option('--solution <name>', 'Solution unique name')
|
|
18
|
+
.action(async (opts) => {
|
|
19
|
+
try {
|
|
20
|
+
const service = ctx.pp;
|
|
21
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
22
|
+
const stageMap = {
|
|
23
|
+
PreValidation: 10, PreOperation: 20, PostOperation: 40
|
|
24
|
+
};
|
|
25
|
+
const modeMap = { Sync: 0, Async: 1 };
|
|
26
|
+
const result = await service.registerWebhook({
|
|
27
|
+
name: opts.name,
|
|
28
|
+
url: opts.url,
|
|
29
|
+
authType: opts.authType,
|
|
30
|
+
authValue: opts.authValue,
|
|
31
|
+
entityName: opts.entityName,
|
|
32
|
+
messageName: opts.messageName,
|
|
33
|
+
stage: opts.stage ? stageMap[opts.stage] : undefined,
|
|
34
|
+
executionMode: opts.executionMode ? modeMap[opts.executionMode] : undefined,
|
|
35
|
+
filteringAttributes: opts.filteringAttributes || undefined,
|
|
36
|
+
description: opts.description,
|
|
37
|
+
solutionUniqueName: opts.solution || POWERPLATFORM_DEFAULT_SOLUTION,
|
|
38
|
+
});
|
|
39
|
+
outputResult(result);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
handleCliError(error);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=webhook-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/webhook-commands.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,GAAmB;IAE3E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAE7E,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,kFAAkF,CAAC;SAC/F,cAAc,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAChE,cAAc,CAAC,aAAa,EAAE,6BAA6B,CAAC;SAC5D,cAAc,CAAC,oBAAoB,EAAE,2DAA2D,CAAC;SACjG,cAAc,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SAC3E,cAAc,CAAC,uBAAuB,EAAE,2CAA2C,CAAC;SACpF,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC;SACvE,MAAM,CAAC,iBAAiB,EAAE,sFAAsF,CAAC;SACjH,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;SACjF,MAAM,CAAC,gCAAgC,EAAE,sDAAsD,CAAC;SAChG,MAAM,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;SAC5D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,8BAA8B,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC;YAExF,MAAM,QAAQ,GAA2B;gBACvC,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE;aACvD,CAAC;YACF,MAAM,OAAO,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAE9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,SAAS;gBAC1D,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IAAI,8BAA8B;aACpE,CAAC,CAAC;YACH,YAAY,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Resource CLI commands: create, update, delete, deploy
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../context-factory.js';
|
|
6
|
+
export declare function registerWebresourceCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=webresource-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webresource-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/webresource-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA8FvF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { outputResult, handleCliError } from '../output.js';
|
|
2
|
+
export function registerWebresourceCommands(program, ctx) {
|
|
3
|
+
const webresource = program.command('webresource').description('Web resource operations');
|
|
4
|
+
webresource
|
|
5
|
+
.command('create')
|
|
6
|
+
.description('Create a new web resource (JavaScript, CSS, HTML, Image, etc.)')
|
|
7
|
+
.requiredOption('--name <name>', 'Web resource name with publisher prefix (e.g., si_/scripts/validation.js)')
|
|
8
|
+
.requiredOption('--display-name <name>', 'Display name')
|
|
9
|
+
.requiredOption('--type <n>', 'Web resource type: 1=HTML, 2=CSS, 3=JS, 4=XML, 5=PNG, 6=JPG, 7=GIF, 8=XAP, 9=XSL, 10=ICO, 11=SVG, 12=RESX', parseInt)
|
|
10
|
+
.requiredOption('--content <base64>', 'Base64-encoded content of the file')
|
|
11
|
+
.option('--description <desc>', 'Description')
|
|
12
|
+
.option('--solution <name>', 'Solution unique name')
|
|
13
|
+
.action(async (opts) => {
|
|
14
|
+
try {
|
|
15
|
+
const service = ctx.pp;
|
|
16
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
17
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
18
|
+
const result = await service.createWebResource(opts.name, opts.displayName, opts.type, opts.content, { description: opts.description, solutionUniqueName: solution });
|
|
19
|
+
outputResult(result);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
handleCliError(error);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
webresource
|
|
26
|
+
.command('update')
|
|
27
|
+
.description('Update an existing web resource')
|
|
28
|
+
.requiredOption('--web-resource-id <guid>', 'Web resource ID (GUID)')
|
|
29
|
+
.option('--display-name <name>', 'New display name')
|
|
30
|
+
.option('--content <base64>', 'New base64-encoded content')
|
|
31
|
+
.option('--description <desc>', 'New description')
|
|
32
|
+
.option('--solution <name>', 'Solution context')
|
|
33
|
+
.action(async (opts) => {
|
|
34
|
+
try {
|
|
35
|
+
const service = ctx.pp;
|
|
36
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
37
|
+
const updates = {};
|
|
38
|
+
if (opts.displayName)
|
|
39
|
+
updates.displayname = opts.displayName;
|
|
40
|
+
if (opts.content)
|
|
41
|
+
updates.content = opts.content;
|
|
42
|
+
if (opts.description)
|
|
43
|
+
updates.description = opts.description;
|
|
44
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
45
|
+
await service.updateWebResource(opts.webResourceId, updates, solution);
|
|
46
|
+
outputResult({ success: true, webResourceId: opts.webResourceId });
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
handleCliError(error);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
webresource
|
|
53
|
+
.command('delete')
|
|
54
|
+
.description('Delete a web resource')
|
|
55
|
+
.requiredOption('--web-resource-id <guid>', 'Web resource ID (GUID)')
|
|
56
|
+
.action(async (opts) => {
|
|
57
|
+
try {
|
|
58
|
+
const service = ctx.pp;
|
|
59
|
+
await service.deleteWebResource(opts.webResourceId);
|
|
60
|
+
outputResult({ success: true, deleted: opts.webResourceId });
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
handleCliError(error);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
webresource
|
|
67
|
+
.command('deploy')
|
|
68
|
+
.description('Deploy a web resource from a local file (auto-detects type from extension)')
|
|
69
|
+
.argument('<filePath>', 'Path to local web resource file (.html, .js, .css, etc.)')
|
|
70
|
+
.option('--web-resource-id <guid>', 'Update existing web resource (omit to create new)')
|
|
71
|
+
.option('--name <name>', 'Web resource name (required for create, e.g. si_/scripts/validation.js)')
|
|
72
|
+
.option('--display-name <name>', 'Display name (required for create)')
|
|
73
|
+
.option('--type <n>', 'Override auto-detected web resource type', parseInt)
|
|
74
|
+
.option('--description <desc>', 'Description')
|
|
75
|
+
.option('--solution <name>', 'Solution unique name')
|
|
76
|
+
.action(async (filePath, opts) => {
|
|
77
|
+
try {
|
|
78
|
+
const service = ctx.pp;
|
|
79
|
+
const POWERPLATFORM_DEFAULT_SOLUTION = process.env.POWERPLATFORM_DEFAULT_SOLUTION || "";
|
|
80
|
+
const solution = opts.solution || POWERPLATFORM_DEFAULT_SOLUTION;
|
|
81
|
+
const result = await service.deployWebResourceFromFile(filePath, {
|
|
82
|
+
webResourceId: opts.webResourceId,
|
|
83
|
+
name: opts.name,
|
|
84
|
+
displayName: opts.displayName,
|
|
85
|
+
webResourceType: opts.type,
|
|
86
|
+
description: opts.description,
|
|
87
|
+
solutionUniqueName: solution,
|
|
88
|
+
});
|
|
89
|
+
outputResult(result);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
handleCliError(error);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=webresource-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webresource-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/webresource-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow CLI commands: publish-entity, update-desc, update-flow-desc, document,
|
|
3
|
+
* deactivate, activate, document-safe
|
|
4
|
+
*/
|
|
5
|
+
import type { Command } from 'commander';
|
|
6
|
+
import type { ServiceContext } from '../../context-factory.js';
|
|
7
|
+
export declare function registerWorkflowCommands(program: Command, ctx: ServiceContext): void;
|
|
8
|
+
//# sourceMappingURL=workflow-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/workflow-commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAyGpF"}
|