fix(server): do not allow registration through gql (#6775)

This commit is contained in:
forehalo
2024-05-06 11:11:56 +00:00
parent 4ea31cbb35
commit d657f4091a
3 changed files with 39 additions and 74 deletions

View File

@@ -35,6 +35,7 @@ export class UserService {
async createUser(data: Prisma.UserCreateInput) {
return this.prisma.user.create({
select: this.defaultUserSelect,
data: {
...this.userCreatingData,
...data,
@@ -113,18 +114,32 @@ export class UserService {
Pick<Prisma.UserCreateInput, 'emailVerifiedAt' | 'registered'>
>
) {
return this.prisma.user.upsert({
select: this.defaultUserSelect,
where: {
email,
},
update: data,
create: {
email,
const user = await this.findUserByEmail(email);
if (!user) {
return this.createUser({
...this.userCreatingData,
email,
name: email.split('@')[0],
...data,
},
});
});
} else {
if (user.registered) {
delete data.registered;
}
if (user.emailVerifiedAt) {
delete data.emailVerifiedAt;
}
if (Object.keys(data).length) {
return await this.prisma.user.update({
select: this.defaultUserSelect,
where: { id: user.id },
data,
});
}
}
return user;
}
async deleteUser(id: string) {