fix(core): error state for non early access user while signing in with email (#4467)

This commit is contained in:
LongYinan
2023-09-23 00:00:09 -07:00
committed by GitHub
parent 7b5157aa89
commit 5f7f5b74ca
2 changed files with 30 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
import {
BadRequestException,
ForbiddenException,
HttpException,
HttpStatus,
UseGuards,
} from '@nestjs/common';
import {
@@ -15,6 +15,7 @@ import {
Resolver,
} from '@nestjs/graphql';
import type { User } from '@prisma/client';
import { GraphQLError } from 'graphql';
import GraphQLUpload from 'graphql-upload/GraphQLUpload.mjs';
import { PrismaService } from '../../prisma/service';
@@ -120,9 +121,14 @@ export class UserResolver {
@Public()
async user(@Args('email') email: string) {
if (!(await this.users.canEarlyAccess(email))) {
return new HttpException(
return new GraphQLError(
`You don't have early access permission\nVisit https://community.affine.pro/c/insider-general/ for more information`,
401
{
extensions: {
status: HttpStatus[HttpStatus.PAYMENT_REQUIRED],
code: HttpStatus.PAYMENT_REQUIRED,
},
}
);
}
// TODO: need to limit a user can only get another user witch is in the same workspace