Merge pull request #2970 from spotify/mob/relations-db

catalog-backend: initial implementation of relations storage
This commit is contained in:
Patrik Oldsberg
2020-10-21 11:07:46 +02:00
committed by GitHub
11 changed files with 391 additions and 10 deletions
@@ -15,6 +15,7 @@
*/
import { JsonObject } from '@backstage/config';
import { EntityName } from '../types';
/**
* The format envelope that's common to all versions/kinds of entity.
@@ -42,6 +43,11 @@ export type Entity = {
* The specification data describing the entity itself.
*/
spec?: JsonObject;
/**
* The relations that this entity has with other entities.
*/
relations?: EntityRelation[];
};
/**
@@ -120,3 +126,37 @@ export type EntityMeta = JsonObject & {
*/
tags?: string[];
};
/**
* A relation of a specific type to another entity in the catalog.
*/
export type EntityRelation = {
/**
* The type of the relation.
*/
type: string;
/**
* The target entity of this relation.
*/
target: EntityName;
};
/**
* Holds the relationship data for entities
*/
export type EntityRelationSpec = {
/**
* The source entity of this relation.
*/
source: EntityName;
/**
* The type of the relation.
*/
type: string;
/**
* The target entity of this relation.
*/
target: EntityName;
};
+6 -1
View File
@@ -18,7 +18,12 @@ export {
ENTITY_DEFAULT_NAMESPACE,
ENTITY_META_GENERATED_FIELDS,
} from './constants';
export type { Entity, EntityMeta } from './Entity';
export type {
Entity,
EntityMeta,
EntityRelation,
EntityRelationSpec,
} from './Entity';
export * from './policies';
export {
getEntityName,