summaryrefslogtreecommitdiffstats
path: root/lib/Controller/NavigationController.php
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2018-10-02 12:25:36 +0200
committerMaxence Lange <maxence@artificial-owl.com>2018-10-02 12:25:36 +0200
commit0ab2dcd522a837d648d9559cd623dac96358e7ff (patch)
treea310db03fc14999c53021c160cb5c9a3bca4917b /lib/Controller/NavigationController.php
parentf05f47807e0087ece7ac8391a9b801196a6e5b18 (diff)
Actor is now created on first use of the app
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib/Controller/NavigationController.php')
-rw-r--r--lib/Controller/NavigationController.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/Controller/NavigationController.php b/lib/Controller/NavigationController.php
index e6e35a0f..b3cbc543 100644
--- a/lib/Controller/NavigationController.php
+++ b/lib/Controller/NavigationController.php
@@ -30,7 +30,10 @@ declare(strict_types=1);
namespace OCA\Social\Controller;
+use OC\User\NoUserException;
use OCA\Social\AppInfo\Application;
+use OCA\Social\Exceptions\AccountAlreadyExistsException;
+use OCA\Social\Service\ActorService;
use OCA\Social\Service\MiscService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\TemplateResponse;
@@ -40,12 +43,18 @@ use OCP\IURLGenerator;
class NavigationController extends Controller {
+ /** @var string */
+ private $userId;
+
/** @var IConfig */
private $config;
/** @var IURLGenerator */
private $urlGenerator;
+ /** @var ActorService */
+ private $actorService;
+
/** @var MiscService */
private $miscService;
@@ -54,18 +63,22 @@ class NavigationController extends Controller {
* NavigationController constructor.
*
* @param IRequest $request
+ * @param string $userId
* @param IConfig $config
* @param IURLGenerator $urlGenerator
* @param MiscService $miscService
*/
public function __construct(
- IRequest $request, IConfig $config, IURLGenerator $urlGenerator, MiscService $miscService
+ IRequest $request, string $userId, IConfig $config, IURLGenerator $urlGenerator,
+ ActorService $actorService, MiscService $miscService
) {
parent::__construct(Application::APP_NAME, $request);
+ $this->userId = $userId;
$this->config = $config;
$this->urlGenerator = $urlGenerator;
+ $this->actorService = $actorService;
$this->miscService = $miscService;
}
@@ -78,10 +91,17 @@ class NavigationController extends Controller {
* @NoSubAdminRequired
*
* @return TemplateResponse
+ * @throws NoUserException
*/
public function navigate(): TemplateResponse {
$data = [];
+ try {
+ $this->actorService->createActor($this->userId, $this->userId);
+ } catch (AccountAlreadyExistsException $e) {
+ // we do nothing
+ }
+
return new TemplateResponse(Application::APP_NAME, 'main', $data);
}