|
@@ -1,6 +1,7 @@
|
|
|
import { ErrorV3 } from '@growi/core/dist/models';
|
|
import { ErrorV3 } from '@growi/core/dist/models';
|
|
|
import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
|
|
import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
|
|
|
import express from 'express';
|
|
import express from 'express';
|
|
|
|
|
+import mongoose, { connection } from 'mongoose';
|
|
|
|
|
|
|
|
import { Revision } from '~/server/models/revision';
|
|
import { Revision } from '~/server/models/revision';
|
|
|
import { normalizeLatestRevisionIfBroken } from '~/server/service/revision/normalize-latest-revision-if-broken';
|
|
import { normalizeLatestRevisionIfBroken } from '~/server/service/revision/normalize-latest-revision-if-broken';
|
|
@@ -131,6 +132,16 @@ module.exports = (crowi) => {
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
const page = await Page.findOne({ _id: pageId });
|
|
const page = await Page.findOne({ _id: pageId });
|
|
|
|
|
+
|
|
|
|
|
+ const fileName = '20211227060705-revision-path-to-page-id-schema-migration--fixed-7549.js';
|
|
|
|
|
+ // const Migration = mongoose.models.Migration;
|
|
|
|
|
+ const Migration = connection.collection('migrations');
|
|
|
|
|
+ const migration = await Migration.findOne({ fileName });
|
|
|
|
|
+ const appliedAt = migration.appliedAt;
|
|
|
|
|
+
|
|
|
|
|
+ console.log(migration);
|
|
|
|
|
+ console.log(appliedAt);
|
|
|
|
|
+
|
|
|
const queryOpts = {
|
|
const queryOpts = {
|
|
|
offset,
|
|
offset,
|
|
|
sort: { createdAt: -1 },
|
|
sort: { createdAt: -1 },
|
|
@@ -154,6 +165,15 @@ module.exports = (crowi) => {
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ const isNotBrokenRevision = (doc) => {
|
|
|
|
|
+ const formattedRevisionCreatedAt = new Date(doc.createdAt);
|
|
|
|
|
+ const revisionBrokenBefore = new Date(appliedAt);
|
|
|
|
|
+
|
|
|
|
|
+ return formattedRevisionCreatedAt > revisionBrokenBefore;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ paginateResult.docs.filter(isNotBrokenRevision);
|
|
|
|
|
+
|
|
|
const result = {
|
|
const result = {
|
|
|
revisions: paginateResult.docs,
|
|
revisions: paginateResult.docs,
|
|
|
totalCount: paginateResult.totalDocs,
|
|
totalCount: paginateResult.totalDocs,
|