mirror of
https://github.com/nextcloud/passman.git
synced 2024-11-15 12:32:46 +08:00
81 lines
2.1 KiB
PHP
81 lines
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() {
|
||
|
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);
|
||
|
}
|
||
|
|
||
|
}
|