Merge pull request #16535 from rullzer/ocs_share_api_url
OCS Share API link shares now always have an url
This commit is contained in:
commit
8f05d4b662
|
@ -71,6 +71,10 @@ class Local {
|
||||||
}
|
}
|
||||||
$share['icon'] = substr(\OC_Helper::mimetypeIcon($share['mimetype']), 0, -3) . 'svg';
|
$share['icon'] = substr(\OC_Helper::mimetypeIcon($share['mimetype']), 0, -3) . 'svg';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!is_null($share['token'])) {
|
||||||
|
$share['url'] = \OC::$server->getURLGenerator()->linkToRouteAbsolute('files_sharing.sharecontroller.showShare', ['token' => $share['token']]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return new \OC_OCS_Result($shares);
|
return new \OC_OCS_Result($shares);
|
||||||
}
|
}
|
||||||
|
@ -143,6 +147,12 @@ class Local {
|
||||||
if ($shares === null || empty($shares)) {
|
if ($shares === null || empty($shares)) {
|
||||||
return new \OC_OCS_Result(null, 404, 'share doesn\'t exist');
|
return new \OC_OCS_Result(null, 404, 'share doesn\'t exist');
|
||||||
} else {
|
} else {
|
||||||
|
foreach ($shares as &$share) {
|
||||||
|
if (!is_null($share['token'])) {
|
||||||
|
$share['url'] = \OC::$server->getURLGenerator()->linkToRouteAbsolute('files_sharing.sharecontroller.showShare', ['token' => $share['token']]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return new \OC_OCS_Result($shares);
|
return new \OC_OCS_Result($shares);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -307,6 +307,51 @@ class Test_Files_Sharing_Api extends TestCase {
|
||||||
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @medium
|
||||||
|
* @depends testCreateShare
|
||||||
|
*/
|
||||||
|
function testPublicLinkUrl() {
|
||||||
|
// simulate a post request
|
||||||
|
$_POST['path'] = $this->folder;
|
||||||
|
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
|
||||||
|
|
||||||
|
$result = \OCA\Files_Sharing\API\Local::createShare([]);
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
$data = $result->getData();
|
||||||
|
|
||||||
|
// check if we have a token
|
||||||
|
$this->assertTrue(is_string($data['token']));
|
||||||
|
$id = $data['id'];
|
||||||
|
|
||||||
|
// check for correct link
|
||||||
|
$url = \OC::$server->getURLGenerator()->getAbsoluteURL('/index.php/s/' . $data['token']);
|
||||||
|
$this->assertEquals($url, $data['url']);
|
||||||
|
|
||||||
|
// check for link in getall shares
|
||||||
|
$result = \OCA\Files_Sharing\API\Local::getAllShares([]);
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
$data = $result->getData();
|
||||||
|
$this->assertEquals($url, current($data)['url']);
|
||||||
|
|
||||||
|
// check for path
|
||||||
|
$_GET['path'] = $this->folder;
|
||||||
|
$result = \OCA\Files_Sharing\API\Local::getAllShares([]);
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
$data = $result->getData();
|
||||||
|
$this->assertEquals($url, current($data)['url']);
|
||||||
|
|
||||||
|
// check in share id
|
||||||
|
$result = \OCA\Files_Sharing\API\Local::getShare(['id' => $id]);
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
$data = $result->getData();
|
||||||
|
$this->assertEquals($url, current($data)['url']);
|
||||||
|
|
||||||
|
//Clean up share
|
||||||
|
$fileinfo = $this->view->getFileInfo($this->folder);
|
||||||
|
\OCP\Share::unshare('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @medium
|
* @medium
|
||||||
* @depends testCreateShare
|
* @depends testCreateShare
|
||||||
|
|
Loading…
Reference in New Issue