Browse Source

Make use of utility to get id of objects

arvid-e 1 week ago
parent
commit
c0d6e18415

+ 4 - 4
apps/app/src/server/routes/apiv3/page/update-page.ts

@@ -1,5 +1,5 @@
 import type { IPage, IRevisionHasId, IUserHasId } from '@growi/core';
-import { allOrigin, getIdForRef, Origin } from '@growi/core';
+import { allOrigin, getIdForRef, getIdStringForRef, Origin } from '@growi/core';
 import { SCOPE } from '@growi/core/dist/interfaces';
 import { ErrorV3 } from '@growi/core/dist/models';
 import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
@@ -121,9 +121,9 @@ export const updatePageHandlersFactory = (crowi: Crowi): RequestHandler[] => {
 
     // Decide if update activity should generate
     try {
-      const targetPageId = updatedPage._id.toString();
-      const currentActivityId = res.locals.activity?._id.toString();
-      const currentUserId = req.user?._id?.toString();
+      const targetPageId = getIdStringForRef(updatedPage);
+      const currentActivityId = getIdStringForRef(res.locals.activity);
+      const currentUserId = req.user ? getIdStringForRef(req.user) : undefined;
 
       const shouldGenerateUpdateActivity = await shouldGenerateUpdate({
         currentUserId,

+ 2 - 1
apps/app/src/server/service/activity/update-activity-logic.ts

@@ -1,4 +1,5 @@
 import type { IRevisionHasId } from '@growi/core';
+import { getIdStringForRef } from '@growi/core';
 import mongoose from 'mongoose';
 
 import { SupportedAction } from '~/interfaces/activity';
@@ -33,7 +34,7 @@ export const shouldGenerateUpdate = async (payload: GenerateUpdatePayload) => {
   }).sort({ createdAt: -1 });
 
   const isLastActivityByMe =
-    lastContentActivity?.user?._id?.toString() === currentUserId;
+    getIdStringForRef(lastContentActivity?.user) === currentUserId;
   const lastActivityTime = lastContentActivity?.createdAt?.getTime?.() ?? 0;
   const timeSinceLastActivityMs = Date.now() - lastActivityTime;