5d857fbfb5
Closes https://github.com/twentyhq/private-issues/issues/222 --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: Weiko <corentin@twenty.com>
30 lines
971 B
TypeScript
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}`);
|
|
}
|
|
}
|
|
};
|