0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 16:22:44 +00:00

Pass all error properties to message generator

This commit is contained in:
G.Ambatte
2023-06-25 17:10:25 +12:00
parent da8e7ec610
commit e5ef0aedd3
4 changed files with 12 additions and 4 deletions

View File

@@ -23,7 +23,7 @@ const ErrorPage = createClass({
},
render : function(){
const errorText = ErrorIndex()[this.props.brew.HBErrorCode.toString()] || '';
const errorText = ErrorIndex(this.props)[this.props.brew.HBErrorCode.toString()] || '';
return <UIPage brew={{ title: 'Crit Fail!' }}>
<div className='dataGroup'>

View File

@@ -1,6 +1,6 @@
const dedent = require('dedent-tabs').default;
const errorIndex = ()=>{
const errorIndex = (props)=>{
return {
'00' : dedent`
## An unknown error occurred!
@@ -49,7 +49,14 @@ const errorIndex = ()=>{
'03' : dedent`
## The current logged in user does not have editor access to this brew.
If you believe you should have access to this brew, ask the file owner to invite you as an author by opening the brew, viewing the Properties tab, and adding your username to the "invited authors" list. You can then try to access this document again.`,
If you believe you should have access to this brew, ask the file owner to invite you
as an author by opening the brew, viewing the Properties tab, and adding your username
to the "invited authors" list. You can then try to access this document again.
Current Authors:
${props.brew.authors?.map((author)=>{return `- ${author}`;}).join('\n') || 'Unable to list authors'}
`,
'04' : dedent`
## No Homebrewery document could be found.

View File

@@ -473,6 +473,7 @@ app.use(async (err, req, res, next)=>{
description : 'Something went wrong!'
};
req.brew = {
...err,
title : 'Error - Something went wrong!',
text : err.errors?.map((error)=>{return error.message;}).join('\n\n') || err.message || 'Unknown error!',
status : status,

View File

@@ -68,7 +68,7 @@ const api = {
const isAuthor = stub?.authors?.includes(req.account?.username);
const isInvited = stub?.invitedAuthors?.includes(req.account?.username);
if(accessType === 'edit' && (authorsExist && !(isAuthor || isInvited))) {
throw { name: 'Access Error', message: 'User is not an Author', status: 401, HBErrorCode: '03' };
throw { name: 'Access Error', message: 'User is not an Author', status: 401, HBErrorCode: '03', authors: stub.authors };
}
// If after all of that we still don't have a brew, throw an exception