catalog: suffix entiy kind typeswith Entity

This commit is contained in:
Fredrik Adelöw
2020-06-15 09:25:19 +02:00
parent 319012e0f9
commit 1b2d70a70d
8 changed files with 28 additions and 24 deletions
+7 -4
View File
@@ -15,14 +15,17 @@
*/
import {
DefaultNamespaceEntityPolicy,
Entity,
FieldFormatEntityPolicy,
NoForeignRootFieldsEntityPolicy,
ReservedFieldsEntityPolicy,
SchemaValidEntityPolicy,
} from './entity';
import { DefaultNamespaceEntityPolicy } from './entity/policies/DefaultNamespaceEntityPolicy';
import { ComponentV1beta1Policy, LocationRefV1beta1Policy } from './kinds';
import {
ComponentEntityV1beta1Policy,
LocationEntityV1beta1Policy,
} from './kinds';
import { EntityPolicy } from './types';
// Helper that requires that all of a set of policies can be successfully
@@ -69,8 +72,8 @@ export class EntityPolicies implements EntityPolicy {
new ReservedFieldsEntityPolicy(),
]),
EntityPolicies.anyOf([
new ComponentV1beta1Policy(),
new LocationRefV1beta1Policy(),
new ComponentEntityV1beta1Policy(),
new LocationEntityV1beta1Policy(),
]),
]);
}
@@ -14,6 +14,7 @@
* limitations under the License.
*/
export { DefaultNamespaceEntityPolicy } from './DefaultNamespaceEntityPolicy';
export { FieldFormatEntityPolicy } from './FieldFormatEntityPolicy';
export { NoForeignRootFieldsEntityPolicy } from './NoForeignRootFieldsEntityPolicy';
export { ReservedFieldsEntityPolicy } from './ReservedFieldsEntityPolicy';
@@ -21,7 +21,7 @@ import type { EntityPolicy } from '../types';
const API_VERSION = 'backstage.io/v1beta1';
const KIND = 'Component';
export interface ComponentV1beta1 extends Entity {
export interface ComponentEntityV1beta1 extends Entity {
apiVersion: typeof API_VERSION;
kind: typeof KIND;
spec: {
@@ -29,11 +29,11 @@ export interface ComponentV1beta1 extends Entity {
};
}
export class ComponentV1beta1Policy implements EntityPolicy {
export class ComponentEntityV1beta1Policy implements EntityPolicy {
private schema: yup.Schema<any>;
constructor() {
this.schema = yup.object<Partial<ComponentV1beta1>>({
this.schema = yup.object<Partial<ComponentEntityV1beta1>>({
spec: yup
.object({
type: yup.string().required(),
@@ -19,9 +19,9 @@ import type { Entity } from '../entity/Entity';
import type { EntityPolicy } from '../types';
const API_VERSION = 'backstage.io/v1beta1';
const KIND = 'LocationRef';
const KIND = 'Location';
export interface LocationRefV1beta1 extends Entity {
export interface LocationEntityV1beta1 extends Entity {
apiVersion: typeof API_VERSION;
kind: typeof KIND;
spec: {
@@ -31,11 +31,11 @@ export interface LocationRefV1beta1 extends Entity {
};
}
export class LocationRefV1beta1Policy implements EntityPolicy {
export class LocationEntityV1beta1Policy implements EntityPolicy {
private schema: yup.Schema<any>;
constructor() {
this.schema = yup.object<Partial<LocationRefV1beta1>>({
this.schema = yup.object<Partial<LocationEntityV1beta1>>({
spec: yup
.object({
type: yup.string().required(),
+8 -8
View File
@@ -14,13 +14,13 @@
* limitations under the License.
*/
export { ComponentV1beta1Policy } from './ComponentV1beta1';
export { ComponentEntityV1beta1Policy } from './ComponentEntityV1beta1';
export type {
ComponentV1beta1 as Component,
ComponentV1beta1,
} from './ComponentV1beta1';
export { LocationRefV1beta1Policy } from './LocationRefV1beta1';
ComponentEntityV1beta1 as ComponentEntity,
ComponentEntityV1beta1,
} from './ComponentEntityV1beta1';
export { LocationEntityV1beta1Policy } from './LocationEntityV1beta1';
export type {
LocationRefV1beta1 as LocationRef,
LocationRefV1beta1,
} from './LocationRefV1beta1';
LocationEntityV1beta1 as LocationEntity,
LocationEntityV1beta1,
} from './LocationEntityV1beta1';
@@ -1,6 +1,6 @@
---
apiVersion: backstage.io/v1beta1
kind: LocationRef
kind: Location
metadata:
name: location-1
spec:
@@ -26,7 +26,7 @@ import { AnnotateLocationEntityProcessor } from './processors/AnnotateLocationEn
import { EntityPolicyProcessor } from './processors/EntityPolicyProcessor';
import { FileReaderProcessor } from './processors/FileReaderProcessor';
import { GithubReaderProcessor } from './processors/GithubReaderProcessor';
import { LocationRefProcessor } from './processors/LocationRefProcessor';
import { LocationRefProcessor } from './processors/LocationEntityProcessor';
import * as result from './processors/results';
import {
LocationProcessor,
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { Entity, LocationRef, LocationSpec } from '@backstage/catalog-model';
import { Entity, LocationEntity, LocationSpec } from '@backstage/catalog-model';
import * as result from './results';
import { LocationProcessor, LocationProcessorEmit } from './types';
@@ -24,8 +24,8 @@ export class LocationRefProcessor implements LocationProcessor {
_location: LocationSpec,
emit: LocationProcessorEmit,
): Promise<Entity> {
if (entity.kind === 'LocationRef') {
const location = entity as LocationRef;
if (entity.kind === 'Location') {
const location = entity as LocationEntity;
if (location.spec.target) {
emit(
result.location(