Fixes HttpError and AuthError instanceof bug (#1648)

This commit is contained in:
Mihovil Ilakovac 2024-01-21 12:25:08 +01:00 committed by GitHub
parent a35040e351
commit 66682ff568
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 9 additions and 49 deletions

View File

@ -10,6 +10,7 @@
},
"exports": {
"./core/HttpError": "./core/HttpError.js",
"./core/AuthError": "./core/AuthError.js",
"./core/config": "./core/config.js",
"./core/stitches.config": "./core/stitches.config.js",
"./core/storage": "./core/storage.ts",

View File

@ -1,6 +1,6 @@
import express from 'express'
import HttpError from './core/HttpError.js'
import HttpError from 'wasp/core/HttpError'
import indexRouter from './routes/index.js'
// TODO: Consider extracting most of this logic into createApp(routes, path) function so that

View File

@ -13,7 +13,7 @@ import {
import { ensureValidEmail } from "../../validation.js";
import type { EmailFromField } from '../../../email/core/types.js';
import { GetPasswordResetEmailContentFn } from './types.js';
import HttpError from '../../../core/HttpError.js';
import HttpError from 'wasp/core/HttpError'
export function getRequestPasswordResetRoute({
fromField,

View File

@ -8,7 +8,7 @@ import {
} from "../../utils.js";
import { ensureTokenIsPresent, ensurePasswordIsPresent, ensureValidPassword } from "../../validation.js";
import { tokenVerificationErrors } from "./types.js";
import HttpError from '../../../core/HttpError.js';
import HttpError from 'wasp/core/HttpError';
export async function resetPassword(
req: Request<{ token: string; password: string; }>,

View File

@ -18,7 +18,7 @@ import {
import { ensureValidEmail, ensureValidPassword, ensurePasswordIsPresent } from "../../validation.js";
import { GetVerificationEmailContentFn } from './types.js';
import { validateAndGetUserFields } from '../../utils.js'
import HttpError from '../../../core/HttpError.js';
import HttpError from 'wasp/core/HttpError';
import { type UserSignupFields } from '../types.js';
export function getSignupRoute({

View File

@ -7,7 +7,7 @@ import {
deserializeAndSanitizeProviderData,
} from '../../utils.js';
import { tokenVerificationErrors } from './types.js';
import HttpError from '../../../core/HttpError.js';
import HttpError from 'wasp/core/HttpError';
export async function verifyEmail(

View File

@ -1,8 +1,8 @@
{{={= =}=}}
import { hashPassword } from './password.js'
import { verify } from './jwt.js'
import AuthError from '../core/AuthError.js'
import HttpError from '../core/HttpError.js'
import AuthError from 'wasp/core/AuthError'
import HttpError from 'wasp/core/HttpError'
import prisma from '../dbClient.js'
import { sleep } from '../utils.js'
import {

View File

@ -1,4 +1,4 @@
import HttpError from '../core/HttpError.js';
import HttpError from 'wasp/core/HttpError'
export const PASSWORD_FIELD = 'password';
const USERNAME_FIELD = 'username';

View File

@ -1,17 +0,0 @@
class AuthError extends Error {
constructor (message, data, ...params) {
super(message, ...params)
if (Error.captureStackTrace) {
Error.captureStackTrace(this, AuthError)
}
this.name = this.constructor.name
if (data) {
this.data = data
}
}
}
export default AuthError

View File

@ -1,22 +0,0 @@
class HttpError extends Error {
constructor (statusCode, message, data, ...params) {
super(message, ...params)
if (Error.captureStackTrace) {
Error.captureStackTrace(this, HttpError)
}
this.name = this.constructor.name
if (!(Number.isInteger(statusCode) && statusCode >= 400 && statusCode < 600)) {
throw new Error('statusCode has to be integer in range [400, 600).')
}
this.statusCode = statusCode
if (data) {
this.data = data
}
}
}
export default HttpError

View File

@ -221,8 +221,6 @@ genSrcDir :: AppSpec -> Generator [FileDraft]
genSrcDir spec =
sequence
[ genFileCopy [relfile|app.js|],
genFileCopy [relfile|core/AuthError.js|],
genFileCopy [relfile|core/HttpError.js|],
genDbClient spec,
genConfigFile spec,
genServerJs spec,