add register button, addLocation api

Co-authored-by: Nikita Dudnik <nikdudnik@gmail.com>
Co-authored-by: Ben Lambert <ben@blam.sh>
This commit is contained in:
Ivan Shmidt
2020-05-29 14:48:12 +02:00
parent 827a6289e6
commit cef8abb5c4
4 changed files with 37 additions and 10 deletions
+2 -2
View File
@@ -73,10 +73,10 @@
}
},
"/catalog/api": {
"target": "http://localhost:3003",
"target": "http://localhost:7000",
"changeOrigin": true,
"pathRewrite": {
"^/catalog/api/": "/"
"^/catalog/api/": "/catalog/"
}
}
}
+6 -6
View File
@@ -70,12 +70,12 @@ async function main() {
app.use(requestLoggingHandler());
app.use('/catalog', await catalog(createEnv('catalog')));
app.use('/scaffolder', await scaffolder(createEnv('scaffolder')));
app.use(
'/sentry',
await sentry(getRootLogger().child({ type: 'plugin', plugin: 'sentry' })),
);
app.use('/auth', await auth(createEnv('auth')));
app.use('/identity', await identity(createEnv('identity')));
// app.use(
// '/sentry',
// await sentry(getRootLogger().child({ type: 'plugin', plugin: 'sentry' })),
// );
// app.use('/auth', await auth(createEnv('auth')));
// app.use('/identity', await identity(createEnv('identity')));
app.use(notFoundHandler());
app.use(errorHandler());
+17
View File
@@ -16,6 +16,7 @@
import { CatalogApi } from './types';
import { DescriptorEnvelope } from '../types';
import {} from '@backstage/catalog-model';
export class CatalogClient implements CatalogApi {
private apiOrigin: string;
@@ -42,4 +43,20 @@ export class CatalogClient implements CatalogApi {
if (entity) return entity;
throw new Error(`'Entity not found: ${name}`);
}
async addLocation(type: string, target: string): Promise<{}> {
const response = await fetch(
`${this.apiOrigin}${this.basePath}/locations`,
{
headers: {
'Content-Type': 'application/json',
},
method: 'POST',
body: JSON.stringify({ type, target }),
},
);
const location = await response.json();
if (location) return location;
throw new Error(`'Location wasn't added: ${target}`);
}
}
@@ -24,7 +24,8 @@ import {
Page,
pageTheme,
} from '@backstage/core';
import { Typography, Link } from '@material-ui/core';
import { Typography, Link, Button } from '@material-ui/core';
import { Link as RouterLink } from 'react-router-dom';
// TODO(blam): Connect to backend
const STATIC_DATA = [
@@ -49,7 +50,16 @@ const ScaffolderPage: React.FC<{}> = () => {
subtitle="Create new software components using standard templates"
/>
<Content>
<ContentHeader title="Available templates" />
<ContentHeader title="Available templates">
<Button
variant="contained"
color="primary"
component={RouterLink}
to="/register-component"
>
Register existing entity
</Button>
</ContentHeader>
<Typography variant="body2" paragraph style={{ fontStyle: 'italic' }}>
<strong>NOTE!</strong> This feature is WIP. You can follow progress{' '}
<Link href="https://github.com/spotify/backstage/milestone/11">