Files
twenty_crm/packages/twenty-front/src/modules/favorites/utils/getObjectMetadataLabelPluralFromViewId.ts
nitin 0125d58ba8 Favorite folders (#7998)
closes - #5755

---------

Co-authored-by: martmull <martmull@hotmail.fr>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-11-18 15:22:19 +01:00

41 lines
902 B
TypeScript

import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { View } from '@/views/types/View';
import { isDefined } from 'twenty-ui';
type ReturnType = {
labelPlural: string;
view: View | null;
};
export const getObjectMetadataLabelPluralFromViewId = (
views: View[],
objectMetadataItems: ObjectMetadataItem[],
viewId: string,
): ReturnType => {
const view = views.find((view) => view.id === viewId);
if (!view) {
return {
labelPlural: '',
view: null,
};
}
const objectMetadataItem = objectMetadataItems.find(
(objectMetadataItem) => objectMetadataItem.id === view.objectMetadataId,
);
if (!isDefined(objectMetadataItem)) {
throw new Error(
`Object metadata item not found for id ${view.objectMetadataId}`,
);
}
const { labelPlural } = objectMetadataItem;
return {
labelPlural,
view,
};
};