fix: QueryRunner overrideDataByFieldMetadata sub fields not being stringified (#14187)
Adding `secondaryLinks` to company is broken, this fixes it Regression can be traced back to this commit https://github.com/twentyhq/twenty/pull/10912/files#diff-8a992c6bff80abc8c9075d585d293f6aa98c246df097efb4f904b82dc3ff8114R210-R214 https://github.com/user-attachments/assets/463cee62-8ee3-45dc-9912-fd8fb5244579
This commit is contained in:
+14
-10
@@ -114,6 +114,7 @@ export class QueryRunnerArgsFactory {
|
||||
'id',
|
||||
id,
|
||||
fieldMetadataMapByNameByName,
|
||||
options.objectMetadataItemWithFieldMaps,
|
||||
),
|
||||
) ?? [],
|
||||
)) as string[],
|
||||
@@ -132,6 +133,7 @@ export class QueryRunnerArgsFactory {
|
||||
'id',
|
||||
id,
|
||||
fieldMetadataMapByNameByName,
|
||||
options.objectMetadataItemWithFieldMaps,
|
||||
),
|
||||
) ?? [],
|
||||
)) as string[],
|
||||
@@ -191,13 +193,14 @@ export class QueryRunnerArgsFactory {
|
||||
case FieldMetadataType.RICH_TEXT_V2:
|
||||
case FieldMetadataType.LINKS:
|
||||
case FieldMetadataType.EMAILS: {
|
||||
const transformedValue =
|
||||
await this.recordInputTransformerService.transformFieldValue(
|
||||
fieldMetadata.type,
|
||||
value,
|
||||
);
|
||||
const transformedRecord =
|
||||
await this.recordInputTransformerService.process({
|
||||
recordInput: { [key]: value },
|
||||
objectMetadataMapItem:
|
||||
options.objectMetadataItemWithFieldMaps,
|
||||
});
|
||||
|
||||
return [key, transformedValue];
|
||||
return [key, transformedRecord[key]];
|
||||
}
|
||||
default:
|
||||
return [key, value];
|
||||
@@ -283,6 +286,7 @@ export class QueryRunnerArgsFactory {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
value: any,
|
||||
fieldMetadataMapByName: FieldMetadataMap,
|
||||
objectMetadataItemWithFieldMaps: ObjectMetadataItemWithFieldMaps,
|
||||
) {
|
||||
const fieldMetadata = fieldMetadataMapByName[key];
|
||||
|
||||
@@ -290,9 +294,9 @@ export class QueryRunnerArgsFactory {
|
||||
return value;
|
||||
}
|
||||
|
||||
return this.recordInputTransformerService.transformFieldValue(
|
||||
fieldMetadata.type,
|
||||
value,
|
||||
);
|
||||
return this.recordInputTransformerService.process({
|
||||
recordInput: { [key]: value },
|
||||
objectMetadataMapItem: objectMetadataItemWithFieldMaps,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user