Просмотр исходного кода

Merge pull request #16040 from overleaf/jel-require-group-access

[web] Add access check for group membership

GitOrigin-RevId: c7605ebb956556d9d9480cd5f3d1d6b60d99bc7c
Jessica Lawshe 2 лет назад
Родитель
Сommit
a439f8b490

+ 17 - 0
services/web/app/src/Features/UserMembership/UserMembershipEntityConfigs.js

@@ -43,6 +43,23 @@ module.exports = {
     },
   },
 
+  groupMember: {
+    modelName: 'Subscription',
+    readOnly: true,
+    hasMembersLimit: true,
+    fields: {
+      primaryKey: '_id',
+      read: ['member_ids'],
+      write: null,
+      access: 'member_ids',
+      membership: 'member_ids',
+      name: 'teamName',
+    },
+    baseQuery: {
+      groupPlan: true,
+    },
+  },
+
   groupAdmin: {
     modelName: 'Subscription',
     fields: {

+ 8 - 0
services/web/app/src/Features/UserMembership/UserMembershipMiddleware.js

@@ -31,6 +31,14 @@ const UserMembershipMiddleware = {
     requireEntity(),
   ],
 
+  requireGroupMemberAccess: [
+    AuthenticationController.requireLogin(),
+    fetchEntityConfig('groupMember'),
+    fetchEntity(),
+    requireEntity(),
+    allowAccessIfAny([UserMembershipAuthorization.hasEntityAccess()]),
+  ],
+
   requireGroupManagementAccess: [
     AuthenticationController.requireLogin(),
     fetchEntityConfig('group'),