%PDF- %PDF-
| Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Controller/ |
| Current File : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Controller/CronController.php |
<?php
/*
* @copyright 2024 Passwords App
*
* @author Marius David Wieschollek
* @license AGPL-3.0
*
* This file is part of the Passwords App
* created by Marius David Wieschollek.
*/
namespace OCA\Passwords\Controller;
use OCA\Passwords\Cron\SynchronizeShares;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\Attribute\UserRateLimit;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
/**
* Class CronController
*
* @package OCA\Passwords\Controller
*/
class CronController extends Controller {
/**
* @var SynchronizeShares
*/
protected SynchronizeShares $synchronizeShares;
/**
* CronController constructor.
*
* @param string $appName
* @param IRequest $request
* @param SynchronizeShares $synchronizeShares
*/
public function __construct(string $appName, IRequest $request, SynchronizeShares $synchronizeShares) {
parent::__construct($appName, $request);
$this->synchronizeShares = $synchronizeShares;
}
/**
*
* @param string $job
*
* @return JSONResponse
*/
#[CORS]
#[NoCSRFRequired]
#[NoAdminRequired]
#[UserRateLimit(limit: 3, period: 10)]
public function execute(string $job): JSONResponse {
if($job === 'sharing') {
return new JSONResponse(['success' => $this->synchronizeShares->runManually()]);
}
return new JSONResponse(['success' => false], Http::STATUS_NOT_FOUND);
}
}