Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/passman.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'controller/internalcontroller.php')
-rw-r--r--controller/internalcontroller.php81
1 files changed, 81 insertions, 0 deletions
diff --git a/controller/internalcontroller.php b/controller/internalcontroller.php
new file mode 100644
index 00000000..defab3de
--- /dev/null
+++ b/controller/internalcontroller.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Nextcloud - passman
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Sander Brand <brantje@gmail.com>
+ * @copyright Sander Brand 2016
+ */
+
+namespace OCA\Passman\Controller;
+
+use OCP\IRequest;
+use OCP\AppFramework\Http\JSONResponse;
+use OCP\AppFramework\ApiController;
+use OCA\Passman\Service\CredentialService;
+
+
+class InternalController extends ApiController {
+ private $userId;
+ private $credentialService;
+
+ public function __construct($AppName,
+ IRequest $request,
+ $UserId,
+ CredentialService $credentialService) {
+ parent::__construct($AppName, $request);
+ $this->userId = $UserId;
+ $this->credentialService = $credentialService;
+ }
+
+ /**
+ * @NoAdminRequired
+ */
+ public function remind($credential_id) {
+ $credential = $this->credentialService->getCredentialById($credential_id, $this->userId);
+ $credential->setExpireTime(time() + (24 * 60 * 60));
+ $this->credentialService->upd($credential);
+
+ $manager = \OC::$server->getNotificationManager();
+ $notification = $manager->createNotification();
+ $notification->setApp('passman')
+ ->setObject('credential', $credential_id)
+ ->setUser($this->userId);
+ $manager->markProcessed($notification);
+ }
+
+ /**
+ * @NoAdminRequired
+ */
+ public function read($credential_id) {
+
+ $credential = $this->credentialService->getCredentialById($credential_id, $this->userId);
+ $credential->setExpireTime(0);
+ $this->credentialService->upd($credential);
+
+ $manager = \OC::$server->getNotificationManager();
+ $notification = $manager->createNotification();
+ $notification->setApp('passman')
+ ->setObject('credential', $credential_id)
+ ->setUser($this->userId);
+ $manager->markProcessed($notification);
+ }
+
+ /**
+ * @NoAdminRequired
+ */
+ public function getAppVersion() {
+ return new JSONResponse(array('version' => '1.0.2.25'));
+ }
+
+ /**
+ * @NoAdminRequired
+ */
+ public function generatePerson() {
+ $random_person = json_decode(file_get_contents('http://api.namefake.com/'));
+ return new JSONResponse($random_person);
+ }
+
+} \ No newline at end of file