From a9a4629c8b59d95f9fbc1bfc6ab2af76885491bc Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Tue, 13 Jun 2023 11:44:31 -0100 Subject: [PATCH] fill status with right export format Signed-off-by: Maxence Lange --- lib/Db/SocialCrossQueryBuilder.php | 19 ++++++++++--------- lib/Db/StreamRequestBuilder.php | 6 +++--- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/Db/SocialCrossQueryBuilder.php b/lib/Db/SocialCrossQueryBuilder.php index ae9e3291..713b479c 100644 --- a/lib/Db/SocialCrossQueryBuilder.php +++ b/lib/Db/SocialCrossQueryBuilder.php @@ -144,7 +144,7 @@ class SocialCrossQueryBuilder extends SocialCoreQueryBuilder { public function parseLeftJoinStream( array $data, string $prefix = '', - ?SocialQueryBuilder $qb = null + int $exportFormat = 0 ): Stream { $new = []; foreach ($data as $k => $v) { @@ -153,14 +153,15 @@ class SocialCrossQueryBuilder extends SocialCoreQueryBuilder { } } - $stream = new Stream(); - $stream->importFromDatabase($new); - $stream->setExportFormat($qb?->getFormat() ?? 0); - if ($stream->getId() === '') { + if (($new['nid'] ?? '') === '') { throw new InvalidResourceException(); } - $actor = $this->parseLeftJoinCacheActors($data, $prefix . 'cacheactor_', $qb); + $stream = new Stream(); + $stream->importFromDatabase($new); + $stream->setExportFormat($exportFormat); + + $actor = $this->parseLeftJoinCacheActors($data, $prefix . 'cacheactor_', $exportFormat); $stream->setActor($actor); return $stream; @@ -176,7 +177,7 @@ class SocialCrossQueryBuilder extends SocialCoreQueryBuilder { public function parseLeftJoinCacheActors( array $data, string $prefix = '', - ?SocialQueryBuilder $qb = null + int $exportFormat = 0 ): Person { $new = []; @@ -188,10 +189,10 @@ class SocialCrossQueryBuilder extends SocialCoreQueryBuilder { $actor = new Person(); $actor->importFromDatabase($new); - $actor->setExportFormat($qb?->getFormat() ?? 0); + $actor->setExportFormat($exportFormat); if (!AP::$activityPub->isActor($actor)) { - throw new InvalidResourceException(); + throw new InvalidResourceException('actor not actor'); } try { diff --git a/lib/Db/StreamRequestBuilder.php b/lib/Db/StreamRequestBuilder.php index 4d4e9077..ee1b5862 100644 --- a/lib/Db/StreamRequestBuilder.php +++ b/lib/Db/StreamRequestBuilder.php @@ -36,6 +36,7 @@ use OCA\Social\Exceptions\InvalidResourceException; use OCA\Social\Exceptions\ItemUnknownException; use OCA\Social\Exceptions\SocialAppConfigException; use OCA\Social\Exceptions\StreamNotFoundException; +use OCA\Social\Model\ActivityPub\ACore; use OCA\Social\Model\ActivityPub\Object\Announce; use OCA\Social\Model\ActivityPub\Stream; use OCA\Social\Model\InstancePath; @@ -217,7 +218,7 @@ class StreamRequestBuilder extends CoreRequestBuilder { } try { - $actor = $qb->parseLeftJoinCacheActors($data, 'cacheactor_', $qb); + $actor = $qb->parseLeftJoinCacheActors($data, 'cacheactor_', $qb->getFormat()); $actor->setExportFormat($qb->getFormat()); $item->setCompleteDetails(true); $item->setActor($actor); @@ -225,8 +226,7 @@ class StreamRequestBuilder extends CoreRequestBuilder { } try { - $object = $qb->parseLeftJoinStream($data, 'objectstream_', $qb); - $object->setExportFormat($qb->getFormat()); + $object = $qb->parseLeftJoinStream($data, 'objectstream_', ACore::FORMAT_LOCAL); $item->setObject($object); } catch (InvalidResourceException $e) { }