pass errors
This commit is contained in:
parent
47b2821f90
commit
2f93e65862
2 changed files with 18 additions and 14 deletions
|
|
@ -7,6 +7,7 @@ function buildDependencies() {
|
||||||
dependencies.middlewares = middlewares;
|
dependencies.middlewares = middlewares;
|
||||||
|
|
||||||
const services = require('./services');
|
const services = require('./services');
|
||||||
|
const errors = require('./errors');
|
||||||
|
|
||||||
const WebRoutesProvider = require('./routes/webRoutes');
|
const WebRoutesProvider = require('./routes/webRoutes');
|
||||||
const webRoutesProvider = new WebRoutesProvider({
|
const webRoutesProvider = new WebRoutesProvider({
|
||||||
|
|
@ -17,7 +18,11 @@ function buildDependencies() {
|
||||||
dependencies.webRoutes = webRoutesProvider.provide();
|
dependencies.webRoutes = webRoutesProvider.provide();
|
||||||
|
|
||||||
const ApiRoutesProvider = require('./routes/apiRoutes');
|
const ApiRoutesProvider = require('./routes/apiRoutes');
|
||||||
const apiRoutesProvider = new ApiRoutesProvider({ middlewares, services });
|
const apiRoutesProvider = new ApiRoutesProvider({
|
||||||
|
middlewares,
|
||||||
|
services,
|
||||||
|
errors,
|
||||||
|
});
|
||||||
dependencies.apiRoutes = apiRoutesProvider.provide();
|
dependencies.apiRoutes = apiRoutesProvider.provide();
|
||||||
return dependencies;
|
return dependencies;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
|
|
||||||
const errors = require('../errors');
|
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
class ApiRoutesProvider {
|
class ApiRoutesProvider {
|
||||||
constructor({ middlewares, services }) {
|
constructor({ middlewares, services, errors }) {
|
||||||
this.middlewares = middlewares;
|
this.middlewares = middlewares;
|
||||||
this.services = services;
|
this.services = services;
|
||||||
|
this.errors = errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
provide() {
|
provide() {
|
||||||
|
|
@ -19,14 +18,14 @@ class ApiRoutesProvider {
|
||||||
signUpChallenge =
|
signUpChallenge =
|
||||||
await this.services.invitesService.createSignUpChallenge(inviteUuid);
|
await this.services.invitesService.createSignUpChallenge(inviteUuid);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof errors.NotFoundError) {
|
if (error instanceof this.services.NotFoundError) {
|
||||||
return res.status(404).json({
|
return res.status(404).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'Could not find invite with that id.',
|
message: 'Could not find invite with that id.',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error instanceof errors.AlreadyUsedError) {
|
if (error instanceof this.errors.AlreadyUsedError) {
|
||||||
return res.status(410).json({
|
return res.status(410).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'That invite has already been used.',
|
message: 'That invite has already been used.',
|
||||||
|
|
@ -66,19 +65,19 @@ class ApiRoutesProvider {
|
||||||
completedSignUpChallenge =
|
completedSignUpChallenge =
|
||||||
await this.services.invitesService.verifySignUpChallenge(signedEvent);
|
await this.services.invitesService.verifySignUpChallenge(signedEvent);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof errors.ExpiredError) {
|
if (error instanceof this.errors.ExpiredError) {
|
||||||
return res.status(410).json({
|
return res.status(410).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'The challenge has expired, request a new one.',
|
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({
|
return res.status(410).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'The challenge has been used, request a new one.',
|
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({
|
return res.status(400).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'The challenge signature is not valid.',
|
message: 'The challenge signature is not valid.',
|
||||||
|
|
@ -135,25 +134,25 @@ class ApiRoutesProvider {
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('helo5');
|
console.log('helo5');
|
||||||
console.log(error);
|
console.log(error);
|
||||||
if (error instanceof errors.ExpiredError) {
|
if (error instanceof this.errors.ExpiredError) {
|
||||||
return res.status(410).json({
|
return res.status(410).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'The challenge has expired, request a new one.',
|
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({
|
return res.status(410).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'The challenge has been used, request a new one.',
|
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({
|
return res.status(400).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'The challenge signature is not valid.',
|
message: 'The challenge signature is not valid.',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (error instanceof errors.ForbiddenError) {
|
if (error instanceof this.errors.ForbiddenError) {
|
||||||
console.log('helo?1');
|
console.log('helo?1');
|
||||||
return res.status(403).json({
|
return res.status(403).json({
|
||||||
success: false,
|
success: false,
|
||||||
|
|
@ -254,7 +253,7 @@ class ApiRoutesProvider {
|
||||||
try {
|
try {
|
||||||
await this.services.offerService.deleteOffer(offerUuid);
|
await this.services.offerService.deleteOffer(offerUuid);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof errors.NotFoundError) {
|
if (error instanceof this.errors.NotFoundError) {
|
||||||
return res.status(404).json({
|
return res.status(404).json({
|
||||||
success: false,
|
success: false,
|
||||||
message: 'Offer not found for the given public key.',
|
message: 'Offer not found for the given public key.',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue