From 031781fb20cc9f962956c3cec3528cc03cd17d4b Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Mon, 16 Jan 2023 11:36:53 +0100 Subject: [PATCH] scaffolder: expose template subtypes Signed-off-by: Vincenzo Scamporlino --- .../src/TemplateEntityV1beta3.ts | 28 ++++++++++++++++--- plugins/scaffolder-common/src/index.ts | 3 ++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/plugins/scaffolder-common/src/TemplateEntityV1beta3.ts b/plugins/scaffolder-common/src/TemplateEntityV1beta3.ts index d83a1e3be5..63dae930c2 100644 --- a/plugins/scaffolder-common/src/TemplateEntityV1beta3.ts +++ b/plugins/scaffolder-common/src/TemplateEntityV1beta3.ts @@ -50,7 +50,7 @@ export interface TemplateEntityV1beta3 extends Entity { * to collect user input and validate it against that schema. This can then be used in the `steps` part below to template * variables passed from the user into each action in the template. */ - parameters?: JsonObject | JsonObject[]; + parameters?: TemplateParameter | TemplateParameter[]; /** * A list of steps to be executed in sequence which are defined by the template. These steps are a list of the underlying * javascript action and some optional input parameters that may or may not have been collected from the end user. @@ -76,9 +76,29 @@ export interface TemplateEntityStepV1beta3 extends JsonObject { action: string; input?: JsonObject; if?: string | boolean; - metadata: { - tags?: string[]; - }; + metadata?: TemplateSpecValuesMetadata; +} + +/** + * TODO + */ +export interface TemplateSpecValuesMetadata extends JsonObject { + tags?: string[]; +} + +/** + * TODO + */ +export interface TemplateParameter extends JsonObject { + metadata?: TemplateSpecValuesMetadata; + properties?: { [name: string]: TemplateProperty }; +} + +/** + * TODO + */ +export interface TemplateProperty extends JsonObject { + metadata?: TemplateSpecValuesMetadata; } const validator = entityKindSchemaValidator(schema); diff --git a/plugins/scaffolder-common/src/index.ts b/plugins/scaffolder-common/src/index.ts index e4207c96fd..c418823e12 100644 --- a/plugins/scaffolder-common/src/index.ts +++ b/plugins/scaffolder-common/src/index.ts @@ -29,4 +29,7 @@ export * from './permissions'; export type { TemplateEntityV1beta3, TemplateEntityStepV1beta3, + TemplateParameter, + TemplateProperty, + TemplateSpecValuesMetadata, } from './TemplateEntityV1beta3';