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

Merge branch 'authentication' of https://github.com/codex-team/codex.docs into authentication

This commit is contained in:
timakasucces 2019-01-16 14:52:04 +03:00
commit 5d6319915f
2 changed files with 33 additions and 1 deletions

View file

@ -41,6 +41,38 @@ class Pages {
return Model.getAll();
}
/**
* @static
* Return all pages without children of passed page
*
* @param {string} parent - id of current page
* @returns {Promise<Page[]>}
*/
static async getAllExceptChildrens(parent) {
let pagesAvailable = this.removeChildren(await Pages.getAll(), parent);
return pagesAvailable.filter((item) => item !== null);
}
/**
* @static
* Set all children elements to null
*
* @param {Page[]} [pagesAvailable] - Array of all pages
* @param {string} parent - id of parent page
* @returns {Array<?Page>}
*/
static removeChildren(pagesAvailable, parent) {
pagesAvailable.forEach(async (item, index) => {
if (item === null || item._parent !== parent) {
return;
}
pagesAvailable[index] = null;
pagesAvailable = Pages.removeChildren(pagesAvailable, item._id);
});
return pagesAvailable;
}
/**
* Create new page model and save it in the database
*

View file

@ -33,7 +33,7 @@ router.get('/page/edit/:id', async (req, res, next) => {
try {
let page = await Pages.get(pageId);
let pagesAvailable = await Pages.getAll();
let pagesAvailable = await Pages.getAllExceptChildrens(pageId);
res.render('pages/form', {
pagesAvailable,