diff --git a/lib/Activity/ChangeSet.php b/lib/Activity/ChangeSet.php
index 516bf6714e..23800f5fcb 100644
--- a/lib/Activity/ChangeSet.php
+++ b/lib/Activity/ChangeSet.php
@@ -53,6 +53,7 @@ public function getAfter() {
return $this->after;
}
+ #[\Override]
public function jsonSerialize(): array {
return [
'before' => $this->getBefore(),
diff --git a/lib/Activity/DeckProvider.php b/lib/Activity/DeckProvider.php
index 78017f3eb5..16d17d3c91 100644
--- a/lib/Activity/DeckProvider.php
+++ b/lib/Activity/DeckProvider.php
@@ -65,6 +65,7 @@ public function __construct(IURLGenerator $urlGenerator, ActivityManager $activi
* @throws UnknownActivityException Should be thrown if your provider does not know this event
* @since 11.0.0
*/
+ #[\Override]
public function parse($language, IEvent $event, ?IEvent $previousEvent = null): IEvent {
if ($event->getApp() !== 'deck') {
throw new UnknownActivityException();
diff --git a/lib/Activity/Filter.php b/lib/Activity/Filter.php
index fa884276e4..e9b056937e 100644
--- a/lib/Activity/Filter.php
+++ b/lib/Activity/Filter.php
@@ -26,6 +26,7 @@ public function __construct(
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0
*/
+ #[\Override]
public function getIdentifier(): string {
return 'deck';
}
@@ -34,6 +35,7 @@ public function getIdentifier(): string {
* @return string A translated string
* @since 11.0.0
*/
+ #[\Override]
public function getName(): string {
return $this->l10n->t('Deck');
}
@@ -44,6 +46,7 @@ public function getName(): string {
* priority values. It is required to return a value between 0 and 100.
* @since 11.0.0
*/
+ #[\Override]
public function getPriority(): int {
return 90;
}
@@ -52,6 +55,7 @@ public function getPriority(): int {
* @return string Full URL to an icon, empty string when none is given
* @since 11.0.0
*/
+ #[\Override]
public function getIcon(): string {
return $this->urlGenerator->imagePath('deck', 'deck-dark.svg');
}
@@ -61,6 +65,7 @@ public function getIcon(): string {
* @return string[] An array of allowed apps from which activities should be displayed
* @since 11.0.0
*/
+ #[\Override]
public function filterTypes($types): array {
return array_merge($types, ['deck_comment']);
}
@@ -69,6 +74,7 @@ public function filterTypes($types): array {
* @return string[] An array of allowed apps from which activities should be displayed
* @since 11.0.0
*/
+ #[\Override]
public function allowedApps(): array {
return ['deck'];
}
diff --git a/lib/Activity/SettingBase.php b/lib/Activity/SettingBase.php
index 8d56e0fb99..bffd3b8e39 100644
--- a/lib/Activity/SettingBase.php
+++ b/lib/Activity/SettingBase.php
@@ -22,10 +22,12 @@ public function __construct(IL10N $l) {
$this->l = $l;
}
+ #[\Override]
public function getGroupIdentifier() {
return 'deck';
}
+ #[\Override]
public function getGroupName() {
return $this->l->t('Deck');
}
@@ -34,6 +36,7 @@ public function getGroupName() {
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0
*/
+ #[\Override]
public function getIdentifier(): string {
return 'deck';
}
@@ -42,6 +45,7 @@ public function getIdentifier(): string {
* @return string A translated string
* @since 11.0.0
*/
+ #[\Override]
public function getName(): string {
return $this->l->t('Changes in the Deck app');
}
@@ -52,6 +56,7 @@ public function getName(): string {
* priority values. It is required to return a value between 0 and 100.
* @since 11.0.0
*/
+ #[\Override]
public function getPriority(): int {
return 90;
}
@@ -60,6 +65,7 @@ public function getPriority(): int {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function canChangeStream(): bool {
return true;
}
@@ -68,6 +74,7 @@ public function canChangeStream(): bool {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function isDefaultEnabledStream(): bool {
return true;
}
@@ -76,6 +83,7 @@ public function isDefaultEnabledStream(): bool {
* @return bool True when the option can be changed for the mail
* @since 11.0.0
*/
+ #[\Override]
public function canChangeMail(): bool {
return true;
}
@@ -84,6 +92,7 @@ public function canChangeMail(): bool {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function isDefaultEnabledMail(): bool {
return false;
}
diff --git a/lib/Activity/SettingChanges.php b/lib/Activity/SettingChanges.php
index b3da2e1b91..95467f4c3b 100644
--- a/lib/Activity/SettingChanges.php
+++ b/lib/Activity/SettingChanges.php
@@ -12,6 +12,7 @@ class SettingChanges extends SettingBase {
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0
*/
+ #[\Override]
public function getIdentifier(): string {
return 'deck';
}
@@ -20,6 +21,7 @@ public function getIdentifier(): string {
* @return string A translated string
* @since 11.0.0
*/
+ #[\Override]
public function getName(): string {
return $this->l->t('A board, list or card was changed');
}
@@ -30,6 +32,7 @@ public function getName(): string {
* priority values. It is required to return a value between 0 and 100.
* @since 11.0.0
*/
+ #[\Override]
public function getPriority(): int {
return 90;
}
@@ -38,6 +41,7 @@ public function getPriority(): int {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function canChangeStream(): bool {
return true;
}
@@ -46,6 +50,7 @@ public function canChangeStream(): bool {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function isDefaultEnabledStream(): bool {
return true;
}
@@ -54,6 +59,7 @@ public function isDefaultEnabledStream(): bool {
* @return bool True when the option can be changed for the mail
* @since 11.0.0
*/
+ #[\Override]
public function canChangeMail(): bool {
return true;
}
@@ -62,6 +68,7 @@ public function canChangeMail(): bool {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function isDefaultEnabledMail(): bool {
return false;
}
diff --git a/lib/Activity/SettingComment.php b/lib/Activity/SettingComment.php
index 0ab5959062..5a940e6196 100644
--- a/lib/Activity/SettingComment.php
+++ b/lib/Activity/SettingComment.php
@@ -16,6 +16,7 @@ class SettingComment extends SettingBase {
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0
*/
+ #[\Override]
public function getIdentifier(): string {
return 'deck_comment';
}
@@ -24,6 +25,7 @@ public function getIdentifier(): string {
* @return string A translated string
* @since 11.0.0
*/
+ #[\Override]
public function getName(): string {
return $this->l->t('A comment was created on a card');
}
@@ -32,6 +34,7 @@ public function getName(): string {
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
+ #[\Override]
public function canChangeStream(): bool {
return false;
}
diff --git a/lib/Activity/SettingDescription.php b/lib/Activity/SettingDescription.php
index 9f7ea58839..e4ad71d575 100644
--- a/lib/Activity/SettingDescription.php
+++ b/lib/Activity/SettingDescription.php
@@ -13,6 +13,7 @@ class SettingDescription extends SettingBase {
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0
*/
+ #[\Override]
public function getIdentifier(): string {
return 'deck_card_description';
}
@@ -21,6 +22,7 @@ public function getIdentifier(): string {
* @return string A translated string
* @since 11.0.0
*/
+ #[\Override]
public function getName(): string {
return $this->l->t('A card description has been changed');
}
diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php
index bd1399b7e9..6b6db49c84 100644
--- a/lib/AppInfo/Application.php
+++ b/lib/AppInfo/Application.php
@@ -106,6 +106,7 @@ public function __construct(array $urlParams = []) {
});
}
+ #[\Override]
public function boot(IBootContext $context): void {
$context->injectFn($this->registerCommentsEntity(...));
$context->injectFn($this->registerCollaborationResources(...));
@@ -126,6 +127,7 @@ public function boot(IBootContext $context): void {
$context->injectFn([$this, 'registerCloudFederationProviderManager']);
}
+ #[\Override]
public function register(IRegistrationContext $context): void {
if ((@include_once __DIR__ . '/../../vendor/autoload.php') === false) {
throw new Exception('Cannot include autoload. Did you run install dependencies using composer?');
diff --git a/lib/BadRequestException.php b/lib/BadRequestException.php
index 2b0e973c49..2431319187 100644
--- a/lib/BadRequestException.php
+++ b/lib/BadRequestException.php
@@ -14,6 +14,7 @@ public function __construct($message) {
parent::__construct($message);
}
+ #[\Override]
public function getStatus() {
return HTTP::STATUS_BAD_REQUEST;
}
diff --git a/lib/Capabilities.php b/lib/Capabilities.php
index 4f70229e25..a9583da35d 100644
--- a/lib/Capabilities.php
+++ b/lib/Capabilities.php
@@ -26,6 +26,7 @@ public function __construct(IAppManager $appManager, PermissionService $permissi
* @return array{deck: array{version: string, canCreateBoards: bool, supportsDoneColumn:true, apiVersions: array}}
* @since 8.2.0
*/
+ #[\Override]
public function getCapabilities() {
return [
'deck' => [
diff --git a/lib/Collaboration/Resources/ResourceProvider.php b/lib/Collaboration/Resources/ResourceProvider.php
index 879802c873..65a0ba814f 100644
--- a/lib/Collaboration/Resources/ResourceProvider.php
+++ b/lib/Collaboration/Resources/ResourceProvider.php
@@ -42,6 +42,7 @@ public function __construct(BoardMapper $boardMapper, PermissionService $permiss
* @return string
* @since 15.0.0
*/
+ #[\Override]
public function getType(): string {
return self::RESOURCE_TYPE;
}
@@ -55,6 +56,7 @@ public function getType(): string {
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @since 16.0.0
*/
+ #[\Override]
public function getResourceRichObject(IResource $resource): array {
$board = $this->getBoard($resource);
$link = $this->urlGenerator->linkToRoute('deck.page.indexBoard', ['boardId' => $resource->getId()]);
@@ -76,6 +78,7 @@ public function getResourceRichObject(IResource $resource): array {
* @return bool
* @since 16.0.0
*/
+ #[\Override]
public function canAccessResource(IResource $resource, ?IUser $user): bool {
if ($resource->getType() !== self::RESOURCE_TYPE || !$user instanceof IUser) {
return false;
diff --git a/lib/Collaboration/Resources/ResourceProviderCard.php b/lib/Collaboration/Resources/ResourceProviderCard.php
index b58e286972..faafc6dd9a 100644
--- a/lib/Collaboration/Resources/ResourceProviderCard.php
+++ b/lib/Collaboration/Resources/ResourceProviderCard.php
@@ -45,6 +45,7 @@ public function __construct(CardMapper $cardMapper, BoardMapper $boardMapper, Pe
* @return string
* @since 15.0.0
*/
+ #[\Override]
public function getType(): string {
return self::RESOURCE_TYPE;
}
@@ -56,6 +57,7 @@ public function getType(): string {
* @return array
* @since 16.0.0
*/
+ #[\Override]
public function getResourceRichObject(IResource $resource): array {
try {
$card = $this->cardMapper->find($resource->getId());
@@ -88,6 +90,7 @@ public function getResourceRichObject(IResource $resource): array {
* @return bool
* @since 16.0.0
*/
+ #[\Override]
public function canAccessResource(IResource $resource, ?IUser $user): bool {
if (!$user instanceof IUser || $resource->getType() !== self::RESOURCE_TYPE) {
return false;
diff --git a/lib/Command/BoardImport.php b/lib/Command/BoardImport.php
index 7b1d4d1e99..8565641739 100644
--- a/lib/Command/BoardImport.php
+++ b/lib/Command/BoardImport.php
@@ -24,6 +24,7 @@ public function __construct(
/**
* @return void
*/
+ #[\Override]
protected function configure() {
$allowedSystems = $this->boardImportCommandService->getAllowedImportSystems();
$names = array_map(function ($name) {
@@ -67,6 +68,7 @@ protected function configure() {
*
* @return int
*/
+ #[\Override]
protected function execute(InputInterface $input, OutputInterface $output): int {
$this
->boardImportCommandService
diff --git a/lib/Command/CalendarToggle.php b/lib/Command/CalendarToggle.php
index 56452dc8b2..d8028a48a4 100644
--- a/lib/Command/CalendarToggle.php
+++ b/lib/Command/CalendarToggle.php
@@ -24,6 +24,7 @@ public function __construct(IUserManager $userManager, IConfig $config) {
$this->config = $config;
}
+ #[\Override]
protected function configure() {
$this
->setName('deck:calendar-toggle')
@@ -42,6 +43,7 @@ protected function configure() {
);
}
+ #[\Override]
protected function execute(InputInterface $input, OutputInterface $output): int {
$enable = $input->getOption('on');
$disable = $input->getOption('off');
diff --git a/lib/Command/TransferOwnership.php b/lib/Command/TransferOwnership.php
index 45fb703494..d0ff1c6107 100644
--- a/lib/Command/TransferOwnership.php
+++ b/lib/Command/TransferOwnership.php
@@ -33,6 +33,7 @@ public function __construct(BoardService $boardService, BoardMapper $boardMapper
$this->questionHelper = $questionHelper;
}
+ #[\Override]
protected function configure() {
$this
->setName('deck:transfer-ownership')
@@ -61,6 +62,7 @@ protected function configure() {
;
}
+ #[\Override]
protected function execute(InputInterface $input, OutputInterface $output): int {
$owner = $input->getArgument('owner');
$newOwner = $input->getArgument('newOwner');
diff --git a/lib/Command/UserExport.php b/lib/Command/UserExport.php
index 7bbe53576e..46d8aac2f9 100644
--- a/lib/Command/UserExport.php
+++ b/lib/Command/UserExport.php
@@ -34,6 +34,7 @@ public function __construct(
parent::__construct();
}
+ #[\Override]
protected function configure() {
$this
->setName('deck:export')
@@ -50,6 +51,7 @@ protected function configure() {
/**
* @throws Exception
*/
+ #[\Override]
protected function execute(InputInterface $input, OutputInterface $output): int {
$userId = $input->getArgument('user-id');
$legacyFormat = $input->getOption('legacy-format');
diff --git a/lib/Cron/CardDescriptionActivity.php b/lib/Cron/CardDescriptionActivity.php
index e9e18af816..ec2e13a17f 100644
--- a/lib/Cron/CardDescriptionActivity.php
+++ b/lib/Cron/CardDescriptionActivity.php
@@ -29,6 +29,7 @@ public function __construct(ITimeFactory $time, ActivityManager $activityManager
* @param $argument
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
+ #[\Override]
public function run($argument) {
$cards = $this->cardMapper->findUnexposedDescriptionChances();
foreach ($cards as $card) {
diff --git a/lib/Cron/DeleteCron.php b/lib/Cron/DeleteCron.php
index 9ae63793ad..44873c3f0f 100644
--- a/lib/Cron/DeleteCron.php
+++ b/lib/Cron/DeleteCron.php
@@ -64,6 +64,7 @@ public function __construct(
* @param $argument
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
+ #[\Override]
protected function run($argument) {
$timeLimit = time() - $this->configService->getTrashRetention();
diff --git a/lib/Cron/ScheduledNotifications.php b/lib/Cron/ScheduledNotifications.php
index 9c07d41d1c..192b9f2ffa 100644
--- a/lib/Cron/ScheduledNotifications.php
+++ b/lib/Cron/ScheduledNotifications.php
@@ -30,6 +30,7 @@ public function __construct(
* @param $argument
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
+ #[\Override]
public function run($argument) {
// Notify board owner and card creator about overdue cards
$cards = $this->cardMapper->findOverdue();
diff --git a/lib/Cron/SessionsCleanup.php b/lib/Cron/SessionsCleanup.php
index ea16f1096d..44788ee5a8 100644
--- a/lib/Cron/SessionsCleanup.php
+++ b/lib/Cron/SessionsCleanup.php
@@ -27,6 +27,7 @@ public function __construct(
$this->setInterval(SessionService::SESSION_VALID_TIME);
}
+ #[\Override]
protected function run($argument) {
$this->logger->debug('Run cleanup job for deck sessions');
diff --git a/lib/Dashboard/DeckWidgetToday.php b/lib/Dashboard/DeckWidgetToday.php
index ce171713ad..04a73eeef2 100644
--- a/lib/Dashboard/DeckWidgetToday.php
+++ b/lib/Dashboard/DeckWidgetToday.php
@@ -27,6 +27,7 @@ public function __construct(IL10N $l10n) {
/**
* @inheritDoc
*/
+ #[\Override]
public function getId(): string {
return 'deckToday';
}
@@ -34,6 +35,7 @@ public function getId(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getTitle(): string {
return $this->l10n->t('Cards due today');
}
@@ -41,6 +43,7 @@ public function getTitle(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getOrder(): int {
return 20;
}
@@ -48,6 +51,7 @@ public function getOrder(): int {
/**
* @inheritDoc
*/
+ #[\Override]
public function getIconClass(): string {
return 'icon-deck';
}
@@ -55,6 +59,7 @@ public function getIconClass(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getUrl(): ?string {
return null;
}
@@ -62,6 +67,7 @@ public function getUrl(): ?string {
/**
* @inheritDoc
*/
+ #[\Override]
public function load(): void {
\OCP\Util::addScript('deck', 'deck-dashboard');
}
diff --git a/lib/Dashboard/DeckWidgetTomorrow.php b/lib/Dashboard/DeckWidgetTomorrow.php
index 6bb79274c0..3128e6992f 100644
--- a/lib/Dashboard/DeckWidgetTomorrow.php
+++ b/lib/Dashboard/DeckWidgetTomorrow.php
@@ -27,6 +27,7 @@ public function __construct(IL10N $l10n) {
/**
* @inheritDoc
*/
+ #[\Override]
public function getId(): string {
return 'deckTomorrow';
}
@@ -34,6 +35,7 @@ public function getId(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getTitle(): string {
return $this->l10n->t('Cards due tomorrow');
}
@@ -41,6 +43,7 @@ public function getTitle(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getOrder(): int {
return 20;
}
@@ -48,6 +51,7 @@ public function getOrder(): int {
/**
* @inheritDoc
*/
+ #[\Override]
public function getIconClass(): string {
return 'icon-deck';
}
@@ -55,6 +59,7 @@ public function getIconClass(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getUrl(): ?string {
return null;
}
@@ -62,6 +67,7 @@ public function getUrl(): ?string {
/**
* @inheritDoc
*/
+ #[\Override]
public function load(): void {
\OCP\Util::addScript('deck', 'deck-dashboard');
}
diff --git a/lib/Dashboard/DeckWidgetUpcoming.php b/lib/Dashboard/DeckWidgetUpcoming.php
index 4e46b435cd..00bcb1a003 100644
--- a/lib/Dashboard/DeckWidgetUpcoming.php
+++ b/lib/Dashboard/DeckWidgetUpcoming.php
@@ -42,6 +42,7 @@ public function __construct(IL10N $l10n,
/**
* @inheritDoc
*/
+ #[\Override]
public function getId(): string {
return 'deck';
}
@@ -49,6 +50,7 @@ public function getId(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getTitle(): string {
return $this->l10n->t('Upcoming cards');
}
@@ -56,6 +58,7 @@ public function getTitle(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getOrder(): int {
return 20;
}
@@ -63,6 +66,7 @@ public function getOrder(): int {
/**
* @inheritDoc
*/
+ #[\Override]
public function getIconClass(): string {
return 'icon-deck';
}
@@ -70,6 +74,7 @@ public function getIconClass(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getIconUrl(): string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg')
@@ -79,6 +84,7 @@ public function getIconUrl(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getUrl(): ?string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index')
@@ -88,6 +94,7 @@ public function getUrl(): ?string {
/**
* @inheritDoc
*/
+ #[\Override]
public function load(): void {
Util::addScript('deck', 'deck-dashboard');
}
@@ -95,6 +102,7 @@ public function load(): void {
/**
* @inheritDoc
*/
+ #[\Override]
public function getItems(string $userId, ?string $since = null, int $limit = 7): array {
$upcomingCards = $this->dashboardService->findUpcomingCards($userId);
$nowTimestamp = (new Datetime())->getTimestamp();
@@ -140,6 +148,7 @@ public function getItems(string $userId, ?string $since = null, int $limit = 7):
/**
* @inheritDoc
*/
+ #[\Override]
public function getWidgetButtons(string $userId): array {
return [
new WidgetButton(
diff --git a/lib/Db/Acl.php b/lib/Db/Acl.php
index 52aba43b18..11eb1a467e 100644
--- a/lib/Db/Acl.php
+++ b/lib/Db/Acl.php
@@ -74,6 +74,7 @@ public function getPermission(int $permission): bool {
};
}
+ #[\Override]
public function jsonSerialize(): array {
$json = parent::jsonSerialize();
unset($json['token']);
diff --git a/lib/Db/AclMapper.php b/lib/Db/AclMapper.php
index e853bb4765..8e10943d76 100644
--- a/lib/Db/AclMapper.php
+++ b/lib/Db/AclMapper.php
@@ -88,6 +88,7 @@ public function findIn(array $boardIds, ?int $limit = null, ?int $offset = null)
/**
* @throws \OCP\DB\Exception
*/
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
$aclId = $id;
$qb = $this->db->getQueryBuilder();
@@ -100,6 +101,7 @@ public function isOwner(string $userId, int $id): bool {
return count($qb->executeQuery()->fetchAll()) > 0;
}
+ #[\Override]
public function findBoardId(int $id): ?int {
try {
$entity = $this->find($id);
@@ -156,6 +158,7 @@ public function findByType(int $type): array {
return $this->findEntities($qb);
}
+ #[\Override]
public function insert(Entity $entity): Entity {
/** @var Acl $entity */
$now = time();
@@ -164,6 +167,7 @@ public function insert(Entity $entity): Entity {
return parent::insert($entity);
}
+ #[\Override]
public function update(Entity $entity): Entity {
/** @var Acl $entity */
$entity->setLastModifiedAt(time());
diff --git a/lib/Db/AssignmentMapper.php b/lib/Db/AssignmentMapper.php
index c57d3f0357..e25fd76969 100644
--- a/lib/Db/AssignmentMapper.php
+++ b/lib/Db/AssignmentMapper.php
@@ -111,10 +111,12 @@ public function deleteByParticipantOnBoard(string $participant, int $boardId, $t
}
}
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
return $this->cardMapper->isOwner($userId, $id);
}
+ #[\Override]
public function findBoardId(int $id): ?int {
return $this->cardMapper->findBoardId($id);
}
@@ -126,6 +128,7 @@ public function findBoardId(int $id): ?int {
* @return Assignment
* @throws NotFoundException
*/
+ #[\Override]
public function insert(Entity $entity): Entity {
if (!($entity instanceof Assignment)) {
throw new \LogicException('Trying to insert a ' . get_class($entity) . ' in the assignment mapper');
diff --git a/lib/Db/AttachmentMapper.php b/lib/Db/AttachmentMapper.php
index d96a4f93af..1915d3c075 100644
--- a/lib/Db/AttachmentMapper.php
+++ b/lib/Db/AttachmentMapper.php
@@ -39,6 +39,7 @@ public function __construct(IDBConnection $db, CardMapper $cardMapper, IUserMana
* @throws MultipleObjectsReturnedException
* @throws \OCP\DB\Exception
*/
+ #[\Override]
public function find(int $id): Attachment {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
@@ -128,6 +129,7 @@ public function findToDelete(int $timeLimit, ?int $cardId = null, bool $withOffs
/**
* Check if $userId is owner of Entity with $id
*/
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
try {
$attachment = $this->find($id);
@@ -144,6 +146,7 @@ public function isOwner(string $userId, int $id): bool {
* @param $id int unique entity identifier
* @return int|null id of Board
*/
+ #[\Override]
public function findBoardId(int $id): ?int {
try {
$attachment = $this->find($id);
diff --git a/lib/Db/Board.php b/lib/Db/Board.php
index 9714a0117f..7fc1350383 100644
--- a/lib/Db/Board.php
+++ b/lib/Db/Board.php
@@ -74,6 +74,7 @@ public function __construct() {
$this->shared = -1;
}
+ #[\Override]
public function jsonSerialize(): array {
$json = parent::jsonSerialize();
if ($this->shared === -1) {
diff --git a/lib/Db/BoardMapper.php b/lib/Db/BoardMapper.php
index 8093f931b1..89da7d9121 100644
--- a/lib/Db/BoardMapper.php
+++ b/lib/Db/BoardMapper.php
@@ -49,6 +49,7 @@ public function __construct(
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws DoesNotExistException
*/
+ #[\Override]
public function find(int $id, bool $withLabels = false, bool $withAcl = false, bool $allowDeleted = false): Board {
$cacheKey = (string)$id;
if (!isset($this->boardCache[$cacheKey])) {
@@ -517,6 +518,7 @@ public function findToDelete(int $timeLimit) {
return $this->findEntities($qb);
}
+ #[\Override]
public function delete(/** @noinspection PhpUnnecessaryFullyQualifiedNameInspection */
\OCP\AppFramework\Db\Entity $entity): \OCP\AppFramework\Db\Entity {
// delete acl
@@ -539,11 +541,13 @@ public function delete(/** @noinspection PhpUnnecessaryFullyQualifiedNameInspect
return parent::delete($entity);
}
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
$board = $this->find($id);
return ($board->getOwner() === $userId);
}
+ #[\Override]
public function findBoardId(int $id): ?int {
return $id;
}
diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php
index 47f3e58af3..5df66fd515 100644
--- a/lib/Db/CardMapper.php
+++ b/lib/Db/CardMapper.php
@@ -59,6 +59,7 @@ public function __construct(
$this->database4ByteSupport = $database4ByteSupport;
}
+ #[\Override]
public function insert(Entity $entity): Entity {
$entity->setDatabaseType($this->databaseType);
$entity->setCreatedAt(time());
@@ -72,6 +73,7 @@ public function insert(Entity $entity): Entity {
return $entity;
}
+ #[\Override]
public function update(Entity $entity, $updateModified = true): Entity {
if (!$this->database4ByteSupport) {
$description = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $entity->getDescription());
@@ -612,6 +614,7 @@ public function searchRaw($boardIds, $term, $limit = null, $offset = null) {
return $all;
}
+ #[\Override]
public function delete(Entity $entity): Entity {
$this->labelMapper->deleteLabelAssignmentsForCard($entity->getId());
$this->removeDependenciesForCard($entity->getId());
@@ -714,6 +717,7 @@ private function hasDependency(int $cardId, int $dependentCardId): bool {
return $qb->executeQuery()->fetchOne() !== false;
}
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
$qb = $this->db->getQueryBuilder();
$qb->select('c.id')
@@ -726,6 +730,7 @@ public function isOwner(string $userId, int $id): bool {
return count($qb->executeQuery()->fetchAll()) > 0;
}
+ #[\Override]
public function findBoardId(int $id): ?int {
$result = $this->cache->get('findBoardId:' . $id);
if ($result === null) {
diff --git a/lib/Db/Circle.php b/lib/Db/Circle.php
index ea615b548e..1c7973611b 100644
--- a/lib/Db/Circle.php
+++ b/lib/Db/Circle.php
@@ -17,6 +17,7 @@ public function __construct(\OCA\Circles\Model\Circle $circle) {
parent::__construct($primaryKey, $circle);
}
+ #[\Override]
public function getObjectSerialization() {
return [
'uid' => $this->object->getUniqueId(),
diff --git a/lib/Db/FederatedUser.php b/lib/Db/FederatedUser.php
index 31f2bfff0d..0aed357c7f 100644
--- a/lib/Db/FederatedUser.php
+++ b/lib/Db/FederatedUser.php
@@ -25,6 +25,7 @@ public function getUID(): string {
return $this->cloudId->getId();
}
+ #[\Override]
public function getObjectSerialization(): array {
return [
'uid' => $this->cloudId->getId(),
diff --git a/lib/Db/Group.php b/lib/Db/Group.php
index 47fb22fa31..defe972bf6 100644
--- a/lib/Db/Group.php
+++ b/lib/Db/Group.php
@@ -15,6 +15,7 @@ public function __construct(IGroup $group) {
parent::__construct($primaryKey, $group);
}
+ #[\Override]
public function getObjectSerialization() {
return [
'uid' => $this->object->getGID(),
diff --git a/lib/Db/LabelMapper.php b/lib/Db/LabelMapper.php
index 8ec9cbe690..0ce48373ea 100644
--- a/lib/Db/LabelMapper.php
+++ b/lib/Db/LabelMapper.php
@@ -57,6 +57,7 @@ public function existsByBoardIdAndTitle(int $boardId, string $title, ?int $exclu
return $exists;
}
+ #[\Override]
public function delete(Entity $entity): Entity {
// delete assigned labels
$this->deleteLabelAssignments($entity->getId());
@@ -113,6 +114,7 @@ public function findAssignedLabelsForBoard(int $boardId, ?int $limit = null, int
return $this->findEntities($qb);
}
+ #[\Override]
public function insert(Entity $entity): Entity {
if (!isset($entity->getUpdatedFields()['lastModified'])) {
$entity->setLastModified(time());
@@ -120,6 +122,7 @@ public function insert(Entity $entity): Entity {
return parent::insert($entity);
}
+ #[\Override]
public function update(Entity $entity, bool $updateModified = true): Entity {
if ($updateModified) {
$entity->setLastModified(time());
@@ -166,6 +169,7 @@ public function deleteLabelAssignmentsForCard(int $cardId): void {
/**
* @throws \OCP\DB\Exception
*/
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
$qb = $this->db->getQueryBuilder();
$qb->select('l.id')
@@ -177,6 +181,7 @@ public function isOwner(string $userId, int $id): bool {
return count($qb->executeQuery()->fetchAll()) > 0;
}
+ #[\Override]
public function findBoardId(int $id): ?int {
try {
$entity = $this->find($id);
diff --git a/lib/Db/RelationalEntity.php b/lib/Db/RelationalEntity.php
index b66b8c988b..6eaa695966 100644
--- a/lib/Db/RelationalEntity.php
+++ b/lib/Db/RelationalEntity.php
@@ -37,6 +37,7 @@ public function addResolvable($property) {
* @param string $attribute the name of the attribute
* @since 7.0.0
*/
+ #[\Override]
protected function markFieldUpdated(string $attribute): void {
if (!in_array($attribute, $this->_relations, true)) {
parent::markFieldUpdated($attribute);
@@ -47,6 +48,7 @@ protected function markFieldUpdated(string $attribute): void {
* @return array serialized data
* @throws \ReflectionException
*/
+ #[\Override]
public function jsonSerialize(): array {
$properties = get_object_vars($this);
$reflection = new \ReflectionClass($this);
@@ -111,6 +113,7 @@ public function resolveRelation($property, $resolver) {
}
}
+ #[\Override]
public function __call(string $methodName, array $args) {
$attr = lcfirst(substr($methodName, 7));
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'resolve')) {
diff --git a/lib/Db/RelationalObject.php b/lib/Db/RelationalObject.php
index cc3b12125d..b15a7edf4f 100644
--- a/lib/Db/RelationalObject.php
+++ b/lib/Db/RelationalObject.php
@@ -24,6 +24,7 @@ public function __construct($primaryKey, $object) {
$this->object = $object;
}
+ #[\Override]
public function jsonSerialize(): array {
return array_merge(
['primaryKey' => $this->primaryKey],
diff --git a/lib/Db/Session.php b/lib/Db/Session.php
index 886fdfb4cd..50c79aa767 100644
--- a/lib/Db/Session.php
+++ b/lib/Db/Session.php
@@ -23,6 +23,7 @@ public function __construct() {
$this->addType('lastContact', 'integer');
}
+ #[\Override]
public function jsonSerialize(): array {
return [
'id' => $this->id,
diff --git a/lib/Db/Stack.php b/lib/Db/Stack.php
index 7e92911fd4..674bb3535b 100644
--- a/lib/Db/Stack.php
+++ b/lib/Db/Stack.php
@@ -47,6 +47,7 @@ public function setCards($cards) {
$this->cards = $cards;
}
+ #[\Override]
public function jsonSerialize(): array {
$json = parent::jsonSerialize();
if (empty($this->cards)) {
diff --git a/lib/Db/StackMapper.php b/lib/Db/StackMapper.php
index bbbd6e94bc..749fa86c30 100644
--- a/lib/Db/StackMapper.php
+++ b/lib/Db/StackMapper.php
@@ -38,6 +38,7 @@ public function __construct(
* @throws MultipleObjectsReturnedException
* @throws \OCP\DB\Exception
*/
+ #[\Override]
public function find(int $id): Stack {
if (isset($this->stackCache[(string)$id])) {
return $this->stackCache[(string)$id];
@@ -138,6 +139,7 @@ public function findDeleted(int $boardId, ?int $limit = null, int $offset = 0):
return $this->findEntities($qb);
}
+ #[\Override]
public function update(Entity $entity): Entity {
$result = parent::update($entity);
$this->stackCache[(string)$entity->getId()] = $result;
@@ -174,6 +176,7 @@ public function findDoneColumnForBoard(int $boardId): ?Stack {
}
}
+ #[\Override]
public function delete(Entity $entity): Entity {
// delete cards on stack
$this->cardMapper->deleteByStack($entity->getId());
@@ -184,6 +187,7 @@ public function delete(Entity $entity): Entity {
/**
* @throws \OCP\DB\Exception
*/
+ #[\Override]
public function isOwner(string $userId, int $id): bool {
$qb = $this->db->getQueryBuilder();
$qb->select('s.id')
@@ -198,6 +202,7 @@ public function isOwner(string $userId, int $id): bool {
/**
* @throws \OCP\DB\Exception
*/
+ #[\Override]
public function findBoardId(int $id): ?int {
$result = $this->cache->get('findBoardId:' . $id);
if ($result !== null) {
diff --git a/lib/Db/User.php b/lib/Db/User.php
index 3902b177ee..e4ab887c83 100644
--- a/lib/Db/User.php
+++ b/lib/Db/User.php
@@ -19,6 +19,7 @@ public function __construct($uid, IUserManager $userManager) {
});
}
+ #[\Override]
public function getObjectSerialization(): array {
return [
'uid' => $this->getObject()->getUID(),
diff --git a/lib/Event/AAclEvent.php b/lib/Event/AAclEvent.php
index c649463f87..7821e5e88d 100644
--- a/lib/Event/AAclEvent.php
+++ b/lib/Event/AAclEvent.php
@@ -30,6 +30,7 @@ public function getBoardId(): int {
return $this->acl->getBoardId();
}
+ #[\Override]
public function getWebhookSerializable(): array {
return [
'acl' => $this->acl->jsonSerialize(),
diff --git a/lib/Event/ACardEvent.php b/lib/Event/ACardEvent.php
index 475560fbfb..aa40b53637 100644
--- a/lib/Event/ACardEvent.php
+++ b/lib/Event/ACardEvent.php
@@ -26,6 +26,7 @@ public function getCard(): Card {
return $this->card;
}
+ #[\Override]
public function getWebhookSerializable(): array {
return [
'card' => $this->card->jsonSerialize(),
diff --git a/lib/Event/BoardUpdatedEvent.php b/lib/Event/BoardUpdatedEvent.php
index a3330a9810..e2b57ee586 100644
--- a/lib/Event/BoardUpdatedEvent.php
+++ b/lib/Event/BoardUpdatedEvent.php
@@ -25,6 +25,7 @@ public function getBoardId(): int {
return $this->boardId;
}
+ #[\Override]
public function getWebhookSerializable(): array {
return [
'boardId' => $this->boardId,
diff --git a/lib/Event/RegisterTextContextEventListener.php b/lib/Event/RegisterTextContextEventListener.php
index 4a9bced537..bc2f251585 100644
--- a/lib/Event/RegisterTextContextEventListener.php
+++ b/lib/Event/RegisterTextContextEventListener.php
@@ -20,6 +20,7 @@ public function __construct(
private readonly TextContextProviderFactory $textContextProviderFactory,
) {
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof RegisterContextEvent) {
return;
diff --git a/lib/Exceptions/ConflictException.php b/lib/Exceptions/ConflictException.php
index 764b27ac83..e5ce0103f6 100644
--- a/lib/Exceptions/ConflictException.php
+++ b/lib/Exceptions/ConflictException.php
@@ -17,6 +17,7 @@ public function __construct($message, $data = null) {
$this->data = $data;
}
+ #[\Override]
public function getStatus() {
return 409;
}
diff --git a/lib/Federation/DeckFederationProvider.php b/lib/Federation/DeckFederationProvider.php
index f05629badb..96b2584df1 100644
--- a/lib/Federation/DeckFederationProvider.php
+++ b/lib/Federation/DeckFederationProvider.php
@@ -39,10 +39,12 @@ public function __construct(
) {
}
+ #[\Override]
public function getShareType(): string {
return self::PROVIDER_ID;
}
+ #[\Override]
public function shareReceived(ICloudFederationShare $share): string {
$this->configService->ensureFederationEnabled();
@@ -87,6 +89,7 @@ public function shareReceived(ICloudFederationShare $share): string {
return (string)$insertedBoard->getId();
}
+ #[\Override]
public function notificationReceived($notificationType, $providerId, $notification): array {
switch ($notificationType) {
case 'update-permissions':
@@ -121,6 +124,7 @@ public function notificationReceived($notificationType, $providerId, $notificati
return [];
}
+ #[\Override]
public function getSupportedShareTypes(): array {
return ['user'];
}
diff --git a/lib/Listeners/AclCreatedRemovedListener.php b/lib/Listeners/AclCreatedRemovedListener.php
index 9330934e3b..5e428692d4 100644
--- a/lib/Listeners/AclCreatedRemovedListener.php
+++ b/lib/Listeners/AclCreatedRemovedListener.php
@@ -29,6 +29,7 @@ public function __construct(
) {
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof AclDeletedEvent && !$event instanceof AclCreatedEvent) {
return;
diff --git a/lib/Listeners/BeforeTemplateRenderedListener.php b/lib/Listeners/BeforeTemplateRenderedListener.php
index 4d438aba41..0e74837713 100644
--- a/lib/Listeners/BeforeTemplateRenderedListener.php
+++ b/lib/Listeners/BeforeTemplateRenderedListener.php
@@ -23,6 +23,7 @@ public function __construct(IRequest $request) {
$this->request = $request;
}
+ #[\Override]
public function handle(Event $event): void {
if (!($event instanceof BeforeTemplateRenderedEvent)) {
return;
diff --git a/lib/Listeners/CommentEventListener.php b/lib/Listeners/CommentEventListener.php
index 6392123a6d..a2fa20d102 100644
--- a/lib/Listeners/CommentEventListener.php
+++ b/lib/Listeners/CommentEventListener.php
@@ -27,6 +27,7 @@ public function __construct(
) {
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof CommentsEvent) {
return;
diff --git a/lib/Listeners/FullTextSearchEventListener.php b/lib/Listeners/FullTextSearchEventListener.php
index 588c4f22aa..3bdad50503 100644
--- a/lib/Listeners/FullTextSearchEventListener.php
+++ b/lib/Listeners/FullTextSearchEventListener.php
@@ -48,6 +48,7 @@ public function __construct(ContainerInterface $container, $userId) {
}
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof ACardEvent && !$event instanceof AAclEvent) {
return;
diff --git a/lib/Listeners/LiveUpdateListener.php b/lib/Listeners/LiveUpdateListener.php
index e2c8a12cef..2b61f088bf 100644
--- a/lib/Listeners/LiveUpdateListener.php
+++ b/lib/Listeners/LiveUpdateListener.php
@@ -52,6 +52,7 @@ public function __construct(
$this->stackMapper = $stackMapper;
}
+ #[\Override]
public function handle(Event $event): void {
if (!$this->queue) {
// notify_push is not active
diff --git a/lib/Listeners/ParticipantCleanupListener.php b/lib/Listeners/ParticipantCleanupListener.php
index ef7987869b..2b94d9ad3d 100644
--- a/lib/Listeners/ParticipantCleanupListener.php
+++ b/lib/Listeners/ParticipantCleanupListener.php
@@ -32,6 +32,7 @@ public function __construct(
) {
}
+ #[\Override]
public function handle(Event $event): void {
if ($event instanceof UserDeletedEvent) {
$userId = $event->getUser()->getUID();
diff --git a/lib/Listeners/ResourceAdditionalScriptsListener.php b/lib/Listeners/ResourceAdditionalScriptsListener.php
index 7eb5998303..ad094c0ff4 100644
--- a/lib/Listeners/ResourceAdditionalScriptsListener.php
+++ b/lib/Listeners/ResourceAdditionalScriptsListener.php
@@ -21,6 +21,7 @@ public function __construct(IRequest $request) {
$this->request = $request;
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof LoadAdditionalScriptsEvent) {
return;
diff --git a/lib/Listeners/ResourceListener.php b/lib/Listeners/ResourceListener.php
index bfec714837..2a52e6fe36 100644
--- a/lib/Listeners/ResourceListener.php
+++ b/lib/Listeners/ResourceListener.php
@@ -25,6 +25,7 @@ public function __construct(
) {
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof AclDeletedEvent && !$event instanceof AclCreatedEvent) {
return;
diff --git a/lib/Listeners/ResourceTypeRegisterListener.php b/lib/Listeners/ResourceTypeRegisterListener.php
index d74235d097..8e2e2c6e41 100644
--- a/lib/Listeners/ResourceTypeRegisterListener.php
+++ b/lib/Listeners/ResourceTypeRegisterListener.php
@@ -24,6 +24,7 @@ public function __construct(
) {
}
+ #[\Override]
public function handle(Event $event): void {
if (!$event instanceof ResourceTypeRegisterEvent) {
return;
diff --git a/lib/Listeners/TextDocumentContentListener.php b/lib/Listeners/TextDocumentContentListener.php
index 8836651aaf..75f7c8b2fa 100644
--- a/lib/Listeners/TextDocumentContentListener.php
+++ b/lib/Listeners/TextDocumentContentListener.php
@@ -28,6 +28,7 @@ public function __construct(
) {
}
+ #[\Override]
public function handle(Event $event): void {
if (!($event instanceof CardUpdatedEvent) || !class_exists(DocumentContentUpdated::class)) {
return;
diff --git a/lib/Middleware/DefaultBoardMiddleware.php b/lib/Middleware/DefaultBoardMiddleware.php
index d2dce250b5..5bda6ff51e 100644
--- a/lib/Middleware/DefaultBoardMiddleware.php
+++ b/lib/Middleware/DefaultBoardMiddleware.php
@@ -24,6 +24,7 @@ public function __construct(
) {
}
+ #[\Override]
public function beforeController($controller, $methodName) {
try {
if ($this->userId !== null && $this->defaultBoardService->checkFirstRun($this->userId) && $this->permissionService->canCreate()) {
diff --git a/lib/Middleware/ExceptionMiddleware.php b/lib/Middleware/ExceptionMiddleware.php
index bffc2a65ed..694176e17a 100644
--- a/lib/Middleware/ExceptionMiddleware.php
+++ b/lib/Middleware/ExceptionMiddleware.php
@@ -40,6 +40,7 @@ public function __construct(
* @return JSONResponse
* @throws \Exception
*/
+ #[\Override]
public function afterException($controller, $methodName, \Exception $exception) {
if (get_class($controller) === PageController::class) {
throw $exception;
diff --git a/lib/Middleware/FederationMiddleware.php b/lib/Middleware/FederationMiddleware.php
index ae5604d25a..9f6eaf9bc5 100644
--- a/lib/Middleware/FederationMiddleware.php
+++ b/lib/Middleware/FederationMiddleware.php
@@ -22,6 +22,7 @@ public function __construct(
) {
}
+ #[\Override]
public function beforeController($controller, $methodName): void {
try {
$this->configService->ensureFederationEnabled();
diff --git a/lib/Migration/DeletedCircleCleanup.php b/lib/Migration/DeletedCircleCleanup.php
index 7fd52d56fc..f90ae87753 100644
--- a/lib/Migration/DeletedCircleCleanup.php
+++ b/lib/Migration/DeletedCircleCleanup.php
@@ -22,10 +22,12 @@ public function __construct(AclMapper $aclMapper, CirclesService $circlesService
$this->circleService = $circlesService;
}
+ #[\Override]
public function getName() {
return 'Cleanup Deck ACL entries for circles which have been already deleted';
}
+ #[\Override]
public function run(IOutput $output) {
if (!$this->circleService->isCirclesEnabled()) {
return;
diff --git a/lib/Migration/LabelMismatchCleanup.php b/lib/Migration/LabelMismatchCleanup.php
index 75f8a21937..384e21df4d 100644
--- a/lib/Migration/LabelMismatchCleanup.php
+++ b/lib/Migration/LabelMismatchCleanup.php
@@ -18,10 +18,12 @@ public function __construct(
) {
}
+ #[\Override]
public function getName() {
return 'Migrate labels with wrong board mapping';
}
+ #[\Override]
public function run(IOutput $output) {
// Find assingments where a label of another (wrong) board is used
$qb = $this->db->getQueryBuilder();
diff --git a/lib/Migration/Version1000Date20200306161713.php b/lib/Migration/Version1000Date20200306161713.php
index b09847dc30..c8ed9eb0df 100644
--- a/lib/Migration/Version1000Date20200306161713.php
+++ b/lib/Migration/Version1000Date20200306161713.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version1000Date20200306161713 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
diff --git a/lib/Migration/Version1000Date20200308073933.php b/lib/Migration/Version1000Date20200308073933.php
index d88a95cece..c338da3859 100644
--- a/lib/Migration/Version1000Date20200308073933.php
+++ b/lib/Migration/Version1000Date20200308073933.php
@@ -17,6 +17,7 @@
* Auto-generated migration step: Please modify to your needs!
*/
class Version1000Date20200308073933 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
diff --git a/lib/Migration/Version1011Date20230901010840.php b/lib/Migration/Version1011Date20230901010840.php
index 88d8f3ed92..d9b5ee2b93 100644
--- a/lib/Migration/Version1011Date20230901010840.php
+++ b/lib/Migration/Version1011Date20230901010840.php
@@ -25,6 +25,7 @@ class Version1011Date20230901010840 extends SimpleMigrationStep {
* @param array $options
* @return null|ISchemaWrapper
*/
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
diff --git a/lib/Migration/Version1011Date20231106160059.php b/lib/Migration/Version1011Date20231106160059.php
index 9c71847bf2..8bc9ec4be2 100644
--- a/lib/Migration/Version1011Date20231106160059.php
+++ b/lib/Migration/Version1011Date20231106160059.php
@@ -15,6 +15,7 @@
class Version1011Date20231106160059 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version10200Date20201111150114.php b/lib/Migration/Version10200Date20201111150114.php
index 3ebb19e928..fb88e2089d 100644
--- a/lib/Migration/Version10200Date20201111150114.php
+++ b/lib/Migration/Version10200Date20201111150114.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version10200Date20201111150114 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
diff --git a/lib/Migration/Version10800Date20220422061816.php b/lib/Migration/Version10800Date20220422061816.php
index c6f1620631..d92d21a461 100644
--- a/lib/Migration/Version10800Date20220422061816.php
+++ b/lib/Migration/Version10800Date20220422061816.php
@@ -23,6 +23,7 @@ class Version10800Date20220422061816 extends SimpleMigrationStep {
* @return null|ISchemaWrapper
* @throws SchemaException
*/
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version10900Date202206151724222.php b/lib/Migration/Version10900Date202206151724222.php
index 3dd12c45e8..801e06855e 100644
--- a/lib/Migration/Version10900Date202206151724222.php
+++ b/lib/Migration/Version10900Date202206151724222.php
@@ -16,6 +16,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version10900Date202206151724222 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11000Date20240222115515.php b/lib/Migration/Version11000Date20240222115515.php
index 591ece5d15..c9691a13d4 100644
--- a/lib/Migration/Version11000Date20240222115515.php
+++ b/lib/Migration/Version11000Date20240222115515.php
@@ -15,6 +15,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11000Date20240222115515 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
$schema = $schemaClosure();
$returnValue = null;
diff --git a/lib/Migration/Version11001Date20251009165313.php b/lib/Migration/Version11001Date20251009165313.php
index 81823890b7..bb37c18bd5 100644
--- a/lib/Migration/Version11001Date20251009165313.php
+++ b/lib/Migration/Version11001Date20251009165313.php
@@ -15,6 +15,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11001Date20251009165313 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11001Date20251020122010.php b/lib/Migration/Version11001Date20251020122010.php
index bda355353e..a7281359b8 100644
--- a/lib/Migration/Version11001Date20251020122010.php
+++ b/lib/Migration/Version11001Date20251020122010.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11001Date20251020122010 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11002Date20260228000000.php b/lib/Migration/Version11002Date20260228000000.php
index 1dcce53429..115ce9149a 100644
--- a/lib/Migration/Version11002Date20260228000000.php
+++ b/lib/Migration/Version11002Date20260228000000.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11002Date20260228000000 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11002Date20260312000000.php b/lib/Migration/Version11002Date20260312000000.php
index b0eb9e9915..4839a3a079 100644
--- a/lib/Migration/Version11002Date20260312000000.php
+++ b/lib/Migration/Version11002Date20260312000000.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11002Date20260312000000 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11002Date20260317170905.php b/lib/Migration/Version11002Date20260317170905.php
index a360c2031d..564440417e 100644
--- a/lib/Migration/Version11002Date20260317170905.php
+++ b/lib/Migration/Version11002Date20260317170905.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11002Date20260317170905 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11002Date20260410000000.php b/lib/Migration/Version11002Date20260410000000.php
index f765bf9b94..b0ab2fa4f6 100644
--- a/lib/Migration/Version11002Date20260410000000.php
+++ b/lib/Migration/Version11002Date20260410000000.php
@@ -14,6 +14,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11002Date20260410000000 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11002Date20260611000000.php b/lib/Migration/Version11002Date20260611000000.php
index 79b1cd601e..3388cd3fcc 100644
--- a/lib/Migration/Version11002Date20260611000000.php
+++ b/lib/Migration/Version11002Date20260611000000.php
@@ -15,6 +15,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11002Date20260611000000 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
diff --git a/lib/Migration/Version11002Date20260812120000.php b/lib/Migration/Version11002Date20260812120000.php
index ab9996dff7..ef53e21f4f 100644
--- a/lib/Migration/Version11002Date20260812120000.php
+++ b/lib/Migration/Version11002Date20260812120000.php
@@ -15,6 +15,7 @@
use OCP\Migration\SimpleMigrationStep;
class Version11002Date20260812120000 extends SimpleMigrationStep {
+ #[\Override]
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
diff --git a/lib/Model/BoardSummary.php b/lib/Model/BoardSummary.php
index adf33dabeb..6a9e8428bc 100644
--- a/lib/Model/BoardSummary.php
+++ b/lib/Model/BoardSummary.php
@@ -18,6 +18,7 @@ public function __construct(Board $board) {
$this->board = $board;
}
+ #[\Override]
public function jsonSerialize(): array {
return [
'id' => $this->getId(),
@@ -25,10 +26,12 @@ public function jsonSerialize(): array {
];
}
+ #[\Override]
protected function getter(string $name): mixed {
return $this->board->getter($name);
}
+ #[\Override]
public function __call($methodName, $args) {
return $this->board->__call($methodName, $args);
}
diff --git a/lib/Model/CardDetails.php b/lib/Model/CardDetails.php
index 28b89f7c31..a0b17fa904 100644
--- a/lib/Model/CardDetails.php
+++ b/lib/Model/CardDetails.php
@@ -31,6 +31,7 @@ public function setReferenceData(?Reference $data): void {
$this->referenceData = $data;
}
+ #[\Override]
public function jsonSerialize(array $extras = []): array {
$array = parent::jsonSerialize();
$array['overdue'] = $this->getDueStatus();
@@ -75,10 +76,12 @@ private function appendBoardDetails(&$array): void {
$array['board'] = (new BoardSummary($this->board))->jsonSerialize();
}
+ #[\Override]
protected function getter(string $name): mixed {
return $this->card->getter($name);
}
+ #[\Override]
public function __call(string $methodName, array $args) {
return $this->card->__call($methodName, $args);
}
diff --git a/lib/NoPermissionException.php b/lib/NoPermissionException.php
index 112aca6aa8..960ccdf332 100644
--- a/lib/NoPermissionException.php
+++ b/lib/NoPermissionException.php
@@ -15,6 +15,7 @@ public function __construct($message, $controller = null, $method = null) {
}
}
+ #[\Override]
public function getStatus() {
return 403;
}
diff --git a/lib/NotFoundException.php b/lib/NotFoundException.php
index 18baa581d5..7dc25a6cd3 100644
--- a/lib/NotFoundException.php
+++ b/lib/NotFoundException.php
@@ -12,6 +12,7 @@ public function __construct($message = '') {
parent::__construct($message);
}
+ #[\Override]
public function getStatus() {
return 404;
}
diff --git a/lib/NotImplementedException.php b/lib/NotImplementedException.php
index 34d71d4973..827450c30d 100644
--- a/lib/NotImplementedException.php
+++ b/lib/NotImplementedException.php
@@ -14,6 +14,7 @@ public function __construct($message) {
parent::__construct($message);
}
+ #[\Override]
public function getStatus() {
return HTTP::STATUS_NOT_IMPLEMENTED;
}
diff --git a/lib/Notification/Notifier.php b/lib/Notification/Notifier.php
index 87ee25941e..d06ffa46d4 100644
--- a/lib/Notification/Notifier.php
+++ b/lib/Notification/Notifier.php
@@ -35,6 +35,7 @@ public function __construct(
* @return string
* @since 17.0.0
*/
+ #[\Override]
public function getID(): string {
return 'deck';
}
@@ -45,6 +46,7 @@ public function getID(): string {
* @return string
* @since 17.0.0
*/
+ #[\Override]
public function getName(): string {
return $this->l10nFactory->get('deck')->t('Deck');
}
@@ -56,6 +58,7 @@ public function getName(): string {
* @throws \InvalidArgumentException When the notification was not prepared by a notifier
* @since 9.0.0
*/
+ #[\Override]
public function prepare(INotification $notification, string $languageCode): INotification {
$l = $this->l10nFactory->get('deck', $languageCode);
if ($notification->getApp() !== 'deck' || $notification->getObjectType() === 'activity_notification') {
diff --git a/lib/Provider/DeckProvider.php b/lib/Provider/DeckProvider.php
index f0833b1aa2..77c71afa47 100644
--- a/lib/Provider/DeckProvider.php
+++ b/lib/Provider/DeckProvider.php
@@ -57,6 +57,7 @@ public function __construct(
/**
* return unique id of the provider
*/
+ #[\Override]
public function getId(): string {
return self::DECK_PROVIDER_ID;
}
@@ -64,6 +65,7 @@ public function getId(): string {
/**
* return name of the provider
*/
+ #[\Override]
public function getName(): string {
return 'Deck';
}
@@ -71,6 +73,7 @@ public function getName(): string {
/**
* @return array
*/
+ #[\Override]
public function getConfiguration(): array {
return [];
}
@@ -78,6 +81,7 @@ public function getConfiguration(): array {
/**
* @param IRunner $runner
*/
+ #[\Override]
public function setRunner(IRunner $runner) {
$this->runner = $runner;
}
@@ -85,10 +89,12 @@ public function setRunner(IRunner $runner) {
/**
* @param IIndexOptions $options
*/
+ #[\Override]
public function setIndexOptions(IIndexOptions $options) {
$this->indexOptions = $options;
}
+ #[\Override]
public function getSearchTemplate(): ISearchTemplate {
/** @psalm-var ISearchTemplate */
$template = new SearchTemplate('icon-deck', 'deck');
@@ -99,6 +105,7 @@ public function getSearchTemplate(): ISearchTemplate {
/**
*
*/
+ #[\Override]
public function loadProvider() {
}
@@ -107,6 +114,7 @@ public function loadProvider() {
*
* @return string[]
*/
+ #[\Override]
public function generateChunks(string $userId): array {
return [];
}
@@ -117,6 +125,7 @@ public function generateChunks(string $userId): array {
*
* @return IIndexDocument[]
*/
+ #[\Override]
public function generateIndexableDocuments(string $userId, string $chunk): array {
$cards = $this->fullTextSearchService->getCardsFromUser($userId);
@@ -134,6 +143,7 @@ public function generateIndexableDocuments(string $userId, string $chunk): array
* @throws DoesNotExistException
* @throws MultipleObjectsReturnedException
*/
+ #[\Override]
public function fillIndexDocument(IIndexDocument $document) {
$this->fullTextSearchService->fillIndexDocument($document);
$this->updateRunnerInfo('info', $document->getTitle());
@@ -144,6 +154,7 @@ public function fillIndexDocument(IIndexDocument $document) {
*
* @return bool
*/
+ #[\Override]
public function isDocumentUpToDate(IIndexDocument $document): bool {
return false;
}
@@ -155,6 +166,7 @@ public function isDocumentUpToDate(IIndexDocument $document): bool {
* @throws DoesNotExistException
* @throws MultipleObjectsReturnedException
*/
+ #[\Override]
public function updateDocument(IIndex $index): IIndexDocument {
/** @psalm-var IIndexDocument */
$document = new IndexDocument(DeckProvider::DECK_PROVIDER_ID, $index->getDocumentId());
@@ -168,18 +180,21 @@ public function updateDocument(IIndex $index): IIndexDocument {
/**
* @param IFullTextSearchPlatform $platform
*/
+ #[\Override]
public function onInitializingIndex(IFullTextSearchPlatform $platform) {
}
/**
* @param IFullTextSearchPlatform $platform
*/
+ #[\Override]
public function onResettingIndex(IFullTextSearchPlatform $platform) {
}
/**
* not used yet
*/
+ #[\Override]
public function unloadProvider() {
}
@@ -188,6 +203,7 @@ public function unloadProvider() {
*
* @param ISearchRequest $request
*/
+ #[\Override]
public function improveSearchRequest(ISearchRequest $searchRequest) {
}
@@ -196,6 +212,7 @@ public function improveSearchRequest(ISearchRequest $searchRequest) {
*
* @param ISearchResult $searchResult
*/
+ #[\Override]
public function improveSearchResult(ISearchResult $searchResult) {
foreach ($searchResult->getDocuments() as $document) {
try {
diff --git a/lib/Provider/TextContextProvider.php b/lib/Provider/TextContextProvider.php
index 65cfa3ab28..089cdacb34 100644
--- a/lib/Provider/TextContextProvider.php
+++ b/lib/Provider/TextContextProvider.php
@@ -35,18 +35,22 @@ public function __construct(
private readonly int $cardId,
) {
}
+ #[\Override]
public function getId(): int {
return $this->cardId;
}
+ #[\Override]
public function getType(): string {
return self::CONTEXT_TYPE;
}
+ #[\Override]
public function toString(): string {
return $this->getType() . ' (' . $this->getId() . ')';
}
+ #[\Override]
public function buildDocument(): Document {
$document = new Document();
$document->setContextType($this->getType());
@@ -60,6 +64,7 @@ public function buildDocument(): Document {
return $document;
}
+ #[\Override]
public function prepareSession(): SessionInfo {
$readonly = !$this->permissionService->checkPermission($this->cardMapper, $this->cardId, Acl::PERMISSION_EDIT, $this->userId);
return new SessionInfo(
@@ -69,10 +74,12 @@ public function prepareSession(): SessionInfo {
);
}
+ #[\Override]
public function isReadOnly(): bool {
return !$this->permissionService->checkPermission($this->cardMapper, $this->cardId, Acl::PERMISSION_EDIT, $this->userId);
}
+ #[\Override]
public function updateDocument(Document $document): void {
$document->setChecksum($this->computeChecksum());
$document->setLastSavedVersionTime($this->getLastModified());
@@ -101,6 +108,7 @@ private function getLastModified(): int {
return (int)($card->getLastModified() ?: time());
}
+ #[\Override]
public function getFile(): ?File {
return null;
}
@@ -109,14 +117,17 @@ public function getFile(): ?File {
* @throws NotFoundException
* @throws NotPermittedException
*/
+ #[\Override]
public function loadContent(): ?string {
$card = $this->findCard();
return $card->getDescription();
}
+ #[\Override]
public function cleanup(): void {
}
+ #[\Override]
public function save(string $content, callable $afterSave): void {
$this->cardService->updateDescription($this->cardId, $content);
$afterSave();
diff --git a/lib/Provider/TextContextProviderFactory.php b/lib/Provider/TextContextProviderFactory.php
index fd4b78c68c..e5223bc53e 100644
--- a/lib/Provider/TextContextProviderFactory.php
+++ b/lib/Provider/TextContextProviderFactory.php
@@ -26,6 +26,7 @@ public function __construct(
) {
}
+ #[\Override]
public function build(IUser|IShare $auth, string $type, int $id): IContext {
return $this->buildForCard($id);
}
diff --git a/lib/Reference/BoardReferenceProvider.php b/lib/Reference/BoardReferenceProvider.php
index 710c5df19f..c7108e4fc6 100644
--- a/lib/Reference/BoardReferenceProvider.php
+++ b/lib/Reference/BoardReferenceProvider.php
@@ -35,6 +35,7 @@ public function __construct(BoardService $boardService,
/**
* @inheritDoc
*/
+ #[\Override]
public function matchReference(string $referenceText): bool {
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
@@ -49,6 +50,7 @@ public function matchReference(string $referenceText): bool {
/**
* @inheritDoc
*/
+ #[\Override]
public function resolveReference(string $referenceText): ?IReference {
if ($this->matchReference($referenceText)) {
$boardId = $this->getBoardId($referenceText);
@@ -105,6 +107,7 @@ private function getBoardId(string $url): ?int {
return null;
}
+ #[\Override]
public function getCachePrefix(string $referenceId): string {
$boardId = $this->getBoardId($referenceId);
if ($boardId !== null) {
@@ -114,6 +117,7 @@ public function getCachePrefix(string $referenceId): string {
return $referenceId;
}
+ #[\Override]
public function getCacheKey(string $referenceId): ?string {
return $this->userId ?? '';
}
diff --git a/lib/Reference/CardReferenceProvider.php b/lib/Reference/CardReferenceProvider.php
index 2a8a7e3f53..e62a45ec49 100644
--- a/lib/Reference/CardReferenceProvider.php
+++ b/lib/Reference/CardReferenceProvider.php
@@ -48,6 +48,7 @@ public function __construct(CardService $cardService,
/**
* @inheritDoc
*/
+ #[\Override]
public function getId(): string {
return Application::APP_ID . '-ref-cards';
}
@@ -55,6 +56,7 @@ public function getId(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getTitle(): string {
return $this->l10n->t('Deck boards, cards and comments');
}
@@ -62,6 +64,7 @@ public function getTitle(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getOrder(): int {
return 10;
}
@@ -69,6 +72,7 @@ public function getOrder(): int {
/**
* @inheritDoc
*/
+ #[\Override]
public function getIconUrl(): string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg')
@@ -78,6 +82,7 @@ public function getIconUrl(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getSupportedSearchProviderIds(): array {
return [
'search-deck-card-board',
@@ -88,6 +93,7 @@ public function getSupportedSearchProviderIds(): array {
/**
* @inheritDoc
*/
+ #[\Override]
public function matchReference(string $referenceText): bool {
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
@@ -106,6 +112,7 @@ public function matchReference(string $referenceText): bool {
/**
* @inheritDoc
*/
+ #[\Override]
public function resolveReference(string $referenceText): ?IReference {
if ($this->matchReference($referenceText)) {
$ids = $this->getBoardCardId($referenceText);
@@ -205,6 +212,7 @@ private function getBoardCardId(string $url): ?array {
return null;
}
+ #[\Override]
public function getCachePrefix(string $referenceId): string {
$ids = $this->getBoardCardId($referenceId);
if ($ids !== null) {
@@ -215,6 +223,7 @@ public function getCachePrefix(string $referenceId): string {
return $referenceId;
}
+ #[\Override]
public function getCacheKey(string $referenceId): ?string {
return $this->userId ?? '';
}
diff --git a/lib/Reference/CommentReferenceProvider.php b/lib/Reference/CommentReferenceProvider.php
index ac0c026a6b..bff8667710 100644
--- a/lib/Reference/CommentReferenceProvider.php
+++ b/lib/Reference/CommentReferenceProvider.php
@@ -51,6 +51,7 @@ public function __construct(CardService $cardService,
/**
* @inheritDoc
*/
+ #[\Override]
public function matchReference(string $referenceText): bool {
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
@@ -65,6 +66,7 @@ public function matchReference(string $referenceText): bool {
/**
* @inheritDoc
*/
+ #[\Override]
public function resolveReference(string $referenceText): ?IReference {
if ($this->matchReference($referenceText)) {
$ids = $this->getIds($referenceText);
@@ -173,10 +175,12 @@ private function getIds(string $url): ?array {
return null;
}
+ #[\Override]
public function getCachePrefix(string $referenceId): string {
return $referenceId;
}
+ #[\Override]
public function getCacheKey(string $referenceId): ?string {
return $this->userId ?? '';
}
diff --git a/lib/Reference/CreateCardReferenceProvider.php b/lib/Reference/CreateCardReferenceProvider.php
index 6ddb17e703..ad7d6c95dd 100644
--- a/lib/Reference/CreateCardReferenceProvider.php
+++ b/lib/Reference/CreateCardReferenceProvider.php
@@ -25,6 +25,7 @@ public function __construct(
/**
* @inheritDoc
*/
+ #[\Override]
public function getId(): string {
return 'create-new-deck-card';
}
@@ -32,6 +33,7 @@ public function getId(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getTitle(): string {
return $this->l10n->t('Create a new deck card');
}
@@ -39,6 +41,7 @@ public function getTitle(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function getOrder(): int {
return 10;
}
@@ -46,6 +49,7 @@ public function getOrder(): int {
/**
* @inheritDoc
*/
+ #[\Override]
public function getIconUrl(): string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg')
@@ -55,6 +59,7 @@ public function getIconUrl(): string {
/**
* @inheritDoc
*/
+ #[\Override]
public function matchReference(string $referenceText): bool {
return false;
}
@@ -62,6 +67,7 @@ public function matchReference(string $referenceText): bool {
/**
* @inheritDoc
*/
+ #[\Override]
public function resolveReference(string $referenceText): ?IReference {
return null;
}
@@ -69,6 +75,7 @@ public function resolveReference(string $referenceText): ?IReference {
/**
* @inheritDoc
*/
+ #[\Override]
public function getCachePrefix(string $referenceId): string {
return $this->userId ?? '';
}
@@ -77,6 +84,7 @@ public function getCachePrefix(string $referenceId): string {
* We don't use the userId here but rather a reference unique id
* @inheritDoc
*/
+ #[\Override]
public function getCacheKey(string $referenceId): ?string {
return $referenceId;
}
diff --git a/lib/Search/CardCommentProvider.php b/lib/Search/CardCommentProvider.php
index 3f02948f2e..065f53483c 100644
--- a/lib/Search/CardCommentProvider.php
+++ b/lib/Search/CardCommentProvider.php
@@ -31,14 +31,17 @@ public function __construct(
$this->l10n = $l10n;
}
+ #[\Override]
public function getId(): string {
return 'search-deck-comment';
}
+ #[\Override]
public function getName(): string {
return $this->l10n->t('Card comments');
}
+ #[\Override]
public function search(IUser $user, ISearchQuery $query): SearchResult {
$cursor = $query->getCursor() !== null ? (int)$query->getCursor() : null;
$results = $this->searchService->searchComments($query->getTerm(), $query->getLimit(), $cursor);
@@ -56,6 +59,7 @@ public function search(IUser $user, ISearchQuery $query): SearchResult {
);
}
+ #[\Override]
public function getOrder(string $route, array $routeParameters): int {
// Negative value to force showing deck providers on first position if the app is opened
// This provider always has an order 1 higher than the default DeckProvider
diff --git a/lib/Search/DeckProvider.php b/lib/Search/DeckProvider.php
index b9c16e35a9..ec1658d124 100644
--- a/lib/Search/DeckProvider.php
+++ b/lib/Search/DeckProvider.php
@@ -27,14 +27,17 @@ public function __construct(
) {
}
+ #[\Override]
public function getId(): string {
return 'search-deck-card-board';
}
+ #[\Override]
public function getName(): string {
return $this->l10n->t('Deck boards and cards');
}
+ #[\Override]
public function search(IUser $user, ISearchQuery $query): SearchResult {
$cursor = $query->getCursor();
[$boardCursor, $cardCursor] = $this->parseCursor($cursor);
@@ -85,6 +88,7 @@ public function search(IUser $user, ISearchQuery $query): SearchResult {
);
}
+ #[\Override]
public function getOrder(string $route, array $routeParameters): int {
if ($route === 'deck.Page.index') {
return -5;
diff --git a/lib/Service/FileService.php b/lib/Service/FileService.php
index df7bdbed84..07e3f0a69f 100644
--- a/lib/Service/FileService.php
+++ b/lib/Service/FileService.php
@@ -64,6 +64,7 @@ public function getFolder(Attachment $attachment) {
return $folder;
}
+ #[\Override]
public function extendData(Attachment $attachment) {
try {
$file = $this->getFileForAttachment($attachment);
@@ -118,6 +119,7 @@ private function getUploadedFile() {
* @throws StatusException
* @throws ConflictException
*/
+ #[\Override]
public function create(Attachment $attachment) {
$file = $this->getUploadedFile();
$folder = $this->getFolder($attachment);
@@ -145,6 +147,7 @@ public function create(Attachment $attachment) {
*
* @throws \Exception
*/
+ #[\Override]
public function update(Attachment $attachment) {
$file = $this->getUploadedFile();
$fileName = $file['name'];
@@ -167,6 +170,7 @@ public function update(Attachment $attachment) {
* @param Attachment $attachment
* @throws NotPermittedException
*/
+ #[\Override]
public function delete(Attachment $attachment) {
try {
$file = $this->getFileForAttachment($attachment);
@@ -202,6 +206,7 @@ private function getFileFromRootFolder(Attachment $attachment) {
* @return StreamResponse
* @throws \Exception
*/
+ #[\Override]
public function display(Attachment $attachment) {
$file = $this->getFileFromRootFolder($attachment);
$response = new StreamResponse($file->fopen('rb'));
@@ -215,6 +220,7 @@ public function display(Attachment $attachment) {
*
* @return bool
*/
+ #[\Override]
public function allowUndo() {
return true;
}
@@ -224,6 +230,7 @@ public function allowUndo() {
*
* @param Attachment $attachment
*/
+ #[\Override]
public function markAsDeleted(Attachment $attachment) {
$attachment->setDeletedAt(time());
}
diff --git a/lib/Service/FilesAppService.php b/lib/Service/FilesAppService.php
index d6824c51b6..e52e42ee71 100644
--- a/lib/Service/FilesAppService.php
+++ b/lib/Service/FilesAppService.php
@@ -91,6 +91,7 @@ public function __construct(
$this->filenameValidator = $filenameValidator;
}
+ #[\Override]
public function listAttachments(int $cardId): array {
$shares = $this->shareProvider->getSharedWithByType($cardId, IShare::TYPE_DECK, -1, 0);
return array_filter(array_map(function (IShare $share) use ($cardId) {
@@ -113,10 +114,12 @@ public function listAttachments(int $cardId): array {
}, $shares));
}
+ #[\Override]
public function getAttachmentCount(int $cardId): int {
return $this->getAttachmentCountForCards([$cardId])[$cardId] ?? 0;
}
+ #[\Override]
public function getAttachmentCountForCards(array $cardIds): array {
if (empty($cardIds)) {
return [];
@@ -146,6 +149,7 @@ public function getAttachmentCountForCards(array $cardIds): array {
return $counts;
}
+ #[\Override]
public function extendData(Attachment $attachment) {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
$share = $this->getShareForAttachment($attachment);
@@ -167,6 +171,7 @@ public function extendData(Attachment $attachment) {
return $attachment;
}
+ #[\Override]
public function display(Attachment $attachment) {
// Problem: Folders
/** @psalm-suppress InvalidCatch */
@@ -186,6 +191,7 @@ public function display(Attachment $attachment) {
return $response;
}
+ #[\Override]
public function create(Attachment $attachment) {
if ($attachment->getData() === 'DEFAULT_SAMPLE_FILE' && !$this->request->getUploadedFile('file')) {
$file = [
@@ -380,6 +386,7 @@ private function getUploadedFile() {
return $file;
}
+ #[\Override]
public function update(Attachment $attachment) {
$share = $this->getShareForAttachment($attachment);
$target = $share->getNode();
@@ -406,6 +413,7 @@ public function update(Attachment $attachment) {
* @throws NotFoundException
* @throws ShareNotFound
*/
+ #[\Override]
public function delete(Attachment $attachment) {
$share = $this->getShareForAttachment($attachment);
$file = $share->getNode();
@@ -423,10 +431,12 @@ public function delete(Attachment $attachment) {
throw new NoPermissionException('No permission to remove the attachment from the card');
}
+ #[\Override]
public function allowUndo() {
return false;
}
+ #[\Override]
public function markAsDeleted(Attachment $attachment) {
throw new \Exception('Not implemented');
}
diff --git a/lib/Service/Importer/BoardImportCommandService.php b/lib/Service/Importer/BoardImportCommandService.php
index ddaef57796..a4dacf7fa5 100644
--- a/lib/Service/Importer/BoardImportCommandService.php
+++ b/lib/Service/Importer/BoardImportCommandService.php
@@ -59,6 +59,7 @@ public function getOutput(): OutputInterface {
return $this->output;
}
+ #[\Override]
protected function validateConfig(): void {
try {
$config = $this->getInput()->getOption('config');
@@ -108,6 +109,7 @@ protected function validateConfig(): void {
$this->validateConfig();
}
+ #[\Override]
public function validateSystem(): void {
try {
parent::validateSystem();
@@ -129,6 +131,7 @@ public function validateSystem(): void {
return;
}
+ #[\Override]
protected function validateData(): void {
if (!$this->getImportSystem()->needValidateData()) {
return;
@@ -171,6 +174,7 @@ protected function validateData(): void {
$this->validateData();
}
+ #[\Override]
public function bootstrap(): void {
$this->setSystem($this->getInput()->getOption('system'));
parent::bootstrap();
@@ -193,6 +197,7 @@ public function bootstrap(): void {
});
}
+ #[\Override]
public function import(): void {
$this->getOutput()->writeln('Starting import...');
$this->bootstrap();
diff --git a/lib/Service/Importer/Systems/DeckJsonService.php b/lib/Service/Importer/Systems/DeckJsonService.php
index 2aa7071d0c..43cd78386a 100644
--- a/lib/Service/Importer/Systems/DeckJsonService.php
+++ b/lib/Service/Importer/Systems/DeckJsonService.php
@@ -33,10 +33,12 @@ public function __construct(
) {
}
+ #[\Override]
public function bootstrap(): void {
$this->validateUsers();
}
+ #[\Override]
public function getJsonSchemaPath(): string {
return implode(DIRECTORY_SEPARATOR, [
__DIR__,
@@ -46,6 +48,7 @@ public function getJsonSchemaPath(): string {
]);
}
+ #[\Override]
public function validateUsers(): void {
$relation = $this->getImportService()->getConfig('uidRelation');
if (empty($relation)) {
@@ -72,7 +75,7 @@ public function mapMember($uid): ?string {
return $ownerMap;
}
- $uidCandidate = isset($this->members[$uid]) ? $this->members[$uid]?->getUID() ?? null : null;
+ $uidCandidate = isset($this->members[$uid]) ? $this->members[$uid]?->getUID() : null;
if ($uidCandidate) {
return $uidCandidate;
}
@@ -93,6 +96,7 @@ public function mapOwner(string $uid): string {
return $uid;
}
+ #[\Override]
public function getCardAssignments(): array {
$assignments = [];
foreach ($this->tmpCards as $sourceCard) {
@@ -114,6 +118,7 @@ public function getCardAssignments(): array {
* Parse comments from source cards and return them as an array of comments by card ID.
*
*/
+ #[\Override]
public function getComments(): array {
$comments = [];
foreach ($this->tmpCards as $sourceCard) {
@@ -147,6 +152,7 @@ public function getComments(): array {
return $comments;
}
+ #[\Override]
public function importAttachments(): void {
foreach ($this->tmpCards as $sourceCard) {
$this->importAttachmentsForCard($sourceCard);
@@ -205,6 +211,7 @@ private function importAttachmentsForCard(object $sourceCard): void {
}
}
+ #[\Override]
public function getCardLabelAssignment(): array {
$cardsLabels = [];
foreach ($this->tmpCards as $sourceCard) {
@@ -219,6 +226,7 @@ public function getCardLabelAssignment(): array {
return $cardsLabels;
}
+ #[\Override]
public function getBoard(): Board {
$board = $this->getImportService()->getBoard();
if (empty($this->getImportService()->getData()->title)) {
@@ -237,6 +245,7 @@ public function getBoard(): Board {
/**
* @return Label[]
*/
+ #[\Override]
public function getLabels(): array {
foreach ($this->getImportService()->getData()->labels as $label) {
$newLabel = new Label();
@@ -252,6 +261,7 @@ public function getLabels(): array {
/**
* @return Stack[]
*/
+ #[\Override]
public function getStacks(): array {
$return = [];
foreach ($this->getImportService()->getData()->stacks as $index => $source) {
@@ -277,6 +287,7 @@ public function getStacks(): array {
/**
* @return Card[]
*/
+ #[\Override]
public function getCards(): array {
$cards = [];
foreach ($this->tmpCards as $cardSource) {
@@ -303,6 +314,7 @@ public function getCards(): array {
/**
* @return Acl[]
*/
+ #[\Override]
public function getAclList(): array {
$board = $this->getImportService()->getData();
$return = [];
@@ -332,12 +344,14 @@ private function replaceUsernames(string $text): string {
return $text;
}
+ #[\Override]
public function getBoards(): array {
// Old format has just the raw board data, new one a key boards
$data = $this->getImportService()->getData();
return array_values((array)($data->boards ?? $data));
}
+ #[\Override]
public function reset(): void {
parent::reset();
$this->tmpCards = [];
diff --git a/lib/Service/Importer/Systems/TrelloApiService.php b/lib/Service/Importer/Systems/TrelloApiService.php
index 671556e16a..300d1c12f0 100644
--- a/lib/Service/Importer/Systems/TrelloApiService.php
+++ b/lib/Service/Importer/Systems/TrelloApiService.php
@@ -39,6 +39,7 @@ public function __construct(
$this->httpClient = $httpClientService->newClient();
}
+ #[\Override]
public function bootstrap(): void {
$this->populateBoard();
$this->populateMembers();
@@ -50,6 +51,7 @@ public function bootstrap(): void {
parent::bootstrap();
}
+ #[\Override]
public function getJsonSchemaPath(): string {
return implode(DIRECTORY_SEPARATOR, [
__DIR__,
diff --git a/lib/Service/Importer/Systems/TrelloJsonService.php b/lib/Service/Importer/Systems/TrelloJsonService.php
index 88cd5e930a..3104e53639 100644
--- a/lib/Service/Importer/Systems/TrelloJsonService.php
+++ b/lib/Service/Importer/Systems/TrelloJsonService.php
@@ -45,10 +45,12 @@ public function __construct(
$this->l10n = $l10n;
}
+ #[\Override]
public function bootstrap(): void {
$this->validateUsers();
}
+ #[\Override]
public function getJsonSchemaPath(): string {
return implode(DIRECTORY_SEPARATOR, [
__DIR__,
@@ -58,6 +60,7 @@ public function getJsonSchemaPath(): string {
]);
}
+ #[\Override]
public function validateUsers(): void {
if (empty($this->getImportService()->getConfig('uidRelation'))) {
return;
@@ -82,6 +85,7 @@ public function validateUsers(): void {
}
}
+ #[\Override]
public function getCardAssignments(): array {
$assignments = [];
foreach ($this->getImportService()->getData()->cards as $trelloCard) {
@@ -99,6 +103,7 @@ public function getCardAssignments(): array {
return $assignments;
}
+ #[\Override]
public function getComments(): array {
$comments = [];
foreach ($this->getImportService()->getData()->cards as $trelloCard) {
@@ -163,6 +168,7 @@ function (\stdClass $a) use ($trelloCard) {
return $comments;
}
+ #[\Override]
public function importAttachments(): void {
}
@@ -178,6 +184,7 @@ private function sortComments(array $comments): array {
return $comments;
}
+ #[\Override]
public function getCardLabelAssignment(): array {
$cardsLabels = [];
foreach ($this->getImportService()->getData()->cards as $trelloCard) {
@@ -190,6 +197,7 @@ public function getCardLabelAssignment(): array {
return $cardsLabels;
}
+ #[\Override]
public function getBoard(): Board {
$board = $this->getImportService()->getBoard();
if (empty($this->getImportService()->getData()->name)) {
@@ -204,6 +212,7 @@ public function getBoard(): Board {
/**
* @return Label[]
*/
+ #[\Override]
public function getLabels(): array {
foreach ($this->getImportService()->getData()->labels as $trelloLabel) {
$label = new Label();
@@ -222,6 +231,7 @@ public function getLabels(): array {
/**
* @return Stack[]
*/
+ #[\Override]
public function getStacks(): array {
$return = [];
foreach ($this->getImportService()->getData()->lists as $order => $list) {
@@ -240,6 +250,7 @@ public function getStacks(): array {
/**
* @return Card[]
*/
+ #[\Override]
public function getCards(): array {
$checklists = [];
foreach ($this->getImportService()->getData()->checklists as $checklist) {
@@ -302,6 +313,7 @@ function (\stdClass $a) use ($trelloCard) {
/**
* @return Acl[]
*/
+ #[\Override]
public function getAclList(): array {
$return = [];
foreach ($this->members as $member) {
@@ -375,6 +387,7 @@ private function appendAttachmentsToDescription(\stdClass $trelloCard): void {
}
}
+ #[\Override]
public function getBoards(): array {
if ($this->getImportService()->getData()->boards) {
return $this->getImportService()->getData()->boards;
diff --git a/lib/Sharing/DeckShareProvider.php b/lib/Sharing/DeckShareProvider.php
index ef41e4301e..a0792ac308 100644
--- a/lib/Sharing/DeckShareProvider.php
+++ b/lib/Sharing/DeckShareProvider.php
@@ -73,6 +73,7 @@ public static function register(IEventDispatcher $dispatcher): void {
/**
* @inheritDoc
*/
+ #[\Override]
public function identifier() {
return 'deck';
}
@@ -80,6 +81,7 @@ public function identifier() {
/**
* @inheritDoc
*/
+ #[\Override]
public function create(IShare $share) {
$cardId = (int)$share->getSharedWith();
$boardId = $this->cardMapper->findBoardId($cardId);
@@ -272,6 +274,7 @@ private function createShareObject(array $data): IShare {
/**
* @inheritDoc
*/
+ #[\Override]
public function update(IShare $share) {
$this->dbConnection->beginTransaction();
try {
@@ -336,6 +339,7 @@ public function update(IShare $share) {
/**
* @inheritDoc
*/
+ #[\Override]
public function delete(IShare $share) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->delete('share')
@@ -351,6 +355,7 @@ public function delete(IShare $share) {
/**
* @inheritDoc
*/
+ #[\Override]
public function deleteFromSelf(IShare $share, $recipient) {
// Check if there is a deck_user share
$qb = $this->dbConnection->getQueryBuilder();
@@ -398,6 +403,7 @@ public function deleteFromSelf(IShare $share, $recipient) {
/**
* @inheritDoc
*/
+ #[\Override]
public function restore(IShare $share, string $recipient): IShare {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('permissions')
@@ -430,6 +436,7 @@ public function restore(IShare $share, string $recipient): IShare {
/**
* @inheritDoc
*/
+ #[\Override]
public function move(IShare $share, $recipient) {
// Check if there is a deck user share
$qb = $this->dbConnection->getQueryBuilder();
@@ -481,6 +488,7 @@ public function move(IShare $share, $recipient) {
* @inheritDoc
* @returns
*/
+ #[\Override]
public function getSharesInFolder($userId, Folder $node, $reshares, $shallow = true) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
@@ -530,6 +538,7 @@ public function getSharesInFolder($userId, Folder $node, $reshares, $shallow = t
/**
* @inheritDoc
*/
+ #[\Override]
public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offset) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
@@ -576,6 +585,7 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
* @inheritDoc
* @throws ShareNotFound
*/
+ #[\Override]
public function getShareById($id, $recipientId = null) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('s.*',
@@ -694,6 +704,7 @@ private function resolveSharesForRecipient(array $shares, string $userId): array
* @param Node $path
* @return IShare[]
*/
+ #[\Override]
public function getSharesByPath(Node $path): array {
$qb = $this->dbConnection->getQueryBuilder();
@@ -722,10 +733,12 @@ public function getSharesByPath(Node $path): array {
* @param int $offset
* @return IShare[]
*/
+ #[\Override]
public function getSharedWith($userId, $shareType, $node, $limit, $offset): array {
return $this->_getSharedWith($userId, $limit, $offset, $node);
}
+ #[\Override]
public function getSharedWithByPath(
string $userId,
int $shareType,
@@ -936,6 +949,7 @@ public function isAccessibleResult(array $data): bool {
* @inheritDoc
* @psalm-suppress InvalidReturnType Not returning anything
*/
+ #[\Override]
public function getShareByToken($token) {
throw new ShareNotFound();
/*$qb = $this->dbConnection->getQueryBuilder();
@@ -969,6 +983,7 @@ public function getShareByToken($token) {
/**
* @inheritDoc
*/
+ #[\Override]
public function userDeleted($uid, $shareType) {
// TODO: Implement userDeleted() method.
}
@@ -976,6 +991,7 @@ public function userDeleted($uid, $shareType) {
/**
* @inheritDoc
*/
+ #[\Override]
public function groupDeleted($gid) {
// TODO: Implement groupDeleted() method.
}
@@ -983,6 +999,7 @@ public function groupDeleted($gid) {
/**
* @inheritDoc
*/
+ #[\Override]
public function userDeletedFromGroup($uid, $gid) {
// TODO: Implement userDeletedFromGroup() method.
}
@@ -996,6 +1013,7 @@ public function userDeletedFromGroup($uid, $gid) {
* @param bool $currentAccess If current access is required (like for removed shares that might get revived later)
* @return array
*/
+ #[\Override]
public function getAccessList($nodes, $currentAccess) {
$ids = [];
foreach ($nodes as $node) {
@@ -1098,6 +1116,7 @@ protected function filterSharesOfUser(array $shares): array {
* @param IShare $parent
* @return IShare[]
*/
+ #[\Override]
public function getChildren(IShare $parent): array {
$children = [];
@@ -1120,6 +1139,7 @@ public function getChildren(IShare $parent): array {
/**
* @inheritDoc
*/
+ #[\Override]
public function getAllShares(): iterable {
$qb = $this->dbConnection->getQueryBuilder();
@@ -1200,6 +1220,7 @@ public function getOrphanedAttachmentShares(): array {
return $shares;
}
+ #[\Override]
public function getUsersForShare(IShare $share): iterable {
if ($share->getShareType() === IShare::TYPE_DECK) {
$cardId = (int)$share->getSharedWith();
diff --git a/lib/Teams/DeckTeamResourceProvider.php b/lib/Teams/DeckTeamResourceProvider.php
index 40cef2343c..cfe0be7a9b 100644
--- a/lib/Teams/DeckTeamResourceProvider.php
+++ b/lib/Teams/DeckTeamResourceProvider.php
@@ -23,18 +23,22 @@ public function __construct(
) {
}
+ #[\Override]
public function getId(): string {
return Application::APP_ID;
}
+ #[\Override]
public function getName(): string {
return 'Deck';
}
+ #[\Override]
public function getIconSvg(): string {
return file_get_contents(__DIR__ . '/../../img/deck-current.svg');
}
+ #[\Override]
public function getSharedWith($teamId): array {
$boards = $this->boardMapper->findAllByTeam($teamId);
return array_map(function (Board $board) {
@@ -49,10 +53,12 @@ public function getSharedWith($teamId): array {
}, $boards);
}
+ #[\Override]
public function isSharedWithTeam(string $teamId, string $resourceId): bool {
return $this->boardMapper->isSharedWithTeam((int)$resourceId, $teamId);
}
+ #[\Override]
public function getTeamsForResource(string $resourceId): array {
return $this->boardMapper->findTeamsForBoard((int)$resourceId);
}
diff --git a/lib/UserMigration/DeckMigrator.php b/lib/UserMigration/DeckMigrator.php
index 7b4caf2545..1b683093c9 100644
--- a/lib/UserMigration/DeckMigrator.php
+++ b/lib/UserMigration/DeckMigrator.php
@@ -61,6 +61,7 @@ public function __construct(
/**
* {@inheritDoc}
*/
+ #[\Override]
public function getEstimatedExportSize(IUser $user): int|float {
return 0;
}
@@ -68,6 +69,7 @@ public function getEstimatedExportSize(IUser $user): int|float {
/**
* {@inheritDoc}
*/
+ #[\Override]
public function export(
IUser $user,
IExportDestination $exportDestination,
@@ -93,6 +95,7 @@ public function export(
/**
* {@inheritDoc}
*/
+ #[\Override]
public function import(
IUser $user,
IImportSource $importSource,
@@ -251,6 +254,7 @@ private function configureImportService(string $userId, array $data): void {
/**
* {@inheritDoc}
*/
+ #[\Override]
public function getId(): string {
return 'deck';
}
@@ -258,6 +262,7 @@ public function getId(): string {
/**
* {@inheritDoc}
*/
+ #[\Override]
public function getDisplayName(): string {
return $this->l10n->t('Deck');
}
@@ -265,6 +270,7 @@ public function getDisplayName(): string {
/**
* {@inheritDoc}
*/
+ #[\Override]
public function getDescription(): string {
return $this->l10n->t('All boards owned by you including stacks, cards, labels, assignments, and comments');
}
diff --git a/lib/Validators/AssignmentServiceValidator.php b/lib/Validators/AssignmentServiceValidator.php
index 5c318de234..b170cc0a1f 100644
--- a/lib/Validators/AssignmentServiceValidator.php
+++ b/lib/Validators/AssignmentServiceValidator.php
@@ -10,6 +10,7 @@
namespace OCA\Deck\Validators;
class AssignmentServiceValidator extends BaseValidator {
+ #[\Override]
public function rules() {
return [
'cardId' => ['numeric'],
diff --git a/lib/Validators/AttachmentServiceValidator.php b/lib/Validators/AttachmentServiceValidator.php
index 81921bba27..d949765e72 100644
--- a/lib/Validators/AttachmentServiceValidator.php
+++ b/lib/Validators/AttachmentServiceValidator.php
@@ -9,6 +9,7 @@
namespace OCA\Deck\Validators;
class AttachmentServiceValidator extends BaseValidator {
+ #[\Override]
public function rules() {
return [
'cardId' => ['numeric'],
diff --git a/lib/Validators/BoardServiceValidator.php b/lib/Validators/BoardServiceValidator.php
index ab0a604bcb..d30b345d43 100644
--- a/lib/Validators/BoardServiceValidator.php
+++ b/lib/Validators/BoardServiceValidator.php
@@ -10,6 +10,7 @@
namespace OCA\Deck\Validators;
class BoardServiceValidator extends BaseValidator {
+ #[\Override]
public function rules() {
return [
'id' => ['numeric'],
diff --git a/lib/Validators/CardServiceValidator.php b/lib/Validators/CardServiceValidator.php
index ddbcf8738c..17f0174c51 100644
--- a/lib/Validators/CardServiceValidator.php
+++ b/lib/Validators/CardServiceValidator.php
@@ -10,6 +10,7 @@
namespace OCA\Deck\Validators;
class CardServiceValidator extends BaseValidator {
+ #[\Override]
public function rules() {
return [
'id' => ['numeric'],
diff --git a/lib/Validators/LabelServiceValidator.php b/lib/Validators/LabelServiceValidator.php
index 720994bceb..87e1d1c663 100644
--- a/lib/Validators/LabelServiceValidator.php
+++ b/lib/Validators/LabelServiceValidator.php
@@ -14,6 +14,7 @@ protected function hex_color(string $value): bool {
return preg_match('/[A-Fa-f0-9]{6}/', $value) === 1;
}
+ #[\Override]
public function rules() {
return [
'id' => ['numeric'],
diff --git a/lib/Validators/StackServiceValidator.php b/lib/Validators/StackServiceValidator.php
index 1ba2b76483..f644d9d617 100644
--- a/lib/Validators/StackServiceValidator.php
+++ b/lib/Validators/StackServiceValidator.php
@@ -10,6 +10,7 @@
namespace OCA\Deck\Validators;
class StackServiceValidator extends BaseValidator {
+ #[\Override]
public function rules() {
return [
'id' => ['numeric'],
diff --git a/vendor-bin/psalm/composer.json b/vendor-bin/psalm/composer.json
index 5050a84726..91132a29f8 100644
--- a/vendor-bin/psalm/composer.json
+++ b/vendor-bin/psalm/composer.json
@@ -4,7 +4,7 @@
},
"config": {
"platform": {
- "php": "8.1.17"
+ "php": "8.3.17"
}
}
}
diff --git a/vendor-bin/psalm/composer.lock b/vendor-bin/psalm/composer.lock
index a91d496d70..33b6a16e8b 100644
--- a/vendor-bin/psalm/composer.lock
+++ b/vendor-bin/psalm/composer.lock
@@ -4,21 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "8213a64b36972a05a20265830eecb0c5",
+ "content-hash": "18a15ebb5bb695f7090a2513a0008d67",
"packages": [],
"packages-dev": [
{
"name": "amphp/amp",
- "version": "v3.1.0",
+ "version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
- "reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9"
+ "reference": "73c38b323ff8d790abf0f76c56fcc892bda4111a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/amp/zipball/7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9",
- "reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9",
+ "url": "https://api.github.com/repos/amphp/amp/zipball/73c38b323ff8d790abf0f76c56fcc892bda4111a",
+ "reference": "73c38b323ff8d790abf0f76c56fcc892bda4111a",
"shasum": ""
},
"require": {
@@ -28,7 +28,7 @@
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"phpunit/phpunit": "^9",
- "psalm/phar": "5.23.1"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -78,7 +78,7 @@
],
"support": {
"issues": "https://github.com/amphp/amp/issues",
- "source": "https://github.com/amphp/amp/tree/v3.1.0"
+ "source": "https://github.com/amphp/amp/tree/v3.1.3"
},
"funding": [
{
@@ -86,7 +86,7 @@
"type": "github"
}
],
- "time": "2025-01-26T16:07:39+00:00"
+ "time": "2026-07-19T17:59:20+00:00"
},
{
"name": "amphp/byte-stream",
@@ -230,16 +230,16 @@
},
{
"name": "amphp/dns",
- "version": "v2.4.0",
+ "version": "v2.4.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/dns.git",
- "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71"
+ "reference": "ec5948bfafac808f410406e18bc7b52a2d4629b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/dns/zipball/78eb3db5fc69bf2fc0cb503c4fcba667bc223c71",
- "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71",
+ "url": "https://api.github.com/repos/amphp/dns/zipball/ec5948bfafac808f410406e18bc7b52a2d4629b7",
+ "reference": "ec5948bfafac808f410406e18bc7b52a2d4629b7",
"shasum": ""
},
"require": {
@@ -258,7 +258,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "5.20"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -307,7 +307,7 @@
],
"support": {
"issues": "https://github.com/amphp/dns/issues",
- "source": "https://github.com/amphp/dns/tree/v2.4.0"
+ "source": "https://github.com/amphp/dns/tree/v2.4.1"
},
"funding": [
{
@@ -315,20 +315,20 @@
"type": "github"
}
],
- "time": "2025-01-19T15:43:40+00:00"
+ "time": "2026-07-26T17:53:54+00:00"
},
{
"name": "amphp/parallel",
- "version": "v2.3.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/parallel.git",
- "reference": "5113111de02796a782f5d90767455e7391cca190"
+ "reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/parallel/zipball/5113111de02796a782f5d90767455e7391cca190",
- "reference": "5113111de02796a782f5d90767455e7391cca190",
+ "url": "https://api.github.com/repos/amphp/parallel/zipball/37f5b2754fadc229c00f9416bd68fb8d04529a81",
+ "reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81",
"shasum": ""
},
"require": {
@@ -348,7 +348,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.18"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -391,7 +391,7 @@
],
"support": {
"issues": "https://github.com/amphp/parallel/issues",
- "source": "https://github.com/amphp/parallel/tree/v2.3.1"
+ "source": "https://github.com/amphp/parallel/tree/v2.4.0"
},
"funding": [
{
@@ -399,7 +399,7 @@
"type": "github"
}
],
- "time": "2024-12-21T01:56:09+00:00"
+ "time": "2026-05-16T16:54:01+00:00"
},
{
"name": "amphp/parser",
@@ -465,16 +465,16 @@
},
{
"name": "amphp/pipeline",
- "version": "v1.2.3",
+ "version": "v1.2.7",
"source": {
"type": "git",
"url": "https://github.com/amphp/pipeline.git",
- "reference": "7b52598c2e9105ebcddf247fc523161581930367"
+ "reference": "cf2d67696c2015ea7c7fd8f6ec5f8ed7c2d17c17"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367",
- "reference": "7b52598c2e9105ebcddf247fc523161581930367",
+ "url": "https://api.github.com/repos/amphp/pipeline/zipball/cf2d67696c2015ea7c7fd8f6ec5f8ed7c2d17c17",
+ "reference": "cf2d67696c2015ea7c7fd8f6ec5f8ed7c2d17c17",
"shasum": ""
},
"require": {
@@ -486,7 +486,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.18"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -520,7 +520,7 @@
],
"support": {
"issues": "https://github.com/amphp/pipeline/issues",
- "source": "https://github.com/amphp/pipeline/tree/v1.2.3"
+ "source": "https://github.com/amphp/pipeline/tree/v1.2.7"
},
"funding": [
{
@@ -528,20 +528,20 @@
"type": "github"
}
],
- "time": "2025-03-16T16:33:53+00:00"
+ "time": "2026-07-26T14:50:43+00:00"
},
{
"name": "amphp/process",
- "version": "v2.0.3",
+ "version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/process.git",
- "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d"
+ "reference": "583959df17d00304ad7b0b32285373f985935643"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d",
- "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d",
+ "url": "https://api.github.com/repos/amphp/process/zipball/583959df17d00304ad7b0b32285373f985935643",
+ "reference": "583959df17d00304ad7b0b32285373f985935643",
"shasum": ""
},
"require": {
@@ -555,7 +555,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.4"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -588,7 +588,7 @@
"homepage": "https://amphp.org/process",
"support": {
"issues": "https://github.com/amphp/process/issues",
- "source": "https://github.com/amphp/process/tree/v2.0.3"
+ "source": "https://github.com/amphp/process/tree/v2.1.0"
},
"funding": [
{
@@ -596,28 +596,31 @@
"type": "github"
}
],
- "time": "2024-04-19T03:13:44+00:00"
+ "time": "2026-05-31T15:11:55+00:00"
},
{
"name": "amphp/serialization",
- "version": "v1.0.0",
+ "version": "v1.1.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/serialization.git",
- "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1"
+ "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1",
- "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1",
+ "url": "https://api.github.com/repos/amphp/serialization/zipball/fdf2834d78cebb0205fb2672676c1b1eb84371f0",
+ "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.4"
},
"require-dev": {
- "amphp/php-cs-fixer-config": "dev-master",
- "phpunit/phpunit": "^9 || ^8 || ^7"
+ "amphp/php-cs-fixer-config": "^2",
+ "ext-json": "*",
+ "ext-zlib": "*",
+ "phpunit/phpunit": "^9",
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -652,22 +655,28 @@
],
"support": {
"issues": "https://github.com/amphp/serialization/issues",
- "source": "https://github.com/amphp/serialization/tree/master"
+ "source": "https://github.com/amphp/serialization/tree/v1.1.0"
},
- "time": "2020-03-25T21:39:07+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/amphp",
+ "type": "github"
+ }
+ ],
+ "time": "2026-04-05T15:59:53+00:00"
},
{
"name": "amphp/socket",
- "version": "v2.3.1",
+ "version": "v2.4.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/socket.git",
- "reference": "58e0422221825b79681b72c50c47a930be7bf1e1"
+ "reference": "b347be5aff6b2cc025208bb4d896607eb470c018"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1",
- "reference": "58e0422221825b79681b72c50c47a930be7bf1e1",
+ "url": "https://api.github.com/repos/amphp/socket/zipball/b347be5aff6b2cc025208bb4d896607eb470c018",
+ "reference": "b347be5aff6b2cc025208bb4d896607eb470c018",
"shasum": ""
},
"require": {
@@ -676,17 +685,17 @@
"amphp/dns": "^2",
"ext-openssl": "*",
"kelunik/certificate": "^1.1",
- "league/uri": "^6.5 | ^7",
- "league/uri-interfaces": "^2.3 | ^7",
+ "league/uri": "^7",
+ "league/uri-interfaces": "^7",
"php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
+ "revolt/event-loop": "^1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"amphp/process": "^2",
"phpunit/phpunit": "^9",
- "psalm/phar": "5.20"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -730,7 +739,7 @@
],
"support": {
"issues": "https://github.com/amphp/socket/issues",
- "source": "https://github.com/amphp/socket/tree/v2.3.1"
+ "source": "https://github.com/amphp/socket/tree/v2.4.1"
},
"funding": [
{
@@ -738,7 +747,7 @@
"type": "github"
}
],
- "time": "2024-04-21T14:33:03+00:00"
+ "time": "2026-08-22T18:13:20+00:00"
},
{
"name": "amphp/sync",
@@ -817,28 +826,29 @@
},
{
"name": "composer/pcre",
- "version": "3.3.2",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
+ "reference": "d5a341b3fb61f3001970940afb1d332968a183ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/d5a341b3fb61f3001970940afb1d332968a183ed",
+ "reference": "d5a341b3fb61f3001970940afb1d332968a183ed",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
},
"conflict": {
- "phpstan/phpstan": "<1.11.10"
+ "phpstan/phpstan": "<2.2.2"
},
"require-dev": {
- "phpstan/phpstan": "^1.12 || ^2",
- "phpstan/phpstan-strict-rules": "^1 || ^2",
- "phpunit/phpunit": "^8 || ^9"
+ "phpstan/phpstan": "^2",
+ "phpstan/phpstan-deprecation-rules": "^2",
+ "phpstan/phpstan-strict-rules": "^2",
+ "phpunit/phpunit": "^9"
},
"type": "library",
"extra": {
@@ -876,7 +886,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.3.2"
+ "source": "https://github.com/composer/pcre/tree/3.4.0"
},
"funding": [
{
@@ -886,26 +896,22 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2024-11-12T16:29:46+00:00"
+ "time": "2026-06-07T11:47:49+00:00"
},
{
"name": "composer/semver",
- "version": "3.4.3",
+ "version": "3.5.2",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12"
+ "reference": "9dfce66f1e97360ea5e6d3e38ab14277e4cc591e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
- "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
+ "url": "https://api.github.com/repos/composer/semver/zipball/9dfce66f1e97360ea5e6d3e38ab14277e4cc591e",
+ "reference": "9dfce66f1e97360ea5e6d3e38ab14277e4cc591e",
"shasum": ""
},
"require": {
@@ -947,7 +953,7 @@
"homepage": "http://robbast.nl"
}
],
- "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "description": "Version comparison library that offers utilities, version constraint parsing and validation.",
"keywords": [
"semantic",
"semver",
@@ -957,7 +963,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.3"
+ "source": "https://github.com/composer/semver/tree/3.5.2"
},
"funding": [
{
@@ -967,13 +973,9 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2024-09-19T14:15:21+00:00"
+ "time": "2026-10-22T15:37:26+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -1041,6 +1043,58 @@
],
"time": "2024-05-06T16:37:16+00:00"
},
+ {
+ "name": "danog/advanced-json-rpc",
+ "version": "v3.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/danog/php-advanced-json-rpc.git",
+ "reference": "ae703ea7b4811797a10590b6078de05b3b33dd91"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/ae703ea7b4811797a10590b6078de05b3b33dd91",
+ "reference": "ae703ea7b4811797a10590b6078de05b3b33dd91",
+ "shasum": ""
+ },
+ "require": {
+ "netresearch/jsonmapper": "^5",
+ "php": ">=8.1",
+ "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0 || ^6"
+ },
+ "replace": {
+ "felixfbecker/php-advanced-json-rpc": "^3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "AdvancedJsonRpc\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "ISC"
+ ],
+ "authors": [
+ {
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
+ },
+ {
+ "name": "Daniil Gentili",
+ "email": "daniil@daniil.it"
+ }
+ ],
+ "description": "A more advanced JSONRPC implementation",
+ "support": {
+ "issues": "https://github.com/danog/php-advanced-json-rpc/issues",
+ "source": "https://github.com/danog/php-advanced-json-rpc/tree/v3.2.3"
+ },
+ "time": "2026-01-12T21:07:10+00:00"
+ },
{
"name": "daverandom/libdns",
"version": "v2.1.0",
@@ -1124,29 +1178,29 @@
},
{
"name": "doctrine/deprecations",
- "version": "1.1.5",
+ "version": "1.1.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
- "phpunit/phpunit": "<=7.5 || >=13"
+ "phpunit/phpunit": "<=7.5 || >=14"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^12 || ^13",
- "phpstan/phpstan": "1.4.10 || 2.1.11",
+ "doctrine/coding-standard": "^9 || ^12 || ^14",
+ "phpstan/phpstan": "1.4.10 || 2.1.30",
"phpstan/phpstan-phpunit": "^1.0 || ^2",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0",
"psr/log": "^1 || ^2 || ^3"
},
"suggest": {
@@ -1166,54 +1220,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.5"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.6"
},
- "time": "2025-04-07T20:06:18+00:00"
- },
- {
- "name": "felixfbecker/advanced-json-rpc",
- "version": "v3.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
- "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
- "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
- "shasum": ""
- },
- "require": {
- "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
- "php": "^7.1 || ^8.0",
- "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0 || ^8.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "AdvancedJsonRpc\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "ISC"
- ],
- "authors": [
- {
- "name": "Felix Becker",
- "email": "felix.b@outlook.com"
- }
- ],
- "description": "A more advanced JSONRPC implementation",
- "support": {
- "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
- "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
- },
- "time": "2021-06-11T22:34:44+00:00"
+ "time": "2026-02-07T07:09:04+00:00"
},
{
"name": "felixfbecker/language-server-protocol",
@@ -1273,30 +1282,31 @@
},
{
"name": "fidry/cpu-core-counter",
- "version": "1.2.0",
+ "version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "8520451a140d3f46ac33042715115e290cf5785f"
+ "reference": "d384a7d0d6e67aa497327260ca95023e92dc2032"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f",
- "reference": "8520451a140d3f46ac33042715115e290cf5785f",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/d384a7d0d6e67aa497327260ca95023e92dc2032",
+ "reference": "d384a7d0d6e67aa497327260ca95023e92dc2032",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
- "fidry/makefile": "^0.2.0",
+ "fidry/makefile": "^0.2.0 || ^1.1.2",
"fidry/php-cs-fixer-config": "^1.1.2",
"phpstan/extension-installer": "^1.2.0",
- "phpstan/phpstan": "^1.9.2",
- "phpstan/phpstan-deprecation-rules": "^1.0.0",
- "phpstan/phpstan-phpunit": "^1.2.2",
- "phpstan/phpstan-strict-rules": "^1.4.4",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-deprecation-rules": "^2.0.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
"phpunit/phpunit": "^8.5.31 || ^9.5.26",
+ "symfony/polyfill-mbstring": "^1.33",
"webmozarts/strict-phpunit": "^7.5"
},
"type": "library",
@@ -1322,7 +1332,7 @@
],
"support": {
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0"
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/1.4.1"
},
"funding": [
{
@@ -1330,7 +1340,7 @@
"type": "github"
}
],
- "time": "2024-08-06T10:04:20+00:00"
+ "time": "2026-09-29T22:11:39+00:00"
},
{
"name": "kelunik/certificate",
@@ -1392,33 +1402,39 @@
},
{
"name": "league/uri",
- "version": "7.5.1",
+ "version": "7.9.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430"
+ "reference": "fcc872a3d872aa13f935e0cd1887b9abb06da07f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/fcc872a3d872aa13f935e0cd1887b9abb06da07f",
+ "reference": "fcc872a3d872aa13f935e0cd1887b9abb06da07f",
"shasum": ""
},
"require": {
- "league/uri-interfaces": "^7.5",
- "php": "^8.1"
+ "ext-mbstring": "*",
+ "league/uri-interfaces": "^7.9.0",
+ "php": "^8.1",
+ "psr/http-factory": "^1"
},
"conflict": {
"league/uri-schemes": "^1.0"
},
"suggest": {
"ext-bcmath": "to improve IPV4 host parsing",
+ "ext-dom": "to convert the URI into an HTML anchor tag",
"ext-fileinfo": "to create Data URI from file contennts",
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
- "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
- "league/uri-components": "Needed to easily manipulate URI objects components",
+ "ext-uri": "to use the PHP native URI class",
+ "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain",
+ "league/uri-components": "to provide additional tools to manipulate URI objects components",
+ "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -1446,6 +1462,7 @@
"description": "URI manipulation library",
"homepage": "https://uri.thephpleague.com",
"keywords": [
+ "URN",
"data-uri",
"file-uri",
"ftp",
@@ -1458,9 +1475,11 @@
"psr-7",
"query-string",
"querystring",
+ "rfc2141",
"rfc3986",
"rfc3987",
"rfc6570",
+ "rfc8141",
"uri",
"uri-template",
"url",
@@ -1470,7 +1489,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri/tree/7.5.1"
+ "source": "https://github.com/thephpleague/uri/tree/7.9.0"
},
"funding": [
{
@@ -1478,26 +1497,25 @@
"type": "github"
}
],
- "time": "2024-12-08T08:40:02+00:00"
+ "time": "2026-10-16T15:19:33+00:00"
},
{
"name": "league/uri-interfaces",
- "version": "7.5.0",
+ "version": "7.9.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
+ "reference": "eb5f6d24e6a4fe0a8e9c78ded4eb1dfff1404f58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/eb5f6d24e6a4fe0a8e9c78ded4eb1dfff1404f58",
+ "reference": "eb5f6d24e6a4fe0a8e9c78ded4eb1dfff1404f58",
"shasum": ""
},
"require": {
"ext-filter": "*",
"php": "^8.1",
- "psr/http-factory": "^1",
"psr/http-message": "^1.1 || ^2.0"
},
"suggest": {
@@ -1505,6 +1523,7 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -1529,7 +1548,7 @@
"homepage": "https://nyamsprod.com"
}
],
- "description": "Common interfaces and classes for URI representation and interaction",
+ "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI",
"homepage": "https://uri.thephpleague.com",
"keywords": [
"data-uri",
@@ -1554,7 +1573,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0"
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/7.9.0"
},
"funding": [
{
@@ -1562,20 +1581,20 @@
"type": "github"
}
],
- "time": "2024-12-08T08:18:47+00:00"
+ "time": "2026-10-16T15:19:33+00:00"
},
{
"name": "netresearch/jsonmapper",
- "version": "v4.5.0",
+ "version": "v5.0.1",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5"
+ "reference": "980674efdda65913492d29a8fd51c82270dd37bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5",
- "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/980674efdda65913492d29a8fd51c82270dd37bb",
+ "reference": "980674efdda65913492d29a8fd51c82270dd37bb",
"shasum": ""
},
"require": {
@@ -1611,26 +1630,25 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v5.0.1"
},
- "time": "2024-09-08T10:13:13+00:00"
+ "time": "2026-02-22T16:28:03+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v5.5.0",
+ "version": "v5.9.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "ae59794362fe85e051a58ad36b289443f57be7a9"
+ "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9",
- "reference": "ae59794362fe85e051a58ad36b289443f57be7a9",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9e33da9553fe7786f0962b35f4e4ecf01be89def",
+ "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"php": ">=7.4"
@@ -1645,7 +1663,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "5.x-dev"
}
},
"autoload": {
@@ -1669,26 +1687,31 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.9.0"
},
- "time": "2025-05-31T08:24:38+00:00"
+ "time": "2026-09-13T18:51:52+00:00"
},
{
"name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
+ "version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ "reference": "ee15a5a2022c8383906b225055e9496a6a5e6e3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/ee15a5a2022c8383906b225055e9496a6a5e6e3b",
+ "reference": "ee15a5a2022c8383906b225055e9496a6a5e6e3b",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.8",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^4.25"
},
"type": "library",
"extra": {
@@ -1712,7 +1735,7 @@
}
],
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
+ "homepage": "https://www.phpdoc.org",
"keywords": [
"FQSEN",
"phpDocumentor",
@@ -1722,22 +1745,22 @@
],
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.2.1"
},
- "time": "2020-06-27T09:03:43+00:00"
+ "time": "2025-11-10T21:21:55+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.6.2",
+ "version": "6.0.3",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "92dde6a5919e34835c506ac8c523ef095a95ed62"
+ "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/92dde6a5919e34835c506ac8c523ef095a95ed62",
- "reference": "92dde6a5919e34835c506ac8c523ef095a95ed62",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/7bae67520aa9f5ecc506d646810bd40d9da54582",
+ "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582",
"shasum": ""
},
"require": {
@@ -1745,9 +1768,9 @@
"ext-filter": "*",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.7",
- "phpstan/phpdoc-parser": "^1.7|^2.0",
- "webmozart/assert": "^1.9.1"
+ "phpdocumentor/type-resolver": "^2.0",
+ "phpstan/phpdoc-parser": "^2.0",
+ "webmozart/assert": "^1.9.1 || ^2"
},
"require-dev": {
"mockery/mockery": "~1.3.5 || ~1.6.0",
@@ -1756,7 +1779,8 @@
"phpstan/phpstan-mockery": "^1.1",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.5",
- "psalm/phar": "^5.26"
+ "psalm/phar": "^5.26",
+ "shipmonk/dead-code-detector": "^0.5.1"
},
"type": "library",
"extra": {
@@ -1786,44 +1810,44 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.2"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.3"
},
- "time": "2025-04-13T19:20:35+00:00"
+ "time": "2026-03-18T20:49:53+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.10.0",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
+ "reference": "dbe2133bb23e2e33a6834f4ed417f24a1b167769"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/dbe2133bb23e2e33a6834f4ed417f24a1b167769",
+ "reference": "dbe2133bb23e2e33a6834f4ed417f24a1b167769",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
- "php": "^7.3 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.18|^2.0"
+ "phpstan/phpdoc-parser": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "psalm/phar": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-1.x": "1.x-dev"
+ "dev-1.x": "1.x-dev",
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
@@ -1844,22 +1868,22 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/2.1.0"
},
- "time": "2024-11-09T15:12:26+00:00"
+ "time": "2026-09-27T19:32:54+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "2.1.0",
+ "version": "2.3.7",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
+ "reference": "3fcdcf021e840f1ec9383152e3603fc790c7c15b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
- "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/3fcdcf021e840f1ec9383152e3603fc790c7c15b",
+ "reference": "3fcdcf021e840f1ec9383152e3603fc790c7c15b",
"shasum": ""
},
"require": {
@@ -1891,9 +1915,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.7"
},
- "time": "2025-02-19T13:28:12+00:00"
+ "time": "2026-10-26T17:24:37+00:00"
},
{
"name": "psr/container",
@@ -2108,16 +2132,16 @@
},
{
"name": "revolt/event-loop",
- "version": "v1.0.7",
+ "version": "v1.0.9",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3"
+ "reference": "44061cf513e53c6200372fc935ac42271566295d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3",
+ "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/44061cf513e53c6200372fc935ac42271566295d",
+ "reference": "44061cf513e53c6200372fc935ac42271566295d",
"shasum": ""
},
"require": {
@@ -2127,7 +2151,7 @@
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^9",
- "psalm/phar": "^5.15"
+ "psalm/phar": "6.16.*"
},
"type": "library",
"extra": {
@@ -2174,35 +2198,35 @@
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
- "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7"
+ "source": "https://github.com/revoltphp/event-loop/tree/v1.0.9"
},
- "time": "2025-01-25T19:27:39+00:00"
+ "time": "2026-05-16T17:55:38+00:00"
},
{
"name": "sebastian/diff",
- "version": "5.1.1",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
+ "reference": "cd4cabe39f8a4e8ee6818ba99f10a05561ea4ad6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/cd4cabe39f8a4e8ee6818ba99f10a05561ea4ad6",
+ "reference": "cd4cabe39f8a4e8ee6818ba99f10a05561ea4ad6",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0",
- "symfony/process": "^6.4"
+ "phpunit/phpunit": "^12.5.33",
+ "symfony/process": "^7.4.17"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -2235,28 +2259,40 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
+ "source": "https://github.com/sebastianbergmann/diff/tree/7.0.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/diff",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T07:15:17+00:00"
+ "time": "2026-08-25T15:35:54+00:00"
},
{
"name": "spatie/array-to-xml",
- "version": "3.4.0",
+ "version": "3.4.4",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
- "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67"
+ "reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
- "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
+ "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/88b2f3852a922dd73177a68938f8eb2ec70c7224",
+ "reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224",
"shasum": ""
},
"require": {
@@ -2299,7 +2335,7 @@
"xml"
],
"support": {
- "source": "https://github.com/spatie/array-to-xml/tree/3.4.0"
+ "source": "https://github.com/spatie/array-to-xml/tree/3.4.4"
},
"funding": [
{
@@ -2311,51 +2347,51 @@
"type": "github"
}
],
- "time": "2024-12-16T12:45:15+00:00"
+ "time": "2025-12-15T09:00:41+00:00"
},
{
"name": "symfony/console",
- "version": "v6.4.22",
+ "version": "v7.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3"
+ "reference": "21f1bc2296f7ff6043241a8dcbc09559b3732820"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3",
- "reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3",
+ "url": "https://api.github.com/repos/symfony/console/zipball/21f1bc2296f7ff6043241a8dcbc09559b3732820",
+ "reference": "21f1bc2296f7ff6043241a8dcbc09559b3732820",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0|^7.0"
+ "symfony/string": "^7.2|^8.0"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -2389,7 +2425,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.4.22"
+ "source": "https://github.com/symfony/console/tree/v7.4.21"
},
"funding": [
{
@@ -2400,25 +2436,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-05-07T07:05:04+00:00"
+ "time": "2026-10-12T18:45:38+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.6.0",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d",
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d",
"shasum": ""
},
"require": {
@@ -2431,7 +2471,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -2456,7 +2496,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -2467,34 +2507,38 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v6.4.13",
+ "version": "v7.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3"
+ "reference": "fd0e3462be6d32a0d130e8423e4940a7688162d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3",
- "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd0e3462be6d32a0d130e8423e4940a7688162d8",
+ "reference": "fd0e3462be6d32a0d130e8423e4940a7688162d8",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^5.4|^6.4|^7.0"
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -2522,7 +2566,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v6.4.13"
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.21"
},
"funding": [
{
@@ -2533,25 +2577,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-25T15:07:50+00:00"
+ "time": "2026-10-06T20:05:19+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.32.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2",
"shasum": ""
},
"require": {
@@ -2601,7 +2649,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0"
},
"funding": [
{
@@ -2612,25 +2660,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.32.0",
+ "version": "v1.43.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
+ "reference": "5cac8f4db97208823aa353f59a01faad2da52c75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
- "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5cac8f4db97208823aa353f59a01faad2da52c75",
+ "reference": "5cac8f4db97208823aa353f59a01faad2da52c75",
"shasum": ""
},
"require": {
@@ -2679,7 +2731,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.43.0"
},
"funding": [
{
@@ -2690,25 +2742,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-09-25T15:46:47+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.32.0",
+ "version": "v1.43.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c"
+ "reference": "ebd57ccc7edb93d632e184efbe7693d2517bab3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/ebd57ccc7edb93d632e184efbe7693d2517bab3b",
+ "reference": "ebd57ccc7edb93d632e184efbe7693d2517bab3b",
"shasum": ""
},
"require": {
@@ -2760,7 +2816,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.43.0"
},
"funding": [
{
@@ -2771,25 +2827,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-09-23T22:02:09+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.32.0",
+ "version": "v1.43.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
+ "reference": "4d5d331bf731e0aedbc6b2f5e61135b7b7996a72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
- "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/4d5d331bf731e0aedbc6b2f5e61135b7b7996a72",
+ "reference": "4d5d331bf731e0aedbc6b2f5e61135b7b7996a72",
"shasum": ""
},
"require": {
@@ -2841,7 +2901,87 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.43.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-09-24T15:19:04+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php84",
+ "version": "v1.43.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php84.git",
+ "reference": "22c6548499cbe5c5bb072fc0c42312dff062a015"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/22c6548499cbe5c5bb072fc0c42312dff062a015",
+ "reference": "22c6548499cbe5c5bb072fc0c42312dff062a015",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php84\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.43.0"
},
"funding": [
{
@@ -2852,25 +2992,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-23T08:48:59+00:00"
+ "time": "2026-09-23T22:01:09+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.6.0",
+ "version": "v3.7.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
+ "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
+ "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
"shasum": ""
},
"require": {
@@ -2888,7 +3032,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -2924,7 +3068,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.7.3"
},
"funding": [
{
@@ -2935,31 +3079,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-04-25T09:37:31+00:00"
+ "time": "2026-07-27T15:39:01+00:00"
},
{
"name": "symfony/string",
- "version": "v6.4.21",
+ "version": "v7.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "73e2c6966a5aef1d4892873ed5322245295370c6"
+ "reference": "9bc35d074ad16a58c21cd52b18c5cacc4f4c3981"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/73e2c6966a5aef1d4892873ed5322245295370c6",
- "reference": "73e2c6966a5aef1d4892873ed5322245295370c6",
+ "url": "https://api.github.com/repos/symfony/string/zipball/9bc35d074ad16a58c21cd52b18c5cacc4f4c3981",
+ "reference": "9bc35d074ad16a58c21cd52b18c5cacc4f4c3981",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-grapheme": "~1.33",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
@@ -2967,11 +3116,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/intl": "^6.2|^7.0",
+ "symfony/emoji": "^7.1|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^5.4|^6.0|^7.0"
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3010,7 +3159,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.4.21"
+ "source": "https://github.com/symfony/string/tree/v7.4.21"
},
"funding": [
{
@@ -3021,25 +3170,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-04-18T15:23:29+00:00"
+ "time": "2026-10-03T15:15:30+00:00"
},
{
"name": "vimeo/psalm",
- "version": "6.5.0",
+ "version": "6.20.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
- "reference": "38fc8444edf0cebc9205296ee6e30e906ade783b"
+ "reference": "376425b8e67b79773add388e16b4f6be5693dc87"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/38fc8444edf0cebc9205296ee6e30e906ade783b",
- "reference": "38fc8444edf0cebc9205296ee6e30e906ade783b",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/376425b8e67b79773add388e16b4f6be5693dc87",
+ "reference": "376425b8e67b79773add388e16b4f6be5693dc87",
"shasum": ""
},
"require": {
@@ -3049,6 +3202,7 @@
"composer-runtime-api": "^2",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^2.0 || ^3.0",
+ "danog/advanced-json-rpc": "^3.1",
"dnoegel/php-xdg-base-dir": "^0.1.1",
"ext-ctype": "*",
"ext-dom": "*",
@@ -3057,16 +3211,16 @@
"ext-mbstring": "*",
"ext-simplexml": "*",
"ext-tokenizer": "*",
- "felixfbecker/advanced-json-rpc": "^3.1",
"felixfbecker/language-server-protocol": "^1.5.3",
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
- "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
- "nikic/php-parser": "^5.0.0",
- "php": "~8.1.17 || ~8.2.4 || ~8.3.0 || ~8.4.0",
- "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0",
+ "netresearch/jsonmapper": "^5.0",
+ "nikic/php-parser": "^5.2.0",
+ "php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0",
+ "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
- "symfony/console": "^6.0 || ^7.0",
- "symfony/filesystem": "^6.0 || ^7.0"
+ "symfony/console": "^6.0 || ^7.0 || ^8.0",
+ "symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0",
+ "symfony/polyfill-php84": "^1.31.0"
},
"provide": {
"psalm/psalm": "self.version"
@@ -3075,6 +3229,7 @@
"amphp/phpunit-util": "^3",
"bamarni/composer-bin-plugin": "^1.4",
"brianium/paratest": "^6.9",
+ "danog/class-finder": "^0.4.8",
"dg/bypass-finals": "^1.5",
"ext-curl": "*",
"mockery/mockery": "^1.5",
@@ -3086,7 +3241,7 @@
"psalm/plugin-phpunit": "^0.19",
"slevomat/coding-standard": "^8.4",
"squizlabs/php_codesniffer": "^3.6",
- "symfony/process": "^6.0 || ^7.0"
+ "symfony/process": "^6.0 || ^7.0 || ^8.0"
},
"suggest": {
"ext-curl": "In order to send data to shepherd",
@@ -3142,37 +3297,41 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
- "time": "2025-02-07T20:42:25+00:00"
+ "time": "2026-10-20T11:18:42+00:00"
},
{
"name": "webmozart/assert",
- "version": "1.11.0",
+ "version": "2.5.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ "reference": "8a163706bbcac613733dba03f51e13b5eb1bb819"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/8a163706bbcac613733dba03f51e13b5eb1bb819",
+ "reference": "8a163706bbcac613733dba03f51e13b5eb1bb819",
"shasum": ""
},
"require": {
"ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
+ "ext-date": "*",
+ "ext-filter": "*",
+ "php": "^8.2"
},
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
+ "suggest": {
+ "ext-intl": "",
+ "ext-simplexml": "",
+ "ext-spl": ""
},
"type": "library",
"extra": {
+ "psalm": {
+ "pluginClass": "Webmozart\\Assert\\PsalmPlugin"
+ },
"branch-alias": {
- "dev-master": "1.10-dev"
+ "dev-master": "2.0-dev",
+ "dev-feature/2-0": "2.0-dev"
}
},
"autoload": {
@@ -3188,6 +3347,10 @@
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
+ },
+ {
+ "name": "Woody Gilk",
+ "email": "woody.gilk@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
@@ -3198,9 +3361,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ "source": "https://github.com/webmozarts/assert/tree/2.5.0"
},
- "time": "2022-06-03T18:03:27+00:00"
+ "time": "2026-10-05T23:14:19+00:00"
}
],
"aliases": [],
@@ -3211,7 +3374,7 @@
"platform": {},
"platform-dev": {},
"platform-overrides": {
- "php": "8.1.17"
+ "php": "8.3.17"
},
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.9.0"
}