mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-12 15:46:29 +08:00
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { Args, Field, ID, ObjectType, Query, Resolver } from '@nestjs/graphql';
|
|
import type { users } from '@prisma/client';
|
|
|
|
import { PrismaService } from '../../prisma/service';
|
|
|
|
@ObjectType()
|
|
export class User implements users {
|
|
@Field(() => ID)
|
|
id!: string;
|
|
@Field({ description: 'User name' })
|
|
name!: string;
|
|
@Field({ description: 'User email' })
|
|
email!: string;
|
|
@Field({ description: 'User password', nullable: true })
|
|
password!: string;
|
|
@Field({ description: 'User avatar url', nullable: true })
|
|
avatar_url!: string;
|
|
@Field({ description: 'User token nonce', nullable: true })
|
|
token_nonce!: number;
|
|
@Field({ description: 'User created date', nullable: true })
|
|
created_at!: Date;
|
|
}
|
|
|
|
@Resolver(() => User)
|
|
export class UserResolver {
|
|
constructor(private readonly prisma: PrismaService) {}
|
|
|
|
@Query(() => User, {
|
|
name: 'user',
|
|
description: 'Get user by email',
|
|
})
|
|
async user(@Args('email') email: string) {
|
|
return this.prisma.users.findUnique({
|
|
where: { email },
|
|
});
|
|
}
|
|
}
|