rename SaveToNextcloudController to MountPublicLinkController
This commit is contained in:
parent
56d3100f44
commit
c7f6461c53
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'routes' => [
|
'routes' => [
|
||||||
['name' => 'SaveToNextcloud#saveToNextcloud', 'url' => '/saveToNextcloud', 'verb' => 'POST'],
|
['name' => 'MountPublicLink#createFederatedShare', 'url' => '/createFederatedShare', 'verb' => 'POST'],
|
||||||
['name' => 'SaveToNextcloud#askForFederatedShare', 'url' => '/askForFederatedShare', 'verb' => 'POST'],
|
['name' => 'MountPublicLink#askForFederatedShare', 'url' => '/askForFederatedShare', 'verb' => 'POST'],
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -37,7 +37,14 @@ use OCP\ISession;
|
||||||
use OCP\IUserSession;
|
use OCP\IUserSession;
|
||||||
use OCP\Share\IManager;
|
use OCP\Share\IManager;
|
||||||
|
|
||||||
class SaveToNextcloudController extends Controller {
|
/**
|
||||||
|
* Class MountPublicLinkController
|
||||||
|
*
|
||||||
|
* convert public links to federated shares
|
||||||
|
*
|
||||||
|
* @package OCA\FederatedFileSharing\Controller
|
||||||
|
*/
|
||||||
|
class MountPublicLinkController extends Controller {
|
||||||
|
|
||||||
/** @var FederatedShareProvider */
|
/** @var FederatedShareProvider */
|
||||||
private $federatedShareProvider;
|
private $federatedShareProvider;
|
||||||
|
@ -61,7 +68,7 @@ class SaveToNextcloudController extends Controller {
|
||||||
private $clientService;
|
private $clientService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SaveToNextcloudController constructor.
|
* MountPublicLinkController constructor.
|
||||||
*
|
*
|
||||||
* @param string $appName
|
* @param string $appName
|
||||||
* @param IRequest $request
|
* @param IRequest $request
|
||||||
|
@ -95,8 +102,7 @@ class SaveToNextcloudController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* save public link to my Nextcloud by asking the owner to create a federated
|
* send federated share to a user of a public link
|
||||||
* share with me
|
|
||||||
*
|
*
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
* @PublicPage
|
* @PublicPage
|
||||||
|
@ -106,7 +112,7 @@ class SaveToNextcloudController extends Controller {
|
||||||
* @param string $password
|
* @param string $password
|
||||||
* @return JSONResponse
|
* @return JSONResponse
|
||||||
*/
|
*/
|
||||||
public function saveToNextcloud($shareWith, $token, $password = '') {
|
public function createFederatedShare($shareWith, $token, $password = '') {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
list(, $server) = $this->addressHandler->splitUserRemote($shareWith);
|
list(, $server) = $this->addressHandler->splitUserRemote($shareWith);
|
||||||
|
@ -147,7 +153,7 @@ class SaveToNextcloudController extends Controller {
|
||||||
* @param string $name (only for legacy reasons, can be removed with legacyMountPublicLink())
|
* @param string $name (only for legacy reasons, can be removed with legacyMountPublicLink())
|
||||||
* @return JSONResponse
|
* @return JSONResponse
|
||||||
*/
|
*/
|
||||||
public function askForFederatedShare($token, $remote, $password = '', $owner='', $ownerDisplayName = '', $name = '') {
|
public function askForFederatedShare($token, $remote, $password = '', $owner = '', $ownerDisplayName = '', $name = '') {
|
||||||
// check if server admin allows to mount public links from other servers
|
// check if server admin allows to mount public links from other servers
|
||||||
if ($this->federatedShareProvider->isIncomingServer2serverShareEnabled() === false) {
|
if ($this->federatedShareProvider->isIncomingServer2serverShareEnabled() === false) {
|
||||||
return new JSONResponse(['message' => $this->l->t('Server to server sharing is not enabled on this server')], Http::STATUS_BAD_REQUEST);
|
return new JSONResponse(['message' => $this->l->t('Server to server sharing is not enabled on this server')], Http::STATUS_BAD_REQUEST);
|
||||||
|
@ -158,14 +164,15 @@ class SaveToNextcloudController extends Controller {
|
||||||
$httpClient = $this->clientService->newClient();
|
$httpClient = $this->clientService->newClient();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$response = $httpClient->post($remote . '/index.php/apps/federatedfilesharing/saveToNextcloud',
|
$response = $httpClient->post($remote . '/index.php/apps/federatedfilesharing/createFederatedShare',
|
||||||
[
|
[
|
||||||
'body' =>
|
'body' =>
|
||||||
[
|
[
|
||||||
'token' => $token,
|
'token' => $token,
|
||||||
'shareWith' => rtrim($shareWith, '/'),
|
'shareWith' => rtrim($shareWith, '/'),
|
||||||
'password' => $password
|
'password' => $password
|
||||||
]
|
],
|
||||||
|
'connect_timeout' => 10,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||||
* @copyright Copyright (c) 2016, Björn Schießle <bjoern@schiessle.org>
|
* @copyright Copyright (c) 2016, Björn Schießle <bjoern@schiessle.org>
|
||||||
*
|
*
|
||||||
* @license AGPL-3.0
|
* @license AGPL-3.0
|
||||||
*
|
*
|
||||||
* This code is free software: you can redistribute it and/or modify
|
* This code is free software: you can redistribute it and/or modify
|
||||||
|
@ -26,7 +26,7 @@ namespace OCA\FederatedFileSharing\Tests\Controller;
|
||||||
|
|
||||||
use OC\HintException;
|
use OC\HintException;
|
||||||
use OCA\FederatedFileSharing\AddressHandler;
|
use OCA\FederatedFileSharing\AddressHandler;
|
||||||
use OCA\FederatedFileSharing\Controller\SaveToNextcloudController;
|
use OCA\FederatedFileSharing\Controller\MountPublicLinkController;
|
||||||
use OCA\FederatedFileSharing\FederatedShareProvider;
|
use OCA\FederatedFileSharing\FederatedShareProvider;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\Files\IRootFolder;
|
use OCP\Files\IRootFolder;
|
||||||
|
@ -35,13 +35,12 @@ use OCP\IL10N;
|
||||||
use OCP\ISession;
|
use OCP\ISession;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\IUserSession;
|
use OCP\IUserSession;
|
||||||
use OCP\Share;
|
|
||||||
use OCP\Share\IManager;
|
use OCP\Share\IManager;
|
||||||
use OCP\Share\IShare;
|
use OCP\Share\IShare;
|
||||||
|
|
||||||
class SaveToNextcloudControllerTest extends \Test\TestCase {
|
class MountPublicLinkControllerTest extends \Test\TestCase {
|
||||||
|
|
||||||
/** @var SaveToNextcloudController */
|
/** @var MountPublicLinkController */
|
||||||
private $controller;
|
private $controller;
|
||||||
|
|
||||||
/** @var \OCP\IRequest | \PHPUnit_Framework_MockObject_MockObject */
|
/** @var \OCP\IRequest | \PHPUnit_Framework_MockObject_MockObject */
|
||||||
|
@ -94,7 +93,7 @@ class SaveToNextcloudControllerTest extends \Test\TestCase {
|
||||||
$this->userSession = $this->getMockBuilder('OCP\IUserSession')->disableOriginalConstructor()->getMock();
|
$this->userSession = $this->getMockBuilder('OCP\IUserSession')->disableOriginalConstructor()->getMock();
|
||||||
$this->clientService = $this->getMockBuilder('OCP\Http\Client\IClientService')->disableOriginalConstructor()->getMock();
|
$this->clientService = $this->getMockBuilder('OCP\Http\Client\IClientService')->disableOriginalConstructor()->getMock();
|
||||||
|
|
||||||
$this->controller = new SaveToNextcloudController(
|
$this->controller = new MountPublicLinkController(
|
||||||
'federatedfilesharing', $this->request,
|
'federatedfilesharing', $this->request,
|
||||||
$this->federatedShareProvider,
|
$this->federatedShareProvider,
|
||||||
$this->shareManager,
|
$this->shareManager,
|
||||||
|
@ -107,7 +106,7 @@ class SaveToNextcloudControllerTest extends \Test\TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider dataTestSaveToNextcloud
|
* @dataProvider dataTestCreateFederatedShare
|
||||||
*
|
*
|
||||||
* @param string $shareWith
|
* @param string $shareWith
|
||||||
* @param bool $validShareWith
|
* @param bool $validShareWith
|
||||||
|
@ -116,7 +115,7 @@ class SaveToNextcloudControllerTest extends \Test\TestCase {
|
||||||
* @param bool $createSuccessful
|
* @param bool $createSuccessful
|
||||||
* @param string $expectedReturnData
|
* @param string $expectedReturnData
|
||||||
*/
|
*/
|
||||||
public function testSaveToNextcloud($shareWith, $validShareWith, $token, $validToken, $createSuccessful, $expectedReturnData) {
|
public function testCreateFederatedShare($shareWith, $validShareWith, $token, $validToken, $createSuccessful, $expectedReturnData) {
|
||||||
$this->addressHandler->expects($this->any())->method('splitUserRemote')
|
$this->addressHandler->expects($this->any())->method('splitUserRemote')
|
||||||
->with($shareWith)
|
->with($shareWith)
|
||||||
->willReturnCallback(
|
->willReturnCallback(
|
||||||
|
@ -153,7 +152,7 @@ class SaveToNextcloudControllerTest extends \Test\TestCase {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$result = $this->controller->saveToNextcloud($shareWith, $token);
|
$result = $this->controller->createFederatedShare($shareWith, $token);
|
||||||
|
|
||||||
$errorCase = !$validShareWith || !$validToken || !$createSuccessful;
|
$errorCase = !$validShareWith || !$validToken || !$createSuccessful;
|
||||||
|
|
||||||
|
@ -170,7 +169,7 @@ class SaveToNextcloudControllerTest extends \Test\TestCase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dataTestSaveToNextcloud() {
|
public function dataTestCreateFederatedShare() {
|
||||||
return [
|
return [
|
||||||
//shareWith, validShareWith, token, validToken, createSuccessful, expectedReturnData
|
//shareWith, validShareWith, token, validToken, createSuccessful, expectedReturnData
|
||||||
['user@server', true, 'token', true, true, 'server'],
|
['user@server', true, 'token', true, true, 'server'],
|
|
@ -248,7 +248,7 @@ OCA.Sharing.PublicApp = {
|
||||||
var ownerDisplayName = $('#save').data('owner-display-name');
|
var ownerDisplayName = $('#save').data('owner-display-name');
|
||||||
var name = $('#save').data('name');
|
var name = $('#save').data('name');
|
||||||
var isProtected = $('#save').data('protected') ? 1 : 0;
|
var isProtected = $('#save').data('protected') ? 1 : 0;
|
||||||
OCA.Sharing.PublicApp._saveToNextcloud(remote, token, owner, ownerDisplayName, name, isProtected);
|
OCA.Sharing.PublicApp._createFederatedShare(remote, token, owner, ownerDisplayName, name, isProtected);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#remote_address').on("keyup paste", function() {
|
$('#remote_address').on("keyup paste", function() {
|
||||||
|
@ -308,7 +308,7 @@ OCA.Sharing.PublicApp = {
|
||||||
* @param isProtected
|
* @param isProtected
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_legacySaveToNextcloud: function (remote, token, owner, ownerDisplayName, name, isProtected) {
|
_legacyCreateFederatedShare: function (remote, token, owner, ownerDisplayName, name, isProtected) {
|
||||||
|
|
||||||
var location = window.location.protocol + '//' + window.location.host + OC.webroot;
|
var location = window.location.protocol + '//' + window.location.host + OC.webroot;
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ OCA.Sharing.PublicApp = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_saveToNextcloud: function (remote, token, owner, ownerDisplayName, name, isProtected) {
|
_createFederatedShare: function (remote, token, owner, ownerDisplayName, name, isProtected) {
|
||||||
|
|
||||||
var toggleLoading = function() {
|
var toggleLoading = function() {
|
||||||
var iconClass = $('#save-button-confirm').attr('class');
|
var iconClass = $('#save-button-confirm').attr('class');
|
||||||
|
@ -358,13 +358,13 @@ OCA.Sharing.PublicApp = {
|
||||||
toggleLoading();
|
toggleLoading();
|
||||||
|
|
||||||
if (remote.indexOf('@') === -1) {
|
if (remote.indexOf('@') === -1) {
|
||||||
this._legacySaveToNextcloud(remote, token, owner, ownerDisplayName, name, isProtected);
|
this._legacyCreateFederatedShare(remote, token, owner, ownerDisplayName, name, isProtected);
|
||||||
toggleLoading();
|
toggleLoading();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$.post(
|
$.post(
|
||||||
OC.generateUrl('/apps/federatedfilesharing/saveToNextcloud'),
|
OC.generateUrl('/apps/federatedfilesharing/createFederatedShare'),
|
||||||
{
|
{
|
||||||
'shareWith': remote,
|
'shareWith': remote,
|
||||||
'token': token
|
'token': token
|
||||||
|
|
Loading…
Reference in New Issue