import { Field, ObjectType, Root } from 'type-graphql'; import { BaseEntity, Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm'; @ObjectType() @Entity() export class User extends BaseEntity { @Field() @PrimaryGeneratedColumn() id: number; @Field() @CreateDateColumn({ type: 'timestamp', name: 'createdAt' }) createAt: Date; @Field() @UpdateDateColumn({ type: 'timestamp', name: 'updatedAt' }) updatedAt: Date; @Field() @Column() firstName: string; @Field() @Column() lastName: string; @Field() fullName(@Root() parent: User): string { return `${parent.firstName} ${parent.lastName}`; } @Field() @Column({ type: 'text', unique: true }) email: string; @Column() password: string; @Field() @Column({ type: 'bool', default: false }) confirmed: boolean; }