Convert metadata tables to camelCase (#2400)

* Convert metadata tables to camelCase

* datasourcemetadataid to datasourceid

* refactor metadata folders

* fix command

* move commands out of metadata

* fix seed

* rename objectId and fieldId in objectMetadataId and fieldMetadataId in FE

* fix field-metadata

* Fix

* Fix

* remove logs

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Weiko
2023-11-09 20:06:10 +01:00
committed by GitHub
parent 5622f42e7a
commit 1cf08c797f
238 changed files with 1851 additions and 2252 deletions

View File

@ -126,12 +126,12 @@ export const ViewBarDetails = ({
{currentViewSorts?.map((sort) => {
return (
<SortOrFilterChip
key={sort.fieldId}
testId={sort.fieldId}
key={sort.fieldMetadataId}
testId={sort.fieldMetadataId}
labelValue={sort.definition.label}
Icon={sort.direction === 'desc' ? IconArrowDown : IconArrowUp}
isSort
onRemove={() => removeViewSort(sort.fieldId)}
onRemove={() => removeViewSort(sort.fieldMetadataId)}
/>
);
})}
@ -143,15 +143,15 @@ export const ViewBarDetails = ({
{currentViewFilters?.map((filter) => {
return (
<SortOrFilterChip
key={filter.fieldId}
testId={filter.fieldId}
key={filter.fieldMetadataId}
testId={filter.fieldMetadataId}
labelKey={filter.definition.label}
labelValue={`${getOperandLabelShort(filter.operand)} ${
filter.displayValue
}`}
Icon={filter.definition.Icon}
onRemove={() => {
removeViewFilter(filter.fieldId);
removeViewFilter(filter.fieldMetadataId);
}}
/>
);

View File

@ -35,14 +35,14 @@ export const ViewBarEffect = () => {
useFindManyObjects({
objectNamePlural: 'viewsV2',
filter: { type: { eq: viewType }, objectId: { eq: viewObjectId } },
filter: { type: { eq: viewType }, objectMetadataId: { eq: viewObjectId } },
onCompleted: useRecoilCallback(
({ snapshot, set }) =>
async (data: PaginatedObjectTypeResults<View>) => {
const nextViews = data.edges.map((view) => ({
id: view.node.id,
name: view.node.name,
objectId: view.node.objectId,
objectMetadataId: view.node.objectMetadataId,
}));
const { viewsState } = getViewScopedStatesFromSnapshot({
@ -132,7 +132,8 @@ export const ViewBarEffect = () => {
const queriedViewFilters = data.edges
.map(({ node }) => {
const availableFilterDefinition = availableFilterDefinitions.find(
(filterDefinition) => filterDefinition.fieldId === node.fieldId,
(filterDefinition) =>
filterDefinition.fieldMetadataId === node.fieldMetadataId,
);
if (!availableFilterDefinition) return null;
@ -185,14 +186,14 @@ export const ViewBarEffect = () => {
const queriedViewSorts = data.edges
.map(({ node }) => {
const availableSortDefinition = availableSortDefinitions.find(
(sort) => sort.fieldId === node.fieldId,
(sort) => sort.fieldMetadataId === node.fieldMetadataId,
);
if (!availableSortDefinition) return null;
return {
id: node.id,
fieldId: node.fieldId,
fieldMetadataId: node.fieldMetadataId,
direction: node.direction,
definition: availableSortDefinition,
};

View File

@ -97,12 +97,12 @@ export const ViewFieldsVisibilityDropdownSection = ({
.sort((a, b) => a.position - b.position)
.map((field, index) => (
<DraggableItem
key={field.fieldId}
draggableId={field.fieldId}
key={field.fieldMetadataId}
draggableId={field.fieldMetadataId}
index={index + 1}
itemComponent={
<MenuItemDraggable
key={field.fieldId}
key={field.fieldMetadataId}
LeftIcon={field.Icon}
iconButtons={getIconButtons(index + 1, field)}
isTooltipOpen={openToolTipIndex === index + 1}
@ -120,7 +120,7 @@ export const ViewFieldsVisibilityDropdownSection = ({
) : (
fields.map((field, index) => (
<MenuItem
key={field.fieldId}
key={field.fieldMetadataId}
LeftIcon={field.Icon}
iconButtons={getIconButtons(index, field)}
isTooltipOpen={openToolTipIndex === index}

View File

@ -40,7 +40,7 @@ export const useViewFields = (viewScopeId: string) => {
mutation: createOneMutation,
variables: {
input: {
fieldId: viewField.fieldId,
fieldMetadataId: viewField.fieldMetadataId,
viewId: viewIdToPersist,
isVisible: viewField.isVisible,
size: viewField.size,
@ -76,18 +76,18 @@ export const useViewFields = (viewScopeId: string) => {
};
const viewFieldsToCreate = viewFieldsToPersist.filter(
(viewField) => !savedViewFieldsByKey[viewField.fieldId],
(viewField) => !savedViewFieldsByKey[viewField.fieldMetadataId],
);
const viewFieldsToUpdate = viewFieldsToPersist.filter(
(viewFieldToPersit) =>
savedViewFieldsByKey[viewFieldToPersit.fieldId] &&
(savedViewFieldsByKey[viewFieldToPersit.fieldId].size !==
savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId] &&
(savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId].size !==
viewFieldToPersit.size ||
savedViewFieldsByKey[viewFieldToPersit.fieldId].position !==
viewFieldToPersit.position ||
savedViewFieldsByKey[viewFieldToPersit.fieldId].isVisible !==
viewFieldToPersit.isVisible),
savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId]
.position !== viewFieldToPersit.position ||
savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId]
.isVisible !== viewFieldToPersit.isVisible),
);
await _createViewFields(viewFieldsToCreate);

View File

@ -53,7 +53,7 @@ export const useViewFilters = (viewScopeId: string) => {
mutation: createOneMutation,
variables: {
input: {
fieldId: viewFilter.fieldId,
fieldMetadataId: viewFilter.fieldMetadataId,
viewId: viewId ?? currentViewId,
value: viewFilter.value,
displayValue: viewFilter.displayValue,
@ -102,19 +102,23 @@ export const useViewFilters = (viewScopeId: string) => {
};
const filtersToCreate = currentViewFilters.filter(
(filter) => !savedViewFiltersByKey[filter.fieldId],
(filter) => !savedViewFiltersByKey[filter.fieldMetadataId],
);
await createViewFilters(filtersToCreate);
const filtersToUpdate = currentViewFilters.filter(
(filter) =>
savedViewFiltersByKey[filter.fieldId] &&
(savedViewFiltersByKey[filter.fieldId].operand !== filter.operand ||
savedViewFiltersByKey[filter.fieldId].value !== filter.value),
savedViewFiltersByKey[filter.fieldMetadataId] &&
(savedViewFiltersByKey[filter.fieldMetadataId].operand !==
filter.operand ||
savedViewFiltersByKey[filter.fieldMetadataId].value !==
filter.value),
);
await updateViewFilters(filtersToUpdate);
const filterKeys = currentViewFilters.map((filter) => filter.fieldId);
const filterKeys = currentViewFilters.map(
(filter) => filter.fieldMetadataId,
);
const filterKeysToDelete = Object.keys(savedViewFiltersByKey).filter(
(previousFilterKey) => !filterKeys.includes(previousFilterKey),
);
@ -159,12 +163,13 @@ export const useViewFilters = (viewScopeId: string) => {
}
const existingSavedFilterId =
savedViewFiltersByKey[filterToUpsert.fieldId]?.id;
savedViewFiltersByKey[filterToUpsert.fieldMetadataId]?.id;
set(currentViewFiltersState, (filters) => {
const newViewFilters = produce(filters, (filtersDraft) => {
const existingFilterIndex = filtersDraft.findIndex(
(filter) => filter.fieldId === filterToUpsert.fieldId,
(filter) =>
filter.fieldMetadataId === filterToUpsert.fieldMetadataId,
);
if (existingFilterIndex === -1) {
@ -189,7 +194,7 @@ export const useViewFilters = (viewScopeId: string) => {
const removeViewFilter = useRecoilCallback(
({ snapshot, set }) =>
(fieldId: string) => {
(fieldMetadataId: string) => {
const { currentViewId, currentViewFilters, onViewFiltersChange } =
getViewScopedStateValuesFromSnapshot({
snapshot,
@ -201,7 +206,7 @@ export const useViewFilters = (viewScopeId: string) => {
}
const newViewFilters = currentViewFilters.filter((filter) => {
return filter.fieldId !== fieldId;
return filter.fieldMetadataId !== fieldMetadataId;
});
set(currentViewFiltersState, newViewFilters);
onViewFiltersChange?.(newViewFilters);

View File

@ -54,7 +54,7 @@ export const useViewSorts = (viewScopeId: string) => {
mutation: createOneMutation,
variables: {
input: {
fieldId: viewSort.fieldId,
fieldMetadataId: viewSort.fieldMetadataId,
viewId: viewId ?? currentViewId,
direction: viewSort.direction,
},
@ -99,19 +99,20 @@ export const useViewSorts = (viewScopeId: string) => {
};
const sortsToCreate = currentViewSorts.filter(
(sort) => !savedViewSortsByKey[sort.fieldId],
(sort) => !savedViewSortsByKey[sort.fieldMetadataId],
);
await createViewSorts(sortsToCreate);
const sortsToUpdate = currentViewSorts.filter(
(sort) =>
savedViewSortsByKey[sort.fieldId] &&
savedViewSortsByKey[sort.fieldId].direction !== sort.direction,
savedViewSortsByKey[sort.fieldMetadataId] &&
savedViewSortsByKey[sort.fieldMetadataId].direction !==
sort.direction,
);
await updateViewSorts(sortsToUpdate);
const sortKeys = currentViewSorts.map((sort) => sort.fieldId);
const sortKeys = currentViewSorts.map((sort) => sort.fieldMetadataId);
const sortKeysToDelete = Object.keys(savedViewSortsByKey).filter(
(previousSortKey) => !sortKeys.includes(previousSortKey),
);
@ -155,12 +156,12 @@ export const useViewSorts = (viewScopeId: string) => {
}
const existingSavedSortId =
savedViewSortsByKey[sortToUpsert.fieldId]?.id;
savedViewSortsByKey[sortToUpsert.fieldMetadataId]?.id;
set(currentViewSortsState, (sorts) => {
const newViewSorts = produce(sorts, (sortsDraft) => {
const existingSortIndex = sortsDraft.findIndex(
(sort) => sort.fieldId === sortToUpsert.fieldId,
(sort) => sort.fieldMetadataId === sortToUpsert.fieldMetadataId,
);
if (existingSortIndex === -1) {
@ -182,7 +183,7 @@ export const useViewSorts = (viewScopeId: string) => {
const removeViewSort = useRecoilCallback(
({ snapshot, set }) =>
(fieldId: string) => {
(fieldMetadataId: string) => {
const { currentViewId, onViewSortsChange, currentViewSorts } =
getViewScopedStateValuesFromSnapshot({
snapshot,
@ -194,7 +195,7 @@ export const useViewSorts = (viewScopeId: string) => {
}
const newViewSorts = currentViewSorts.filter((filter) => {
return filter.fieldId !== fieldId;
return filter.fieldMetadataId !== fieldMetadataId;
});
set(currentViewSortsState, newViewSorts);
onViewSortsChange?.(newViewSorts);

View File

@ -34,7 +34,7 @@ export const useViews = (scopeId: string) => {
variables: {
input: {
...view,
objectId: viewObjectId,
objectMetadataId: viewObjectId,
type: viewType,
},
},

View File

@ -25,7 +25,7 @@ export const savedViewFieldByKeyScopedFamilySelector = selectorFamily({
familyKey: viewId,
}),
).reduce<Record<string, ViewField>>(
(result, column) => ({ ...result, [column.fieldId]: column }),
(result, column) => ({ ...result, [column.fieldMetadataId]: column }),
{},
);
},

View File

@ -18,7 +18,7 @@ export const savedViewFiltersByKeyScopedFamilySelector = selectorFamily({
familyKey: viewId,
}),
).reduce<Record<string, ViewFilter>>(
(result, filter) => ({ ...result, [filter.fieldId]: filter }),
(result, filter) => ({ ...result, [filter.fieldMetadataId]: filter }),
{},
);
},

View File

@ -18,7 +18,7 @@ export const savedViewSortsByKeyScopedFamilySelector = selectorFamily({
familyKey: viewId,
}),
).reduce<Record<string, ViewSort>>(
(result, sort) => ({ ...result, [sort.fieldId]: sort }),
(result, sort) => ({ ...result, [sort.fieldMetadataId]: sort }),
{},
);
},

View File

@ -1 +1 @@
export type View = { id: string; name: string; objectId: string };
export type View = { id: string; name: string; objectMetadataId: string };

View File

@ -3,7 +3,7 @@ import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinitio
export type ViewField = {
id: string;
fieldId: string;
fieldMetadataId: string;
position: number;
isVisible: boolean;
size: number;

View File

@ -4,7 +4,7 @@ import { ViewFilterOperand } from './ViewFilterOperand';
export type ViewFilter = {
id?: string;
fieldId: string;
fieldMetadataId: string;
operand: ViewFilterOperand;
value: string;
displayValue: string;

View File

@ -3,7 +3,7 @@ import { SortDirection } from '@/ui/object/object-sort-dropdown/types/SortDirect
export type ViewSort = {
id?: string;
fieldId: string;
fieldMetadataId: string;
direction: SortDirection;
definition: SortDefinition;
};

View File

@ -8,7 +8,7 @@ export const mapColumnDefinitionsToViewFields = (
): ViewField[] => {
return columnDefinitions.map((columnDefinition) => ({
id: columnDefinition.viewFieldId || '',
fieldId: columnDefinition.fieldId,
fieldMetadataId: columnDefinition.fieldMetadataId,
position: columnDefinition.position,
size: columnDefinition.size,
isVisible: columnDefinition.isVisible ?? true,

View File

@ -11,12 +11,12 @@ export const mapViewFieldsToBoardFieldDefinitions = (
return viewFields
.map((viewField) => {
const correspondingFieldMetadata = fieldsMetadata.find(
({ fieldId }) => viewField.fieldId === fieldId,
({ fieldMetadataId }) => viewField.fieldMetadataId === fieldMetadataId,
);
return correspondingFieldMetadata
? {
fieldId: viewField.fieldId,
fieldMetadataId: viewField.fieldMetadataId,
label: correspondingFieldMetadata.label,
metadata: correspondingFieldMetadata.metadata,
entityChipDisplayMapper:

View File

@ -11,12 +11,12 @@ export const mapViewFieldsToColumnDefinitions = (
return viewFields
.map((viewField) => {
const correspondingFieldMetadata = fieldsMetadata.find(
({ fieldId }) => viewField.fieldId === fieldId,
({ fieldMetadataId }) => viewField.fieldMetadataId === fieldMetadataId,
);
return correspondingFieldMetadata
? {
fieldId: viewField.fieldId,
fieldMetadataId: viewField.fieldMetadataId,
label: correspondingFieldMetadata.label,
metadata: correspondingFieldMetadata.metadata,
entityChipDisplayMapper:

View File

@ -7,7 +7,7 @@ export const mapViewFiltersToFilters = (
): Filter[] => {
return viewFilters.map((viewFilter) => {
return {
fieldId: viewFilter.fieldId,
fieldMetadataId: viewFilter.fieldMetadataId,
value: viewFilter.value,
displayValue: viewFilter.displayValue,
operand: viewFilter.operand,

View File

@ -5,7 +5,7 @@ import { ViewSort } from '../types/ViewSort';
export const mapViewSortsToSorts = (viewSorts: ViewSort[]): Sort[] => {
return viewSorts.map((viewSort) => {
return {
fieldId: viewSort.fieldId,
fieldMetadataId: viewSort.fieldMetadataId,
direction: viewSort.direction,
definition: viewSort.definition,
};