getSharedNotes function
Implementation
Future<Map> getSharedNotes(BuildContext context, Widget childPage,
{bool filesWithGrantAccess = true}) async {
final loggedIn = await loginIfRequired(context);
String webId = await getWebId() as String;
webId = webId.replaceAll(profCard, '');
if (loggedIn) {
Map sharedNotesLogMap = await sharedResources(context, childPage);
Map sharedNotesMap = {};
if (!sharedNotesLogMap.isEmpty) {
for (final sharedFilaUrl in sharedNotesLogMap.keys) {
final sharedFileDetails = sharedNotesLogMap[sharedFilaUrl];
// If [filesWithGrantAccess] is set to true record only the files
// with grant permission as the latest log entry
if (filesWithGrantAccess &&
sharedFileDetails[PermissionLogLiteral.type] == 'revoke') {
continue;
}
sharedNotesMap[sharedFilaUrl] = {
sharedTime: sharedFileDetails[PermissionLogLiteral.logtime],
noteUrl: sharedFileDetails[PermissionLogLiteral.resource],
noteFileName: sharedFilaUrl.split('/').last,
noteOwner: sharedFileDetails[PermissionLogLiteral.owner],
permissionGranter: sharedFileDetails[PermissionLogLiteral.granter],
permissionRecepient:
sharedFileDetails[PermissionLogLiteral.recepient],
permissionType: sharedFileDetails[PermissionLogLiteral.type],
permissionList: sharedFileDetails[PermissionLogLiteral.permissions],
};
}
}
return sharedNotesMap;
} else {
return {};
}
}