Improve centralized error handling
This commit is contained in:
@@ -2,13 +2,12 @@ import * as emailAccountService from '../services/email-account.service.js';
|
||||
import {
|
||||
logEmailLink,
|
||||
} from '../services/audit.service.js';
|
||||
import { formatErrorResponse } from '../utils/errors.js';
|
||||
|
||||
/**
|
||||
* Get all email accounts for logged-in user
|
||||
* GET /api/email-accounts
|
||||
*/
|
||||
export const getEmailAccounts = async (req, res) => {
|
||||
export const getEmailAccounts = async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.userId;
|
||||
const accounts = await emailAccountService.getUserEmailAccounts(userId);
|
||||
@@ -18,8 +17,7 @@ export const getEmailAccounts = async (req, res) => {
|
||||
data: accounts,
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -27,7 +25,7 @@ export const getEmailAccounts = async (req, res) => {
|
||||
* Get a specific email account
|
||||
* GET /api/email-accounts/:id
|
||||
*/
|
||||
export const getEmailAccount = async (req, res) => {
|
||||
export const getEmailAccount = async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.userId;
|
||||
const { id } = req.params;
|
||||
@@ -39,8 +37,7 @@ export const getEmailAccount = async (req, res) => {
|
||||
data: account,
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -48,7 +45,7 @@ export const getEmailAccount = async (req, res) => {
|
||||
* Create a new email account
|
||||
* POST /api/email-accounts
|
||||
*/
|
||||
export const createEmailAccount = async (req, res) => {
|
||||
export const createEmailAccount = async (req, res, next) => {
|
||||
const { email, emailPassword } = req.body;
|
||||
const userId = req.userId;
|
||||
const ipAddress = req.ip || req.connection.remoteAddress;
|
||||
@@ -70,8 +67,7 @@ export const createEmailAccount = async (req, res) => {
|
||||
message: 'Email účet úspešne pripojený',
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -79,7 +75,7 @@ export const createEmailAccount = async (req, res) => {
|
||||
* Update email account password
|
||||
* PATCH /api/email-accounts/:id/password
|
||||
*/
|
||||
export const updateEmailAccountPassword = async (req, res) => {
|
||||
export const updateEmailAccountPassword = async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.userId;
|
||||
const { id } = req.params;
|
||||
@@ -97,8 +93,7 @@ export const updateEmailAccountPassword = async (req, res) => {
|
||||
message: 'Heslo k emailovému účtu bolo aktualizované',
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -106,7 +101,7 @@ export const updateEmailAccountPassword = async (req, res) => {
|
||||
* Toggle email account active status
|
||||
* PATCH /api/email-accounts/:id/status
|
||||
*/
|
||||
export const toggleEmailAccountStatus = async (req, res) => {
|
||||
export const toggleEmailAccountStatus = async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.userId;
|
||||
const { id } = req.params;
|
||||
@@ -124,8 +119,7 @@ export const toggleEmailAccountStatus = async (req, res) => {
|
||||
message: `Email účet ${isActive ? 'aktivovaný' : 'deaktivovaný'}`,
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -133,7 +127,7 @@ export const toggleEmailAccountStatus = async (req, res) => {
|
||||
* Set email account as primary
|
||||
* POST /api/email-accounts/:id/set-primary
|
||||
*/
|
||||
export const setPrimaryEmailAccount = async (req, res) => {
|
||||
export const setPrimaryEmailAccount = async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.userId;
|
||||
const { id } = req.params;
|
||||
@@ -146,8 +140,7 @@ export const setPrimaryEmailAccount = async (req, res) => {
|
||||
message: 'Primárny email účet bol nastavený',
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -155,7 +148,7 @@ export const setPrimaryEmailAccount = async (req, res) => {
|
||||
* Delete email account
|
||||
* DELETE /api/email-accounts/:id
|
||||
*/
|
||||
export const deleteEmailAccount = async (req, res) => {
|
||||
export const deleteEmailAccount = async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.userId;
|
||||
const { id } = req.params;
|
||||
@@ -168,7 +161,6 @@ export const deleteEmailAccount = async (req, res) => {
|
||||
message: result.message,
|
||||
});
|
||||
} catch (error) {
|
||||
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
|
||||
res.status(error.statusCode || 500).json(errorResponse);
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user