Skip to content

Commit 853ea64

Browse files
committed
fix(sharing): Adapt Hooks to new API
Signed-off-by: Carl Schwan <[email protected]>
1 parent 5069467 commit 853ea64

File tree

2 files changed

+38
-40
lines changed

2 files changed

+38
-40
lines changed

apps/files_sharing/lib/Hooks.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,21 @@
99

1010
use OC\Files\Filesystem;
1111
use OC\Files\View;
12+
use OCP\IUserManager;
1213
use OCP\Server;
1314

1415
class Hooks {
15-
public static function deleteUser($params) {
16+
public static function deleteUser(array $params): void {
1617
$manager = Server::get(External\Manager::class);
17-
18-
$manager->removeUserShares($params['uid']);
18+
$userManager = Server::get(IUserManager::class);
19+
$user = $userManager->get($params['uid']);
20+
if ($user === null) {
21+
return;
22+
}
23+
$manager->removeUserShares($user);
1924
}
2025

21-
public static function unshareChildren($params) {
26+
public static function unshareChildren(array $params): void {
2227
$path = Filesystem::getView()->getAbsolutePath($params['path']);
2328
$view = new View('/');
2429

apps/files_sharing/tests/ExpireSharesJobTest.php

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@
1111
use OCA\Files_Sharing\ExpireSharesJob;
1212
use OCP\AppFramework\Utility\ITimeFactory;
1313
use OCP\Constants;
14+
use OCP\Files\IRootFolder;
1415
use OCP\IDBConnection;
16+
use OCP\IUser;
1517
use OCP\IUserManager;
1618
use OCP\Server;
1719
use OCP\Share\IManager;
1820
use OCP\Share\IShare;
21+
use PHPUnit\Framework\Attributes\DataProvider;
1922

2023
/**
2124
* Class ExpireSharesJobTest
@@ -26,56 +29,47 @@
2629
*/
2730
class ExpireSharesJobTest extends \Test\TestCase {
2831

29-
/** @var ExpireSharesJob */
30-
private $job;
32+
private ExpireSharesJob $job;
3133

32-
/** @var IDBConnection */
33-
private $connection;
34+
private IDBConnection $connection;
35+
private IRootFolder $rootFolder;
3436

35-
/** @var string */
36-
private $user1;
37+
private IUser $user1;
3738

38-
/** @var string */
39-
private $user2;
39+
private IUser $user2;
4040

4141
protected function setUp(): void {
4242
parent::setUp();
4343

4444
$this->connection = Server::get(IDBConnection::class);
45+
$this->rootFolder = Server::get(IRootFolder::class);
4546
// clear occasional leftover shares from other tests
46-
$this->connection->executeUpdate('DELETE FROM `*PREFIX*share`');
47+
$this->connection->getQueryBuilder()->delete('share')->executeStatement();
4748

48-
$this->user1 = $this->getUniqueID('user1_');
49-
$this->user2 = $this->getUniqueID('user2_');
49+
$user1 = $this->getUniqueID('user1_');
50+
$user2 = $this->getUniqueID('user2_');
5051

5152
$userManager = Server::get(IUserManager::class);
52-
$userManager->createUser($this->user1, 'longrandompassword');
53-
$userManager->createUser($this->user2, 'longrandompassword');
53+
$this->user1 = $userManager->createUser($user1, 'longrandompassword');
54+
$this->user2 = $userManager->createUser($user2, 'longrandompassword');
5455

5556
\OC::registerShareHooks(Server::get(SystemConfig::class));
5657

5758
$this->job = new ExpireSharesJob(Server::get(ITimeFactory::class), Server::get(IManager::class), $this->connection);
5859
}
5960

6061
protected function tearDown(): void {
61-
$this->connection->executeUpdate('DELETE FROM `*PREFIX*share`');
62+
$this->connection->getQueryBuilder()->delete('share')->executeStatement();
6263

63-
$userManager = Server::get(IUserManager::class);
64-
$user1 = $userManager->get($this->user1);
65-
if ($user1) {
66-
$user1->delete();
67-
}
68-
$user2 = $userManager->get($this->user2);
69-
if ($user2) {
70-
$user2->delete();
71-
}
64+
$this->user1->delete();
65+
$this->user2->delete();
7266

7367
$this->logout();
7468

7569
parent::tearDown();
7670
}
7771

78-
private function getShares() {
72+
private function getShares(): array {
7973
$shares = [];
8074
$qb = $this->connection->getQueryBuilder();
8175

@@ -106,26 +100,25 @@ public static function dataExpireLinkShare() {
106100
}
107101

108102
/**
109-
*
110103
* @param bool addExpiration Should we add an expire date
111104
* @param string $interval The dateInterval
112105
* @param bool $addInterval If true add to the current time if false subtract
113106
* @param bool $shouldExpire Should this share be expired
114107
*/
115-
#[\PHPUnit\Framework\Attributes\DataProvider('dataExpireLinkShare')]
116-
public function testExpireLinkShare($addExpiration, $interval, $addInterval, $shouldExpire): void {
117-
$this->loginAsUser($this->user1);
108+
#[DataProvider('dataExpireLinkShare')]
109+
public function testExpireLinkShare(bool $addExpiration, string $interval, bool $addInterval, bool $shouldExpire): void {
110+
$this->loginAsUser($this->user1->getUID());
118111

119-
$user1Folder = \OC::$server->getUserFolder($this->user1);
112+
$user1Folder = $this->rootFolder->getUserFolder($this->user1->getUID());
120113
$testFolder = $user1Folder->newFolder('test');
121114

122-
$shareManager = Server::get(\OCP\Share\IManager::class);
115+
$shareManager = Server::get(IManager::class);
123116
$share = $shareManager->newShare();
124117

125118
$share->setNode($testFolder)
126119
->setShareType(IShare::TYPE_LINK)
127120
->setPermissions(Constants::PERMISSION_READ)
128-
->setSharedBy($this->user1);
121+
->setSharedBy($this->user1->getUID());
129122

130123
$shareManager->createShare($share);
131124

@@ -171,19 +164,19 @@ public function testExpireLinkShare($addExpiration, $interval, $addInterval, $sh
171164
}
172165

173166
public function testDoNotExpireOtherShares(): void {
174-
$this->loginAsUser($this->user1);
167+
$this->loginAsUser($this->user1->getUID());
175168

176-
$user1Folder = \OC::$server->getUserFolder($this->user1);
169+
$user1Folder = $this->rootFolder->getUserFolder($this->user1->getUID());
177170
$testFolder = $user1Folder->newFolder('test');
178171

179-
$shareManager = Server::get(\OCP\Share\IManager::class);
172+
$shareManager = Server::get(IManager::class);
180173
$share = $shareManager->newShare();
181174

182175
$share->setNode($testFolder)
183176
->setShareType(IShare::TYPE_USER)
184177
->setPermissions(Constants::PERMISSION_READ)
185-
->setSharedBy($this->user1)
186-
->setSharedWith($this->user2);
178+
->setSharedBy($this->user1->getUID())
179+
->setSharedWith($this->user2->getUID());
187180

188181
$shareManager->createShare($share);
189182

0 commit comments

Comments
 (0)