Fix sort bug issue (#14607)
Enum should not receive any special treatment when building order by
This commit is contained in:
-39
@@ -3,7 +3,6 @@ import { Injectable, Logger } from '@nestjs/common';
|
||||
import {
|
||||
GraphQLInputFieldConfigMap,
|
||||
GraphQLInputObjectType,
|
||||
isEnumType,
|
||||
isInputObjectType,
|
||||
} from 'graphql';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
@@ -17,12 +16,10 @@ import {
|
||||
import { GqlTypesStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/gql-types.storage';
|
||||
import { computeFieldInputTypeOptions } from 'src/engine/api/graphql/workspace-schema-builder/utils/compute-field-input-type-options.util';
|
||||
import { computeCompositeFieldInputTypeKey } from 'src/engine/api/graphql/workspace-schema-builder/utils/compute-stored-gql-type-key-utils/compute-composite-field-input-type-key.util';
|
||||
import { computeEnumFieldGqlTypeKey } from 'src/engine/api/graphql/workspace-schema-builder/utils/compute-stored-gql-type-key-utils/compute-enum-field-gql-type-key.util';
|
||||
import { computeObjectMetadataInputTypeKey } from 'src/engine/api/graphql/workspace-schema-builder/utils/compute-stored-gql-type-key-utils/compute-object-metadata-input-type.util';
|
||||
import { isFieldMetadataRelationOrMorphRelation } from 'src/engine/api/graphql/workspace-schema-builder/utils/is-field-metadata-relation-or-morph-relation.utils';
|
||||
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
||||
import { isEnumFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util';
|
||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import { pascalCase } from 'src/utils/pascal-case';
|
||||
|
||||
@@ -75,12 +72,6 @@ export class ObjectMetadataOrderByGqlInputTypeGenerator {
|
||||
typeOptions,
|
||||
},
|
||||
);
|
||||
} else if (isEnumFieldMetadataType(fieldMetadata.type)) {
|
||||
generatedFields = this.generateEnumFieldOrderByInputType(
|
||||
objectMetadata,
|
||||
fieldMetadata,
|
||||
typeOptions,
|
||||
);
|
||||
} else if (isCompositeFieldMetadataType(fieldMetadata.type)) {
|
||||
generatedFields = this.generateCompositeFieldOrderByInputType(
|
||||
fieldMetadata,
|
||||
@@ -153,34 +144,4 @@ export class ObjectMetadataOrderByGqlInputTypeGenerator {
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
private generateEnumFieldOrderByInputType(
|
||||
objectMetadata: ObjectMetadataEntity,
|
||||
fieldMetadata: FieldMetadataEntity,
|
||||
typeOptions: TypeOptions,
|
||||
) {
|
||||
const key = computeEnumFieldGqlTypeKey(
|
||||
objectMetadata.nameSingular,
|
||||
fieldMetadata.name,
|
||||
);
|
||||
|
||||
const enumType = this.gqlTypesStorage.getGqlTypeByKey(key);
|
||||
|
||||
if (!isDefined(enumType) || !isEnumType(enumType)) {
|
||||
const message = `Could not find a GraphQL input type for ${fieldMetadata.type} field metadata`;
|
||||
|
||||
this.logger.error(message, {
|
||||
fieldMetadata,
|
||||
typeOptions,
|
||||
});
|
||||
throw new Error(message);
|
||||
}
|
||||
|
||||
return {
|
||||
[fieldMetadata.name]: {
|
||||
type: enumType,
|
||||
description: fieldMetadata.description,
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user