ER_DUP_ENTRY is passed as code and not in message

This commit is contained in:
Girish Ramakrishnan
2025-09-24 10:50:25 +02:00
parent 045b4db246
commit 19df2e0baa
2 changed files with 2 additions and 2 deletions

View File

@@ -545,7 +545,7 @@ function getDuplicateErrorDetails(errorMessage, locations, portBindings) {
assert(Array.isArray(locations));
assert.strictEqual(typeof portBindings, 'object');
const match = errorMessage.match(/ER_DUP_ENTRY: Duplicate entry '(.*)' for key '(.*)'/);
const match = errorMessage.match(/Duplicate entry '(.*)' for key '(.*)'/);
if (!match) {
debug('Unexpected SQL error message.', errorMessage);
return new BoxError(BoxError.DATABASE_ERROR, errorMessage);

View File

@@ -1065,7 +1065,7 @@ async function setAliases(name, domain, aliases, auditSource) {
const [error] = await safe(database.transaction(queries));
if (error && error.code === 'ER_DUP_ENTRY' && error.message.indexOf('mailboxes_name_domain_unique_index') !== -1) {
const aliasMatch = error.message.match(new RegExp(`^ER_DUP_ENTRY: Duplicate entry '(.*)-${domain}' for key 'mailboxes_name_domain_unique_index'$`));
const aliasMatch = error.message.match(new RegExp(`Duplicate entry '(.*)-${domain}' for key 'mailboxes_name_domain_unique_index'`));
if (!aliasMatch) throw new BoxError(BoxError.ALREADY_EXISTS, error.message);
throw new BoxError(BoxError.ALREADY_EXISTS, `Mailbox, mailinglist or alias for ${aliasMatch[1]} already exists`);