mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-08-08 15:05:26 +02:00
refactor
set function as method of Pages
This commit is contained in:
parent
e61becaeb9
commit
e680cd3c5d
2 changed files with 30 additions and 13 deletions
|
@ -41,6 +41,35 @@ class Pages {
|
|||
return Model.getAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all pages without children pages
|
||||
*
|
||||
* @returns {Promise<Page[]>}
|
||||
*/
|
||||
static async getWithoutChildren(parent) {
|
||||
let pagesAvailable = this.removeChildren(await Pages.getAll(), parent);
|
||||
|
||||
return pagesAvailable.filter((item) => item !== null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change wrong pages to null
|
||||
*
|
||||
* @returns {Promise<Page[]>}
|
||||
*/
|
||||
static removeChildren(pagesAvailable, parent) {
|
||||
pagesAvailable.forEach(async (item, index) => {
|
||||
if (item !== null && item._parent === parent) {
|
||||
pagesAvailable[index] = null;
|
||||
pagesAvailable = Pages.removeChildren(pagesAvailable, item._id);
|
||||
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
return pagesAvailable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create new page model and save it in the database
|
||||
*
|
||||
|
|
|
@ -22,19 +22,7 @@ router.get('/page/edit/:id', async (req, res, next) => {
|
|||
|
||||
try {
|
||||
let page = await Pages.get(pageId);
|
||||
let pagesAvailable = await Pages.getAll();
|
||||
|
||||
(function childrenRemove(parent) {
|
||||
pagesAvailable.forEach((item, index) => {
|
||||
if (item !== null && item._parent === parent) {
|
||||
pagesAvailable[index] = null;
|
||||
childrenRemove(item._id);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
})(page._id);
|
||||
pagesAvailable = pagesAvailable.filter((item) => item !== null);
|
||||
let pagesAvailable = await Pages.getWithoutChildren(pageId);
|
||||
|
||||
res.render('pages/form', {
|
||||
pagesAvailable,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue