- Add RICH_TEXT_V2 composite type to backend. - Add `bodyV2` field to tasks and notes. - Minimum required frontend changes to avoid errors when creating a note [Testing instructions](https://github.com/twentyhq/twenty/pull/9690#issuecomment-2602378218) --------- Co-authored-by: ad-elias <elias@autodiligence.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { FieldMetadataType } from 'twenty-shared';
|
|
|
|
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
|
|
|
export const getSubfieldsForAggregateOperation = (
|
|
fieldType: FieldMetadataType,
|
|
): string[] | undefined => {
|
|
if (!isCompositeFieldMetadataType(fieldType)) {
|
|
return undefined;
|
|
} else {
|
|
switch (fieldType) {
|
|
case FieldMetadataType.CURRENCY:
|
|
return ['amountMicros', 'currencyCode'];
|
|
case FieldMetadataType.FULL_NAME:
|
|
return ['firstName', 'lastName'];
|
|
case FieldMetadataType.ADDRESS:
|
|
return [
|
|
'addressStreet1',
|
|
'addressStreet2',
|
|
'addressCity',
|
|
'addressPostcode',
|
|
'addressState',
|
|
'addressCountry',
|
|
'addressLat',
|
|
'addressLng',
|
|
];
|
|
case FieldMetadataType.LINKS:
|
|
return ['primaryLinkUrl'];
|
|
case FieldMetadataType.ACTOR:
|
|
return ['workspaceMemberId', 'source'];
|
|
case FieldMetadataType.EMAILS:
|
|
return ['primaryEmail'];
|
|
case FieldMetadataType.PHONES:
|
|
return [
|
|
'primaryPhoneNumber',
|
|
'primaryPhoneCountryCode',
|
|
'primaryPhoneCallingCode',
|
|
];
|
|
case FieldMetadataType.RICH_TEXT_V2:
|
|
return ['blocknote', 'markdown'];
|
|
default:
|
|
throw new Error(`Unsupported composite field type: ${fieldType}`);
|
|
}
|
|
}
|
|
};
|