pass errors

This commit is contained in:
counterweight 2025-03-05 16:23:36 +01:00
parent 47b2821f90
commit 2f93e65862
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 18 additions and 14 deletions

View file

@ -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;
}

View file

@ -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.',