Merge pull request #21957 from owncloud/share2_to_ocp
[Share 2.0] Move interfaces to OCPremotes/origin/comments-markallread-dav
commit
0e95aeab75
@ -1,233 +0,0 @@ |
||||
<?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 OC\Share20; |
||||
|
||||
use OCP\Files\File; |
||||
use OCP\Files\Folder; |
||||
use OCP\Files\Node; |
||||
use OCP\IUser; |
||||
use OCP\IGroup; |
||||
|
||||
interface IShare { |
||||
|
||||
/** |
||||
* Get the id of the share |
||||
* |
||||
* @return string |
||||
*/ |
||||
public function getId(); |
||||
|
||||
/** |
||||
* Set the id of the share |
||||
* |
||||
* @param string $id |
||||
* @return IShare The modified share object |
||||
*/ |
||||
public function setId($id); |
||||
|
||||
/** |
||||
* Get the full share id |
||||
* |
||||
* @return string |
||||
*/ |
||||
public function getFullId(); |
||||
|
||||
/** |
||||
* Set the provider id |
||||
* |
||||
* @param string $id |
||||
* @return IShare The modified share object |
||||
*/ |
||||
public function setProviderId($id); |
||||
|
||||
/** |
||||
* Set the path of this share |
||||
* |
||||
* @param Node $path |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setPath(Node $path); |
||||
|
||||
/** |
||||
* Get the path of this share for the current user |
||||
* |
||||
* @return File|Folder |
||||
*/ |
||||
public function getPath(); |
||||
|
||||
/** |
||||
* Set the shareType |
||||
* |
||||
* @param int $shareType |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setShareType($shareType); |
||||
|
||||
/** |
||||
* Get the shareType |
||||
* |
||||
* @return int |
||||
*/ |
||||
public function getShareType(); |
||||
|
||||
/** |
||||
* Set the receiver of this share |
||||
* |
||||
* @param IUser|IGroup|string |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setSharedWith($sharedWith); |
||||
|
||||
/** |
||||
* Get the receiver of this share |
||||
* |
||||
* @return IUser|IGroup|string |
||||
*/ |
||||
public function getSharedWith(); |
||||
|
||||
/** |
||||
* Set the permissions |
||||
* |
||||
* @param int $permissions |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setPermissions($permissions); |
||||
|
||||
/** |
||||
* Get the share permissions |
||||
* |
||||
* @return int |
||||
*/ |
||||
public function getPermissions(); |
||||
|
||||
/** |
||||
* Set the expiration date |
||||
* |
||||
* @param \DateTime $expireDate |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setExpirationDate($expireDate); |
||||
|
||||
/** |
||||
* Get the share expiration date |
||||
* |
||||
* @return \DateTime |
||||
*/ |
||||
public function getExpirationDate(); |
||||
|
||||
/** |
||||
* Set the sharer of the path |
||||
* |
||||
* @param IUser|string $sharedBy |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setSharedBy($sharedBy); |
||||
|
||||
/** |
||||
* Get share sharer |
||||
* |
||||
* @return IUser|string |
||||
*/ |
||||
public function getSharedBy(); |
||||
|
||||
/** |
||||
* Set the original share owner (who owns the path) |
||||
* |
||||
* @param IUser|string |
||||
* |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setShareOwner($shareOwner); |
||||
|
||||
/** |
||||
* Get the original share owner (who owns the path) |
||||
* |
||||
* @return IUser|string |
||||
*/ |
||||
public function getShareOwner(); |
||||
|
||||
/** |
||||
* Set the password |
||||
* |
||||
* @param string $password |
||||
* |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setPassword($password); |
||||
|
||||
/** |
||||
* Is a password set for this share |
||||
* |
||||
* @return string |
||||
*/ |
||||
public function getPassword(); |
||||
|
||||
/** |
||||
* Set the token |
||||
* |
||||
* @param string $token |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setToken($token); |
||||
|
||||
/** |
||||
* Get the token |
||||
* |
||||
* @return string |
||||
*/ |
||||
public function getToken(); |
||||
|
||||
/** |
||||
* Get the parent it |
||||
* |
||||
* @return int |
||||
*/ |
||||
public function getParent(); |
||||
|
||||
/** |
||||
* Set the target of this share |
||||
* |
||||
* @param string $target |
||||
* @return IShare The modified object |
||||
*/ |
||||
public function setTarget($target); |
||||
|
||||
/** |
||||
* Get the target of this share |
||||
* |
||||
* @return string |
||||
*/ |
||||
public function getTarget(); |
||||
|
||||
/** |
||||
* Get the timestamp this share was created |
||||
* |
||||
* @return int |
||||
*/ |
||||
public function getSharetime(); |
||||
|
||||
/** |
||||
* Get mailSend |
||||
* |
||||
* @return bool |
||||
*/ |
||||
public function getMailSend(); |
||||
} |
||||
@ -0,0 +1,212 @@ |
||||
<?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; |
||||
|
||||
use OCP\IUser; |
||||
|
||||
use OC\Share20\Exception\ShareNotFound; |
||||
|
||||
/** |
||||
* Interface IManager |
||||
* |
||||
* @package OCP\Share |
||||
* @since 9.0.0 |
||||
*/ |
||||
interface IManager { |
||||
|
||||
/** |
||||
* Create a Share |
||||
* |
||||
* @param IShare $share |
||||
* @return Share The share object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function createShare(IShare $share); |
||||
|
||||
/** |
||||
* Update a share |
||||
* |
||||
* @param IShare $share |
||||
* @return IShare The share object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function updateShare(IShare $share); |
||||
|
||||
/** |
||||
* Delete a share |
||||
* |
||||
* @param IShare $share |
||||
* @throws ShareNotFound |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function deleteShare(IShare $share); |
||||
|
||||
/** |
||||
* Unshare a file as the recipient. |
||||
* This can be different from a regular delete for example when one of |
||||
* the users in a groups deletes that share. But the provider should |
||||
* handle this. |
||||
* |
||||
* @param IShare $share |
||||
* @param IUser $recipient |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function deleteFromSelf(IShare $share, IUser $recipient); |
||||
|
||||
/** |
||||
* Get shares shared by (initiated) by the provided user. |
||||
* |
||||
* @param IUser $user |
||||
* @param int $shareType |
||||
* @param \OCP\Files\File|\OCP\Files\Folder $path |
||||
* @param bool $reshares |
||||
* @param int $limit The maximum number of returned results, -1 for all results |
||||
* @param int $offset |
||||
* @return IShare[] |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getSharesBy(IUser $user, $shareType, $path = null, $reshares = false, $limit = 50, $offset = 0); |
||||
|
||||
/** |
||||
* Get shares shared with $user. |
||||
* |
||||
* @param IUser $user |
||||
* @param int $shareType |
||||
* @param int $limit The maximum number of shares returned, -1 for all |
||||
* @param int $offset |
||||
* @return IShare[] |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getSharedWith(IUser $user, $shareType, $limit = 50, $offset = 0); |
||||
|
||||
/** |
||||
* Retrieve a share by the share id |
||||
* |
||||
* @param string $id |
||||
* @return Share |
||||
* @throws ShareNotFound |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getShareById($id); |
||||
|
||||
/** |
||||
* Get the share by token possible with password |
||||
* |
||||
* @param string $token |
||||
* @return Share |
||||
* @throws ShareNotFound |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getShareByToken($token); |
||||
|
||||
/** |
||||
* Verify the password of a public share |
||||
* |
||||
* @param IShare $share |
||||
* @param string $password |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function checkPassword(IShare $share, $password); |
||||
|
||||
/** |
||||
* Instantiates a new share object. This is to be passed to |
||||
* createShare. |
||||
* |
||||
* @return IShare |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function newShare(); |
||||
|
||||
/** |
||||
* Is the share API enabled |
||||
* |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiEnabled(); |
||||
|
||||
/** |
||||
* Is public link sharing enabled |
||||
* |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiAllowLinks(); |
||||
|
||||
/** |
||||
* Is password on public link requires |
||||
* |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiLinkEnforcePassword(); |
||||
|
||||
/** |
||||
* Is default expire date enabled |
||||
* |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiLinkDefaultExpireDate(); |
||||
|
||||
/** |
||||
* Is default expire date enforced |
||||
*` |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiLinkDefaultExpireDateEnforced(); |
||||
|
||||
/** |
||||
* Number of default expire days |
||||
* |
||||
* @return int |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiLinkDefaultExpireDays(); |
||||
|
||||
/** |
||||
* Allow public upload on link shares |
||||
* |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareApiLinkAllowPublicUpload(); |
||||
|
||||
/** |
||||
* check if user can only share with group members |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function shareWithGroupMembersOnly(); |
||||
|
||||
/** |
||||
* Check if sharing is disabled for the given user |
||||
* |
||||
* @param IUser $user |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function sharingDisabledForUser(IUser $user); |
||||
|
||||
} |
||||
@ -0,0 +1,264 @@ |
||||
<?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; |
||||
|
||||
use OCP\Files\File; |
||||
use OCP\Files\Folder; |
||||
use OCP\Files\Node; |
||||
use OCP\IUser; |
||||
use OCP\IGroup; |
||||
|
||||
/** |
||||
* Interface IShare |
||||
* |
||||
* @package OCP\Share |
||||
* @since 9.0.0 |
||||
*/ |
||||
interface IShare { |
||||
|
||||
/** |
||||
* Get the internal id of the share. |
||||
* |
||||
* @return string |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getId(); |
||||
|
||||
/** |
||||
* Get the full share id. This is the <providerid>:<internalid>. |
||||
* The full id is unique in the system. |
||||
* |
||||
* @return string |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getFullId(); |
||||
|
||||
/** |
||||
* Set the node of the file/folder that is shared |
||||
* |
||||
* @param File|Folder $path |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setNode(Node $path); |
||||
|
||||
/** |
||||
* Get the node of the file/folder that is shared |
||||
* |
||||
* @return File|Folder |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getNode(); |
||||
|
||||
/** |
||||
* Set the shareType |
||||
* |
||||
* @param int $shareType |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setShareType($shareType); |
||||
|
||||
/** |
||||
* Get the shareType |
||||
* |
||||
* @return int |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getShareType(); |
||||
|
||||
/** |
||||
* Set the receiver of this share. |
||||
* |
||||
* @param IUser|IGroup |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setSharedWith($sharedWith); |
||||
|
||||
/** |
||||
* Get the receiver of this share. |
||||
* |
||||
* @return IUser|IGroup |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getSharedWith(); |
||||
|
||||
/** |
||||
* Set the permissions. |
||||
* See \OCP\Constants::PERMISSION_* |
||||
* |
||||
* @param int $permissions |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setPermissions($permissions); |
||||
|
||||
/** |
||||
* Get the share permissions |
||||
* See \OCP\Constants::PERMISSION_* |
||||
* |
||||
* @return int |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getPermissions(); |
||||
|
||||
/** |
||||
* Set the expiration date |
||||
* |
||||
* @param \DateTime $expireDate |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setExpirationDate($expireDate); |
||||
|
||||
/** |
||||
* Get the expiration date |
||||
* |
||||
* @return \DateTime |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getExpirationDate(); |
||||
|
||||
/** |
||||
* Set the sharer of the path. |
||||
* |
||||
* @param IUser $sharedBy |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setSharedBy($sharedBy); |
||||
|
||||
/** |
||||
* Get share sharer |
||||
* |
||||
* @return IUser |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getSharedBy(); |
||||
|
||||
/** |
||||
* Set the original share owner (who owns the path that is shared) |
||||
* |
||||
* @param IUser |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setShareOwner($shareOwner); |
||||
|
||||
/** |
||||
* Get the original share owner (who owns the path that is shared) |
||||
* |
||||
* @return IUser |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getShareOwner(); |
||||
|
||||
/** |
||||
* Set the password for this share. |
||||
* When the share is passed to the share manager to be created |
||||
* or updated the password will be hashed. |
||||
* |
||||
* @param string $password |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setPassword($password); |
||||
|
||||
/** |
||||
* Get the password of this share. |
||||
* If this share is obtained via a shareprovider the password is |
||||
* hashed. |
||||
* |
||||
* @return string |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getPassword(); |
||||
|
||||
/** |
||||
* Set the public link token. |
||||
* |
||||
* @param string $token |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setToken($token); |
||||
|
||||
/** |
||||
* Get the public link token. |
||||
* |
||||
* @return string |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getToken(); |
||||
|
||||
/** |
||||
* Set the target path of this share relative to the recipients user folder. |
||||
* |
||||
* @param string $target |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setTarget($target); |
||||
|
||||
/** |
||||
* Get the target path of this share relative to the recipients user folder. |
||||
* |
||||
* @return string |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getTarget(); |
||||
|
||||
/** |
||||
* Set the time this share was created |
||||
* |
||||
* @param \DateTime $shareTime |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setShareTime(\DateTime $shareTime); |
||||
|
||||
/** |
||||
* Get the timestamp this share was created |
||||
* |
||||
* @return \DateTime |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getShareTime(); |
||||
|
||||
/** |
||||
* Set if the recipient is informed by mail about the share. |
||||
* |
||||
* @param bool $mailSend |
||||
* @return \OCP\Share\IShare The modified object |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function setMailSend($mailSend); |
||||
|
||||
/** |
||||
* Get if the recipient informed by mail about the share. |
||||
* |
||||
* @return bool |
||||
* @since 9.0.0 |
||||
*/ |
||||
public function getMailSend(); |
||||
} |
||||
Loading…
Reference in new issue