From 8e7acd417a23b3cfe587f220600d0e1d17adba7d Mon Sep 17 00:00:00 2001 From: Hassan ElNajjar Date: Sat, 2 Sep 2023 02:17:48 +0300 Subject: [PATCH] fix error handler --- web/app.js | 42 +++++++++---------- .../orders/controllers/retrieve-order.test.js | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/web/app.js b/web/app.js index b9bbc27..262c43b 100644 --- a/web/app.js +++ b/web/app.js @@ -13,6 +13,23 @@ import GDPRWebhookHandlers from './gdpr.js'; import addSessionShopToReqParams from './middleware/addSessionShopToReqParameters.js'; init(); + +const errorMiddleware = (err, _req, res, _next) => { + if (err.name === 'ValidationError') { + return res.status(400).json({ + success: false, + // @ts-ignore + message: err.message + }); + } + + // @ts-ignore + return res.status(500).json({ + message: err.message, + stack: err.stack + }); +}; + const STATIC_PATH = process.env.NODE_ENV === 'production' ? `${process.cwd()}/frontend/dist` @@ -27,7 +44,7 @@ app.get( shopify.redirectToShopifyOrAppRoot() ); -app.use('/fdc', express.json(), fdcRouters); +app.use('/fdc', express.json(), fdcRouters, errorMiddleware); app.use('/api/*', shopify.validateAuthenticatedSession()); app.use('/*', addSessionShopToReqParams); @@ -43,6 +60,8 @@ app.use('/*', shopify.ensureInstalledOnShop(), async (_req, res) => .send(readFileSync(join(STATIC_PATH, 'index.html'))) ); +app.use(errorMiddleware); + app.post( shopify.config.webhooks.path, shopify.processWebhooks({ @@ -50,25 +69,6 @@ app.post( }) ); -app.use((err, _req, res) => { - console.log('errrrrrrrr', err); - console.error(err, { - name: err.name - }); - - if (err.name === 'ValidationError') { - return res.status(400).json({ - success: false, - // @ts-ignore - message: err.message - }); - } - - // @ts-ignore - return res.status(500).json({ - message: err.message, - stack: err.stack - }); -}); +// add error handler export default app; diff --git a/web/fdc-modules/orders/controllers/retrieve-order.test.js b/web/fdc-modules/orders/controllers/retrieve-order.test.js index badbec1..f4c2076 100644 --- a/web/fdc-modules/orders/controllers/retrieve-order.test.js +++ b/web/fdc-modules/orders/controllers/retrieve-order.test.js @@ -245,7 +245,7 @@ describe('retrieve-order', () => { ] } }) - .expect(500) + .expect(400) .expect('Content-Type', /json/) .expect({