import { Field } from '@nestjs/graphql'; import { ObjectType } from '@nestjs/graphql'; import { HideField } from '@nestjs/graphql'; import { Int } from '@nestjs/graphql'; import { Float } from '@nestjs/graphql'; import { Decimal } from '@prisma/client/runtime'; import { GraphQLDecimal } from 'prisma-graphql-type-decimal'; import { Role } from '../prisma/role.enum'; import { UserCountAggregate } from './user-count-aggregate.output'; import { UserAvgAggregate } from './user-avg-aggregate.output'; import { UserSumAggregate } from './user-sum-aggregate.output'; import { UserMinAggregate } from './user-min-aggregate.output'; import { UserMaxAggregate } from './user-max-aggregate.output'; @ObjectType() export class UserGroupBy { @Field(() => String, { nullable: false }) id!: string; @Field(() => String, { nullable: false }) email!: string; @Field(() => String, { nullable: false }) name!: string; @HideField() password!: string; @Field(() => String, { nullable: true }) bio?: string; @Field(() => String, { nullable: true }) image?: string; @Field(() => Int, { nullable: true }) countComments?: number; @Field(() => Float, { nullable: true }) rating?: number; @Field(() => GraphQLDecimal, { nullable: true }) money?: Decimal; @Field(() => Role, { nullable: true }) role?: keyof typeof Role; @Field(() => UserCountAggregate, { nullable: true }) _count?: UserCountAggregate; @Field(() => UserAvgAggregate, { nullable: true }) _avg?: UserAvgAggregate; @Field(() => UserSumAggregate, { nullable: true }) _sum?: UserSumAggregate; @Field(() => UserMinAggregate, { nullable: true }) _min?: UserMinAggregate; @Field(() => UserMaxAggregate, { nullable: true }) _max?: UserMaxAggregate; }