From 0a13064672c8762bf543a3e1cb8cfc1f5e11e804 Mon Sep 17 00:00:00 2001 From: Nikita Melnikov Date: Sun, 2 Oct 2022 13:41:45 +0800 Subject: [PATCH] fix more bugs --- src/backend/models/pageOrder.ts | 12 ++++++------ src/backend/routes/api/pages.ts | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/backend/models/pageOrder.ts b/src/backend/models/pageOrder.ts index e99a974..6acd6d8 100644 --- a/src/backend/models/pageOrder.ts +++ b/src/backend/models/pageOrder.ts @@ -1,4 +1,4 @@ -import database, {isEntityId} from '../utils/database/index.js'; +import database, {isEntityId, isEqualIds} from '../utils/database/index.js'; import { ObjectId } from 'mongodb'; import { EntityId } from '../utils/database/types.js'; @@ -147,7 +147,7 @@ class PageOrder { return; } - const found = this.order.indexOf(pageId); + const found = this.order.findIndex(order => isEqualIds(order, pageId)); if (found >= 0) { this.order.splice(found, 1); @@ -164,8 +164,8 @@ class PageOrder { return; } - const found1 = this.order.indexOf(putAbovePageId); - const found2 = this.order.indexOf(currentPageId); + const found1 = this.order.findIndex(order => isEqualIds(order, putAbovePageId)); + const found2 = this.order.findIndex(order => isEqualIds(order,currentPageId)); if (found1 === -1 || found2 === -1) { return; @@ -187,7 +187,7 @@ class PageOrder { return null; } - const currentPageInOrder = this.order.indexOf(pageId); + const currentPageInOrder = this.order.findIndex(order => isEqualIds(order, pageId)); /** * If page not found or first return nothing @@ -209,7 +209,7 @@ class PageOrder { return null; } - const currentPageInOrder = this.order.indexOf(pageId); + const currentPageInOrder = this.order.findIndex(order => isEqualIds(order, pageId)); /** * If page not found or is last diff --git a/src/backend/routes/api/pages.ts b/src/backend/routes/api/pages.ts index 07758e5..0ace2d7 100644 --- a/src/backend/routes/api/pages.ts +++ b/src/backend/routes/api/pages.ts @@ -3,7 +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 {isEntityId, toEntityId} from "../../utils/database/index.js"; +import {isEntityId, isEqualIds, toEntityId} from "../../utils/database/index.js"; const router = express.Router(); const multer = multerFunc(); @@ -105,11 +105,11 @@ router.post('/page/:id', multer.none(), async (req: Request, res: Response) => { throw new Error('Parent not found'); } - if (page._parent !== parent) { + if (!isEqualIds(page._parent, parent)) { await PagesOrder.move(page._parent, parent, id); } else { if (putAbovePageId && putAbovePageId !== '0') { - const unordered = pages.filter(_page => _page._parent === page._parent).map(_page => _page._id); + const unordered = pages.filter(_page => isEqualIds(_page._parent, page._parent)).map(_page => _page._id); const unOrdered: EntityId[] = [];