|
|
@@ -429,10 +429,22 @@ class OpenaiService implements IOpenaiService {
|
|
|
): Promise<mongoose.FilterQuery<PageDocument>> {
|
|
|
const converterdPagePatgPatterns = convertPathPatternsToRegExp(pagePathPatterns);
|
|
|
|
|
|
+ // “Anyone with the link” If the page is specified directly, it is subject to learning
|
|
|
+ const nonGrabPagePathPatterns = pagePathPatterns.filter(pagePathPattern => !isGrobPatternPath(pagePathPattern));
|
|
|
+ const baseCondition: mongoose.FilterQuery<PageDocument> = {
|
|
|
+ grant: PageGrant.GRANT_RESTRICTED,
|
|
|
+ path: nonGrabPagePathPatterns,
|
|
|
+ };
|
|
|
+
|
|
|
if (accessScope === AiAssistantAccessScope.PUBLIC_ONLY) {
|
|
|
return {
|
|
|
- grant: PageGrant.GRANT_PUBLIC,
|
|
|
- path: { $in: converterdPagePatgPatterns },
|
|
|
+ $or: [
|
|
|
+ baseCondition,
|
|
|
+ {
|
|
|
+ grant: PageGrant.GRANT_PUBLIC,
|
|
|
+ path: { $in: converterdPagePatgPatterns },
|
|
|
+ },
|
|
|
+ ],
|
|
|
};
|
|
|
}
|
|
|
|
|
|
@@ -454,11 +466,16 @@ class OpenaiService implements IOpenaiService {
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
- grant: { $in: [PageGrant.GRANT_PUBLIC, PageGrant.GRANT_USER_GROUP] },
|
|
|
- path: { $in: converterdPagePatgPatterns },
|
|
|
$or: [
|
|
|
- { 'grantedGroups.item': { $in: extractedGrantedGroupIds } },
|
|
|
- { grant: PageGrant.GRANT_PUBLIC },
|
|
|
+ baseCondition,
|
|
|
+ {
|
|
|
+ grant: { $in: [PageGrant.GRANT_PUBLIC, PageGrant.GRANT_USER_GROUP] },
|
|
|
+ path: { $in: converterdPagePatgPatterns },
|
|
|
+ $or: [
|
|
|
+ { 'grantedGroups.item': { $in: extractedGrantedGroupIds } },
|
|
|
+ { grant: PageGrant.GRANT_PUBLIC },
|
|
|
+ ],
|
|
|
+ },
|
|
|
],
|
|
|
};
|
|
|
}
|
|
|
@@ -470,12 +487,17 @@ class OpenaiService implements IOpenaiService {
|
|
|
].map(group => group.toString());
|
|
|
|
|
|
return {
|
|
|
- grant: { $in: [PageGrant.GRANT_PUBLIC, PageGrant.GRANT_USER_GROUP, PageGrant.GRANT_OWNER] },
|
|
|
- path: { $in: converterdPagePatgPatterns },
|
|
|
$or: [
|
|
|
- { 'grantedGroups.item': { $in: ownerUserGroup } },
|
|
|
- { grantedUsers: { $in: [getIdForRef(owner)] } },
|
|
|
- { grant: PageGrant.GRANT_PUBLIC },
|
|
|
+ baseCondition,
|
|
|
+ {
|
|
|
+ grant: { $in: [PageGrant.GRANT_PUBLIC, PageGrant.GRANT_USER_GROUP, PageGrant.GRANT_OWNER] },
|
|
|
+ path: { $in: converterdPagePatgPatterns },
|
|
|
+ $or: [
|
|
|
+ { 'grantedGroups.item': { $in: ownerUserGroup } },
|
|
|
+ { grantedUsers: { $in: [getIdForRef(owner)] } },
|
|
|
+ { grant: PageGrant.GRANT_PUBLIC },
|
|
|
+ ],
|
|
|
+ },
|
|
|
],
|
|
|
};
|
|
|
}
|