Extend share info
The data from the share_external is not to much. Thus we enrich this data with info from the filecache. This allows endpoints using this to actually show usefull information. The filecache might not be up to date but that is a sacrifice we need to make in terms of speed. Else the number of remote PROPFINDS grows lineary with the number of remote shares wich will make this endpoint practically unusable.
This commit is contained in:
parent
0d3009951f
commit
c3e7d324c5
|
@ -91,6 +91,23 @@ class Remote {
|
|||
return new \OC_OCS_Result(null, 404, "wrong share ID, share doesn't exist.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $share Share with info from the share_external table
|
||||
* @return enriched share info with data from the filecache
|
||||
*/
|
||||
private static function extendShareInfo($share) {
|
||||
$view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
|
||||
$info = $view->getFileInfo($shares['mountpoint']);
|
||||
|
||||
$share['mimetype'] = $info->getMimetype();
|
||||
$share['mtime'] = $info->getMtime();
|
||||
$share['permissions'] = $info->getPermissions();
|
||||
$share['type'] = $info->getType();
|
||||
$share['file_id'] = $info->getId();
|
||||
|
||||
return $share;
|
||||
}
|
||||
|
||||
/**
|
||||
* List accepted remote shares
|
||||
*
|
||||
|
@ -106,8 +123,12 @@ class Remote {
|
|||
\OC::$server->getNotificationManager(),
|
||||
\OC_User::getUser()
|
||||
);
|
||||
|
||||
$shares = $externalManager->getAcceptedShares();
|
||||
|
||||
$shares = array_map('self::extendShareInfo', $shares);
|
||||
|
||||
return new \OC_OCS_Result($externalManager->getAcceptedShares());
|
||||
return new \OC_OCS_Result($shares);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -131,6 +152,7 @@ class Remote {
|
|||
if ($shareInfo === false) {
|
||||
return new \OC_OCS_Result(null, 404, 'share does not exist');
|
||||
} else {
|
||||
$shareInfo = self::extendShareInfo($shareInfo);
|
||||
return new \OC_OCS_Result($shareInfo);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue