Implement guard on empty full name before NDA is signed
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -6,6 +6,14 @@ export class UnAuthenticatedError extends Error {
|
||||
}
|
||||
}
|
||||
|
||||
export class FullNameRequiredError extends Error {
|
||||
constructor(message?: string) {
|
||||
super(message || "FULL_NAME_REQUIRED");
|
||||
this.name = "FullNameRequiredError";
|
||||
Object.setPrototypeOf(this, FullNameRequiredError.prototype);
|
||||
}
|
||||
}
|
||||
|
||||
export class NDASignatureRequiredError extends Error {
|
||||
constructor(message?: string) {
|
||||
super(message || "NDA_SIGNATURE_REQUIRED");
|
||||
|
||||
@@ -5,12 +5,16 @@ import {
|
||||
ForbiddenError,
|
||||
AssumptionRequiredError,
|
||||
NDASignatureRequiredError,
|
||||
FullNameRequiredError,
|
||||
} from "./errors";
|
||||
import { GraphQLError } from "graphql";
|
||||
|
||||
const hasUnauthenticatedError = (error: GraphQLError) =>
|
||||
error.extensions?.code == "UNAUTHENTICATED";
|
||||
|
||||
const hasFullNameRequiredError = (error: GraphQLError) =>
|
||||
error.extensions?.code == "FULL_NAME_REQUIRED";
|
||||
|
||||
const hasAssumptionRequiredError = (error: GraphQLError) =>
|
||||
error.extensions?.code == "ASSUMPTION_REQUIRED";
|
||||
|
||||
@@ -83,6 +87,11 @@ export const makeFetchQuery = (endpoint: string): FetchFunction => {
|
||||
throw new UnAuthenticatedError(unauthenticatedError.message);
|
||||
}
|
||||
|
||||
const fullNameRequiredError = errors.find(hasFullNameRequiredError);
|
||||
if (fullNameRequiredError) {
|
||||
throw new FullNameRequiredError(fullNameRequiredError.message);
|
||||
}
|
||||
|
||||
const assumptionRequiredError = errors.find(hasAssumptionRequiredError);
|
||||
if (assumptionRequiredError) {
|
||||
throw new AssumptionRequiredError(assumptionRequiredError.message)
|
||||
|
||||
Reference in New Issue
Block a user