Sfoglia il codice sorgente

imprv access control logic for owner scope

Shun Miyazawa 1 anno fa
parent
commit
d82844211d
1 ha cambiato i file con 3 aggiunte e 1 eliminazioni
  1. 3 1
      apps/app/src/features/openai/server/services/openai.ts

+ 3 - 1
apps/app/src/features/openai/server/services/openai.ts

@@ -460,10 +460,12 @@ class OpenaiService implements IOpenaiService {
     }
 
     if (accessScope === AiAssistantAccessScope.OWNER) {
+      const extractedOwnerGroupIds = (await userGroupRelation.findAllUserGroupIdsRelatedToUser(owner)).map(group => group.toString());
       return {
-        grant: { $in: [PageGrant.GRANT_PUBLIC, PageGrant.GRANT_OWNER] },
+        grant: { $in: [PageGrant.GRANT_PUBLIC, PageGrant.GRANT_USER_GROUP, PageGrant.GRANT_OWNER] },
         path: { $in: converterdPagePatgPatterns },
         $or: [
+          { 'grantedGroups.item': { $in: extractedOwnerGroupIds } },
           { grantedUsers: { $in: [getIdForRef(owner)] } },
           { grant: PageGrant.GRANT_PUBLIC },
         ],