d9eb317bb5
## Summary - Renames the `FieldMetadataType` enum key from `RICH_TEXT_V2` to `RICH_TEXT` across the entire codebase, while keeping the underlying string value as `'RICH_TEXT_V2'` to maintain PostgreSQL database compatibility - Renames all related types, guards, hooks, components, and files from `*RichTextV2*` / `*rich-text-v2*` to `*RichText*` / `*rich-text*` (e.g. `FormRichTextV2FieldInput` → `FormRichTextFieldInput`, `isFieldRichTextV2` → `isFieldRichText`) - Updates generated files (GraphQL schema, SDK types) to use the new key while preserving the `RICH_TEXT_V2` string value for DB/API layer - Updates i18n locale files, test snapshots, and integration tests to reflect the rename ## Context The legacy `RICH_TEXT` (V1) field type was deprecated and migrated to `TEXT` in a previous PR (#18623). With V1 gone, the `RICH_TEXT_V2` naming is no longer necessary — `RICH_TEXT` is now the canonical name. The DB enum value stays `'RICH_TEXT_V2'` to avoid confusion with the just-deprecated V1 type and to prevent a database migration. ## Test plan - [x] `twenty-server` typecheck passes - [x] `twenty-front` typecheck passes (only pre-existing Apollo client errors remain) - [x] `twenty-server` lint passes - [x] `twenty-front` lint passes - [x] `twenty-shared` build passes - [ ] CI passes Made with [Cursor](https://cursor.com)
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { FieldMetadataType } from 'twenty-shared/types';
|
|
|
|
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:
|
|
return ['blocknote', 'markdown'];
|
|
default:
|
|
throw new Error(`Unsupported composite field type: ${fieldType}`);
|
|
}
|
|
}
|
|
};
|