. */ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\System; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\System\CronRequest; use FireflyIII\Support\Http\Controllers\CronRunner; use Illuminate\Http\JsonResponse; /** * Class CronController */ class CronController extends Controller { use CronRunner; /** * This endpoint is documented at: * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/about/getCron */ public function cron(CronRequest $request): JsonResponse { $config = $request->getAll(); app('log')->debug(sprintf('Now in %s', __METHOD__)); app('log')->debug(sprintf('Date is %s', $config['date']->toIsoString())); $return = []; $return['recurring_transactions'] = $this->runRecurring($config['force'], $config['date']); $return['auto_budgets'] = $this->runAutoBudget($config['force'], $config['date']); if (true === config('cer.download_enabled')) { $return['exchange_rates'] = $this->exchangeRatesCronJob($config['force'], $config['date']); } $return['bill_warnings'] = $this->billWarningCronJob($config['force'], $config['date']); return response()->json($return); } }