chore: reworking the templateInfo type

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2022-02-17 14:22:06 +01:00
parent a8c29cc99a
commit bab8027029
6 changed files with 23 additions and 7 deletions
@@ -75,7 +75,10 @@ describe('fetch:template', () => {
const logger = getVoidLogger();
const mockContext = (inputPatch: Partial<FetchTemplateInput> = {}) => ({
templateInfo: { baseUrl: 'base-url', name: 'test' },
templateInfo: {
baseUrl: 'base-url',
entityRef: 'template:default/test-template',
},
input: {
url: './skeleton',
targetPath: './target',
@@ -107,7 +107,7 @@ describe('LegacyWorkflowRunner', () => {
],
output: {},
values: {},
templateInfo: { name: templateName },
templateInfo: { entityRef: `template:default/${templateName}` },
});
await runner.execute(task);
@@ -244,7 +244,7 @@ export class HandlebarsWorkflowRunner implements WorkflowRunner {
stepOutputs[name] = value;
},
// deprecated in favor of templateInfo
metadata: task.spec.templateInfo,
metadata: task.spec.metadata,
templateInfo: task.spec.templateInfo,
});
@@ -176,7 +176,7 @@ describe('DefaultWorkflowRunner', () => {
input: { foo: 1 },
},
],
templateInfo: { name: templateName },
templateInfo: { entityRef: `template:default/${templateName}` },
});
await runner.execute(task);
@@ -188,12 +188,15 @@ export async function createRouter(
})
.post('/v2/tasks', async (req, res) => {
const templateName: string = req.body.templateName;
const { kind, namespace } = { kind: 'template', namespace: 'default' };
const values = req.body.values;
const token = getBearerToken(req.headers.authorization);
const template = await findTemplate({
catalogApi: catalogClient,
entityRef: {
name: templateName,
kind,
namespace,
},
token: getBearerToken(req.headers.authorization),
});
@@ -234,7 +237,11 @@ export async function createRouter(
metadata: { name: template.metadata?.name },
templateInfo: {
name: template.metadata?.name,
entityRef: stringifyEntityRef({
kind,
namespace,
name: template.metadata?.name,
}),
baseUrl,
},
};
@@ -14,6 +14,7 @@
* limitations under the License.
*/
import { parseEntityRef } from '@backstage/catalog-model';
import {
Content,
ErrorPage,
@@ -291,8 +292,9 @@ export const TaskPage = ({ loadingText }: TaskPageProps) => {
const { output } = taskStream;
const handleStartOver = () => {
if (!taskStream.task || !taskStream.task?.spec.templateInfo?.name) {
if (!taskStream.task || !taskStream.task?.spec.templateInfo?.entityRef) {
navigate(generatePath(rootLink()));
return;
}
const formData =
@@ -300,13 +302,17 @@ export const TaskPage = ({ loadingText }: TaskPageProps) => {
? taskStream.task!.spec.values
: taskStream.task!.spec.parameters;
const { name } = parseEntityRef(
taskStream.task!.spec.templateInfo?.entityRef,
);
navigate(
generatePath(
`${rootLink()}/templates/:templateName?${qs.stringify({
formData: JSON.stringify(formData),
})}`,
{
templateName: taskStream.task!.spec.templateInfo!.name,
templateName: name,
},
),
);