passman/controller/internalcontroller.php
2016-12-21 17:49:29 +01:00

82 lines
No EOL
2.1 KiB
PHP

<?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() {
$app = new \OC_App();
return new JSONResponse(array('version' => $app->getAppVersion('passman')));
}
/**
* @NoAdminRequired
*/
public function generatePerson() {
$random_person = json_decode(file_get_contents('http://api.namefake.com/'));
return new JSONResponse($random_person);
}
}