Browse Source

Merge pull request #11211 from growilabs/fix/9067-calc-applicable-grant-data-null-safety

fix(page-grant): guard against TypeError when grantedUsers is empty in calcApplicableGrantData
mergify[bot] 6 days ago
parent
commit
249c185096
1 changed files with 6 additions and 4 deletions
  1. 6 4
      apps/app/src/server/service/page-grant.ts

+ 6 - 4
apps/app/src/server/service/page-grant.ts

@@ -858,11 +858,13 @@ class PageGrantService implements IPageGrantService {
         applicableGroups: userRelatedGroups,
       };
     } else if (grant === PageGrant.GRANT_OWNER) {
-      const grantedUser = grantedUsers[0];
+      const grantedUser = grantedUsers?.[0];
 
-      const isUserApplicable = grantedUser.toString() === user._id.toString();
-
-      if (isUserApplicable) {
+      // grantedUsers may be empty due to data inconsistency; guard against TypeError
+      if (
+        grantedUser != null &&
+        grantedUser.toString() === user._id.toString()
+      ) {
         data[PageGrant.GRANT_OWNER] = null;
       }
     } else if (grant === PageGrant.GRANT_USER_GROUP) {