Centralize and standardize database error handling

Introduced a new handleDBError utility in modules/utils.js to centralize database error logging and throwing. Refactored all repositories to use this utility, replacing repetitive error handling and logger calls with a single function call for improved maintainability and consistency.
This commit is contained in:
2026-01-18 18:04:10 +01:00
parent 88f8ee57e1
commit 71627c7041
7 changed files with 91 additions and 183 deletions
+4 -8
View File
@@ -1,6 +1,5 @@
const logger = require("../modules/logger")
const utils = require("../modules/utils")
const database = require("../modules/database")
const { DefaultError } = require("../errors/errors")
async function createLinkAttempt(OAuth2LinkId, playerUuid) {
try {
@@ -12,8 +11,7 @@ async function createLinkAttempt(OAuth2LinkId, playerUuid) {
const result = await database.query(sql, [OAuth2LinkId, playerUuid])
return result.affectedRows > 0
} catch (error) {
logger.log("Internal Server Error".bold + " : " + error.toString(), ["MariaDB", "yellow"])
throw new DefaultError(500, "Internal Server Error", "Database Error")
return utils.handleDBError(error)
}
}
@@ -31,8 +29,7 @@ async function popLinkAttempt(OAuth2LinkId) {
return playerUuid
} catch (error) {
logger.log("Internal Server Error".bold + " : " + error.toString(), ["MariaDB", "yellow"])
throw new DefaultError(500, "Internal Server Error", "Database Error")
return utils.handleDBError(error)
}
}
@@ -43,8 +40,7 @@ async function unlinkProviderAccount(provider, playerUuid) {
return result.affectedRows > 0
} catch (error) {
logger.log("Internal Server Error".bold + " : " + error.toString(), ["MariaDB", "yellow"])
throw new DefaultError(500, "Internal Server Error", "Database Error")
return utils.handleDBError(error)
}
}