Skip to content

Commit acd15a9

Browse files
committed
fix: avoid infinite recursion
1 parent 21821d5 commit acd15a9

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

packages/twenty-server/src/engine/twenty-orm/utils/get-join-column.util.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { metadataArgsStorage } from 'src/engine/twenty-orm/storage/metadata-args
77
export const getJoinColumn = (
88
joinColumnsMetadataArgsCollection: WorkspaceJoinColumnsMetadataArgs[],
99
relationMetadataArgs: WorkspaceRelationMetadataArgs,
10+
opposite = false,
1011
): string | null => {
1112
if (
1213
relationMetadataArgs.type === RelationMetadataType.ONE_TO_MANY ||
@@ -24,7 +25,8 @@ export const getJoinColumn = (
2425
// If we're in a ONE_TO_ONE relation and there are no join columns, we need to find the join column on the inverse side
2526
if (
2627
relationMetadataArgs.type === RelationMetadataType.ONE_TO_ONE &&
27-
filteredJoinColumnsMetadataArgsCollection.length === 0
28+
filteredJoinColumnsMetadataArgsCollection.length === 0 &&
29+
!opposite
2830
) {
2931
const inverseSideTarget = relationMetadataArgs.inverseSideTarget();
3032
const inverseSideJoinColumnsMetadataArgsCollection =
@@ -47,6 +49,8 @@ export const getJoinColumn = (
4749
return getJoinColumn(
4850
inverseSideJoinColumnsMetadataArgsCollection,
4951
inverseSideRelationMetadataArgs,
52+
// Avoid infinite recursion
53+
true,
5054
);
5155
}
5256

0 commit comments

Comments
 (0)