Add exception handler to all controllers.

This commit is contained in:
rainbownapkin 2024-11-17 18:44:00 -05:00
parent cf55be21eb
commit 1de507b7cb
7 changed files with 42 additions and 34 deletions

View file

@ -16,6 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//local imports //local imports
const accountUtils = require('../../../utils/sessionUtils.js'); const accountUtils = require('../../../utils/sessionUtils.js');
const {exceptionHandler} = require('../../../utils/loggerUtils.js');
module.exports.get = async function(req, res){ module.exports.get = async function(req, res){
if(req.session.user){ if(req.session.user){
@ -23,8 +24,7 @@ module.exports.get = async function(req, res){
accountUtils.killSession(req.session); accountUtils.killSession(req.session);
return res.sendStatus(200); return res.sendStatus(200);
}catch(err){ }catch(err){
res.status(400); return exceptionHandler(res, err);
return res.send(err.message)
} }
}else{ }else{
res.status(400); res.status(400);

View file

@ -15,7 +15,8 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.*/ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//local imports //local imports
const channelModel = require('../../../schemas/channelSchema'); const {exceptionHandler} = require('../../../utils/loggerUtils.js');
const channelModel = require('../../../schemas/channelSchema.js');
//api account functions //api account functions
module.exports.get = async function(req, res){ module.exports.get = async function(req, res){
@ -25,7 +26,6 @@ module.exports.get = async function(req, res){
res.status(200); res.status(200);
return res.send(chanGuide); return res.send(chanGuide);
}catch(err){ }catch(err){
res.status(400); return exceptionHandler(res, err);
return res.send(err.message);
} }
} }

View file

@ -15,6 +15,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.*/ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//local imports //local imports
const {exceptionHandler} = require('../../../utils/loggerUtils.js');
const userModel = require('../../../schemas/userSchema'); const userModel = require('../../../schemas/userSchema');
//api account functions //api account functions
@ -25,7 +26,6 @@ module.exports.get = async function(req, res){
res.status(200); res.status(200);
return res.send(userList); return res.send(userList);
}catch(err){ }catch(err){
res.status(400); return exceptionHandler(res, err);
return res.send(err.message);
} }
} }

View file

@ -16,6 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//local imports //local imports
const channelModel = require('../../../schemas/channelSchema'); const channelModel = require('../../../schemas/channelSchema');
const {exceptionHandler} = require('../../../utils/loggerUtils.js');
//api account functions //api account functions
module.exports.get = async function(req, res){ module.exports.get = async function(req, res){
@ -25,7 +26,6 @@ module.exports.get = async function(req, res){
res.status(200); res.status(200);
return res.send(chanGuide); return res.send(chanGuide);
}catch(err){ }catch(err){
res.status(400); return exceptionHandler(res, err);
return res.send(err.message);
} }
} }

View file

@ -16,6 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//Config //Config
const config = require('../../config.json'); const config = require('../../config.json');
//local imports
const {exceptionHandler} = require('../utils/loggerUtils.js');
const channelModel = require('../schemas/channelSchema'); const channelModel = require('../schemas/channelSchema');
//root index functions //root index functions
@ -30,7 +33,6 @@ module.exports.get = async function(req, res){
return res.render('channelSettings', {instance: config.instanceName, user: req.session.user, channel}); return res.render('channelSettings', {instance: config.instanceName, user: req.session.user, channel});
}catch(err){ }catch(err){
res.status(500); return exceptionHandler(res, err);
res.send(err.message);
} }
} }

View file

@ -16,6 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//Config //Config
const config = require('../../config.json'); const config = require('../../config.json');
//local imports
const {exceptionHandler} = require('../utils/loggerUtils.js');
const channelModel = require('../schemas/channelSchema'); const channelModel = require('../schemas/channelSchema');
//root index functions //root index functions
@ -24,7 +27,6 @@ module.exports.get = async function(req, res){
const chanGuide = await channelModel.getChannelList(); const chanGuide = await channelModel.getChannelList();
return res.render('index', {instance: config.instanceName, user: req.session.user, chanGuide: chanGuide}); return res.render('index', {instance: config.instanceName, user: req.session.user, chanGuide: chanGuide});
}catch(err){ }catch(err){
res.status(500); return exceptionHandler(res, err);
return res.send("Error indexing channels!");
} }
} }

View file

@ -16,6 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//Local Imports //Local Imports
const userModel = require('../schemas/userSchema'); const userModel = require('../schemas/userSchema');
const {exceptionHandler} = require('../utils/loggerUtils.js');
//Config //Config
const config = require('../../config.json'); const config = require('../../config.json');
@ -23,7 +24,7 @@ const config = require('../../config.json');
//profile functions //profile functions
module.exports.get = async function(req, res){ module.exports.get = async function(req, res){
try{
var profileName = req.url.slice(1) == '' ? (req.session.user ? req.session.user.user : null) : req.url.slice(1); var profileName = req.url.slice(1) == '' ? (req.session.user ? req.session.user.user : null) : req.url.slice(1);
const userDB = await userModel.findOne({ user: profileName }); const userDB = await userModel.findOne({ user: profileName });
@ -47,4 +48,7 @@ module.exports.get = async function(req, res){
profile: null profile: null
}); });
} }
}catch(err){
return exceptionHandler(res, err);
}
} }