فهرست منبع

revert Page.updatedAt

Yuki Takei 3 سال پیش
والد
کامیت
3e97628857
2فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 2 1
      packages/app/src/server/models/page.ts
  2. 4 2
      packages/app/src/server/service/page.ts

+ 2 - 1
packages/app/src/server/models/page.ts

@@ -102,10 +102,11 @@ const schema = new Schema<PageDocument, PageModel>({
   pageIdOnHackmd: { type: String },
   revisionHackmdSynced: { type: ObjectId, ref: 'Revision' }, // the revision that is synced to HackMD
   hasDraftOnHackmd: { type: Boolean }, // set true if revision and revisionHackmdSynced are same but HackMD document has modified
+  updatedAt: { type: Date, default: Date.now }, // Do not use timetamps for updatedAt because it breaks 'updateMetadata: false' option
   deleteUser: { type: ObjectId, ref: 'User' },
   deletedAt: { type: Date },
 }, {
-  timestamps: true,
+  timestamps: { createdAt: true, updatedAt: false },
   toJSON: { getters: true },
   toObject: { getters: true },
 });

+ 4 - 2
packages/app/src/server/service/page.ts

@@ -534,8 +534,9 @@ class PageService {
     update.parent = newParent._id;
     if (updateMetadata) {
       update.lastUpdateUser = user;
+      update.updatedAt = new Date();
     }
-    const renamedPage = await Page.findByIdAndUpdate(page._id, { $set: update }, { new: true, timestamps: updateMetadata });
+    const renamedPage = await Page.findByIdAndUpdate(page._id, { $set: update }, { new: true });
 
     // create page redirect
     if (options.createRedirectPage) {
@@ -669,8 +670,9 @@ class PageService {
     update.path = newPagePath;
     if (updateMetadata) {
       update.lastUpdateUser = user;
+      update.updatedAt = new Date();
     }
-    const renamedPage = await Page.findByIdAndUpdate(page._id, { $set: update }, { new: true, timestamps: updateMetadata });
+    const renamedPage = await Page.findByIdAndUpdate(page._id, { $set: update }, { new: true });
 
     // update Rivisions
     await Revision.updateRevisionListByPageId(renamedPage._id, { pageId: renamedPage._id });