1
0
Fork 0
mirror of https://github.com/codex-team/codex.docs.git synced 2025-08-08 06:55:26 +02:00

Moved alias types to model

This commit is contained in:
DorofeevMark 2019-01-24 22:35:54 +03:00
parent 91f78521a0
commit 83d3a4f117
5 changed files with 21 additions and 14 deletions

View file

@ -1,3 +0,0 @@
module.exports = {
PAGE: 'page'
};

View file

@ -1,6 +1,5 @@
const Model = require('../models/page'); const Model = require('../models/page');
const Alias = require('../models/alias'); const Alias = require('../models/alias');
const aliasTypes = require('../constants/aliasTypes');
/** /**
* @class Pages * @class Pages
@ -92,7 +91,7 @@ class Pages {
if (insertedPage.uri) { if (insertedPage.uri) {
const alias = new Alias({ const alias = new Alias({
id: insertedPage._id, id: insertedPage._id,
type: aliasTypes.PAGE type: Alias.types.PAGE
}, insertedPage.uri); }, insertedPage.uri);
alias.save(); alias.save();
@ -162,7 +161,7 @@ class Pages {
if (updatedPage.uri) { if (updatedPage.uri) {
const alias = new Alias({ const alias = new Alias({
id: updatedPage._id, id: updatedPage._id,
type: aliasTypes.PAGE type: Alias.types.PAGE
}, updatedPage.uri); }, updatedPage.uri);
alias.save(); alias.save();

View file

@ -1,5 +1,6 @@
const {aliases: aliasesDb} = require('../utils/database/index'); const {aliases: aliasesDb} = require('../utils/database/index');
const binaryMD5 = require('../utils/crypto'); const binaryMD5 = require('../utils/crypto');
/** /**
* @typedef {Object} AliasData * @typedef {Object} AliasData
* @property {string} _id - alias id * @property {string} _id - alias id
@ -19,6 +20,17 @@ const binaryMD5 = require('../utils/crypto');
* @property {string} id - entity title * @property {string} id - entity title
*/ */
class Alias { class Alias {
/**
* Return Alias types
*
* @returns {Object}
*/
static get types() {
return {
PAGE: 'page'
};
};
/** /**
* Find and return alias with given alias * Find and return alias with given alias
* @param {string} aliasName - alias of entity * @param {string} aliasName - alias of entity

View file

@ -2,7 +2,7 @@ const express = require('express');
const router = express.Router(); const router = express.Router();
const Aliases = require('../controllers/aliases'); const Aliases = require('../controllers/aliases');
const Pages = require('../controllers/pages'); const Pages = require('../controllers/pages');
const aliasTypes = require('../constants/aliasTypes'); const Alias = require('../models/alias');
/** /**
* GET /* * GET /*
@ -14,7 +14,7 @@ router.get('*', async (req, res) => {
const alias = await Aliases.get(req.originalUrl.slice(1)); // Cuts first '/' character const alias = await Aliases.get(req.originalUrl.slice(1)); // Cuts first '/' character
switch (alias.type) { switch (alias.type) {
case aliasTypes.PAGE: { case Alias.types.PAGE: {
let page = await Pages.get(alias.id); let page = await Pages.get(alias.id);
let pageParent = await page.parent; let pageParent = await page.parent;

View file

@ -4,7 +4,6 @@ const path = require('path');
const config = require('../../config'); const config = require('../../config');
const Alias = require('../../src/models/alias'); const Alias = require('../../src/models/alias');
const binaryMD5 = require('../../src/utils/crypto'); const binaryMD5 = require('../../src/utils/crypto');
const aliasTypes = require('../../src/constants/aliasTypes');
const {aliases} = require('../../src/utils/database'); const {aliases} = require('../../src/utils/database');
describe('Alias model', () => { describe('Alias model', () => {
@ -41,7 +40,7 @@ describe('Alias model', () => {
const initialData = { const initialData = {
_id: 'alias_id', _id: 'alias_id',
type: aliasTypes.PAGE, type: Alias.types.PAGE,
id: 'page_id' id: 'page_id'
}; };
const aliasName = 'alias name'; const aliasName = 'alias name';
@ -55,7 +54,7 @@ describe('Alias model', () => {
expect(data.deprecated).to.equal(false); expect(data.deprecated).to.equal(false);
const update = { const update = {
type: aliasTypes.PAGE, type: Alias.types.PAGE,
id: 'page_id', id: 'page_id',
hash: binaryMD5('another test hash'), hash: binaryMD5('another test hash'),
deprecated: true deprecated: true
@ -73,7 +72,7 @@ describe('Alias model', () => {
it('Static get method', async () => { it('Static get method', async () => {
const initialData = { const initialData = {
type: aliasTypes.PAGE, type: Alias.types.PAGE,
id: 'page_id' id: 'page_id'
}; };
const aliasName = 'alias name'; const aliasName = 'alias name';
@ -94,7 +93,7 @@ describe('Alias model', () => {
it('Saving, updating and deleting model in the database', async () => { it('Saving, updating and deleting model in the database', async () => {
const initialData = { const initialData = {
type: aliasTypes.PAGE, type: Alias.types.PAGE,
id: 'page_id' id: 'page_id'
}; };
const aliasName = 'alias name'; const aliasName = 'alias name';
@ -118,7 +117,7 @@ describe('Alias model', () => {
expect(insertedAlias.deprecated).to.equal(savedAlias.deprecated); expect(insertedAlias.deprecated).to.equal(savedAlias.deprecated);
const updateData = { const updateData = {
type: aliasTypes.PAGE, type: Alias.types.PAGE,
id: 'page_id', id: 'page_id',
hash: binaryMD5('another test hash'), hash: binaryMD5('another test hash'),
deprecated: true deprecated: true