Merge pull request #29333 from mbenson/scaffolder-template-extensions-stage4
add template-extensions scaffolder service endpoint
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': minor
|
||||
---
|
||||
|
||||
add template-extensions scaffolder service endpoint
|
||||
File diff suppressed because it is too large
Load Diff
@@ -113,7 +113,11 @@ import { HostDiscovery } from '@backstage/backend-defaults/discovery';
|
||||
import {
|
||||
convertFiltersToRecord,
|
||||
convertGlobalsToRecord,
|
||||
extractFilterMetadata,
|
||||
extractGlobalFunctionMetadata,
|
||||
extractGlobalValueMetadata,
|
||||
} from '../util/templating';
|
||||
import { createDefaultFilters } from '../lib/templating/filters/createDefaultFilters';
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -371,6 +375,7 @@ export async function createRouter(
|
||||
}
|
||||
|
||||
const actionRegistry = new TemplateActionRegistry();
|
||||
|
||||
const templateExtensions = {
|
||||
additionalTemplateFilters: convertFiltersToRecord(
|
||||
additionalTemplateFilters,
|
||||
@@ -1109,6 +1114,18 @@ export async function createRouter(
|
||||
});
|
||||
|
||||
res.status(200).json({ results });
|
||||
})
|
||||
.get('/v2/template-extensions', async (_req, res) => {
|
||||
res.status(200).json({
|
||||
filters: {
|
||||
...extractFilterMetadata(createDefaultFilters({ integrations })),
|
||||
...extractFilterMetadata(additionalTemplateFilters),
|
||||
},
|
||||
globals: {
|
||||
functions: extractGlobalFunctionMetadata(additionalTemplateGlobals),
|
||||
values: extractGlobalValueMetadata(additionalTemplateGlobals),
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
const app = express();
|
||||
|
||||
@@ -197,10 +197,15 @@ export function extractGlobalFunctionMetadata(
|
||||
|
||||
for (const global of globals) {
|
||||
if (isGlobalFunction(global)) {
|
||||
const metadata: any = {
|
||||
description: global.description,
|
||||
examples: global.examples,
|
||||
};
|
||||
const metadata: any = {};
|
||||
|
||||
if (global.description) {
|
||||
metadata.description = global.description;
|
||||
}
|
||||
|
||||
if (global.examples) {
|
||||
metadata.examples = global.examples;
|
||||
}
|
||||
|
||||
if (global.schema) {
|
||||
metadata.schema = convertZodFunctionToJsonSchema(global.schema(z));
|
||||
|
||||
Reference in New Issue
Block a user