summaryrefslogtreecommitdiffstats
path: root/lib/Controller/LocalController.php
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2018-12-04 07:27:56 -0100
committerMaxence Lange <maxence@artificial-owl.com>2018-12-04 07:27:56 -0100
commit0ce9d6fa6cf4852ed34bc0f00801b012803167c2 (patch)
tree89d204884fba102a8a64d34cfbce69efcf4c1085 /lib/Controller/LocalController.php
parentc45cfe6b497cc92db806fd6f8b51f3560eac3b08 (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.php52
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) {
+ }
+ }
+
}