fix(acls): fix SQL conversion for LIKE operator to find groups

Fixes #5492
This commit is contained in:
Francis Lachapelle
2022-03-28 13:45:54 -04:00
parent 97e8f082c2
commit 3140a9dc1d
+3 -2
View File
@@ -1659,8 +1659,9 @@ static NSArray *childRecordFields = nil;
NSArray *records, *acls;
NSString *qs;
// We look for the exact uid or any uid that begins with "@" (corresponding to groups)
qs = [NSString stringWithFormat: @"(c_object = '/%@') AND (c_uid = '%@' OR c_uid LIKE '@%%')",
// We look for the exact uid or any uid that begins with "@" (corresponding to groups).
// Notice that we use a wildcard operator that will be converted to SQL in [EOQualifier+GCS _appendKeyValueQualifier:withAdaptor:toString:]
qs = [NSString stringWithFormat: @"(c_object = '/%@') AND (c_uid = '%@' OR c_uid LIKE '@*')",
objectPath, uid];
qualifier = [EOQualifier qualifierWithQualifierFormat: qs];
records = [[self ocsFolder] fetchAclMatchingQualifier: qualifier];