feat: workspace health relation (#3466)
feat: add check relation health
This commit is contained in:
@ -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(
|
||||
|
||||
@ -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;
|
||||
};
|
||||
Reference in New Issue
Block a user