Fix tasks (#5199)
## Query depth deprecation I'm deprecating depth parameter in our graphql query / cache tooling. They were obsolete since we introduce the possibility to provide RecordGqlFields ## Refactor combinedFindManyRecordHook The hook can now take an array of operationSignatures ## Fix tasks issues Fix optimistic rendering issue. Note that we still haven't handle optimisticEffect on creation properly
This commit is contained in:
@ -1,9 +1,7 @@
|
||||
import { ObjectRecordEdge } from '@/object-record/types/ObjectRecordEdge';
|
||||
import { RecordGqlEdge } from '@/object-record/graphql/types/RecordGqlEdge';
|
||||
|
||||
export const filterUniqueRecordEdgesByCursor = <
|
||||
RecordType extends { id: string },
|
||||
>(
|
||||
arrayToFilter: ObjectRecordEdge<RecordType>[],
|
||||
export const filterUniqueRecordEdgesByCursor = (
|
||||
arrayToFilter: RecordGqlEdge[],
|
||||
) => {
|
||||
const seenCursors = new Set();
|
||||
|
||||
|
||||
@ -2,20 +2,18 @@ import gql from 'graphql-tag';
|
||||
|
||||
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
|
||||
import { QueryFields } from '@/object-record/query-keys/types/QueryFields';
|
||||
import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields';
|
||||
import { capitalize } from '~/utils/string/capitalize';
|
||||
|
||||
export const generateFindManyRecordsQuery = ({
|
||||
objectMetadataItem,
|
||||
objectMetadataItems,
|
||||
depth,
|
||||
queryFields,
|
||||
recordGqlFields,
|
||||
computeReferences,
|
||||
}: {
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
objectMetadataItems: ObjectMetadataItem[];
|
||||
queryFields?: QueryFields;
|
||||
depth?: number;
|
||||
recordGqlFields?: RecordGqlOperationGqlRecordFields;
|
||||
computeReferences?: boolean;
|
||||
}) => gql`
|
||||
query FindMany${capitalize(
|
||||
@ -32,8 +30,7 @@ query FindMany${capitalize(
|
||||
node ${mapObjectMetadataToGraphQLQuery({
|
||||
objectMetadataItems,
|
||||
objectMetadataItem,
|
||||
depth,
|
||||
queryFields,
|
||||
recordGqlFields,
|
||||
computeReferences,
|
||||
})}
|
||||
cursor
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
import { ObjectRecordEdge } from '@/object-record/types/ObjectRecordEdge';
|
||||
import { isDefined } from '~/utils/isDefined';
|
||||
|
||||
export const getChildRelationArray = ({
|
||||
childRelation,
|
||||
}: {
|
||||
childRelation: any;
|
||||
}) => {
|
||||
if (isDefined(childRelation.edges) && Array.isArray(childRelation.edges)) {
|
||||
return childRelation.edges.map((edge: ObjectRecordEdge) => edge.node);
|
||||
} else {
|
||||
return childRelation;
|
||||
}
|
||||
};
|
||||
@ -1,9 +1,9 @@
|
||||
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
|
||||
import { RecordGqlOperationFilter } from '@/object-record/graphql/types/RecordGqlOperationFilter';
|
||||
import { isDefined } from '~/utils/isDefined';
|
||||
|
||||
export const makeAndFilterVariables = (
|
||||
filters: (ObjectRecordQueryFilter | undefined)[],
|
||||
): ObjectRecordQueryFilter | undefined => {
|
||||
filters: (RecordGqlOperationFilter | undefined)[],
|
||||
): RecordGqlOperationFilter | undefined => {
|
||||
const definedFilters = filters.filter(isDefined);
|
||||
|
||||
if (!definedFilters.length) return undefined;
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
|
||||
import { RecordGqlOperationFilter } from '@/object-record/graphql/types/RecordGqlOperationFilter';
|
||||
import { isDefined } from '~/utils/isDefined';
|
||||
|
||||
export const makeOrFilterVariables = (
|
||||
filters: (ObjectRecordQueryFilter | undefined)[],
|
||||
): ObjectRecordQueryFilter | undefined => {
|
||||
filters: (RecordGqlOperationFilter | undefined)[],
|
||||
): RecordGqlOperationFilter | undefined => {
|
||||
const definedFilters = filters.filter(isDefined);
|
||||
|
||||
if (!definedFilters.length) return undefined;
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
||||
import { ObjectRecordEdge } from '@/object-record/types/ObjectRecordEdge';
|
||||
|
||||
export const mapEdgeToObjectRecord = <T extends ObjectRecord>(
|
||||
objectRecordEdge: ObjectRecordEdge<T>,
|
||||
) => {
|
||||
return objectRecordEdge.node as T;
|
||||
};
|
||||
@ -8,18 +8,12 @@ import { isDefined } from '~/utils/isDefined';
|
||||
export const prefillRecord = <T extends ObjectRecord>({
|
||||
objectMetadataItem,
|
||||
input,
|
||||
depth = 1,
|
||||
}: {
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
input: Record<string, unknown>;
|
||||
depth?: number;
|
||||
}) => {
|
||||
return Object.fromEntries(
|
||||
objectMetadataItem.fields
|
||||
.filter(
|
||||
(fieldMetadataItem) =>
|
||||
depth > 0 || fieldMetadataItem.type !== 'RELATION',
|
||||
)
|
||||
.map((fieldMetadataItem) => {
|
||||
const inputValue = input[fieldMetadataItem.name];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user