Fix/object record and metadata naming (#2763)

* Fixed object-record and object-metadata naming

* Fix post merge

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau
2023-11-29 13:45:57 +01:00
committed by GitHub
parent 3617abb0e6
commit d855a42eca
99 changed files with 614 additions and 691 deletions

View File

@ -68,13 +68,16 @@ export const AddPersonToCompany = ({
goBackToPreviousHotkeyScope,
} = usePreviousHotkeyScope();
const { findManyQuery, updateOneMutation, createOneMutation } =
useObjectMetadataItem({
objectNameSingular: 'person',
});
const {
findManyRecordsQuery,
updateOneRecordMutation,
createOneRecordMutation,
} = useObjectMetadataItem({
objectNameSingular: 'person',
});
const [updatePerson] = useMutation(updateOneMutation);
const [createPerson] = useMutation(createOneMutation);
const [updatePerson] = useMutation(updateOneRecordMutation);
const [createPerson] = useMutation(createOneRecordMutation);
const handlePersonSelected =
(companyId: string) => async (newPerson: EntityForSelect | null) => {
@ -86,7 +89,7 @@ export const AddPersonToCompany = ({
companyId: companyId,
},
},
refetchQueries: [getOperationName(findManyQuery) ?? ''],
refetchQueries: [getOperationName(findManyRecordsQuery) ?? ''],
});
handleClosePicker();
@ -126,7 +129,7 @@ export const AddPersonToCompany = ({
},
},
},
refetchQueries: [getOperationName(findManyQuery) ?? ''],
refetchQueries: [getOperationName(findManyRecordsQuery) ?? ''],
});
setIsCreationDropdownOpen(false);

View File

@ -2,7 +2,7 @@ import { ReactNode, useContext } from 'react';
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
import { useUpdateOneObjectRecord } from '@/object-record/hooks/useUpdateOneObjectRecord';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
import { EntityChipVariant } from '@/ui/display/chip/components/EntityChip';
import { IconEye } from '@/ui/display/icon/index';
import { LightIconButton } from '@/ui/input/button/components/LightIconButton';
@ -150,8 +150,8 @@ export const CompanyBoardCard = () => {
BoardRecoilScopeContext,
);
const useUpdateOneObjectMutation: () => [(params: any) => any, any] = () => {
const { updateOneObject } = useUpdateOneObjectRecord({
const useUpdateOneRecordMutation: () => [(params: any) => any, any] = () => {
const { updateOneRecord: updateOneOpportunity } = useUpdateOneRecord({
objectNameSingular: 'opportunity',
});
@ -165,7 +165,7 @@ export const CompanyBoardCard = () => {
};
};
}) => {
updateOneObject?.({
updateOneOpportunity?.({
idToUpdate: variables.where.id,
input: variables.data,
});
@ -247,7 +247,7 @@ export const CompanyBoardCard = () => {
type: viewField.type,
metadata: viewField.metadata,
},
useUpdateEntityMutation: useUpdateOneObjectMutation,
useUpdateEntityMutation: useUpdateOneRecordMutation,
hotkeyScope: InlineCellHotkeyScope.InlineCell,
}}
>

View File

@ -4,7 +4,7 @@ import { isNonEmptyArray } from '@sniptt/guards';
import { Company } from '@/companies/types/Company';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { mapPaginatedObjectsToObjects } from '@/object-record/utils/mapPaginatedObjectsToObjects';
import { mapPaginatedRecordsToRecords } from '@/object-record/utils/mapPaginatedRecordsToRecords';
import { PeopleCard } from '@/people/components/PeopleCard';
import { AddPersonToCompany } from './AddPersonToCompany';
@ -47,11 +47,11 @@ const StyledTitle = styled.div`
`;
export const CompanyTeam = ({ company }: { company: any }) => {
const { findManyQuery } = useObjectMetadataItem({
const { findManyRecordsQuery } = useObjectMetadataItem({
objectNameSingular: 'person',
});
const { data } = useQuery(findManyQuery, {
const { data } = useQuery(findManyRecordsQuery, {
variables: {
filter: {
companyId: {
@ -61,9 +61,9 @@ export const CompanyTeam = ({ company }: { company: any }) => {
},
});
const people = mapPaginatedObjectsToObjects({
const people = mapPaginatedRecordsToRecords({
objectNamePlural: 'people',
pagedObjects: data ?? [],
pagedRecords: data ?? [],
});
const peopleIds = people.map((person) => person.id);

View File

@ -2,10 +2,10 @@ import { useCallback, useEffect, useState } from 'react';
import { useRecoilState, useRecoilValue } from 'recoil';
import { Company } from '@/companies/types/Company';
import { useComputeDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useComputeDefinitionsFromFieldMetadata';
import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useColumnDefinitionsFromFieldMetadata';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords';
import { PaginatedObjectTypeResults } from '@/object-record/types/PaginatedObjectTypeResults';
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
import { PaginatedRecordTypeResults } from '@/object-record/types/PaginatedRecordTypeResults';
import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns';
import { Opportunity } from '@/pipeline/types/Opportunity';
import { PipelineStep } from '@/pipeline/types/PipelineStep';
@ -65,7 +65,7 @@ export const HooksCompanyBoardEffect = ({
});
const { columnDefinitions, filterDefinitions, sortDefinitions } =
useComputeDefinitionsFromFieldMetadata(objectMetadataItem);
useColumnDefinitionsFromFieldMetadata(objectMetadataItem);
const [, setIsBoardLoaded] = useRecoilState(isBoardLoadedState);
@ -84,11 +84,11 @@ export const HooksCompanyBoardEffect = ({
'company-board-view',
);
useFindManyObjectRecords({
useFindManyRecords({
objectNamePlural: 'pipelineSteps',
filter: {},
onCompleted: useCallback(
(data: PaginatedObjectTypeResults<PipelineStep>) => {
(data: PaginatedRecordTypeResults<PipelineStep>) => {
setPipelineSteps(data.edges.map((edge) => edge.node));
},
[],
@ -105,34 +105,32 @@ export const HooksCompanyBoardEffect = ({
objectMetadataItem?.fields ?? [],
);
const { fetchMoreObjects: fetchMoreOpportunities } = useFindManyObjectRecords(
{
skip: !pipelineSteps.length,
objectNamePlural: 'opportunities',
filter: filter,
orderBy: orderBy,
onCompleted: useCallback(
(data: PaginatedObjectTypeResults<Opportunity>) => {
const pipelineProgresses: Array<Opportunity> = data.edges.map(
(edge) => edge.node,
);
const { fetchMoreRecords: fetchMoreOpportunities } = useFindManyRecords({
skip: !pipelineSteps.length,
objectNamePlural: 'opportunities',
filter: filter,
orderBy: orderBy,
onCompleted: useCallback(
(data: PaginatedRecordTypeResults<Opportunity>) => {
const pipelineProgresses: Array<Opportunity> = data.edges.map(
(edge) => edge.node,
);
updateCompanyBoardCardIds(pipelineProgresses);
updateCompanyBoardCardIds(pipelineProgresses);
setOpportunities(pipelineProgresses);
setIsBoardLoaded(true);
},
[setIsBoardLoaded, updateCompanyBoardCardIds],
),
},
);
setOpportunities(pipelineProgresses);
setIsBoardLoaded(true);
},
[setIsBoardLoaded, updateCompanyBoardCardIds],
),
});
useEffect(() => {
if (isDefined(fetchMoreOpportunities)) {
fetchMoreOpportunities();
}
}, [fetchMoreOpportunities]);
const { fetchMoreObjects: fetchMoreCompanies } = useFindManyObjectRecords({
const { fetchMoreRecords: fetchMoreCompanies } = useFindManyRecords({
skip: !opportunities.length,
objectNamePlural: 'companies',
filter: {
@ -140,7 +138,7 @@ export const HooksCompanyBoardEffect = ({
in: opportunities.map((opportunity) => opportunity.companyId || ''),
},
},
onCompleted: useCallback((data: PaginatedObjectTypeResults<Company>) => {
onCompleted: useCallback((data: PaginatedRecordTypeResults<Company>) => {
setCompanies(data.edges.map((edge) => edge.node));
}, []),
});

View File

@ -59,10 +59,12 @@ export const NewOpportunityButton = () => {
relationPickerSearchFilterScopedState,
);
const { findManyQuery } = useObjectMetadataItem({
// TODO: refactor useFilteredSearchEntityQuery
const { findManyRecordsQuery } = useObjectMetadataItem({
objectNameSingular: 'company',
});
const useFindManyQuery = (options: any) => useQuery(findManyQuery, options);
const useFindManyQuery = (options: any) =>
useQuery(findManyRecordsQuery, options);
const { identifiersMapper, searchQuery } = useRelationPicker();
const filteredSearchEntityResults = useFilteredSearchEntityQuery({

View File

@ -35,10 +35,12 @@ export const OpportunityPicker = ({
const { searchFilter, handleSearchFilterChange } = useEntitySelectSearch();
const { findManyQuery } = useObjectMetadataItem({
// TODO: refactor useFilteredSearchEntityQuery
const { findManyRecordsQuery: findManyCompanies } = useObjectMetadataItem({
objectNameSingular: 'company',
});
const useFindManyQuery = (options: any) => useQuery(findManyQuery, options);
const useFindManyQuery = (options: any) =>
useQuery(findManyCompanies, options);
const { identifiersMapper, searchQuery } = useRelationPicker();
const filteredSearchEntityResults = useFilteredSearchEntityQuery({

View File

@ -1,13 +1,13 @@
import { useRecoilCallback } from 'recoil';
import { v4 } from 'uuid';
import { useCreateOneObjectRecord } from '@/object-record/hooks/useCreateOneObjectRecord';
import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
import { Opportunity } from '@/pipeline/types/Opportunity';
import { boardCardIdsByColumnIdFamilyState } from '@/ui/object/record-board/states/boardCardIdsByColumnIdFamilyState';
export const useCreateOpportunity = () => {
const { createOneObject: createOneOpportunity } =
useCreateOneObjectRecord<Opportunity>({
const { createOneRecord: createOneOpportunity } =
useCreateOneRecord<Opportunity>({
objectNameSingular: 'opportunity',
});