mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-08-08 06:55:26 +02:00
fix yet another bug
This commit is contained in:
parent
f8efc39400
commit
c26b753c66
5 changed files with 13 additions and 8 deletions
|
@ -202,7 +202,7 @@ class Pages {
|
|||
* @param {PageData} data - info about page
|
||||
* @returns {Promise<Page>}
|
||||
*/
|
||||
public static async update(id: string, data: PageData): Promise<Page> {
|
||||
public static async update(id: EntityId, data: PageData): Promise<Page> {
|
||||
const page = await Page.get(id);
|
||||
const previousUri = page.uri;
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ import PageOrder from '../models/pageOrder.js';
|
|||
import Page from '../models/page.js';
|
||||
import PagesFlatArray from '../models/pagesFlatArray.js';
|
||||
import { EntityId } from '../utils/database/types.js';
|
||||
import {isEqualIds} from "../utils/database/index.js";
|
||||
|
||||
/**
|
||||
* @class PagesOrder
|
||||
|
@ -99,8 +100,7 @@ class PagesOrder {
|
|||
*/
|
||||
public static async getOrderedChildren(pages: Page[], currentPageId: EntityId, parentPageId: EntityId, ignoreSelf = false): Promise<Page[]> {
|
||||
const children = await PageOrder.get(parentPageId);
|
||||
console.log({children})
|
||||
const unordered = pages.filter(page => page._parent === parentPageId).map(page => page._id);
|
||||
const unordered = pages.filter(page => isEqualIds(page._parent, parentPageId)).map(page => page._id);
|
||||
|
||||
// Create unique array with ordered and unordered pages id
|
||||
const ordered = Array.from(new Set([...children.order, ...unordered]));
|
||||
|
@ -109,7 +109,7 @@ class PagesOrder {
|
|||
|
||||
ordered.forEach(pageId => {
|
||||
pages.forEach(page => {
|
||||
if (page._id === pageId && (pageId !== currentPageId || !ignoreSelf)) {
|
||||
if (isEqualIds(page._id, pageId) && (!isEqualIds(pageId, currentPageId) || !ignoreSelf)) {
|
||||
result.push(page);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -3,6 +3,7 @@ import multerFunc from 'multer';
|
|||
import Pages from '../../controllers/pages.js';
|
||||
import PagesOrder from '../../controllers/pagesOrder.js';
|
||||
import { EntityId } from '../../utils/database/types.js';
|
||||
import {toEntityId} from "../../utils/database/index.js";
|
||||
|
||||
const router = express.Router();
|
||||
const multer = multerFunc();
|
||||
|
@ -15,7 +16,7 @@ const multer = multerFunc();
|
|||
|
||||
router.get('/page/:id', async (req: Request, res: Response) => {
|
||||
try {
|
||||
const page = await Pages.get(req.params.id);
|
||||
const page = await Pages.get(toEntityId(req.params.id));
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
|
@ -89,7 +90,7 @@ router.put('/page', multer.none(), async (req: Request, res: Response) => {
|
|||
* Update page data in the database
|
||||
*/
|
||||
router.post('/page/:id', multer.none(), async (req: Request, res: Response) => {
|
||||
const { id } = req.params;
|
||||
const id = toEntityId(req.params.id);
|
||||
|
||||
try {
|
||||
const { title, body, parent, putAbovePageId, uri } = req.body;
|
||||
|
@ -147,7 +148,7 @@ router.post('/page/:id', multer.none(), async (req: Request, res: Response) => {
|
|||
*/
|
||||
router.delete('/page/:id', async (req: Request, res: Response) => {
|
||||
try {
|
||||
const pageId = req.params.id;
|
||||
const pageId = toEntityId(req.params.id);
|
||||
const page = await Pages.get(pageId);
|
||||
|
||||
if (page._id === undefined) {
|
||||
|
|
|
@ -54,4 +54,8 @@ export default (function () {
|
|||
return '';
|
||||
}
|
||||
});
|
||||
|
||||
twig.extendFilter('json_stringify', function (data: any): string {
|
||||
return JSON.stringify(data);
|
||||
})
|
||||
}());
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<section data-module="writing">
|
||||
<textarea name="module-settings" hidden>
|
||||
{
|
||||
"page": {{ page | json_encode | escape }}
|
||||
"page": {{ page | json_stringify | escape }}
|
||||
}
|
||||
</textarea>
|
||||
<header class="writing-header">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue