diff options
author | Maxence Lange <maxence@artificial-owl.com> | 2018-12-04 07:27:56 -0100 |
---|---|---|
committer | Maxence Lange <maxence@artificial-owl.com> | 2018-12-04 07:27:56 -0100 |
commit | 0ce9d6fa6cf4852ed34bc0f00801b012803167c2 (patch) | |
tree | 89d204884fba102a8a64d34cfbce69efcf4c1085 /lib/Controller/LocalController.php | |
parent | c45cfe6b497cc92db806fd6f8b51f3560eac3b08 (diff) |
Details also when displaying followers of an account
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib/Controller/LocalController.php')
-rw-r--r-- | lib/Controller/LocalController.php | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/lib/Controller/LocalController.php b/lib/Controller/LocalController.php index 66d8e9a6..78184f39 100644 --- a/lib/Controller/LocalController.php +++ b/lib/Controller/LocalController.php @@ -33,7 +33,10 @@ namespace OCA\Social\Controller; use daita\MySmallPhpTools\Traits\Nextcloud\TNCDataResponse; use daita\MySmallPhpTools\Traits\TArrayTools; use Exception; +use OC\User\NoUserException; use OCA\Social\AppInfo\Application; +use OCA\Social\Exceptions\AccountAlreadyExistsException; +use OCA\Social\Exceptions\ActorDoesNotExistException; use OCA\Social\Exceptions\InvalidResourceException; use OCA\Social\Model\ActivityPub\ACore; use OCA\Social\Model\Post; @@ -364,6 +367,8 @@ class LocalController extends Controller { * @return DataResponse */ public function currentFollowers(): DataResponse { + $this->initViewer(); + try { $actor = $this->actorService->getActorFromUserId($this->userId); $followers = $this->followService->getFollowers($actor); @@ -383,6 +388,8 @@ class LocalController extends Controller { * @return DataResponse */ public function currentFollowing(): DataResponse { + $this->initViewer(); + try { $actor = $this->actorService->getActorFromUserId($this->userId); $followers = $this->followService->getFollowing($actor); @@ -407,12 +414,7 @@ class LocalController extends Controller { * @return DataResponse */ public function accountInfo(string $username): DataResponse { - - try { - $viewer = $this->actorService->getActorFromUserId($this->userId, true); - $this->personService->setViewerId($viewer->getId()); - } catch (Exception $e) { - } + $this->initViewer(); try { @@ -436,6 +438,8 @@ class LocalController extends Controller { * @return DataResponse */ public function accountFollowers(string $username): DataResponse { + $this->initViewer(); + try { $actor = $this->actorService->getActor($username); $followers = $this->followService->getFollowers($actor); @@ -457,11 +461,13 @@ class LocalController extends Controller { * @return DataResponse */ public function accountFollowing(string $username): DataResponse { + $this->initViewer(); + try { $actor = $this->actorService->getActor($username); - $followers = $this->followService->getFollowing($actor); + $following = $this->followService->getFollowing($actor); - return $this->success($followers); + return $this->success($following); } catch (Exception $e) { return $this->fail($e); } @@ -481,11 +487,7 @@ class LocalController extends Controller { * @return DataResponse */ public function globalAccountInfo(string $account): DataResponse { - try { - $viewer = $this->actorService->getActorFromUserId($this->userId, true); - $this->personService->setViewerId($viewer->getId()); - } catch (Exception $e) { - } + $this->initViewer(); try { $actor = $this->personService->getFromAccount($account); @@ -510,6 +512,8 @@ class LocalController extends Controller { * @return DataResponse */ public function globalActorInfo(string $id): DataResponse { + $this->initViewer(); + try { $actor = $this->personService->getFromId($id); @@ -537,6 +541,7 @@ class LocalController extends Controller { $response = new FileDisplayResponse($document); $response->cacheFor(86400); + return $response; } @@ -561,13 +566,7 @@ class LocalController extends Controller { * @throws Exception */ public function globalAccountsSearch(string $search): DataResponse { - try { - $viewer = $this->actorService->getActorFromUserId($this->userId, true); - } catch (Exception $e) { - throw new Exception(); - } - - $this->personService->setViewerId($viewer->getId()); + $this->initViewer(); /* Look for an exactly matching account */ $match = null; @@ -615,5 +614,18 @@ class LocalController extends Controller { } } + + /** + * @throws Exception + */ + private function initViewer() { + try { + $viewer = $this->actorService->getActorFromUserId($this->userId, true); + $this->followService->setViewerId($viewer->getId()); + $this->personService->setViewerId($viewer->getId()); + } catch (Exception $e) { + } + } + } |