Skip to content

Commit e0727de

Browse files
committed
feat: Added interface for new generic getValue call in reporters
1 parent 6dcf6fa commit e0727de

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/entities/resource-info.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@ export class ResourceInfo implements GetResourceInfoResponseData {
1313
schema?: Record<string, unknown> | undefined;
1414
dependencies?: string[] | undefined;
1515
import?: { requiredParameters: null | string[]; } | undefined;
16+
17+
get description(): string | undefined {
18+
return this.schema?.description as string | undefined;
19+
}
1620

17-
static fromResponseData(data: GetResourceInfoResponseData) {
18-
Object.assign(this, data);
21+
static fromResponseData(data: GetResourceInfoResponseData): ResourceInfo {
22+
const resourceInfo = new ResourceInfo()
23+
Object.assign(data, resourceInfo);
24+
return resourceInfo;
1925
}
2026

2127
getParameterInfo(): ParameterInfo[] {

src/ui/reporters/reporter.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ImportResult, RequiredParameters, UserSuppliedParameters } from '../../
55
import { DebugReporter } from './debug-reporter.js';
66
import { DefaultReporter } from './default-reporter.js';
77
import { PlainReporter } from './plain-reporter.js';
8+
import { ResourceInfo } from '../../entities/resource-info.js';
89

910
export enum RenderEvent {
1011
LOG = 'log',
@@ -32,12 +33,17 @@ export enum RenderState { // TODO: instead of having GENERATE_PLAN and APPLYING
3233
DISPLAY_IMPORT_RESULT,
3334
}
3435

35-
export interface StateTransition {
36-
nextState: RenderState;
36+
export enum PromptType {
37+
IMPORT,
38+
DESTROY,
39+
CREATE,
3740
}
3841

39-
export interface DisplayPlanStateTransition extends StateTransition {
40-
plan: Plan;
42+
export interface PromptParameterValueRequest {
43+
typeIds?: Array<string>;
44+
resourceInfoList: Array<ResourceInfo>;
45+
46+
promptType: PromptType;
4147
}
4248

4349
export interface Reporter {
@@ -49,7 +55,7 @@ export interface Reporter {
4955

5056
promptSudo(pluginName: string, data: SudoRequestData, secureMode: boolean): Promise<SudoRequestResponseData>;
5157

52-
promptUserForParameterValues(requiredParameters: RequiredParameters): Promise<UserSuppliedParameters>;
58+
promptUserForValues(request: PromptParameterValueRequest): Promise<UserSuppliedParameters>;
5359

5460
displayImportResult(importResult: ImportResult): void;
5561
}

0 commit comments

Comments
 (0)