Skip to content

Commit 75172a4

Browse files
committed
chore: adapt psalm to use of OCA classes
Signed-off-by: grnd-alt <git@belakkaf.net>
1 parent 5c95897 commit 75172a4

7 files changed

Lines changed: 41 additions & 25 deletions

File tree

lib/Activity/Filter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public function getIcon(): string {
6161
* @return string[] An array of allowed apps from which activities should be displayed
6262
* @since 11.0.0
6363
*/
64-
public function filterTypes(array $types): array {
64+
public function filterTypes($types): array {
6565
return array_merge($types, ['deck_comment']);
6666
}
6767

lib/Listeners/AclCreatedRemovedListener.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ public function handle(Event $event): void {
3333
return;
3434
}
3535

36+
if (!class_exists(UserShareAccessUpdatedEvent::class)) {
37+
return;
38+
}
39+
3640
$acl = $event->getAcl();
3741
switch ($acl->getType()) {
3842
case IShare::TYPE_GROUP:
@@ -42,6 +46,9 @@ public function handle(Event $event): void {
4246
}
4347
break;
4448
case IShare::TYPE_CIRCLE:
49+
if (!$this->circlesService->isCirclesEnabled()) {
50+
return;
51+
}
4552
$circle = $this->circlesService->getCircle($acl->getParticipant());
4653
$members = array_filter($circle->getInheritedMembers(), static function (Member $member) {
4754
return $member->getUserType() === Member::TYPE_USER;

lib/Notification/NotificationHelper.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public function sendCardDuedate(Card $card): void {
107107
$notification = $this->notificationManager->createNotification();
108108
$notification
109109
->setApp('deck')
110-
->setUser((string)$user->getUID())
110+
->setUser($user->getUID())
111111
->setObject('card', (string)$card->getId())
112112
->setSubject('card-overdue', [
113113
$card->getTitle(), $board->getTitle()

lib/Service/BoardService.php

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -239,11 +239,13 @@ public function delete(int $id): Board {
239239
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_BOARD, $board, ActivityManager::SUBJECT_BOARD_DELETE);
240240
$this->changeHelper->boardChanged($board->getId());
241241

242-
$acls = $this->aclMapper->findAll($id);
243-
foreach ($acls as $acl) {
244-
$user = new LazyUser($acl->getParticipant(), $this->userManager);
245-
$event = new UserShareAccessUpdatedEvent($user);
246-
$this->eventDispatcher->dispatchTyped($event);
242+
if (class_exists(UserShareAccessUpdatedEvent::class)) {
243+
$acls = $this->aclMapper->findAll($id);
244+
foreach ($acls as $acl) {
245+
$user = new LazyUser($acl->getParticipant(), $this->userManager);
246+
$event = new UserShareAccessUpdatedEvent($user);
247+
$this->eventDispatcher->dispatchTyped($event);
248+
}
247249
}
248250

249251
return $board;
@@ -264,11 +266,13 @@ public function deleteUndo(int $id): Board {
264266
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_BOARD, $board, ActivityManager::SUBJECT_BOARD_RESTORE);
265267
$this->changeHelper->boardChanged($board->getId());
266268

267-
$acls = $this->aclMapper->findAll($id);
268-
foreach ($acls as $acl) {
269-
$user = new LazyUser($acl->getParticipant(), $this->userManager);
270-
$event = new UserShareAccessUpdatedEvent($user);
271-
$this->eventDispatcher->dispatchTyped($event);
269+
if (class_exists(UserShareAccessUpdatedEvent::class)) {
270+
$acls = $this->aclMapper->findAll($id);
271+
foreach ($acls as $acl) {
272+
$user = new LazyUser($acl->getParticipant(), $this->userManager);
273+
$event = new UserShareAccessUpdatedEvent($user);
274+
$this->eventDispatcher->dispatchTyped($event);
275+
}
272276
}
273277

274278
return $board;

lib/Service/PermissionService.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
use Psr\Log\LoggerInterface;
2727

2828
class PermissionService {
29-
private array $users = [];
29+
30+
/** @var array<string, array<string, User>> */
31+
private $users = [];
3032

3133
private CappedMemoryCache $boardCache;
3234
/** @var CappedMemoryCache<array<Acl::PERMISSION_*, bool>> */
@@ -207,8 +209,9 @@ public function userCan(array $acls, $permission, $userId = null) {
207209
* Required to allow assigning them to cards
208210
*
209211
* @param $boardId
210-
* @return User[]
211-
*/
212+
* @param $refresh
213+
* @return array<string, User>
214+
* */
212215
public function findUsers($boardId, $refresh = false) {
213216
// cache users of a board so we don't query them for every cards
214217
if (array_key_exists((string)$boardId, $this->users) && !$refresh) {
@@ -222,12 +225,12 @@ public function findUsers($boardId, $refresh = false) {
222225
} catch (MultipleObjectsReturnedException $e) {
223226
return [];
224227
}
225-
228+
/** @var array<string, User> */
226229
$users = [];
227230
if (!$this->userManager->userExists($board->getOwner())) {
228231
$this->logger->info('No owner found for board ' . $board->getId());
229232
} else {
230-
$users[$board->getOwner()] = new User($board->getOwner(), $this->userManager);
233+
$users[(string)$board->getOwner()] = new User($board->getOwner(), $this->userManager);
231234
}
232235
$acls = $this->aclMapper->findAll($boardId);
233236
/** @var Acl $acl */
@@ -237,7 +240,7 @@ public function findUsers($boardId, $refresh = false) {
237240
$this->logger->info('No user found for acl rule ' . $acl->getId());
238241
continue;
239242
}
240-
$users[$acl->getParticipant()] = new User($acl->getParticipant(), $this->userManager);
243+
$users[(string)$acl->getParticipant()] = new User($acl->getParticipant(), $this->userManager);
241244
}
242245
if ($acl->getType() === Acl::PERMISSION_TYPE_GROUP) {
243246
$group = $this->groupManager->get($acl->getParticipant());
@@ -246,7 +249,7 @@ public function findUsers($boardId, $refresh = false) {
246249
continue;
247250
}
248251
foreach ($group->getUsers() as $user) {
249-
$users[$user->getUID()] = new User($user->getUID(), $this->userManager);
252+
$users[(string)$user->getUID()] = new User($user->getUID(), $this->userManager);
250253
}
251254
}
252255

@@ -267,7 +270,7 @@ public function findUsers($boardId, $refresh = false) {
267270
if ($user === null) {
268271
$this->logger->info('No user found for circle member ' . $member->getUserId());
269272
} else {
270-
$users[$member->getUserId()] = new User($member->getUserId(), $this->userManager);
273+
$users[(string)$member->getUserId()] = new User($member->getUserId(), $this->userManager);
271274
}
272275
}
273276
} catch (\Exception $e) {

tests/psalm-baseline.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<files psalm-version="6.5.0@38fc8444edf0cebc9205296ee6e30e906ade783b">
3-
<file src="lib/Activity/Filter.php">
4-
<MethodSignatureMismatch>
5-
<code><![CDATA[$types]]></code>
6-
</MethodSignatureMismatch>
7-
</file>
83
<file src="lib/Controller/BoardApiController.php">
94
<UndefinedFunction>
105
<code><![CDATA[parseDate($modified)]]></code>

tests/stub.phpstub

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ namespace OCA\Circles\Model {
4444
public const APP_DEFAULT = 11000;
4545

4646
public function getLevel(): int {}
47+
public function getUserType(): int{}
4748
}
4849

4950
class Circle {
@@ -85,6 +86,12 @@ namespace OCA\Circles {
8586
}
8687
}
8788

89+
namespace OCA\Files_Sharing\Event{
90+
class UserShareAccessUpdatedEvent extends \OCP\EventDispatcher\Event{
91+
public function __construct($user){}
92+
}
93+
}
94+
8895
namespace {
8996

9097
use OCP\IServerContainer;

0 commit comments

Comments
 (0)