scaffolder: TemplateParameterV1beta3 to TemplateParametersV1beta3
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
@@ -16,7 +16,7 @@ import { TemplateAction } from '@backstage/plugin-scaffolder-node';
|
||||
import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateFilter } from '@backstage/plugin-scaffolder-backend';
|
||||
import { TemplateGlobal } from '@backstage/plugin-scaffolder-backend';
|
||||
import { TemplateParameterV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
|
||||
// @alpha
|
||||
export const catalogModuleTemplateKind: () => BackendFeature;
|
||||
@@ -32,7 +32,7 @@ export const createScaffolderConditionalDecision: (
|
||||
// @alpha
|
||||
export const scaffolderConditions: Conditions<{
|
||||
hasTag: PermissionRule<
|
||||
TemplateParameterV1beta3 | TemplateEntityStepV1beta3,
|
||||
TemplateParametersV1beta3 | TemplateEntityStepV1beta3,
|
||||
{},
|
||||
'scaffolder-template',
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@ import { TaskSpecV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateAction as TemplateAction_2 } from '@backstage/plugin-scaffolder-node';
|
||||
import { TemplateActionOptions } from '@backstage/plugin-scaffolder-node';
|
||||
import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateParameterV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { UrlReader } from '@backstage/backend-common';
|
||||
import { Writable } from 'stream';
|
||||
import { ZodType } from 'zod';
|
||||
@@ -701,7 +701,7 @@ export class ScaffolderEntitiesProcessor implements CatalogProcessor {
|
||||
export type ScaffolderPermissionRuleInput<
|
||||
TParams extends PermissionRuleParams = PermissionRuleParams,
|
||||
> = PermissionRule<
|
||||
TemplateEntityStepV1beta3 | TemplateParameterV1beta3,
|
||||
TemplateEntityStepV1beta3 | TemplateParametersV1beta3,
|
||||
{},
|
||||
typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,
|
||||
TParams
|
||||
|
||||
@@ -32,7 +32,7 @@ import {
|
||||
TaskSpec,
|
||||
TemplateEntityV1beta3,
|
||||
templateEntityV1beta3Validator,
|
||||
TemplateParameterV1beta3,
|
||||
TemplateParametersV1beta3,
|
||||
TemplateEntityStepV1beta3,
|
||||
} from '@backstage/plugin-scaffolder-common';
|
||||
import {
|
||||
@@ -81,7 +81,7 @@ import { scaffolderTemplateRules } from './rules';
|
||||
export type ScaffolderPermissionRuleInput<
|
||||
TParams extends PermissionRuleParams = PermissionRuleParams,
|
||||
> = PermissionRule<
|
||||
TemplateEntityStepV1beta3 | TemplateParameterV1beta3,
|
||||
TemplateEntityStepV1beta3 | TemplateParametersV1beta3,
|
||||
{},
|
||||
typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,
|
||||
TParams
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
import { makeCreatePermissionRule } from '@backstage/plugin-permission-node';
|
||||
import {
|
||||
TemplateEntityStepV1beta3,
|
||||
TemplateParameterV1beta3,
|
||||
TemplateParametersV1beta3,
|
||||
} from '@backstage/plugin-scaffolder-common';
|
||||
import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common/alpha';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
export const createScaffolderPermissionRule = makeCreatePermissionRule<
|
||||
TemplateEntityStepV1beta3 | TemplateParameterV1beta3,
|
||||
TemplateEntityStepV1beta3 | TemplateParametersV1beta3,
|
||||
{},
|
||||
typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE
|
||||
>();
|
||||
|
||||
@@ -64,7 +64,7 @@ export interface TemplateEntityV1beta3 extends Entity {
|
||||
kind: 'Template';
|
||||
spec: {
|
||||
type: string;
|
||||
parameters?: TemplateParameterV1beta3 | TemplateParameterV1beta3[];
|
||||
parameters?: TemplateParametersV1beta3 | TemplateParametersV1beta3[];
|
||||
steps: Array<TemplateEntityStepV1beta3>;
|
||||
output?: {
|
||||
[name: string]: string;
|
||||
@@ -86,7 +86,7 @@ export type TemplateInfo = {
|
||||
};
|
||||
|
||||
// @public
|
||||
export interface TemplateParameterV1beta3 extends JsonObject {
|
||||
export interface TemplateParametersV1beta3 extends JsonObject {
|
||||
// (undocumented)
|
||||
'backstage:permissions'?: TemplatePermissionsV1beta3;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { entityKindSchemaValidator } from '@backstage/catalog-model';
|
||||
import type {
|
||||
TemplateEntityV1beta3,
|
||||
TemplateParameterV1beta3,
|
||||
TemplateParametersV1beta3,
|
||||
} from './TemplateEntityV1beta3';
|
||||
import schema from './Template.v1beta3.schema.json';
|
||||
|
||||
@@ -163,12 +163,12 @@ describe('templateEntityV1beta3Validator', () => {
|
||||
});
|
||||
|
||||
it('rejects parameters with wrong backstage:permissions', async () => {
|
||||
(entity.spec.parameters as TemplateParameterV1beta3)[
|
||||
(entity.spec.parameters as TemplateParametersV1beta3)[
|
||||
'backstage:permissions'
|
||||
]!.tags = true as unknown as [];
|
||||
expect(() => validator(entity)).toThrow(/must be array/);
|
||||
|
||||
(entity.spec.parameters as TemplateParameterV1beta3)[
|
||||
(entity.spec.parameters as TemplateParametersV1beta3)[
|
||||
'backstage:permissions'
|
||||
] = true as {};
|
||||
expect(() => validator(entity)).toThrow(/must be object/);
|
||||
|
||||
@@ -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?: TemplateParameterV1beta3 | TemplateParameterV1beta3[];
|
||||
parameters?: TemplateParametersV1beta3 | TemplateParametersV1beta3[];
|
||||
/**
|
||||
* 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.
|
||||
@@ -86,7 +86,7 @@ export interface TemplateEntityStepV1beta3 extends JsonObject {
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export interface TemplateParameterV1beta3 extends JsonObject {
|
||||
export interface TemplateParametersV1beta3 extends JsonObject {
|
||||
'backstage:permissions'?: TemplatePermissionsV1beta3;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,6 @@ export {
|
||||
export type {
|
||||
TemplateEntityV1beta3,
|
||||
TemplateEntityStepV1beta3,
|
||||
TemplateParameterV1beta3,
|
||||
TemplateParametersV1beta3,
|
||||
TemplatePermissionsV1beta3,
|
||||
} from './TemplateEntityV1beta3';
|
||||
|
||||
Reference in New Issue
Block a user