feat: workspace health relation (#3466)

feat: add check relation health
This commit is contained in:
Jérémy M
2024-01-17 17:05:35 +01:00
committed by GitHub
parent 64110c591a
commit 4b7e42c38e
9 changed files with 401 additions and 52 deletions

View File

@ -26,6 +26,8 @@ import {
RelationMetadataType,
} from './relation-metadata.entity';
import { createRelationMetadataForeignKey } from './utils/create-relation-metadata-foreign-key.util';
@Injectable()
export class RelationMetadataService extends TypeOrmQueryService<RelationMetadataEntity> {
constructor(
@ -54,10 +56,10 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
// NOTE: this logic is called to create relation through metadata graphql endpoint (so only for custom field relations)
const isCustom = true;
const baseColumnName = `${camelCase(relationMetadataInput.toName)}Id`;
const foreignKeyColumnName = isCustom
? createCustomColumnName(baseColumnName)
: baseColumnName;
const foreignKeyColumnName = createRelationMetadataForeignKey(
relationMetadataInput.toName,
isCustom,
);
const createdFields = await this.fieldMetadataService.createMany([
this.createFieldMetadataForRelationMetadata(

View File

@ -0,0 +1,15 @@
import { createCustomColumnName } from 'src/metadata/utils/create-custom-column-name.util';
import { camelCase } from 'src/utils/camel-case';
export const createRelationMetadataForeignKey = (
name: string,
isCustom?: boolean,
) => {
const baseColumnName = `${camelCase(name)}Id`;
const foreignKeyColumnName = isCustom
? createCustomColumnName(baseColumnName)
: baseColumnName;
return foreignKeyColumnName;
};