diff --git a/src/dependencies.js b/src/dependencies.js index 5ba1f36..d4f71b8 100644 --- a/src/dependencies.js +++ b/src/dependencies.js @@ -7,6 +7,7 @@ function buildDependencies() { dependencies.middlewares = middlewares; const services = require('./services'); + const errors = require('./errors'); const WebRoutesProvider = require('./routes/webRoutes'); const webRoutesProvider = new WebRoutesProvider({ @@ -17,7 +18,11 @@ function buildDependencies() { dependencies.webRoutes = webRoutesProvider.provide(); const ApiRoutesProvider = require('./routes/apiRoutes'); - const apiRoutesProvider = new ApiRoutesProvider({ middlewares, services }); + const apiRoutesProvider = new ApiRoutesProvider({ + middlewares, + services, + errors, + }); dependencies.apiRoutes = apiRoutesProvider.provide(); return dependencies; } diff --git a/src/routes/apiRoutes.js b/src/routes/apiRoutes.js index 7a86bdb..d873438 100644 --- a/src/routes/apiRoutes.js +++ b/src/routes/apiRoutes.js @@ -1,13 +1,12 @@ const express = require('express'); -const errors = require('../errors'); - const router = express.Router(); class ApiRoutesProvider { - constructor({ middlewares, services }) { + constructor({ middlewares, services, errors }) { this.middlewares = middlewares; this.services = services; + this.errors = errors; } provide() { @@ -19,14 +18,14 @@ class ApiRoutesProvider { signUpChallenge = await this.services.invitesService.createSignUpChallenge(inviteUuid); } catch (error) { - if (error instanceof errors.NotFoundError) { + if (error instanceof this.services.NotFoundError) { return res.status(404).json({ success: false, message: 'Could not find invite with that id.', }); } - if (error instanceof errors.AlreadyUsedError) { + if (error instanceof this.errors.AlreadyUsedError) { return res.status(410).json({ success: false, message: 'That invite has already been used.', @@ -66,19 +65,19 @@ class ApiRoutesProvider { completedSignUpChallenge = await this.services.invitesService.verifySignUpChallenge(signedEvent); } catch (error) { - if (error instanceof errors.ExpiredError) { + if (error instanceof this.errors.ExpiredError) { return res.status(410).json({ success: false, message: 'The challenge has expired, request a new one.', }); } - if (error instanceof errors.AlreadyUsedError) { + if (error instanceof this.errors.AlreadyUsedError) { return res.status(410).json({ success: false, message: 'The challenge has been used, request a new one.', }); } - if (error instanceof errors.InvalidSignatureError) { + if (error instanceof this.errors.InvalidSignatureError) { return res.status(400).json({ success: false, message: 'The challenge signature is not valid.', @@ -135,25 +134,25 @@ class ApiRoutesProvider { } catch (error) { console.log('helo5'); console.log(error); - if (error instanceof errors.ExpiredError) { + if (error instanceof this.errors.ExpiredError) { return res.status(410).json({ success: false, message: 'The challenge has expired, request a new one.', }); } - if (error instanceof errors.AlreadyUsedError) { + if (error instanceof this.errors.AlreadyUsedError) { return res.status(410).json({ success: false, message: 'The challenge has been used, request a new one.', }); } - if (error instanceof errors.InvalidSignatureError) { + if (error instanceof this.errors.InvalidSignatureError) { return res.status(400).json({ success: false, message: 'The challenge signature is not valid.', }); } - if (error instanceof errors.ForbiddenError) { + if (error instanceof this.errors.ForbiddenError) { console.log('helo?1'); return res.status(403).json({ success: false, @@ -254,7 +253,7 @@ class ApiRoutesProvider { try { await this.services.offerService.deleteOffer(offerUuid); } catch (error) { - if (error instanceof errors.NotFoundError) { + if (error instanceof this.errors.NotFoundError) { return res.status(404).json({ success: false, message: 'Offer not found for the given public key.',