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>
41 lines
902 B
TypeScript
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,
|
|
};
|
|
};
|