mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #37347 from nextcloud/backport/37139/stable25
This commit is contained in:
commit
81e8da2b95
24 changed files with 172 additions and 21 deletions
|
|
@ -160,6 +160,19 @@ class Sharing extends Action {
|
|||
'id',
|
||||
]
|
||||
);
|
||||
} elseif ($params['shareType'] === IShare::TYPE_SCIENCEMESH) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been shared to the sciencemesh user "%s" with permissions "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'path',
|
||||
'itemSource',
|
||||
'shareWith',
|
||||
'permissions',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -276,6 +289,18 @@ class Sharing extends Action {
|
|||
'id',
|
||||
]
|
||||
);
|
||||
} elseif ($params['shareType'] === IShare::TYPE_SCIENCEMESH) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been unshared from the sciencemesh user "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'fileTarget',
|
||||
'itemSource',
|
||||
'shareWith',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -110,6 +110,7 @@ class SharesPlugin extends \Sabre\DAV\ServerPlugin {
|
|||
IShare::TYPE_ROOM,
|
||||
IShare::TYPE_CIRCLE,
|
||||
IShare::TYPE_DECK,
|
||||
IShare::TYPE_SCIENCEMESH,
|
||||
];
|
||||
foreach ($requestedShareTypes as $requestedShareType) {
|
||||
$shares = $this->shareManager->getSharesBy(
|
||||
|
|
|
|||
|
|
@ -278,6 +278,7 @@ class SharesPluginTest extends \Test\TestCase {
|
|||
[[IShare::TYPE_REMOTE]],
|
||||
[[IShare::TYPE_ROOM]],
|
||||
[[IShare::TYPE_DECK]],
|
||||
[[IShare::TYPE_SCIENCEMESH]],
|
||||
[[IShare::TYPE_USER, IShare::TYPE_GROUP]],
|
||||
[[IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_LINK]],
|
||||
[[IShare::TYPE_USER, IShare::TYPE_LINK]],
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@ class ApiController extends Controller {
|
|||
IShare::TYPE_EMAIL,
|
||||
IShare::TYPE_ROOM,
|
||||
IShare::TYPE_DECK,
|
||||
IShare::TYPE_SCIENCEMESH,
|
||||
];
|
||||
$shareTypes = [];
|
||||
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ class OwnershipTransferService {
|
|||
$shares = [];
|
||||
$progress = new ProgressBar($output);
|
||||
|
||||
foreach ([IShare::TYPE_GROUP, IShare::TYPE_USER, IShare::TYPE_LINK, IShare::TYPE_REMOTE, IShare::TYPE_ROOM, IShare::TYPE_EMAIL, IShare::TYPE_CIRCLE, IShare::TYPE_DECK] as $shareType) {
|
||||
foreach ([IShare::TYPE_GROUP, IShare::TYPE_USER, IShare::TYPE_LINK, IShare::TYPE_REMOTE, IShare::TYPE_ROOM, IShare::TYPE_EMAIL, IShare::TYPE_CIRCLE, IShare::TYPE_DECK, IShare::TYPE_SCIENCEMESH] as $shareType) {
|
||||
$offset = 0;
|
||||
while (true) {
|
||||
$sharePage = $this->shareManager->getSharesBy($sourceUid, $shareType, null, true, 50, $offset);
|
||||
|
|
|
|||
|
|
@ -159,6 +159,14 @@ class DeletedShareAPIController extends OCSController {
|
|||
$result = array_merge($result, $this->getDeckShareHelper()->formatShare($share));
|
||||
} catch (QueryException $e) {
|
||||
}
|
||||
} elseif ($share->getShareType() === IShare::TYPE_SCIENCEMESH) {
|
||||
$result['share_with'] = $share->getSharedWith();
|
||||
$result['share_with_displayname'] = '';
|
||||
|
||||
try {
|
||||
$result = array_merge($result, $this->getSciencemeshShareHelper()->formatShare($share));
|
||||
} catch (QueryException $e) {
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
|
@ -171,8 +179,9 @@ class DeletedShareAPIController extends OCSController {
|
|||
$groupShares = $this->shareManager->getDeletedSharedWith($this->userId, IShare::TYPE_GROUP, null, -1, 0);
|
||||
$roomShares = $this->shareManager->getDeletedSharedWith($this->userId, IShare::TYPE_ROOM, null, -1, 0);
|
||||
$deckShares = $this->shareManager->getDeletedSharedWith($this->userId, IShare::TYPE_DECK, null, -1, 0);
|
||||
$sciencemeshShares = $this->shareManager->getDeletedSharedWith($this->userId, IShare::TYPE_SCIENCEMESH, null, -1, 0);
|
||||
|
||||
$shares = array_merge($groupShares, $roomShares, $deckShares);
|
||||
$shares = array_merge($groupShares, $roomShares, $deckShares, $sciencemeshShares);
|
||||
|
||||
$shares = array_map(function (IShare $share) {
|
||||
return $this->formatShare($share);
|
||||
|
|
@ -224,7 +233,7 @@ class DeletedShareAPIController extends OCSController {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the helper of ShareAPIHelper for deck shares.
|
||||
* Returns the helper of DeletedShareAPIHelper for deck shares.
|
||||
*
|
||||
* If the Deck application is not enabled or the helper is not available
|
||||
* a QueryException is thrown instead.
|
||||
|
|
@ -239,4 +248,21 @@ class DeletedShareAPIController extends OCSController {
|
|||
|
||||
return $this->serverContainer->get('\OCA\Deck\Sharing\ShareAPIHelper');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the helper of DeletedShareAPIHelper for sciencemesh shares.
|
||||
*
|
||||
* If the sciencemesh application is not enabled or the helper is not available
|
||||
* a QueryException is thrown instead.
|
||||
*
|
||||
* @return \OCA\Deck\Sharing\ShareAPIHelper
|
||||
* @throws QueryException
|
||||
*/
|
||||
private function getSciencemeshShareHelper() {
|
||||
if (!$this->appManager->isEnabledForUser('sciencemesh')) {
|
||||
throw new QueryException();
|
||||
}
|
||||
|
||||
return $this->serverContainer->get('\OCA\ScienceMesh\Sharing\ShareAPIHelper');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -320,6 +320,14 @@ class ShareAPIController extends OCSController {
|
|||
$result = array_merge($result, $this->getDeckShareHelper()->formatShare($share));
|
||||
} catch (QueryException $e) {
|
||||
}
|
||||
} elseif ($share->getShareType() === IShare::TYPE_SCIENCEMESH) {
|
||||
$result['share_with'] = $share->getSharedWith();
|
||||
$result['share_with_displayname'] = '';
|
||||
|
||||
try {
|
||||
$result = array_merge($result, $this->getSciencemeshShareHelper()->formatShare($share));
|
||||
} catch (QueryException $e) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -687,6 +695,12 @@ class ShareAPIController extends OCSController {
|
|||
} catch (QueryException $e) {
|
||||
throw new OCSForbiddenException($this->l->t('Sharing %s failed because the back end does not support room shares', [$node->getPath()]));
|
||||
}
|
||||
} elseif ($shareType === IShare::TYPE_SCIENCEMESH) {
|
||||
try {
|
||||
$this->getSciencemeshShareHelper()->createShare($share, $shareWith, $permissions, $expireDate);
|
||||
} catch (QueryException $e) {
|
||||
throw new OCSForbiddenException($this->l->t('Sharing %s failed because the back end does not support sciencemesh shares', [$node->getPath()]));
|
||||
}
|
||||
} else {
|
||||
throw new OCSBadRequestException($this->l->t('Unknown share type'));
|
||||
}
|
||||
|
|
@ -725,8 +739,9 @@ class ShareAPIController extends OCSController {
|
|||
$circleShares = $this->shareManager->getSharedWith($this->currentUser, IShare::TYPE_CIRCLE, $node, -1, 0);
|
||||
$roomShares = $this->shareManager->getSharedWith($this->currentUser, IShare::TYPE_ROOM, $node, -1, 0);
|
||||
$deckShares = $this->shareManager->getSharedWith($this->currentUser, IShare::TYPE_DECK, $node, -1, 0);
|
||||
$sciencemeshShares = $this->shareManager->getSharedWith($this->currentUser, IShare::TYPE_SCIENCEMESH, $node, -1, 0);
|
||||
|
||||
$shares = array_merge($userShares, $groupShares, $circleShares, $roomShares, $deckShares);
|
||||
$shares = array_merge($userShares, $groupShares, $circleShares, $roomShares, $deckShares, $sciencemeshShares);
|
||||
|
||||
$filteredShares = array_filter($shares, function (IShare $share) {
|
||||
return $share->getShareOwner() !== $this->currentUser;
|
||||
|
|
@ -1409,6 +1424,14 @@ class ShareAPIController extends OCSController {
|
|||
}
|
||||
}
|
||||
|
||||
if ($share->getShareType() === IShare::TYPE_SCIENCEMESH) {
|
||||
try {
|
||||
return $this->getSciencemeshShareHelper()->canAccessShare($share, $this->currentUser);
|
||||
} catch (QueryException $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1485,7 +1508,8 @@ class ShareAPIController extends OCSController {
|
|||
protected function canDeleteShareFromSelf(\OCP\Share\IShare $share): bool {
|
||||
if ($share->getShareType() !== IShare::TYPE_GROUP &&
|
||||
$share->getShareType() !== IShare::TYPE_ROOM &&
|
||||
$share->getShareType() !== IShare::TYPE_DECK
|
||||
$share->getShareType() !== IShare::TYPE_DECK &&
|
||||
$share->getShareType() !== IShare::TYPE_SCIENCEMESH
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -1522,6 +1546,14 @@ class ShareAPIController extends OCSController {
|
|||
}
|
||||
}
|
||||
|
||||
if ($share->getShareType() === IShare::TYPE_SCIENCEMESH) {
|
||||
try {
|
||||
return $this->getSciencemeshShareHelper()->canAccessShare($share, $this->currentUser);
|
||||
} catch (QueryException $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1601,6 +1633,15 @@ class ShareAPIController extends OCSController {
|
|||
// Do nothing, just try the other share type
|
||||
}
|
||||
|
||||
try {
|
||||
if ($this->shareManager->shareProviderExists(IShare::TYPE_SCIENCEMESH)) {
|
||||
$share = $this->shareManager->getShareById('sciencemesh:' . $id, $this->currentUser);
|
||||
return $share;
|
||||
}
|
||||
} catch (ShareNotFound $e) {
|
||||
// Do nothing, just try the other share type
|
||||
}
|
||||
|
||||
if (!$this->shareManager->outgoingServer2ServerSharesAllowed()) {
|
||||
throw new ShareNotFound();
|
||||
}
|
||||
|
|
@ -1664,6 +1705,23 @@ class ShareAPIController extends OCSController {
|
|||
return $this->serverContainer->get('\OCA\Deck\Sharing\ShareAPIHelper');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the helper of ShareAPIHelper for sciencemesh shares.
|
||||
*
|
||||
* If the sciencemesh application is not enabled or the helper is not available
|
||||
* a QueryException is thrown instead.
|
||||
*
|
||||
* @return \OCA\Deck\Sharing\ShareAPIHelper
|
||||
* @throws QueryException
|
||||
*/
|
||||
private function getSciencemeshShareHelper() {
|
||||
if (!$this->appManager->isEnabledForUser('sciencemesh')) {
|
||||
throw new QueryException();
|
||||
}
|
||||
|
||||
return $this->serverContainer->get('\OCA\ScienceMesh\Sharing\ShareAPIHelper');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $viewer
|
||||
* @param Node $node
|
||||
|
|
@ -1679,7 +1737,8 @@ class ShareAPIController extends OCSController {
|
|||
IShare::TYPE_EMAIL,
|
||||
IShare::TYPE_CIRCLE,
|
||||
IShare::TYPE_ROOM,
|
||||
IShare::TYPE_DECK
|
||||
IShare::TYPE_DECK,
|
||||
IShare::TYPE_SCIENCEMESH
|
||||
];
|
||||
|
||||
// Should we assume that the (currentUser) viewer is the owner of the node !?
|
||||
|
|
@ -1832,8 +1891,12 @@ class ShareAPIController extends OCSController {
|
|||
// TALK SHARES
|
||||
$roomShares = $this->shareManager->getSharesBy($this->currentUser, IShare::TYPE_ROOM, $path, $reshares, -1, 0);
|
||||
|
||||
// DECK SHARES
|
||||
$deckShares = $this->shareManager->getSharesBy($this->currentUser, IShare::TYPE_DECK, $path, $reshares, -1, 0);
|
||||
|
||||
// SCIENCEMESH SHARES
|
||||
$sciencemeshShares = $this->shareManager->getSharesBy($this->currentUser, IShare::TYPE_SCIENCEMESH, $path, $reshares, -1, 0);
|
||||
|
||||
// FEDERATION
|
||||
if ($this->shareManager->outgoingServer2ServerSharesAllowed()) {
|
||||
$federatedShares = $this->shareManager->getSharesBy($this->currentUser, IShare::TYPE_REMOTE, $path, $reshares, -1, 0);
|
||||
|
|
@ -1846,7 +1909,7 @@ class ShareAPIController extends OCSController {
|
|||
$federatedGroupShares = [];
|
||||
}
|
||||
|
||||
return array_merge($userShares, $groupShares, $linkShares, $mailShares, $circleShares, $roomShares, $deckShares, $federatedShares, $federatedGroupShares);
|
||||
return array_merge($userShares, $groupShares, $linkShares, $mailShares, $circleShares, $roomShares, $deckShares, $sciencemeshShares, $federatedShares, $federatedGroupShares);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -188,6 +188,10 @@ class ShareesAPIController extends OCSController {
|
|||
$shareTypes[] = IShare::TYPE_ROOM;
|
||||
}
|
||||
|
||||
if ($this->shareManager->shareProviderExists(IShare::TYPE_SCIENCEMESH)) {
|
||||
$shareTypes[] = IShare::TYPE_SCIENCEMESH;
|
||||
}
|
||||
|
||||
if ($this->shareManager->shareProviderExists(IShare::TYPE_DECK)) {
|
||||
$shareTypes[] = IShare::TYPE_DECK;
|
||||
}
|
||||
|
|
@ -203,6 +207,10 @@ class ShareesAPIController extends OCSController {
|
|||
$shareTypes[] = IShare::TYPE_CIRCLE;
|
||||
}
|
||||
|
||||
if ($this->shareManager->shareProviderExists(IShare::TYPE_SCIENCEMESH)) {
|
||||
$shareTypes[] = IShare::TYPE_SCIENCEMESH;
|
||||
}
|
||||
|
||||
if ($this->shareManager->shareProviderExists(IShare::TYPE_DECK)) {
|
||||
$shareTypes[] = IShare::TYPE_DECK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ class MountProvider implements IMountProvider {
|
|||
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_CIRCLE, null, -1));
|
||||
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_ROOM, null, -1));
|
||||
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_DECK, null, -1));
|
||||
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_SCIENCEMESH, null, -1));
|
||||
|
||||
|
||||
// filter out excluded shares and group shares that includes self
|
||||
|
|
|
|||
|
|
@ -194,6 +194,7 @@ export default {
|
|||
this.SHARE_TYPES.SHARE_TYPE_ROOM,
|
||||
this.SHARE_TYPES.SHARE_TYPE_GUEST,
|
||||
this.SHARE_TYPES.SHARE_TYPE_DECK,
|
||||
this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH,
|
||||
]
|
||||
|
||||
if (OC.getCapabilities().files_sharing.public.enabled === true) {
|
||||
|
|
@ -420,6 +421,11 @@ export default {
|
|||
icon: 'icon-deck',
|
||||
iconTitle: t('files_sharing', 'Deck board'),
|
||||
}
|
||||
case this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:
|
||||
return {
|
||||
icon: 'icon-sciencemesh',
|
||||
iconTitle: t('files_sharing', 'Science Mesh'),
|
||||
}
|
||||
default:
|
||||
return {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,5 +34,6 @@ Object.assign(OC, {
|
|||
SHARE_TYPE_REMOTE_GROUP: 9,
|
||||
SHARE_TYPE_ROOM: 10,
|
||||
SHARE_TYPE_DECK: 12,
|
||||
SHARE_TYPE_SCIENCEMESH: 15,
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -201,6 +201,8 @@ import { getCapabilities } from '@nextcloud/capabilities'
|
|||
hasShares = true
|
||||
} else if (shareType === ShareTypes.SHARE_TYPE_DECK) {
|
||||
hasShares = true
|
||||
} else if (shareType === ShareTypes.SHARE_TYPE_SCIENCEMESH) {
|
||||
hasShares = true
|
||||
}
|
||||
})
|
||||
OCA.Sharing.Util._updateFileActionIcon($tr, hasShares, hasLink)
|
||||
|
|
|
|||
|
|
@ -218,10 +218,10 @@ class ShareAPIControllerTest extends TestCase {
|
|||
$this->expectExceptionMessage('Wrong share ID, share does not exist');
|
||||
|
||||
$this->shareManager
|
||||
->expects($this->exactly(6))
|
||||
->expects($this->exactly(7))
|
||||
->method('getShareById')
|
||||
->willReturnCallback(function ($id) {
|
||||
if ($id === 'ocinternal:42' || $id === 'ocRoomShare:42' || $id === 'ocFederatedSharing:42' || $id === 'ocCircleShare:42' || $id === 'ocMailShare:42' || $id === 'deck:42') {
|
||||
if ($id === 'ocinternal:42' || $id === 'ocRoomShare:42' || $id === 'ocFederatedSharing:42' || $id === 'ocCircleShare:42' || $id === 'ocMailShare:42' || $id === 'deck:42' || $id === 'sciencemesh:42') {
|
||||
throw new \OCP\Share\Exceptions\ShareNotFound();
|
||||
} else {
|
||||
throw new \Exception();
|
||||
|
|
|
|||
|
|
@ -163,12 +163,13 @@ class MountProviderTest extends \Test\TestCase {
|
|||
$this->makeMockShare(12, 103, 'user2', '/share7', 31),
|
||||
$this->makeMockShare(13, 103, 'user2', '/share7', 31),
|
||||
];
|
||||
// tests regarding circles are made in the app itself.
|
||||
// tests regarding circles and sciencemesh are made in the apps themselves.
|
||||
$circleShares = [];
|
||||
$sciencemeshShares = [];
|
||||
$this->user->expects($this->any())
|
||||
->method('getUID')
|
||||
->willReturn('user1');
|
||||
$this->shareManager->expects($this->exactly(5))
|
||||
$this->shareManager->expects($this->exactly(6))
|
||||
->method('getSharedWith')
|
||||
->withConsecutive(
|
||||
['user1', IShare::TYPE_USER],
|
||||
|
|
@ -176,12 +177,14 @@ class MountProviderTest extends \Test\TestCase {
|
|||
['user1', IShare::TYPE_CIRCLE, null, -1],
|
||||
['user1', IShare::TYPE_ROOM, null, -1],
|
||||
['user1', IShare::TYPE_DECK, null, -1],
|
||||
['user1', IShare::TYPE_SCIENCEMESH, null, -1],
|
||||
)->willReturnOnConsecutiveCalls(
|
||||
$userShares,
|
||||
$groupShares,
|
||||
$circleShares,
|
||||
$roomShares,
|
||||
$deckShares,
|
||||
$sciencemeshShares
|
||||
);
|
||||
$this->shareManager->expects($this->any())
|
||||
->method('newShare')
|
||||
|
|
@ -386,7 +389,8 @@ class MountProviderTest extends \Test\TestCase {
|
|||
$circleShares = [];
|
||||
$roomShares = [];
|
||||
$deckShares = [];
|
||||
$this->shareManager->expects($this->exactly(5))
|
||||
$sciencemeshShares = [];
|
||||
$this->shareManager->expects($this->exactly(6))
|
||||
->method('getSharedWith')
|
||||
->withConsecutive(
|
||||
['user1', IShare::TYPE_USER],
|
||||
|
|
@ -394,12 +398,14 @@ class MountProviderTest extends \Test\TestCase {
|
|||
['user1', IShare::TYPE_CIRCLE, null, -1],
|
||||
['user1', IShare::TYPE_ROOM, null, -1],
|
||||
['user1', IShare::TYPE_DECK, null, -1],
|
||||
['user1', IShare::TYPE_SCIENCEMESH, null, -1],
|
||||
)->willReturnOnConsecutiveCalls(
|
||||
$userShares,
|
||||
$groupShares,
|
||||
$circleShares,
|
||||
$roomShares,
|
||||
$deckShares,
|
||||
$sciencemeshShares
|
||||
);
|
||||
$this->shareManager->expects($this->any())
|
||||
->method('newShare')
|
||||
|
|
|
|||
4
dist/files_sharing-additionalScripts.js
vendored
4
dist/files_sharing-additionalScripts.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-additionalScripts.js.map
vendored
2
dist/files_sharing-additionalScripts.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/files_sharing-files_sharing_tab.js
vendored
4
dist/files_sharing-files_sharing_tab.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-files_sharing_tab.js.map
vendored
2
dist/files_sharing-files_sharing_tab.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/files_sharing-main.js
vendored
4
dist/files_sharing-main.js
vendored
|
|
@ -1,3 +1,3 @@
|
|||
/*! For license information please see files_sharing-main.js.LICENSE.txt */
|
||||
Object.assign(OC,{Share:{SHARE_TYPE_USER:0,SHARE_TYPE_GROUP:1,SHARE_TYPE_LINK:3,SHARE_TYPE_EMAIL:4,SHARE_TYPE_REMOTE:6,SHARE_TYPE_CIRCLE:7,SHARE_TYPE_GUEST:8,SHARE_TYPE_REMOTE_GROUP:9,SHARE_TYPE_ROOM:10,SHARE_TYPE_DECK:12}});
|
||||
//# sourceMappingURL=files_sharing-main.js.map?v=4c7ee07633a21133e94e
|
||||
Object.assign(OC,{Share:{SHARE_TYPE_USER:0,SHARE_TYPE_GROUP:1,SHARE_TYPE_LINK:3,SHARE_TYPE_EMAIL:4,SHARE_TYPE_REMOTE:6,SHARE_TYPE_CIRCLE:7,SHARE_TYPE_GUEST:8,SHARE_TYPE_REMOTE_GROUP:9,SHARE_TYPE_ROOM:10,SHARE_TYPE_DECK:12,SHARE_TYPE_SCIENCEMESH:15}});
|
||||
//# sourceMappingURL=files_sharing-main.js.map?v=325eef5d4954bda3055f
|
||||
2
dist/files_sharing-main.js.map
vendored
2
dist/files_sharing-main.js.map
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"files_sharing-main.js?v=4c7ee07633a21133e94e","mappings":";AAwBAA,OAAOC,OAAOC,GAAI,CACjBC,MAAO,CACNC,gBAAiB,EACjBC,iBAAkB,EAClBC,gBAAiB,EACjBC,iBAAkB,EAClBC,kBAAmB,EACnBC,kBAAmB,EACnBC,iBAAkB,EAClBC,wBAAyB,EACzBC,gBAAiB,GACjBC,gBAAiB","sources":["webpack:///nextcloud/apps/files_sharing/src/index.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// register default shares types\nObject.assign(OC, {\n\tShare: {\n\t\tSHARE_TYPE_USER: 0,\n\t\tSHARE_TYPE_GROUP: 1,\n\t\tSHARE_TYPE_LINK: 3,\n\t\tSHARE_TYPE_EMAIL: 4,\n\t\tSHARE_TYPE_REMOTE: 6,\n\t\tSHARE_TYPE_CIRCLE: 7,\n\t\tSHARE_TYPE_GUEST: 8,\n\t\tSHARE_TYPE_REMOTE_GROUP: 9,\n\t\tSHARE_TYPE_ROOM: 10,\n\t\tSHARE_TYPE_DECK: 12,\n\t},\n})\n"],"names":["Object","assign","OC","Share","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","SHARE_TYPE_DECK"],"sourceRoot":""}
|
||||
{"version":3,"file":"files_sharing-main.js?v=325eef5d4954bda3055f","mappings":";AAwBAA,OAAOC,OAAOC,GAAI,CACjBC,MAAO,CACNC,gBAAiB,EACjBC,iBAAkB,EAClBC,gBAAiB,EACjBC,iBAAkB,EAClBC,kBAAmB,EACnBC,kBAAmB,EACnBC,iBAAkB,EAClBC,wBAAyB,EACzBC,gBAAiB,GACjBC,gBAAiB,GACjBC,uBAAwB","sources":["webpack:///nextcloud/apps/files_sharing/src/index.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// register default shares types\nObject.assign(OC, {\n\tShare: {\n\t\tSHARE_TYPE_USER: 0,\n\t\tSHARE_TYPE_GROUP: 1,\n\t\tSHARE_TYPE_LINK: 3,\n\t\tSHARE_TYPE_EMAIL: 4,\n\t\tSHARE_TYPE_REMOTE: 6,\n\t\tSHARE_TYPE_CIRCLE: 7,\n\t\tSHARE_TYPE_GUEST: 8,\n\t\tSHARE_TYPE_REMOTE_GROUP: 9,\n\t\tSHARE_TYPE_ROOM: 10,\n\t\tSHARE_TYPE_DECK: 12,\n\t\tSHARE_TYPE_SCIENCEMESH: 15,\n\t},\n})\n"],"names":["Object","assign","OC","Share","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH"],"sourceRoot":""}
|
||||
|
|
@ -75,6 +75,8 @@ class Constants {
|
|||
public const SHARE_TYPE_DECK = 12;
|
||||
// const SHARE_TYPE_DECK_USER = 13; // Internal type used by DeckShareProvider
|
||||
|
||||
// Note to developers: Do not add new share types here
|
||||
|
||||
public const FORMAT_NONE = -1;
|
||||
public const FORMAT_STATUSES = -2;
|
||||
public const FORMAT_SOURCES = -3; // ToDo Check if it is still in use otherwise remove it
|
||||
|
|
|
|||
|
|
@ -245,6 +245,7 @@ class Manager implements IManager {
|
|||
}
|
||||
} elseif ($share->getShareType() === IShare::TYPE_ROOM) {
|
||||
} elseif ($share->getShareType() === IShare::TYPE_DECK) {
|
||||
} elseif ($share->getShareType() === IShare::TYPE_SCIENCEMESH) {
|
||||
} else {
|
||||
// We cannot handle other types yet
|
||||
throw new \InvalidArgumentException('unknown share type');
|
||||
|
|
|
|||
|
|
@ -341,6 +341,8 @@ class ProviderFactory implements IProviderFactory {
|
|||
$provider = $this->getRoomShareProvider();
|
||||
} elseif ($shareType === IShare::TYPE_DECK) {
|
||||
$provider = $this->getProvider('deck');
|
||||
} elseif ($shareType === IShare::TYPE_SCIENCEMESH) {
|
||||
$provider = $this->getProvider('sciencemesh');
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -118,6 +118,11 @@ interface IShare {
|
|||
*/
|
||||
public const TYPE_DECK_USER = 13;
|
||||
|
||||
/**
|
||||
* @since 26.0.0
|
||||
*/
|
||||
public const TYPE_SCIENCEMESH = 15;
|
||||
|
||||
/**
|
||||
* @since 18.0.0
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue