drop nestjs-query IDField from standalone DTOs/entities (#22881)

## What

Replaces `@IDField(() => UUIDScalarType)` from
`@ptc-org/nestjs-query-graphql` with the native `@Field(() =>
UUIDScalarType)` (`@nestjs/graphql`) across 50 DTOs and entities that
are **not** wired to a nestjs-query auto-resolver.

This continues the incremental migration off `@ptc-org/nestjs-query`.

## Why

These 50 types only used `IDField` to type their `id` column as a UUID
scalar. Since none of them are attached to a
`NestjsQueryGraphQLModule.forFeature` resolver, `IDField` carries no
extra behavior here — it's a plain field decorator.

Co-authored-by: Abdul Rahman <abdulrahmancodes@users.noreply.github.com>
This commit is contained in:
Abdul Rahman
2026-07-14 20:46:59 +05:30
committed by GitHub
parent 75d9e0b93a
commit 58fcb3cb0f
50 changed files with 70 additions and 168 deletions
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteOneFieldInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the field to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteOneIndexInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the custom index to delete.',
})
@IsUUID()
@@ -1,9 +1,7 @@
import { ID, InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, ID, InputType } from '@nestjs/graphql';
@InputType()
export class LogicFunctionIdInput {
@IDField(() => ID, { description: 'The id of the function.' })
@Field(() => ID, { description: 'The id of the function.' })
id!: string;
}
@@ -1,12 +1,10 @@
import { Field, ObjectType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@ObjectType('MinimalObjectMetadata')
export class MinimalObjectMetadataDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field()
@@ -1,13 +1,11 @@
import { Field, ObjectType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { ViewKey, ViewType } from 'twenty-shared/types';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@ObjectType('MinimalView')
export class MinimalViewDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => ViewType)
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteOneObjectInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the record to delete.',
})
@IsUUID()
@@ -5,8 +5,6 @@ import {
ObjectType,
registerEnumType,
} from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { PageLayoutTabLayoutMode } from 'twenty-shared/types';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@@ -19,7 +17,7 @@ registerEnumType(PageLayoutTabLayoutMode, {
@ObjectType('PageLayoutTab')
export class PageLayoutTabDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => UUIDScalarType, { nullable: false })
@@ -4,8 +4,6 @@ import {
ObjectType,
registerEnumType,
} from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import GraphQLJSON from 'graphql-type-json';
import {
PageLayoutWidgetConditionalDisplay,
@@ -38,7 +36,7 @@ export class GridPositionDTO {
@ObjectType('PageLayoutWidget')
export class PageLayoutWidgetDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => UUIDScalarType, { nullable: false })
@@ -1,6 +1,4 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { SerializedRelation } from 'twenty-shared/types';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@@ -11,7 +9,7 @@ registerEnumType(PageLayoutType, { name: 'PageLayoutType' });
@ObjectType('PageLayout')
export class PageLayoutDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field({ nullable: false })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewFieldGroupInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view field group to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewFieldGroupInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view field group to destroy.',
})
@IsUUID()
@@ -1,14 +1,12 @@
import { Field, HideField, ObjectType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
import { type ViewFieldGroupOverrides } from 'src/engine/metadata-modules/view-field-group/entities/view-field-group.entity';
import { ViewFieldDTO } from 'src/engine/metadata-modules/view-field/dtos/view-field.dto';
@ObjectType('ViewFieldGroup')
export class ViewFieldGroupDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field({ nullable: false })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewFieldInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view field to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewFieldInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view field to destroy.',
})
@IsUUID()
@@ -4,8 +4,6 @@ import {
ObjectType,
registerEnumType,
} from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { AggregateOperations } from 'twenty-shared/types';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@@ -15,7 +13,7 @@ registerEnumType(AggregateOperations, { name: 'AggregateOperations' });
@ObjectType('ViewField')
export class ViewFieldDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => UUIDScalarType, { nullable: false })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewFilterGroupInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view filter group to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewFilterGroupInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view filter group to destroy.',
})
@IsUUID()
@@ -1,6 +1,4 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { ViewFilterGroupLogicalOperator } from 'twenty-shared/types';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@@ -11,7 +9,7 @@ registerEnumType(ViewFilterGroupLogicalOperator, {
@ObjectType('ViewFilterGroup')
export class ViewFilterGroupDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => UUIDScalarType, { nullable: true })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewFilterInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view filter to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewFilterInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view filter to destroy.',
})
@IsUUID()
@@ -1,6 +1,4 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import GraphQLJSON from 'graphql-type-json';
import { ViewFilterOperand } from 'twenty-shared/types';
@@ -13,7 +11,7 @@ registerEnumType(ViewFilterOperand, {
@ObjectType('ViewFilter')
export class ViewFilterDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => UUIDScalarType, { nullable: false })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewGroupInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view group to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewGroupInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view group to destroy.',
})
@IsUUID()
@@ -1,12 +1,10 @@
import { Field, ObjectType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@ObjectType('ViewGroup')
export class ViewGroupDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field({ nullable: false, defaultValue: true })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewSortInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view sort to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewSortInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view sort to destroy.',
})
@IsUUID()
@@ -1,7 +1,5 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
import { ViewSortDirection } from 'twenty-shared/types';
@@ -9,7 +7,7 @@ registerEnumType(ViewSortDirection, { name: 'ViewSortDirection' });
@ObjectType('ViewSort')
export class ViewSortDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field(() => UUIDScalarType, { nullable: false })
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DeleteViewInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view to delete.',
})
@IsUUID()
@@ -1,13 +1,11 @@
import { InputType } from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import { Field, InputType } from '@nestjs/graphql';
import { IsUUID } from 'class-validator';
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
@InputType()
export class DestroyViewInput {
@IDField(() => UUIDScalarType, {
@Field(() => UUIDScalarType, {
description: 'The id of the view to destroy.',
})
@IsUUID()
@@ -5,8 +5,6 @@ import {
ObjectType,
registerEnumType,
} from '@nestjs/graphql';
import { IDField } from '@ptc-org/nestjs-query-graphql';
import {
AggregateOperations,
ViewCalendarLayout,
@@ -33,7 +31,7 @@ registerEnumType(ViewVisibility, { name: 'ViewVisibility' });
@ObjectType('View')
export class ViewDTO {
@IDField(() => UUIDScalarType)
@Field(() => UUIDScalarType)
id: string;
@Field({ nullable: false })