diff --git a/lib/db/feature-toggle-store.js b/lib/db/feature-toggle-store.js index 3ac028d183..82717807a5 100644 --- a/lib/db/feature-toggle-store.js +++ b/lib/db/feature-toggle-store.js @@ -4,6 +4,7 @@ const metricsHelper = require('../metrics-helper'); const { DB_TIME } = require('../events'); const NotFoundError = require('../error/notfound-error'); const FeatureHasTagError = require('../error/feature-has-tag-error'); +const { UNIQUE_CONSTRAINT_VIOLATION } = require('../error/db-error'); const FEATURE_COLUMNS = [ 'name', @@ -242,7 +243,7 @@ class FeatureToggleStore { await this.db(FEATURE_TAG_TABLE) .insert(this.featureAndTagToRow(featureName, tag)) .catch(err => { - if (err.code === '23505') { + if (err.code === UNIQUE_CONSTRAINT_VIOLATION) { throw new FeatureHasTagError( `${featureName} already had the tag: [${tag.type}:${tag.value}]`, ); diff --git a/lib/error/db-error.js b/lib/error/db-error.js new file mode 100644 index 0000000000..1795f7639f --- /dev/null +++ b/lib/error/db-error.js @@ -0,0 +1,3 @@ +module.exports = { + UNIQUE_CONSTRAINT_VIOLATION: '23505', +};