clean searchResolvers in server (#11114)
Introduces break in change - remove search... resolvers - rename globalSearch to search - rename searchRecord.objectSingularName > objectNameSingular closes https://github.com/twentyhq/core-team-issues/issues/643
This commit is contained in:
@ -7,12 +7,9 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
|
||||
import { WatchQueryFetchPolicy } from '@apollo/client';
|
||||
import { useMemo } from 'react';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import {
|
||||
ObjectRecordFilterInput,
|
||||
useGlobalSearchQuery,
|
||||
} from '~/generated/graphql';
|
||||
import { logError } from '~/utils/logError';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import { ObjectRecordFilterInput, useSearchQuery } from '~/generated/graphql';
|
||||
import { logError } from '~/utils/logError';
|
||||
|
||||
export type UseSearchRecordsParams = ObjectMetadataItemIdentifier & {
|
||||
limit?: number;
|
||||
@ -38,7 +35,7 @@ export const useObjectRecordSearchRecords = ({
|
||||
|
||||
const { enqueueSnackBar } = useSnackBar();
|
||||
|
||||
const { data, loading, error, previousData } = useGlobalSearchQuery({
|
||||
const { data, loading, error, previousData } = useSearchQuery({
|
||||
skip:
|
||||
skip ||
|
||||
!objectMetadataItem ||
|
||||
@ -53,11 +50,11 @@ export const useObjectRecordSearchRecords = ({
|
||||
fetchPolicy: fetchPolicy,
|
||||
onError: (error) => {
|
||||
logError(
|
||||
`useGlobalSearchRecords for "${objectMetadataItem.namePlural}" error : ` +
|
||||
`useSearchRecords for "${objectMetadataItem.namePlural}" error : ` +
|
||||
error,
|
||||
);
|
||||
enqueueSnackBar(
|
||||
`Error during useGlobalSearchRecords for "${objectMetadataItem.namePlural}", ${error.message}`,
|
||||
`Error during useSearchRecords for "${objectMetadataItem.namePlural}", ${error.message}`,
|
||||
{
|
||||
variant: SnackBarVariant.Error,
|
||||
},
|
||||
@ -68,7 +65,7 @@ export const useObjectRecordSearchRecords = ({
|
||||
const effectiveData = loading ? previousData : data;
|
||||
|
||||
const searchRecords = useMemo(
|
||||
() => effectiveData?.globalSearch || [],
|
||||
() => effectiveData?.search || [],
|
||||
[effectiveData],
|
||||
);
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ import { SelectableItem } from '@/ui/layout/selectable-list/components/Selectabl
|
||||
import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectableList';
|
||||
import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow';
|
||||
import { useRecoilComponentFamilyValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValueV2';
|
||||
import { GlobalSearchRecord } from '~/generated-metadata/graphql';
|
||||
import { SearchRecord } from '~/generated-metadata/graphql';
|
||||
|
||||
export const StyledSelectableItem = styled(SelectableItem)`
|
||||
height: 100%;
|
||||
@ -20,7 +20,7 @@ export const StyledSelectableItem = styled(SelectableItem)`
|
||||
`;
|
||||
|
||||
type MultipleRecordPickerMenuItemContentProps = {
|
||||
searchRecord: GlobalSearchRecord;
|
||||
searchRecord: SearchRecord;
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
onChange: (morphItem: RecordPickerPickableMorphItem) => void;
|
||||
};
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { MAX_SEARCH_RESULTS } from '@/command-menu/constants/MaxSearchResults';
|
||||
import { globalSearch } from '@/command-menu/graphql/queries/globalSearch';
|
||||
import { search } from '@/command-menu/graphql/queries/search';
|
||||
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||
import { usePerformCombinedFindManyRecords } from '@/object-record/multiple-objects/hooks/usePerformCombinedFindManyRecords';
|
||||
import { multipleRecordPickerPickableMorphItemsComponentState } from '@/object-record/record-picker/multiple-record-picker/states/multipleRecordPickerPickableMorphItemsComponentState';
|
||||
@ -10,8 +10,8 @@ import { RecordPickerPickableMorphItem } from '@/object-record/record-picker/typ
|
||||
import { ApolloClient, useApolloClient } from '@apollo/client';
|
||||
import { isNonEmptyArray } from '@sniptt/guards';
|
||||
import { useRecoilCallback } from 'recoil';
|
||||
import { GlobalSearchRecord } from '~/generated-metadata/graphql';
|
||||
import { capitalize, isDefined } from 'twenty-shared/utils';
|
||||
import { SearchRecord } from '~/generated-metadata/graphql';
|
||||
|
||||
export const useMultipleRecordPickerPerformSearch = () => {
|
||||
const client = useApolloClient();
|
||||
@ -117,23 +117,23 @@ export const useMultipleRecordPickerPerformSearch = () => {
|
||||
const morphItems = [
|
||||
...updatedPickedMorphItems,
|
||||
...searchRecordsFilteredOnPickedRecordsWithoutDuplicates.map(
|
||||
({ recordId, objectSingularName }) => ({
|
||||
({ recordId, objectNameSingular }) => ({
|
||||
isMatchingSearchFilter: true,
|
||||
isSelected: true,
|
||||
objectMetadataId: searchableObjectMetadataItems.find(
|
||||
(objectMetadata) =>
|
||||
objectMetadata.nameSingular === objectSingularName,
|
||||
objectMetadata.nameSingular === objectNameSingular,
|
||||
)?.id,
|
||||
recordId,
|
||||
}),
|
||||
),
|
||||
...searchRecordsExcludingPickedRecordsWithoutDuplicates.map(
|
||||
({ recordId, objectSingularName }) => ({
|
||||
({ recordId, objectNameSingular }) => ({
|
||||
isMatchingSearchFilter: true,
|
||||
isSelected: false,
|
||||
objectMetadataId: searchableObjectMetadataItems.find(
|
||||
(objectMetadata) =>
|
||||
objectMetadata.nameSingular === objectSingularName,
|
||||
objectMetadata.nameSingular === objectNameSingular,
|
||||
)?.id,
|
||||
recordId,
|
||||
}),
|
||||
@ -168,8 +168,8 @@ export const useMultipleRecordPickerPerformSearch = () => {
|
||||
.map(({ nameSingular }) => {
|
||||
const recordIdsForMetadataItem = searchRecords
|
||||
.filter(
|
||||
({ objectSingularName }) =>
|
||||
objectSingularName === nameSingular,
|
||||
({ objectNameSingular }) =>
|
||||
objectNameSingular === nameSingular,
|
||||
)
|
||||
.map(({ recordId }) => recordId);
|
||||
|
||||
@ -251,14 +251,14 @@ const performSearchQueries = async ({
|
||||
searchFilter: string;
|
||||
searchableObjectMetadataItems: ObjectMetadataItem[];
|
||||
pickedRecordIds: string[];
|
||||
}): Promise<[GlobalSearchRecord[], GlobalSearchRecord[]]> => {
|
||||
}): Promise<[SearchRecord[], SearchRecord[]]> => {
|
||||
if (searchableObjectMetadataItems.length === 0) {
|
||||
return [[], []];
|
||||
}
|
||||
|
||||
const searchRecords = async (filter: any) => {
|
||||
const { data } = await client.query({
|
||||
query: globalSearch,
|
||||
query: search,
|
||||
variables: {
|
||||
searchInput: searchFilter,
|
||||
includedObjectNameSingulars: searchableObjectMetadataItems.map(
|
||||
@ -268,7 +268,7 @@ const performSearchQueries = async ({
|
||||
limit: MAX_SEARCH_RESULTS,
|
||||
},
|
||||
});
|
||||
return data.globalSearch;
|
||||
return data.search;
|
||||
};
|
||||
|
||||
const searchRecordsExcludingPickedRecords = await searchRecords(
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { MultipleRecordPickerComponentInstanceContext } from '@/object-record/record-picker/multiple-record-picker/states/contexts/MultipleRecordPickerComponentInstanceContext';
|
||||
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
||||
import { createComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/utils/createComponentFamilyStateV2';
|
||||
import { GlobalSearchRecord } from '~/generated-metadata/graphql';
|
||||
import { SearchRecord } from '~/generated-metadata/graphql';
|
||||
|
||||
export const searchRecordStoreComponentFamilyState =
|
||||
createComponentFamilyStateV2<
|
||||
(GlobalSearchRecord & { record?: ObjectRecord }) | undefined,
|
||||
(SearchRecord & { record?: ObjectRecord }) | undefined,
|
||||
string
|
||||
>({
|
||||
key: 'searchRecordStoreComponentFamilyState',
|
||||
|
||||
Reference in New Issue
Block a user