1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- declare(strict_types=1);
- namespace OCA\DAV\DAV\Sharing;
- abstract class SharingService {
- protected string $resourceType = '';
- public function __construct(protected SharingMapper $mapper) {
- }
- public function getResourceType(): string {
- return $this->resourceType;
- }
- public function shareWith(int $resourceId, string $principal, int $access): void {
-
- $this->mapper->deleteShare($resourceId, $this->getResourceType(), $principal);
- $this->mapper->share($resourceId, $this->getResourceType(), $access, $principal);
- }
- public function unshare(int $resourceId, string $principal): void {
- $this->mapper->unshare($resourceId, $this->getResourceType(), $principal);
- }
- public function deleteShare(int $resourceId, string $principal): void {
- $this->mapper->deleteShare($resourceId, $this->getResourceType(), $principal);
- }
- public function deleteAllShares(int $resourceId): void {
- $this->mapper->deleteAllShares($resourceId, $this->getResourceType());
- }
- public function deleteAllSharesByUser(string $principaluri): void {
- $this->mapper->deleteAllSharesByUser($principaluri, $this->getResourceType());
- }
- public function getShares(int $resourceId): array {
- return $this->mapper->getSharesForId($resourceId, $this->getResourceType());
- }
- public function getSharesForIds(array $resourceIds): array {
- return $this->mapper->getSharesForIds($resourceIds, $this->getResourceType());
- }
-
- public function hasGroupShare(array $oldShares): bool {
- return !empty(array_filter($oldShares, function (array $share) {
- return $share['{http://owncloud.org/ns}group-share'] === true;
- }));
- }
- }
|