diff options
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/share/exceptions/illegalidchangeexception.php | 27 | ||||
-rw-r--r-- | lib/public/share/ishare.php | 27 |
2 files changed, 54 insertions, 0 deletions
diff --git a/lib/public/share/exceptions/illegalidchangeexception.php b/lib/public/share/exceptions/illegalidchangeexception.php new file mode 100644 index 00000000000..6cd887c386b --- /dev/null +++ b/lib/public/share/exceptions/illegalidchangeexception.php @@ -0,0 +1,27 @@ +<?php +/** + * @author Roeland Jago Douma <rullzer@owncloud.com> + * + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ +namespace OCP\Share\Exceptions; + +/** + * Exception for illegal attempts to modify an id of a share + * @since 9.1.0 + */ +class IllegalIDChangeException extends GenericShareException {} diff --git a/lib/public/share/ishare.php b/lib/public/share/ishare.php index fdf40f19e56..ee71715f436 100644 --- a/lib/public/share/ishare.php +++ b/lib/public/share/ishare.php @@ -25,6 +25,7 @@ use OCP\Files\File; use OCP\Files\Folder; use OCP\Files\Node; use OCP\Files\NotFoundException; +use OCP\Share\Exceptions\IllegalIDChangeException; /** * Interface IShare @@ -35,6 +36,19 @@ use OCP\Files\NotFoundException; interface IShare { /** + * Set the internal id of the share + * It is only allowed to set the internal id of a share once. + * Attempts to override the internal id will result in an IllegalIDChangeException + * + * @param string $id + * @return \OCP\Share\IShare + * @throws IllegalIDChangeException + * @throws \InvalidArgumentException + * @since 9.1.0 + */ + public function setId($id); + + /** * Get the internal id of the share. * * @return string @@ -53,6 +67,19 @@ interface IShare { public function getFullId(); /** + * Set the provider id of the share + * It is only allowed to set the provider id of a share once. + * Attempts to override the provider id will result in an IllegalIDChangeException + * + * @param string $id + * @return \OCP\Share\IShare + * @throws IllegalIDChangeException + * @throws \InvalidArgumentException + * @since 9.1.0 + */ + public function setProviderId($id); + + /** * Set the node of the file/folder that is shared * * @param Node $node |