* feat: add enum type (RATING, SELECT, MULTI_SELECT) feat: wip enum type feat: try to alter enum feat: wip enum feat: wip enum feat: schema-builder can handle enum fix: return default value in field metadata response * fix: create fieldMedata with options * fix: lint issues * fix: rename abstract factory * feat: drop `PHONE` and `EMAIL` fieldMetadata types * feat: drop `VARCHAR` fieldMetadata type and rely on `TEXT` * Revert "feat: drop `PHONE` and `EMAIL` fieldMetadata types" This reverts commit 3857539f7d42f17c81f6ab92a6db950140b3c8e5.
24 lines
648 B
TypeScript
24 lines
648 B
TypeScript
import { RelationMetadataInterface } from 'src/metadata/field-metadata/interfaces/relation-metadata.interface';
|
|
|
|
export enum RelationDirection {
|
|
FROM = 'from',
|
|
TO = 'to',
|
|
}
|
|
|
|
export const deduceRelationDirection = (
|
|
currentObjectId: string,
|
|
relationMetadata: RelationMetadataInterface,
|
|
): RelationDirection => {
|
|
if (relationMetadata.fromObjectMetadataId === currentObjectId) {
|
|
return RelationDirection.FROM;
|
|
}
|
|
|
|
if (relationMetadata.toObjectMetadataId === currentObjectId) {
|
|
return RelationDirection.TO;
|
|
}
|
|
|
|
throw new Error(
|
|
`Relation metadata ${relationMetadata.id} is not related to object ${currentObjectId}`,
|
|
);
|
|
};
|