|
@@ -405,6 +405,7 @@ class PageService {
|
|
|
|
|
|
|
|
async deletePage(page, user, options = {}, isRecursively = false) {
|
|
async deletePage(page, user, options = {}, isRecursively = false) {
|
|
|
const Page = this.crowi.model('Page');
|
|
const Page = this.crowi.model('Page');
|
|
|
|
|
+ const PageTagRelation = this.crowi.model('PageTagRelation');
|
|
|
const Revision = this.crowi.model('Revision');
|
|
const Revision = this.crowi.model('Revision');
|
|
|
|
|
|
|
|
const newPath = Page.getDeletedPageName(page.path);
|
|
const newPath = Page.getDeletedPageName(page.path);
|
|
@@ -429,6 +430,7 @@ class PageService {
|
|
|
path: newPath, status: Page.STATUS_DELETED, deleteUser: user._id, deletedAt: Date.now(),
|
|
path: newPath, status: Page.STATUS_DELETED, deleteUser: user._id, deletedAt: Date.now(),
|
|
|
},
|
|
},
|
|
|
}, { new: true });
|
|
}, { new: true });
|
|
|
|
|
+ await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: true } });
|
|
|
const body = `redirect ${newPath}`;
|
|
const body = `redirect ${newPath}`;
|
|
|
await Page.create(page.path, body, user, { redirectTo: newPath });
|
|
await Page.create(page.path, body, user, { redirectTo: newPath });
|
|
|
|
|
|
|
@@ -642,6 +644,7 @@ class PageService {
|
|
|
|
|
|
|
|
async revertDeletedPage(page, user, options = {}, isRecursively = false) {
|
|
async revertDeletedPage(page, user, options = {}, isRecursively = false) {
|
|
|
const Page = this.crowi.model('Page');
|
|
const Page = this.crowi.model('Page');
|
|
|
|
|
+ const PageTagRelation = this.crowi.model('PageTagRelation');
|
|
|
const Revision = this.crowi.model('Revision');
|
|
const Revision = this.crowi.model('Revision');
|
|
|
|
|
|
|
|
const newPath = Page.getRevertDeletedPageName(page.path);
|
|
const newPath = Page.getRevertDeletedPageName(page.path);
|
|
@@ -668,6 +671,7 @@ class PageService {
|
|
|
path: newPath, status: Page.STATUS_PUBLISHED, lastUpdateUser: user._id, deleteUser: null, deletedAt: null,
|
|
path: newPath, status: Page.STATUS_PUBLISHED, lastUpdateUser: user._id, deleteUser: null, deletedAt: null,
|
|
|
},
|
|
},
|
|
|
}, { new: true });
|
|
}, { new: true });
|
|
|
|
|
+ await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: false } });
|
|
|
await Revision.updateMany({ path: page.path }, { $set: { path: newPath } });
|
|
await Revision.updateMany({ path: page.path }, { $set: { path: newPath } });
|
|
|
|
|
|
|
|
return updatedPage;
|
|
return updatedPage;
|