Files
twenty/packages/twenty-shared/src/utils/aggregateOperations/getSubFieldForAggregateOperation.util.ts
T
2025-01-02 16:35:05 +00:00

30 lines
971 B
TypeScript

import { FieldMetadataType } from 'src/types/FieldMetadataType';
import { isCompositeFieldMetadataType } from 'src/utils/aggregateOperations/isCompositeFieldMetadataType.util';
export const getSubfieldForAggregateOperation = (
fieldType: FieldMetadataType,
) => {
if (!isCompositeFieldMetadataType(fieldType)) {
return undefined;
} else {
switch (fieldType) {
case FieldMetadataType.CURRENCY:
return 'amountMicros';
case FieldMetadataType.FULL_NAME:
return 'lastName';
case FieldMetadataType.ADDRESS:
return 'addressStreet1';
case FieldMetadataType.LINKS:
return 'primaryLinkLabel';
case FieldMetadataType.ACTOR:
return 'workspaceMemberId';
case FieldMetadataType.EMAILS:
return 'primaryEmail';
case FieldMetadataType.PHONES:
return 'primaryPhoneNumber';
default:
throw new Error(`Unsupported composite field type: ${fieldType}`);
}
}
};