59 lines
1.1 KiB
TypeScript
59 lines
1.1 KiB
TypeScript
import { SocialLinkModel } from '@/src/module/auth/profile/inputs/models/social-link.model'
|
|
import { StreamModel } from '@/src/module/stream/models/stream.model'
|
|
import { Field, ID, ObjectType } from '@nestjs/graphql'
|
|
import { User } from '@prisma/generated'
|
|
|
|
@ObjectType()
|
|
export class UserModel implements User {
|
|
@Field(() => ID)
|
|
id: string
|
|
|
|
@Field(() => String)
|
|
email: string
|
|
|
|
@Field(() => String)
|
|
password: string
|
|
|
|
@Field(() => String)
|
|
name: string
|
|
|
|
@Field(() => String)
|
|
displayName: string
|
|
|
|
@Field(() => String, { nullable: true })
|
|
avatar: string
|
|
|
|
@Field(() => String, { nullable: true })
|
|
bio: string
|
|
|
|
@Field(() => Boolean)
|
|
isEmailVerified: boolean
|
|
|
|
@Field(() => Boolean)
|
|
isVerified: boolean
|
|
|
|
@Field(() => Boolean)
|
|
isTotpEnabled: boolean
|
|
|
|
@Field(() => Boolean)
|
|
isDeactivated: boolean
|
|
|
|
@Field(() => Date, { nullable: true })
|
|
deactivatedAt: Date
|
|
|
|
@Field(() => String, { nullable: true })
|
|
totpSecret: string
|
|
|
|
@Field(() => [SocialLinkModel])
|
|
socialLink: SocialLinkModel[]
|
|
|
|
@Field(() => StreamModel)
|
|
stream: StreamModel
|
|
|
|
@Field(() => Date)
|
|
createdAt: Date
|
|
|
|
@Field(() => Date)
|
|
updatedAt: Date
|
|
}
|