diff --git a/src/constants/aliasTypes.js b/src/constants/aliasTypes.js deleted file mode 100644 index 426828a..0000000 --- a/src/constants/aliasTypes.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - PAGE: 'page' -}; diff --git a/src/controllers/pages.js b/src/controllers/pages.js index 758b181..86d116f 100644 --- a/src/controllers/pages.js +++ b/src/controllers/pages.js @@ -1,6 +1,5 @@ const Model = require('../models/page'); const Alias = require('../models/alias'); -const aliasTypes = require('../constants/aliasTypes'); /** * @class Pages @@ -92,7 +91,7 @@ class Pages { if (insertedPage.uri) { const alias = new Alias({ id: insertedPage._id, - type: aliasTypes.PAGE + type: Alias.types.PAGE }, insertedPage.uri); alias.save(); @@ -162,7 +161,7 @@ class Pages { if (updatedPage.uri) { const alias = new Alias({ id: updatedPage._id, - type: aliasTypes.PAGE + type: Alias.types.PAGE }, updatedPage.uri); alias.save(); diff --git a/src/models/alias.js b/src/models/alias.js index 3725be1..fac0296 100644 --- a/src/models/alias.js +++ b/src/models/alias.js @@ -1,5 +1,6 @@ const {aliases: aliasesDb} = require('../utils/database/index'); const binaryMD5 = require('../utils/crypto'); + /** * @typedef {Object} AliasData * @property {string} _id - alias id @@ -19,6 +20,17 @@ const binaryMD5 = require('../utils/crypto'); * @property {string} id - entity title */ class Alias { + /** + * Return Alias types + * + * @returns {Object} + */ + static get types() { + return { + PAGE: 'page' + }; + }; + /** * Find and return alias with given alias * @param {string} aliasName - alias of entity diff --git a/src/routes/aliases.js b/src/routes/aliases.js index f500ed9..76b99af 100644 --- a/src/routes/aliases.js +++ b/src/routes/aliases.js @@ -2,7 +2,7 @@ const express = require('express'); const router = express.Router(); const Aliases = require('../controllers/aliases'); const Pages = require('../controllers/pages'); -const aliasTypes = require('../constants/aliasTypes'); +const Alias = require('../models/alias'); /** * GET /* @@ -14,7 +14,7 @@ router.get('*', async (req, res) => { const alias = await Aliases.get(req.originalUrl.slice(1)); // Cuts first '/' character switch (alias.type) { - case aliasTypes.PAGE: { + case Alias.types.PAGE: { let page = await Pages.get(alias.id); let pageParent = await page.parent; diff --git a/test/models/alias.js b/test/models/alias.js index 423ec7f..582356a 100644 --- a/test/models/alias.js +++ b/test/models/alias.js @@ -4,7 +4,6 @@ const path = require('path'); const config = require('../../config'); const Alias = require('../../src/models/alias'); const binaryMD5 = require('../../src/utils/crypto'); -const aliasTypes = require('../../src/constants/aliasTypes'); const {aliases} = require('../../src/utils/database'); describe('Alias model', () => { @@ -41,7 +40,7 @@ describe('Alias model', () => { const initialData = { _id: 'alias_id', - type: aliasTypes.PAGE, + type: Alias.types.PAGE, id: 'page_id' }; const aliasName = 'alias name'; @@ -55,7 +54,7 @@ describe('Alias model', () => { expect(data.deprecated).to.equal(false); const update = { - type: aliasTypes.PAGE, + type: Alias.types.PAGE, id: 'page_id', hash: binaryMD5('another test hash'), deprecated: true @@ -73,7 +72,7 @@ describe('Alias model', () => { it('Static get method', async () => { const initialData = { - type: aliasTypes.PAGE, + type: Alias.types.PAGE, id: 'page_id' }; const aliasName = 'alias name'; @@ -94,7 +93,7 @@ describe('Alias model', () => { it('Saving, updating and deleting model in the database', async () => { const initialData = { - type: aliasTypes.PAGE, + type: Alias.types.PAGE, id: 'page_id' }; const aliasName = 'alias name'; @@ -118,7 +117,7 @@ describe('Alias model', () => { expect(insertedAlias.deprecated).to.equal(savedAlias.deprecated); const updateData = { - type: aliasTypes.PAGE, + type: Alias.types.PAGE, id: 'page_id', hash: binaryMD5('another test hash'), deprecated: true