Aggregate count variations (#9304)

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>
This commit is contained in:
Marie
2025-01-02 17:35:05 +01:00
committed by GitHub
parent 0f1458cbe9
commit 5d857fbfb5
43 changed files with 650 additions and 203 deletions
@@ -0,0 +1,29 @@
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}`);
}
}
};