diff --git a/.ci/rector.php b/.ci/rector.php index 3ba2f28d41..ca37bf1431 100644 --- a/.ci/rector.php +++ b/.ci/rector.php @@ -32,6 +32,7 @@ return RectorConfig::configure() ]) ->withPaths([ // __DIR__ . '/../app', +__DIR__ . '/../app/Api', __DIR__ . '/../app/Http', // __DIR__ . '/../bootstrap', // __DIR__ . '/../config', diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 8fdbe4897a..e3260c0370 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -51,7 +51,10 @@ jobs: wget -q https://github.com/firefly-iii/test-fixtures/raw/refs/heads/main/test-database.sqlite -O storage/database/database.sqlite - name: "Upgrades the database to the latest version" - run: php artisan firefly-iii:upgrade-database + run: | + php artisan firefly-iii:upgrade-database + chmod 600 storage/oauth-public.key + chmod 600 storage/oauth-private.key - name: "Integrity Database Report" run: php artisan firefly-iii:report-integrity @@ -63,7 +66,7 @@ jobs: run: sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.xml - name: SonarCloud Scan - uses: SonarSource/sonarcloud-github-action@master + uses: SonarSource/sonarqube-scan-action@v5.2.0 env: GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PERSONAL_ACCESS_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/app/Api/V1/Controllers/Autocomplete/TransactionController.php b/app/Api/V1/Controllers/Autocomplete/TransactionController.php index 3cba382e52..a6785dbc38 100644 --- a/app/Api/V1/Controllers/Autocomplete/TransactionController.php +++ b/app/Api/V1/Controllers/Autocomplete/TransactionController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Autocomplete; +use FireflyIII\Models\TransactionGroup; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest; use FireflyIII\Enums\UserRoleEnum; @@ -102,7 +103,7 @@ class TransactionController extends Controller if (is_numeric($data['query'])) { // search for group, not journal. $firstResult = $this->groupRepository->find((int) $data['query']); - if (null !== $firstResult) { + if ($firstResult instanceof TransactionGroup) { // group may contain multiple journals, each a result: foreach ($firstResult->transactionJournals as $journal) { $result->push($journal); diff --git a/app/Api/V1/Controllers/Chart/AccountController.php b/app/Api/V1/Controllers/Chart/AccountController.php index 21150047c0..dcd85072b9 100644 --- a/app/Api/V1/Controllers/Chart/AccountController.php +++ b/app/Api/V1/Controllers/Chart/AccountController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Chart; +use FireflyIII\Models\TransactionCurrency; use Carbon\Carbon; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Chart\ChartRequest; @@ -99,7 +100,7 @@ class AccountController extends Controller private function renderAccountData(array $params, Account $account): void { $currency = $this->repository->getAccountCurrency($account); - if (null === $currency) { + if (!$currency instanceof TransactionCurrency) { $currency = $this->default; } $currentSet = [ diff --git a/app/Api/V1/Controllers/Models/CurrencyExchangeRate/DestroyController.php b/app/Api/V1/Controllers/Models/CurrencyExchangeRate/DestroyController.php index 9deedea808..30a3b79677 100644 --- a/app/Api/V1/Controllers/Models/CurrencyExchangeRate/DestroyController.php +++ b/app/Api/V1/Controllers/Models/CurrencyExchangeRate/DestroyController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\CurrencyExchangeRate; +use Carbon\Carbon; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Models\CurrencyExchangeRate\DestroyRequest; use FireflyIII\Enums\UserRoleEnum; @@ -59,11 +60,11 @@ class DestroyController extends Controller public function destroy(DestroyRequest $request, TransactionCurrency $from, TransactionCurrency $to): JsonResponse { $date = $request->getDate(); - if (null === $date) { + if (!$date instanceof Carbon) { throw new ValidationException('Date is required'); } $rate = $this->repository->getSpecificRateOnDate($from, $to, $date); - if (null === $rate) { + if (!$rate instanceof CurrencyExchangeRate) { throw new NotFoundHttpException(); } $this->repository->deleteRate($rate); diff --git a/app/Api/V1/Controllers/Models/CurrencyExchangeRate/StoreController.php b/app/Api/V1/Controllers/Models/CurrencyExchangeRate/StoreController.php index fcfb36ab6a..0a88531834 100644 --- a/app/Api/V1/Controllers/Models/CurrencyExchangeRate/StoreController.php +++ b/app/Api/V1/Controllers/Models/CurrencyExchangeRate/StoreController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\CurrencyExchangeRate; +use FireflyIII\Models\CurrencyExchangeRate; use FireflyIII\Api\V1\Requests\Models\CurrencyExchangeRate\StoreRequest; use FireflyIII\Api\V2\Controllers\Controller; use FireflyIII\Repositories\ExchangeRate\ExchangeRateRepositoryInterface; @@ -61,11 +62,11 @@ class StoreController extends Controller // already has rate? $object = $this->repository->getSpecificRateOnDate($from, $to, $date); - if (null !== $object) { + if ($object instanceof CurrencyExchangeRate) { // just update it, no matter. $rate = $this->repository->updateExchangeRate($object, $rate, $date); } - if (null === $object) { + if (!$object instanceof CurrencyExchangeRate) { // store new $rate = $this->repository->storeExchangeRate($from, $to, $rate, $date); } diff --git a/app/Api/V1/Controllers/Models/TransactionCurrency/DestroyController.php b/app/Api/V1/Controllers/Models/TransactionCurrency/DestroyController.php index 7da589703f..e22212bd46 100644 --- a/app/Api/V1/Controllers/Models/TransactionCurrency/DestroyController.php +++ b/app/Api/V1/Controllers/Models/TransactionCurrency/DestroyController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\TransactionCurrency; +use Illuminate\Support\Facades\Validator; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\TransactionCurrency; @@ -74,15 +75,15 @@ class DestroyController extends Controller if (!$this->userRepository->hasRole($admin, 'owner')) { // access denied: $messages = ['currency_code' => '200005: You need the "owner" role to do this.']; - \Validator::make([], $rules, $messages)->validate(); + Validator::make([], $rules, $messages)->validate(); } if ($this->repository->currencyInUse($currency)) { $messages = ['currency_code' => '200006: Currency in use.']; - \Validator::make([], $rules, $messages)->validate(); + Validator::make([], $rules, $messages)->validate(); } if ($this->repository->isFallbackCurrency($currency)) { $messages = ['currency_code' => '200026: Currency is fallback.']; - \Validator::make([], $rules, $messages)->validate(); + Validator::make([], $rules, $messages)->validate(); } $this->repository->destroy($currency); diff --git a/app/Api/V1/Controllers/Models/TransactionLink/StoreController.php b/app/Api/V1/Controllers/Models/TransactionLink/StoreController.php index f3083cb7fe..89219ff30a 100644 --- a/app/Api/V1/Controllers/Models/TransactionLink/StoreController.php +++ b/app/Api/V1/Controllers/Models/TransactionLink/StoreController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\TransactionLink; +use FireflyIII\Models\TransactionJournal; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Models\TransactionLink\StoreRequest; use FireflyIII\Exceptions\FireflyException; @@ -81,7 +82,7 @@ class StoreController extends Controller $data = $request->getAll(); $inward = $this->journalRepository->find($data['inward_id'] ?? 0); $outward = $this->journalRepository->find($data['outward_id'] ?? 0); - if (null === $inward || null === $outward) { + if (!$inward instanceof TransactionJournal || !$outward instanceof TransactionJournal) { throw new FireflyException('200024: Source or destination does not exist.'); } $data['direction'] = 'inward'; diff --git a/app/Api/V1/Controllers/Models/TransactionLinkType/StoreController.php b/app/Api/V1/Controllers/Models/TransactionLinkType/StoreController.php index c915dd6589..e9aef4aa2a 100644 --- a/app/Api/V1/Controllers/Models/TransactionLinkType/StoreController.php +++ b/app/Api/V1/Controllers/Models/TransactionLinkType/StoreController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\TransactionLinkType; +use Illuminate\Support\Facades\Validator; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Models\TransactionLinkType\StoreRequest; use FireflyIII\Exceptions\FireflyException; @@ -81,7 +82,7 @@ class StoreController extends Controller if (!$this->userRepository->hasRole($admin, 'owner')) { // access denied: $messages = ['name' => '200005: You need the "owner" role to do this.']; - \Validator::make([], $rules, $messages)->validate(); + Validator::make([], $rules, $messages)->validate(); } $data = $request->getAll(); // if currency ID is 0, find the currency by the code: diff --git a/app/Api/V1/Controllers/Models/TransactionLinkType/UpdateController.php b/app/Api/V1/Controllers/Models/TransactionLinkType/UpdateController.php index 0b79bd30a1..9d392ab805 100644 --- a/app/Api/V1/Controllers/Models/TransactionLinkType/UpdateController.php +++ b/app/Api/V1/Controllers/Models/TransactionLinkType/UpdateController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\TransactionLinkType; +use Illuminate\Support\Facades\Validator; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Models\TransactionLinkType\UpdateRequest; use FireflyIII\Exceptions\FireflyException; @@ -85,7 +86,7 @@ class UpdateController extends Controller if (!$this->userRepository->hasRole($admin, 'owner')) { $messages = ['name' => '200005: You need the "owner" role to do this.']; - \Validator::make([], $rules, $messages)->validate(); + Validator::make([], $rules, $messages)->validate(); } $data = $request->getAll(); diff --git a/app/Api/V1/Controllers/Summary/BasicController.php b/app/Api/V1/Controllers/Summary/BasicController.php index 25d2346ea2..2b36ee7775 100644 --- a/app/Api/V1/Controllers/Summary/BasicController.php +++ b/app/Api/V1/Controllers/Summary/BasicController.php @@ -674,15 +674,14 @@ class BasicController extends Controller */ protected function notInDateRange(Carbon $date, Carbon $start, Carbon $end): bool // Validate a preference { - $result = false; if ($start->greaterThanOrEqualTo($date) && $end->greaterThanOrEqualTo($date)) { - $result = true; + return true; } // start and end in the past? use $end if ($start->lessThanOrEqualTo($date) && $end->lessThanOrEqualTo($date)) { - $result = true; + return true; } - return $result; + return false; } } diff --git a/app/Api/V1/Controllers/System/ConfigurationController.php b/app/Api/V1/Controllers/System/ConfigurationController.php index 661b6e457e..281c0712f8 100644 --- a/app/Api/V1/Controllers/System/ConfigurationController.php +++ b/app/Api/V1/Controllers/System/ConfigurationController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\System; +use Illuminate\Support\Facades\Validator; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\System\UpdateRequest; use FireflyIII\Exceptions\FireflyException; @@ -158,7 +159,7 @@ class ConfigurationController extends Controller $rules = ['value' => 'required']; if (!$this->repository->hasRole(auth()->user(), 'owner')) { $messages = ['value' => '200005: You need the "owner" role to do this.']; - \Validator::make([], $rules, $messages)->validate(); + Validator::make([], $rules, $messages)->validate(); } $data = $request->getAll(); $shortName = str_replace('configuration.', '', $name); diff --git a/app/Api/V1/Requests/System/CronRequest.php b/app/Api/V1/Requests/System/CronRequest.php index f5d03d4cf6..ec57cfeb96 100644 --- a/app/Api/V1/Requests/System/CronRequest.php +++ b/app/Api/V1/Requests/System/CronRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\System; +use Carbon\Carbon; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; @@ -58,7 +59,7 @@ class CronRequest extends FormRequest $data['date'] = $this->getCarbonDate('date'); } // catch NULL. - if (null === $data['date']) { + if (!$data['date'] instanceof Carbon) { $data['date'] = today(config('app.timezone')); } diff --git a/app/Api/V2/Controllers/Autocomplete/AccountController.php b/app/Api/V2/Controllers/Autocomplete/AccountController.php index ab52c9bddc..b267c1a09c 100644 --- a/app/Api/V2/Controllers/Autocomplete/AccountController.php +++ b/app/Api/V2/Controllers/Autocomplete/AccountController.php @@ -90,7 +90,7 @@ class AccountController extends Controller 'meta' => [ 'type' => $account->accountType->type, // TODO is multi currency property. - 'currency_id' => null === $currency ? null : (string) $currency->id, + 'currency_id' => $currency instanceof TransactionCurrency ? (string) $currency->id : null, 'currency_code' => $currency?->code, 'currency_symbol' => $currency?->symbol, 'currency_decimal_places' => $currency?->decimal_places, diff --git a/app/Api/V2/Controllers/Chart/AccountController.php b/app/Api/V2/Controllers/Chart/AccountController.php index 49c59cc26b..7f273cae3f 100644 --- a/app/Api/V2/Controllers/Chart/AccountController.php +++ b/app/Api/V2/Controllers/Chart/AccountController.php @@ -94,7 +94,7 @@ class AccountController extends Controller private function renderAccountData(array $params, Account $account): void { $currency = $this->repository->getAccountCurrency($account); - if (null === $currency) { + if (!$currency instanceof TransactionCurrency) { $currency = $this->default; } $currentSet = [ diff --git a/app/Api/V2/Controllers/Controller.php b/app/Api/V2/Controllers/Controller.php index d3c5207fe2..0a2afcfac5 100644 --- a/app/Api/V2/Controllers/Controller.php +++ b/app/Api/V2/Controllers/Controller.php @@ -117,7 +117,7 @@ class Controller extends BaseController app('log')->warning(sprintf('Ignored invalid date "%s" in API v2 controller parameter check: %s', substr((string) $date, 0, 20), $e->getMessage())); } // out of range? set to null. - if (null !== $obj && ($obj->year <= 1900 || $obj->year > 2099)) { + if ($obj instanceof Carbon && ($obj->year <= 1900 || $obj->year > 2099)) { app('log')->warning(sprintf('Refuse to use date "%s" in API v2 controller parameter check: %s', $field, $obj->toAtomString())); $obj = null; } diff --git a/app/Api/V2/Controllers/Summary/BasicController.php b/app/Api/V2/Controllers/Summary/BasicController.php index 079f7f7305..e9402880d2 100644 --- a/app/Api/V2/Controllers/Summary/BasicController.php +++ b/app/Api/V2/Controllers/Summary/BasicController.php @@ -398,15 +398,14 @@ class BasicController extends Controller */ protected function notInDateRange(Carbon $date, Carbon $start, Carbon $end): bool // Validate a preference { - $result = false; if ($start->greaterThanOrEqualTo($date) && $end->greaterThanOrEqualTo($date)) { - $result = true; + return true; } // start and end in the past? use $end if ($start->lessThanOrEqualTo($date) && $end->lessThanOrEqualTo($date)) { - $result = true; + return true; } - return $result; + return false; } } diff --git a/app/Api/V2/Controllers/Transaction/List/AccountController.php b/app/Api/V2/Controllers/Transaction/List/AccountController.php index 1ab79af7a9..7ba12c9940 100644 --- a/app/Api/V2/Controllers/Transaction/List/AccountController.php +++ b/app/Api/V2/Controllers/Transaction/List/AccountController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Controllers\Transaction\List; +use Carbon\Carbon; use FireflyIII\Api\V2\Controllers\Controller; use FireflyIII\Api\V2\Request\Model\Transaction\ListRequest; use FireflyIII\Helpers\Collector\GroupCollectorInterface; @@ -62,11 +63,11 @@ class AccountController extends Controller $start = $request->getStartDate(); $end = $request->getEndDate(); - if (null !== $start) { + if ($start instanceof Carbon) { app('log')->debug(sprintf('Set start date to %s', $start->toIso8601String())); $collector->setStart($start); } - if (null !== $end) { + if ($end instanceof Carbon) { app('log')->debug(sprintf('Set end date to %s', $start->toIso8601String())); $collector->setEnd($end); } diff --git a/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php b/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php index 9f083d3935..a66e960f82 100644 --- a/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php +++ b/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php @@ -53,7 +53,7 @@ class InfiniteListRequest extends FormRequest $start = $this->getStartDate(); $end = $this->getEndDate(); - if (null !== $start && null !== $end) { + if ($start instanceof Carbon && $end instanceof Carbon) { $array['start'] = $start->format('Y-m-d'); $array['end'] = $end->format('Y-m-d'); } diff --git a/app/Api/V2/Request/Model/Transaction/ListRequest.php b/app/Api/V2/Request/Model/Transaction/ListRequest.php index ff6f767e30..17cf22b78a 100644 --- a/app/Api/V2/Request/Model/Transaction/ListRequest.php +++ b/app/Api/V2/Request/Model/Transaction/ListRequest.php @@ -49,7 +49,7 @@ class ListRequest extends FormRequest $start = $this->getStartDate(); $end = $this->getEndDate(); - if (null !== $start && null !== $end) { + if ($start instanceof Carbon && $end instanceof Carbon) { $array['start'] = $start->format('Y-m-d'); $array['end'] = $end->format('Y-m-d'); } diff --git a/app/Console/Commands/Correction/CorrectsDatabase.php b/app/Console/Commands/Correction/CorrectsDatabase.php index 1d9ea62112..974d4a19c0 100644 --- a/app/Console/Commands/Correction/CorrectsDatabase.php +++ b/app/Console/Commands/Correction/CorrectsDatabase.php @@ -26,6 +26,7 @@ namespace FireflyIII\Console\Commands\Correction; use FireflyIII\Console\Commands\ShowsFriendlyMessages; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Schema; class CorrectsDatabase extends Command { @@ -40,7 +41,7 @@ class CorrectsDatabase extends Command public function handle(): int { // if table does not exist, return false - if (!\Schema::hasTable('users')) { + if (!Schema::hasTable('users')) { $this->friendlyError('No "users"-table, will not continue.'); return 1; diff --git a/app/Console/Commands/Integrity/ReportsIntegrity.php b/app/Console/Commands/Integrity/ReportsIntegrity.php index 2ac856b24b..46e5427ad6 100644 --- a/app/Console/Commands/Integrity/ReportsIntegrity.php +++ b/app/Console/Commands/Integrity/ReportsIntegrity.php @@ -26,6 +26,7 @@ namespace FireflyIII\Console\Commands\Integrity; use FireflyIII\Console\Commands\ShowsFriendlyMessages; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Schema; class ReportsIntegrity extends Command { @@ -41,7 +42,7 @@ class ReportsIntegrity extends Command public function handle(): int { // if table does not exist, return false - if (!\Schema::hasTable('users')) { + if (!Schema::hasTable('users')) { return 1; } $commands = [ diff --git a/app/Console/Commands/Upgrade/AddsTransactionIdentifiers.php b/app/Console/Commands/Upgrade/AddsTransactionIdentifiers.php index 281078dee2..aa2b108dea 100644 --- a/app/Console/Commands/Upgrade/AddsTransactionIdentifiers.php +++ b/app/Console/Commands/Upgrade/AddsTransactionIdentifiers.php @@ -31,6 +31,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Journal\JournalCLIRepositoryInterface; use Illuminate\Console\Command; use Illuminate\Database\QueryException; +use Illuminate\Support\Facades\Schema; class AddsTransactionIdentifiers extends Command { @@ -65,7 +66,7 @@ class AddsTransactionIdentifiers extends Command } // if table does not exist, return false - if (!\Schema::hasTable('transaction_journals')) { + if (!Schema::hasTable('transaction_journals')) { return 0; } diff --git a/app/Factory/TransactionFactory.php b/app/Factory/TransactionFactory.php index 83294e2045..1065b7bda3 100644 --- a/app/Factory/TransactionFactory.php +++ b/app/Factory/TransactionFactory.php @@ -32,6 +32,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Rules\UniqueIban; use FireflyIII\Services\Internal\Update\AccountUpdateService; use Illuminate\Database\QueryException; +use Illuminate\Support\Facades\Validator; /** * Class TransactionFactory @@ -152,7 +153,7 @@ class TransactionFactory return; } // validate info: - $validator = \Validator::make(['iban' => $this->accountInformation['iban']], [ + $validator = Validator::make(['iban' => $this->accountInformation['iban']], [ 'iban' => ['required', new UniqueIban($this->account, $this->account->accountType->type)], ]); if ($validator->fails()) { diff --git a/app/Handlers/Events/UserEventHandler.php b/app/Handlers/Events/UserEventHandler.php index 62643d884e..70e2c8dab2 100644 --- a/app/Handlers/Events/UserEventHandler.php +++ b/app/Handlers/Events/UserEventHandler.php @@ -54,8 +54,8 @@ use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\User; use Illuminate\Auth\Events\Login; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Notification; -use Mail; /** * Class UserEventHandler. @@ -266,7 +266,7 @@ class UserEventHandler $url = route('profile.confirm-email-change', [$token->data]); try { - \Mail::to($newEmail)->send(new ConfirmEmailChangeMail($newEmail, $oldEmail, $url)); + Mail::to($newEmail)->send(new ConfirmEmailChangeMail($newEmail, $oldEmail, $url)); } catch (\Exception $e) { app('log')->error($e->getMessage()); app('log')->error($e->getTraceAsString()); @@ -291,7 +291,7 @@ class UserEventHandler $url = route('profile.undo-email-change', [$token->data, $hashed]); try { - \Mail::to($oldEmail)->send(new UndoEmailChangeMail($newEmail, $oldEmail, $url)); + Mail::to($oldEmail)->send(new UndoEmailChangeMail($newEmail, $oldEmail, $url)); } catch (\Exception $e) { app('log')->error($e->getMessage()); app('log')->error($e->getTraceAsString()); @@ -355,7 +355,7 @@ class UserEventHandler $url = route('invite', [$event->invitee->invite_code]); try { - \Mail::to($invitee)->send(new InvitationMail($invitee, $admin, $url)); + Mail::to($invitee)->send(new InvitationMail($invitee, $admin, $url)); } catch (\Exception $e) { app('log')->error($e->getMessage()); app('log')->error($e->getTraceAsString()); diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 50fc2118a4..7756ca861b 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -36,7 +36,7 @@ use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\View; -use Route; +use Illuminate\Support\Facades\Route; /** * Class Controller. diff --git a/app/Http/Controllers/Profile/MfaController.php b/app/Http/Controllers/Profile/MfaController.php index 675b95d6f3..333801c380 100644 --- a/app/Http/Controllers/Profile/MfaController.php +++ b/app/Http/Controllers/Profile/MfaController.php @@ -24,6 +24,8 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Profile; +use Illuminate\Support\Facades\Cookie; +use PragmaRX\Google2FALaravel\Facade as Google2FA; use Carbon\Carbon; use FireflyIII\Events\Security\DisabledMFA; use FireflyIII\Events\Security\EnabledMFA; @@ -182,7 +184,7 @@ class MfaController extends Controller // also logout current 2FA tokens. $cookieName = config('google2fa.cookie_name', 'google2fa_token'); - \Cookie::forget($cookieName); + Cookie::forget($cookieName); // send user notification. Log::channel('audit')->info(sprintf('User "%s" has disabled MFA', $user->email)); @@ -215,8 +217,8 @@ class MfaController extends Controller } $domain = $this->getDomain(); - $secret = \Google2FA::generateSecretKey(); - $image = \Google2FA::getQRCodeInline($domain, auth()->user()->email, $secret); + $secret = Google2FA::generateSecretKey(); + $image = Google2FA::getQRCodeInline($domain, auth()->user()->email, $secret); app('preferences')->set('temp-mfa-secret', $secret); @@ -272,7 +274,7 @@ class MfaController extends Controller // make sure MFA is logged out. if ('testing' !== config('app.env')) { - \Google2FA::logout(); + Google2FA::logout(); } // drop all info from session: diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 74b9dad6f3..031b09a785 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; use FireflyIII\Events\UserChangedEmail; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\ValidationException; @@ -154,7 +156,8 @@ class ProfileController extends Controller if (0 === $count) { /** @var ClientRepository $repository */ $repository = app(ClientRepository::class); - $repository->createPersonalAccessClient(null, config('app.name').' Personal Access Client', 'http://localhost'); + $name = sprintf('%s Personal Access Grant Client', config('app.name')); + $repository->createPersonalAccessClient(null, $name, 'http://localhost'); } $accessToken = app('preferences')->get('access_token'); @@ -203,7 +206,7 @@ class ProfileController extends Controller $existing = $repository->findByEmail($newEmail); if ($existing instanceof User) { // force user logout. - \Auth::guard()->logout(); // @phpstan-ignore-line (does not recognize function) + Auth::guard()->logout(); // @phpstan-ignore-line (does not recognize function) $request->session()->invalidate(); session()->flash('success', (string) trans('firefly.email_changed')); @@ -217,7 +220,7 @@ class ProfileController extends Controller event(new UserChangedEmail($user, $newEmail, $oldEmail)); // force user logout. - \Auth::guard()->logout(); // @phpstan-ignore-line (does not recognize function) + Auth::guard()->logout(); // @phpstan-ignore-line (does not recognize function) $request->session()->invalidate(); session()->flash('success', (string) trans('firefly.email_changed')); @@ -310,7 +313,7 @@ class ProfileController extends Controller return redirect(route('profile.index')); } - if (!\Hash::check($request->get('password'), auth()->user()->password)) { + if (!Hash::check($request->get('password'), auth()->user()->password)) { session()->flash('error', (string) trans('firefly.invalid_password')); return redirect(route('profile.delete-account')); @@ -343,8 +346,8 @@ class ProfileController extends Controller 'email' => auth()->user()->email, 'password' => $request->get('password'), ]; - if (\Auth::once($creds)) { - \Auth::logoutOtherDevices($request->get('password')); + if (Auth::once($creds)) { + Auth::logoutOtherDevices($request->get('password')); session()->flash('info', (string) trans('firefly.other_sessions_logged_out')); return redirect(route('profile.index')); diff --git a/app/Http/Controllers/System/InstallController.php b/app/Http/Controllers/System/InstallController.php index 55a0054632..8f59b12f46 100644 --- a/app/Http/Controllers/System/InstallController.php +++ b/app/Http/Controllers/System/InstallController.php @@ -24,7 +24,8 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\System; -use Cache; +use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\Cache; use Exception; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Controllers\Controller; @@ -142,14 +143,14 @@ class InstallController extends Controller $this->keys(); } if ('generate-keys' !== $command) { - \Artisan::call($command, $args); - app('log')->debug(\Artisan::output()); + Artisan::call($command, $args); + app('log')->debug(Artisan::output()); } } catch (\Exception $e) { // intentional generic exception throw new FireflyException($e->getMessage(), 0, $e); } // clear cache as well. - \Cache::clear(); + Cache::clear(); app('preferences')->mark(); return true; diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php index 7db74aa139..d0e151d331 100644 --- a/app/Http/Middleware/Range.php +++ b/app/Http/Middleware/Range.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Middleware; +use Illuminate\Support\Facades\App; use Carbon\Carbon; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Support\Facades\Amount; @@ -101,7 +102,7 @@ class Range // get locale preference: $language = app('steam')->getLanguage(); $locale = app('steam')->getLocale(); - \App::setLocale($language); + App::setLocale($language); Carbon::setLocale(substr((string) $locale, 0, 2)); $localeArray = app('steam')->getLocaleArray($locale); diff --git a/app/Jobs/MailError.php b/app/Jobs/MailError.php index 7b906b93a6..229a55b28d 100644 --- a/app/Jobs/MailError.php +++ b/app/Jobs/MailError.php @@ -28,6 +28,7 @@ use Illuminate\Mail\Message; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Mail; use Symfony\Component\Mailer\Exception\TransportException; /** @@ -70,7 +71,7 @@ class MailError extends Job implements ShouldQueue if ($this->attempts() < 3 && '' !== $email) { try { - \Mail::send( + Mail::send( ['emails.error-html', 'emails.error-text'], $args, static function (Message $message) use ($email): void { diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ec474c598b..169258cb36 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -41,7 +41,7 @@ class AppServiceProvider extends ServiceProvider public function boot(): void { Schema::defaultStringLength(191); - Passport::$clientUuids = false; + // Passport::$clientUuids = false; Response::macro('api', function (array $value) { $headers = [ 'Cache-Control' => 'no-store', @@ -59,7 +59,7 @@ class AppServiceProvider extends ServiceProvider // blade extension Blade::directive('activeXRoutePartial', function (string $route) { - $name = \Route::getCurrentRoute()->getName() ?? ''; + $name = Route::getCurrentRoute()->getName() ?? ''; if (str_contains($name, $route)) { return 'menu-open'; } diff --git a/app/Services/Internal/Support/AccountServiceTrait.php b/app/Services/Internal/Support/AccountServiceTrait.php index 787a08c239..15fe51dfdd 100644 --- a/app/Services/Internal/Support/AccountServiceTrait.php +++ b/app/Services/Internal/Support/AccountServiceTrait.php @@ -39,6 +39,7 @@ use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Services\Internal\Destroy\TransactionGroupDestroyService; +use Illuminate\Support\Facades\Validator; /** * Trait AccountServiceTrait @@ -54,7 +55,7 @@ trait AccountServiceTrait } $data = ['iban' => $iban]; $rules = ['iban' => 'required|iban']; - $validator = \Validator::make($data, $rules); + $validator = Validator::make($data, $rules); if ($validator->fails()) { app('log')->info(sprintf('Detected invalid IBAN ("%s"). Return NULL instead.', $iban)); diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php index f5cbb3b6e1..68e2c07064 100644 --- a/app/Support/ExpandedForm.php +++ b/app/Support/ExpandedForm.php @@ -23,7 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Support; -use Eloquent; +use Illuminate\Database\Eloquent\Model; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Support\Form\FormSupport; use Illuminate\Support\Collection; @@ -205,7 +205,7 @@ class ExpandedForm $selectList[0] = '(none)'; $fields = ['title', 'name', 'description']; - /** @var \Eloquent $entry */ + /** @var Model $entry */ foreach ($set as $entry) { // All Eloquent models have an ID $entryId = $entry->id; diff --git a/app/Support/FireflyConfig.php b/app/Support/FireflyConfig.php index a9e182b519..009fc71390 100644 --- a/app/Support/FireflyConfig.php +++ b/app/Support/FireflyConfig.php @@ -28,6 +28,7 @@ use FireflyIII\Models\Configuration; use Illuminate\Contracts\Encryption\DecryptException; use Illuminate\Contracts\Encryption\EncryptException; use Illuminate\Database\QueryException; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; /** @@ -38,8 +39,8 @@ class FireflyConfig public function delete(string $name): void { $fullName = 'ff-config-'.$name; - if (\Cache::has($fullName)) { - \Cache::forget($fullName); + if (Cache::has($fullName)) { + Cache::forget($fullName); } Configuration::where('name', $name)->forceDelete(); } @@ -80,8 +81,8 @@ class FireflyConfig public function get(string $name, mixed $default = null): ?Configuration { $fullName = 'ff-config-'.$name; - if (\Cache::has($fullName)) { - return \Cache::get($fullName); + if (Cache::has($fullName)) { + return Cache::get($fullName); } try { @@ -92,7 +93,7 @@ class FireflyConfig } if (null !== $config) { - \Cache::forever($fullName, $config); + Cache::forever($fullName, $config); return $config; } @@ -122,13 +123,13 @@ class FireflyConfig $item->name = $name; $item->data = $value; $item->save(); - \Cache::forget('ff-config-'.$name); + Cache::forget('ff3-config-'.$name); return $item; } $config->data = $value; $config->save(); - \Cache::forget('ff-config-'.$name); + Cache::forget('ff3-config-'.$name); return $config; } diff --git a/app/Support/Http/Controllers/RequestInformation.php b/app/Support/Http/Controllers/RequestInformation.php index 7f18f6fe3c..96e6edcfac 100644 --- a/app/Support/Http/Controllers/RequestInformation.php +++ b/app/Support/Http/Controllers/RequestInformation.php @@ -33,7 +33,7 @@ use FireflyIII\User; use Illuminate\Contracts\Validation\Validator as ValidatorContract; use Illuminate\Routing\Route; use Illuminate\Support\Facades\Validator; -use Route as RouteFacade; +use Illuminate\Support\Facades\Route as RouteFacade; /** * Trait RequestInformation diff --git a/app/Support/System/OAuthKeys.php b/app/Support/System/OAuthKeys.php index e0c0fa0b7a..0ba89c644d 100644 --- a/app/Support/System/OAuthKeys.php +++ b/app/Support/System/OAuthKeys.php @@ -26,6 +26,7 @@ namespace FireflyIII\Support\System; use FireflyIII\Exceptions\FireflyException; use Illuminate\Contracts\Encryption\DecryptException; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Crypt; use Laravel\Passport\Console\KeysCommand; use Psr\Container\ContainerExceptionInterface; @@ -88,8 +89,8 @@ class OAuthKeys public static function generateKeys(): void { - \Artisan::registerCommand(new KeysCommand()); - \Artisan::call('firefly-iii:laravel-passport-keys'); + Artisan::registerCommand(new KeysCommand()); + Artisan::call('firefly-iii:laravel-passport-keys'); } public static function storeKeysInDB(): void diff --git a/app/Support/Twig/General.php b/app/Support/Twig/General.php index 96b7475dac..6e369e4086 100644 --- a/app/Support/Twig/General.php +++ b/app/Support/Twig/General.php @@ -33,7 +33,7 @@ use FireflyIII\Support\Facades\Steam; use FireflyIII\Support\Search\OperatorQuerySearch; use Illuminate\Support\Facades\Log; use League\CommonMark\GithubFlavoredMarkdownConverter; -use Route; +use Illuminate\Support\Facades\Route; use Twig\Extension\AbstractExtension; use Twig\TwigFilter; use Twig\TwigFunction; @@ -247,7 +247,7 @@ class General extends AbstractExtension static function (): string { $args = func_get_args(); $route = $args[0]; // name of the route. - $name = \Route::getCurrentRoute()->getName() ?? ''; + $name = Route::getCurrentRoute()->getName() ?? ''; if (str_contains($name, $route)) { return 'active'; } @@ -271,7 +271,7 @@ class General extends AbstractExtension if ($objectType === $activeObjectType && false !== stripos( - (string) \Route::getCurrentRoute()->getName(), + (string) Route::getCurrentRoute()->getName(), (string) $route )) { return 'active'; @@ -294,7 +294,7 @@ class General extends AbstractExtension static function (): string { $args = func_get_args(); $route = $args[0]; // name of the route. - $name = \Route::getCurrentRoute()->getName() ?? ''; + $name = Route::getCurrentRoute()->getName() ?? ''; if (str_contains($name, $route)) { return 'menu-open'; } diff --git a/app/User.php b/app/User.php index 51d27e3b6f..f6bc724e5f 100644 --- a/app/User.php +++ b/app/User.php @@ -61,6 +61,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notification; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Request; use Illuminate\Support\Str; use Laravel\Passport\HasApiTokens; use NotificationChannels\Pushover\PushoverReceiver; @@ -464,7 +465,7 @@ class User extends Authenticatable */ public function sendPasswordResetNotification($token): void { - $ipAddress = \Request::ip(); + $ipAddress = Request::ip(); event(new RequestedNewPassword($this, $token, $ipAddress)); } diff --git a/app/Validation/FireflyValidator.php b/app/Validation/FireflyValidator.php index 86409ed951..0ea1c687fd 100644 --- a/app/Validation/FireflyValidator.php +++ b/app/Validation/FireflyValidator.php @@ -44,6 +44,7 @@ use Illuminate\Validation\Validator; use PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException; use PragmaRX\Google2FA\Exceptions\InvalidCharactersException; use PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException; +use PragmaRX\Google2FALaravel\Facade; /** * Class FireflyValidator. @@ -79,7 +80,7 @@ class FireflyValidator extends Validator } $secret = (string) $secret; - return (bool) \Google2FA::verifyKey($secret, $value); + return (bool) Facade::verifyKey($secret, $value); } /** @@ -131,7 +132,7 @@ class FireflyValidator extends Validator } $secret = (string) $user->mfa_secret; - return (bool) \Google2FA::verifyKey($secret, $value); + return (bool) Facade::verifyKey($secret, $value); } /** diff --git a/changelog.md b/changelog.md index d045b0d2cc..51372ea900 100644 --- a/changelog.md +++ b/changelog.md @@ -3,6 +3,13 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## 6.2.14 - 2025-05-26 + +### Fixed + +- [Issue 10356](https://github.com/firefly-iii/firefly-iii/issues/10356) (Call to undefined method createPersonalAccessClient()) reported by @JC5 +- [Issue 10357](https://github.com/firefly-iii/firefly-iii/issues/10357) (Target AuthorizationViewResponse is not instantiable) reported by @JC5 + ## 6.2.13 - 2025-05-25 ### Fixed diff --git a/composer.json b/composer.json index 00bc69782e..87e1ec158b 100644 --- a/composer.json +++ b/composer.json @@ -89,7 +89,7 @@ "jc5/recovery": "^2", "laravel-notification-channels/pushover": "^4.0", "laravel/framework": "^12", - "laravel/passport": "^13.0", + "laravel/passport": "^12.0", "laravel/sanctum": "^4.1", "laravel/slack-notification-channel": "^3.3", "laravel/ui": "^4.2", diff --git a/composer.lock b/composer.lock index a8bea46c45..877f084225 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6f1ffe4fde89e06daca72732fa904917", + "content-hash": "b630645d62adf0b4c2a9a16ccfc7a3cc", "packages": [ { "name": "bacon/bacon-qr-code", @@ -2094,44 +2094,43 @@ }, { "name": "laravel/passport", - "version": "v13.0.1", + "version": "v12.4.2", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "d96323a1c3699efe51ca477c3dd8fdd6500d7997" + "reference": "65a885607b62d361aedaeb10a946bc6b5a954262" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/d96323a1c3699efe51ca477c3dd8fdd6500d7997", - "reference": "d96323a1c3699efe51ca477c3dd8fdd6500d7997", + "url": "https://api.github.com/repos/laravel/passport/zipball/65a885607b62d361aedaeb10a946bc6b5a954262", + "reference": "65a885607b62d361aedaeb10a946bc6b5a954262", "shasum": "" }, "require": { "ext-json": "*", - "ext-openssl": "*", "firebase/php-jwt": "^6.4", - "illuminate/auth": "^11.35|^12.0", - "illuminate/console": "^11.35|^12.0", - "illuminate/container": "^11.35|^12.0", - "illuminate/contracts": "^11.35|^12.0", - "illuminate/cookie": "^11.35|^12.0", - "illuminate/database": "^11.35|^12.0", - "illuminate/encryption": "^11.35|^12.0", - "illuminate/http": "^11.35|^12.0", - "illuminate/support": "^11.35|^12.0", - "league/oauth2-server": "^9.2", - "php": "^8.2", - "php-http/discovery": "^1.20", - "phpseclib/phpseclib": "^3.0", - "psr/http-factory-implementation": "*", - "symfony/console": "^7.1", - "symfony/psr-http-message-bridge": "^7.1" + "illuminate/auth": "^9.21|^10.0|^11.0|^12.0", + "illuminate/console": "^9.21|^10.0|^11.0|^12.0", + "illuminate/container": "^9.21|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.21|^10.0|^11.0|^12.0", + "illuminate/cookie": "^9.21|^10.0|^11.0|^12.0", + "illuminate/database": "^9.21|^10.0|^11.0|^12.0", + "illuminate/encryption": "^9.21|^10.0|^11.0|^12.0", + "illuminate/http": "^9.21|^10.0|^11.0|^12.0", + "illuminate/support": "^9.21|^10.0|^11.0|^12.0", + "lcobucci/jwt": "^4.3|^5.0", + "league/oauth2-server": "^8.5.3", + "nyholm/psr7": "^1.5", + "php": "^8.0", + "phpseclib/phpseclib": "^2.0|^3.0", + "symfony/console": "^6.0|^7.0", + "symfony/psr-http-message-bridge": "^2.1|^6.0|^7.0" }, "require-dev": { - "mockery/mockery": "^1.6", - "orchestra/testbench": "^9.9|^10.0", - "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^11.5|^12.0" + "mockery/mockery": "^1.0", + "orchestra/testbench": "^7.35|^8.14|^9.0|^10.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3|^10.5|^11.5" }, "type": "library", "extra": { @@ -2167,7 +2166,7 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2025-05-07T17:16:06+00:00" + "time": "2025-02-12T16:11:33+00:00" }, { "name": "laravel/prompts", @@ -2900,34 +2899,29 @@ }, { "name": "league/event", - "version": "3.0.3", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/thephpleague/event.git", - "reference": "ec38ff7ea10cad7d99a79ac937fbcffb9334c210" + "reference": "062ebb450efbe9a09bc2478e89b7c933875b0935" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/event/zipball/ec38ff7ea10cad7d99a79ac937fbcffb9334c210", - "reference": "ec38ff7ea10cad7d99a79ac937fbcffb9334c210", + "url": "https://api.github.com/repos/thephpleague/event/zipball/062ebb450efbe9a09bc2478e89b7c933875b0935", + "reference": "062ebb450efbe9a09bc2478e89b7c933875b0935", "shasum": "" }, "require": { - "php": ">=7.2.0", - "psr/event-dispatcher": "^1.0" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0" + "php": ">=7.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16", - "phpstan/phpstan": "^0.12.45", - "phpunit/phpunit": "^8.5" + "henrikbjorn/phpspec-code-coverage": "~1.0.1", + "phpspec/phpspec": "^2.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.2-dev" } }, "autoload": { @@ -2953,9 +2947,9 @@ ], "support": { "issues": "https://github.com/thephpleague/event/issues", - "source": "https://github.com/thephpleague/event/tree/3.0.3" + "source": "https://github.com/thephpleague/event/tree/2.3.0" }, - "time": "2024-09-04T16:06:53+00:00" + "time": "2025-03-14T19:51:10+00:00" }, { "name": "league/flysystem", @@ -3217,46 +3211,38 @@ }, { "name": "league/oauth2-server", - "version": "9.2.0", + "version": "8.5.5", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "00323013403e1a1e0f424affafca56c28b60c22c" + "reference": "cc8778350f905667e796b3c2364a9d3bd7a73518" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/00323013403e1a1e0f424affafca56c28b60c22c", - "reference": "00323013403e1a1e0f424affafca56c28b60c22c", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/cc8778350f905667e796b3c2364a9d3bd7a73518", + "reference": "cc8778350f905667e796b3c2364a9d3bd7a73518", "shasum": "" }, "require": { - "defuse/php-encryption": "^2.4", - "ext-json": "*", + "defuse/php-encryption": "^2.3", "ext-openssl": "*", - "lcobucci/clock": "^2.3 || ^3.0", - "lcobucci/jwt": "^5.0", - "league/event": "^3.0", - "league/uri": "^7.0", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", - "psr/http-message": "^2.0", - "psr/http-server-middleware": "^1.0" + "lcobucci/clock": "^2.2 || ^3.0", + "lcobucci/jwt": "^4.3 || ^5.0", + "league/event": "^2.2", + "league/uri": "^6.7 || ^7.0", + "php": "^8.0", + "psr/http-message": "^1.0.1 || ^2.0" }, "replace": { "league/oauth2server": "*", "lncd/oauth2": "*" }, "require-dev": { - "laminas/laminas-diactoros": "^3.5", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.12", - "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "phpunit/phpunit": "^9.6.21", - "roave/security-advisories": "dev-master", - "slevomat/coding-standard": "^8.14.1", - "squizlabs/php_codesniffer": "^3.8" + "laminas/laminas-diactoros": "^3.0.0", + "phpstan/phpstan": "^0.12.57", + "phpstan/phpstan-phpunit": "^0.12.16", + "phpunit/phpunit": "^9.6.6", + "roave/security-advisories": "dev-master" }, "type": "library", "autoload": { @@ -3301,7 +3287,7 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/9.2.0" + "source": "https://github.com/thephpleague/oauth2-server/tree/8.5.5" }, "funding": [ { @@ -3309,7 +3295,7 @@ "type": "github" } ], - "time": "2025-02-15T00:49:10+00:00" + "time": "2024-12-20T23:06:10+00:00" }, { "name": "league/uri", @@ -5538,119 +5524,6 @@ }, "time": "2023-04-04T09:54:51+00:00" }, - { - "name": "psr/http-server-handler", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-server-handler.git", - "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4", - "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", - "shasum": "" - }, - "require": { - "php": ">=7.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP server-side request handler", - "keywords": [ - "handler", - "http", - "http-interop", - "psr", - "psr-15", - "psr-7", - "request", - "response", - "server" - ], - "support": { - "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2" - }, - "time": "2023-04-10T20:06:20+00:00" - }, - { - "name": "psr/http-server-middleware", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-server-middleware.git", - "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829", - "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", - "shasum": "" - }, - "require": { - "php": ">=7.0", - "psr/http-message": "^1.0 || ^2.0", - "psr/http-server-handler": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP server-side middleware", - "keywords": [ - "http", - "http-interop", - "middleware", - "psr", - "psr-15", - "psr-7", - "request", - "response" - ], - "support": { - "issues": "https://github.com/php-fig/http-server-middleware/issues", - "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2" - }, - "time": "2023-04-11T06:14:47+00:00" - }, { "name": "psr/log", "version": "3.0.2", diff --git a/config/app.php b/config/app.php index dd2a1b6458..19ee0f9721 100644 --- a/config/app.php +++ b/config/app.php @@ -41,16 +41,6 @@ use FireflyIII\Providers\RuleServiceProvider; use FireflyIII\Providers\SearchServiceProvider; use FireflyIII\Providers\SessionServiceProvider; use FireflyIII\Providers\TagServiceProvider; -use FireflyIII\Support\Facades\AccountForm; -use FireflyIII\Support\Facades\Amount; -use FireflyIII\Support\Facades\CurrencyForm; -use FireflyIII\Support\Facades\ExpandedForm; -use FireflyIII\Support\Facades\FireflyConfig; -use FireflyIII\Support\Facades\Navigation; -use FireflyIII\Support\Facades\PiggyBankForm; -use FireflyIII\Support\Facades\Preferences; -use FireflyIII\Support\Facades\RuleForm; -use FireflyIII\Support\Facades\Steam; use Illuminate\Auth\AuthServiceProvider; use Illuminate\Auth\Passwords\PasswordResetServiceProvider; use Illuminate\Broadcasting\BroadcastServiceProvider; @@ -58,7 +48,6 @@ use Illuminate\Bus\BusServiceProvider; use Illuminate\Cache\CacheServiceProvider; use Illuminate\Cookie\CookieServiceProvider; use Illuminate\Database\DatabaseServiceProvider; -use Illuminate\Database\Eloquent\Model; use Illuminate\Encryption\EncryptionServiceProvider; use Illuminate\Filesystem\FilesystemServiceProvider; use Illuminate\Foundation\Providers\ConsoleSupportServiceProvider; @@ -70,48 +59,13 @@ use Illuminate\Pagination\PaginationServiceProvider; use Illuminate\Pipeline\PipelineServiceProvider; use Illuminate\Queue\QueueServiceProvider; use Illuminate\Redis\RedisServiceProvider; -use Illuminate\Support\Arr; -use Illuminate\Support\Facades\App; -use Illuminate\Support\Facades\Artisan; -use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Facades\Blade; -use Illuminate\Support\Facades\Broadcast; -use Illuminate\Support\Facades\Bus; -use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Facades\Config; -use Illuminate\Support\Facades\Cookie; -use Illuminate\Support\Facades\Crypt; -use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Event; -use Illuminate\Support\Facades\File; -use Illuminate\Support\Facades\Gate; -use Illuminate\Support\Facades\Hash; -use Illuminate\Support\Facades\Http; -use Illuminate\Support\Facades\Lang; -use Illuminate\Support\Facades\Log; -use Illuminate\Support\Facades\Mail; -use Illuminate\Support\Facades\Notification; -use Illuminate\Support\Facades\Password; -use Illuminate\Support\Facades\Queue; -use Illuminate\Support\Facades\Redirect; -use Illuminate\Support\Facades\Redis; -use Illuminate\Support\Facades\Request; -use Illuminate\Support\Facades\Response; -use Illuminate\Support\Facades\Route; -use Illuminate\Support\Facades\Schema; -use Illuminate\Support\Facades\Session; -use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Facades\URL; -use Illuminate\Support\Facades\Validator; -use Illuminate\Support\Facades\View; -use Illuminate\Support\Str; use Illuminate\Translation\TranslationServiceProvider; use Illuminate\Validation\ValidationServiceProvider; use Illuminate\View\ViewServiceProvider; -use PragmaRX\Google2FALaravel\Facade; -use Spatie\Html\Facades\Html; -use TwigBridge\Facade\Twig; use TwigBridge\ServiceProvider; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Config; +use Illuminate\Support\Facades\Route; return [ 'name' => envNonEmpty('APP_NAME', 'Firefly III'), @@ -179,56 +133,9 @@ return [ RecurringServiceProvider::class, ], 'aliases' => [ - 'App' => App::class, - 'Artisan' => Artisan::class, - 'Auth' => Auth::class, - 'Blade' => Blade::class, - 'Broadcast' => Broadcast::class, - 'Bus' => Bus::class, - 'Cache' => Cache::class, - 'Config' => Config::class, - 'Cookie' => Cookie::class, - 'Crypt' => Crypt::class, - 'DB' => DB::class, - 'Eloquent' => Model::class, - 'Event' => Event::class, - 'File' => File::class, - 'Gate' => Gate::class, - 'Hash' => Hash::class, - 'Lang' => Lang::class, - 'Log' => Log::class, - 'Mail' => Mail::class, - 'Notification' => Notification::class, - 'Password' => Password::class, - 'Queue' => Queue::class, - 'Redirect' => Redirect::class, - 'Redis' => Redis::class, - 'Request' => Request::class, - 'Response' => Response::class, - 'Route' => Route::class, - 'Schema' => Schema::class, - 'Session' => Session::class, - 'Storage' => Storage::class, - 'URL' => URL::class, - 'Validator' => Validator::class, - 'View' => View::class, - 'Html' => Html::class, - 'Preferences' => Preferences::class, - 'FireflyConfig' => FireflyConfig::class, - 'Navigation' => Navigation::class, - 'Amount' => Amount::class, - 'Steam' => Steam::class, - 'ExpandedForm' => ExpandedForm::class, - 'CurrencyForm' => CurrencyForm::class, - 'AccountForm' => AccountForm::class, - 'PiggyBankForm' => PiggyBankForm::class, - 'RuleForm' => RuleForm::class, - 'Google2FA' => Facade::class, - 'Twig' => Twig::class, - - 'Arr' => Arr::class, - 'Http' => Http::class, - 'Str' => Str::class, + 'Auth' => Auth::class, + 'Route' => Route::class, + 'Config' => Config::class, ], 'asset_url' => env('ASSET_URL', null), diff --git a/config/firefly.php b/config/firefly.php index d53cd6cfdb..5eea30585f 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -78,7 +78,7 @@ return [ 'running_balance_column' => env('USE_RUNNING_BALANCE', false), // see cer.php for exchange rates feature flag. ], - 'version' => '6.2.13', + 'version' => '6.2.14', 'api_version' => '2.1.0', // field is no longer used. 'db_version' => 25, diff --git a/config/session.php b/config/session.php index 37a9a0b86e..8881108f8b 100644 --- a/config/session.php +++ b/config/session.php @@ -32,7 +32,7 @@ return [ 'table' => 'sessions', 'store' => null, 'lottery' => [2, 100], - 'cookie' => 'firefly_session', + 'cookie' => env('COOKIE_NAME', 'firefly_iii_session'), 'path' => env('COOKIE_PATH', '/'), 'domain' => env('COOKIE_DOMAIN', null), 'secure' => env('COOKIE_SECURE', null), diff --git a/database/migrations/2016_06_16_000000_create_support_tables.php b/database/migrations/2016_06_16_000000_create_support_tables.php index fd5c08dcd6..bd199cc3c7 100644 --- a/database/migrations/2016_06_16_000000_create_support_tables.php +++ b/database/migrations/2016_06_16_000000_create_support_tables.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class CreateSupportTables. diff --git a/database/migrations/2016_06_16_000001_create_users_table.php b/database/migrations/2016_06_16_000001_create_users_table.php index 98df97b1a8..91384acbe8 100644 --- a/database/migrations/2016_06_16_000001_create_users_table.php +++ b/database/migrations/2016_06_16_000001_create_users_table.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class CreateUsersTable. diff --git a/database/migrations/2016_06_16_000002_create_main_tables.php b/database/migrations/2016_06_16_000002_create_main_tables.php index f2d76e5c53..9cf5f644b2 100644 --- a/database/migrations/2016_06_16_000002_create_main_tables.php +++ b/database/migrations/2016_06_16_000002_create_main_tables.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class CreateMainTables. diff --git a/database/migrations/2016_09_12_121359_fix_nullables.php b/database/migrations/2016_09_12_121359_fix_nullables.php index 8862bdd1cb..3a0fcb80b1 100644 --- a/database/migrations/2016_09_12_121359_fix_nullables.php +++ b/database/migrations/2016_09_12_121359_fix_nullables.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class FixNullables. diff --git a/database/migrations/2016_10_09_150037_expand_transactions_table.php b/database/migrations/2016_10_09_150037_expand_transactions_table.php index bd86fcb336..74a29bbce6 100644 --- a/database/migrations/2016_10_09_150037_expand_transactions_table.php +++ b/database/migrations/2016_10_09_150037_expand_transactions_table.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ExpandTransactionsTable. diff --git a/database/migrations/2016_10_22_075804_changes_for_v410.php b/database/migrations/2016_10_22_075804_changes_for_v410.php index 42002388fe..ebbd798df2 100644 --- a/database/migrations/2016_10_22_075804_changes_for_v410.php +++ b/database/migrations/2016_10_22_075804_changes_for_v410.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV410. diff --git a/database/migrations/2016_11_24_210552_changes_for_v420.php b/database/migrations/2016_11_24_210552_changes_for_v420.php index 21d2d34410..6a8c04e25e 100644 --- a/database/migrations/2016_11_24_210552_changes_for_v420.php +++ b/database/migrations/2016_11_24_210552_changes_for_v420.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV420. diff --git a/database/migrations/2016_12_22_150431_changes_for_v430.php b/database/migrations/2016_12_22_150431_changes_for_v430.php index a4ee8dd1e6..69283e38aa 100644 --- a/database/migrations/2016_12_22_150431_changes_for_v430.php +++ b/database/migrations/2016_12_22_150431_changes_for_v430.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV430. diff --git a/database/migrations/2016_12_28_203205_changes_for_v431.php b/database/migrations/2016_12_28_203205_changes_for_v431.php index 1243266588..d88847c25a 100644 --- a/database/migrations/2016_12_28_203205_changes_for_v431.php +++ b/database/migrations/2016_12_28_203205_changes_for_v431.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV431. diff --git a/database/migrations/2017_04_13_163623_changes_for_v440.php b/database/migrations/2017_04_13_163623_changes_for_v440.php index 0232cc68fe..4ae7ceee15 100644 --- a/database/migrations/2017_04_13_163623_changes_for_v440.php +++ b/database/migrations/2017_04_13_163623_changes_for_v440.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV440. diff --git a/database/migrations/2017_06_02_105232_changes_for_v450.php b/database/migrations/2017_06_02_105232_changes_for_v450.php index 8151926cc0..efd01f0f1c 100644 --- a/database/migrations/2017_06_02_105232_changes_for_v450.php +++ b/database/migrations/2017_06_02_105232_changes_for_v450.php @@ -24,6 +24,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV450. diff --git a/database/migrations/2018_03_19_141348_changes_for_v472.php b/database/migrations/2018_03_19_141348_changes_for_v472.php index e1548f08a7..1ec9d06ad1 100644 --- a/database/migrations/2018_03_19_141348_changes_for_v472.php +++ b/database/migrations/2018_03_19_141348_changes_for_v472.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV472. diff --git a/database/migrations/2018_06_08_200526_changes_for_v475.php b/database/migrations/2018_06_08_200526_changes_for_v475.php index d0b33bd88b..01bbf63fcf 100644 --- a/database/migrations/2018_06_08_200526_changes_for_v475.php +++ b/database/migrations/2018_06_08_200526_changes_for_v475.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV475. diff --git a/database/migrations/2018_09_05_195147_changes_for_v477.php b/database/migrations/2018_09_05_195147_changes_for_v477.php index 4a5c82b061..6936d1e1e1 100644 --- a/database/migrations/2018_09_05_195147_changes_for_v477.php +++ b/database/migrations/2018_09_05_195147_changes_for_v477.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV477. diff --git a/database/migrations/2018_11_06_172532_changes_for_v479.php b/database/migrations/2018_11_06_172532_changes_for_v479.php index 4c74ffcb7b..80562d03a0 100644 --- a/database/migrations/2018_11_06_172532_changes_for_v479.php +++ b/database/migrations/2018_11_06_172532_changes_for_v479.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV479. diff --git a/database/migrations/2019_03_22_183214_changes_for_v480.php b/database/migrations/2019_03_22_183214_changes_for_v480.php index ec5d0fa0e4..d8574ab640 100644 --- a/database/migrations/2019_03_22_183214_changes_for_v480.php +++ b/database/migrations/2019_03_22_183214_changes_for_v480.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV480. diff --git a/database/migrations/2020_03_13_201950_changes_for_v520.php b/database/migrations/2020_03_13_201950_changes_for_v520.php index 3787265066..2587157c65 100644 --- a/database/migrations/2020_03_13_201950_changes_for_v520.php +++ b/database/migrations/2020_03_13_201950_changes_for_v520.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV520. diff --git a/database/migrations/2020_06_07_063612_changes_for_v530.php b/database/migrations/2020_06_07_063612_changes_for_v530.php index 5992d70862..01fc783f8c 100644 --- a/database/migrations/2020_06_07_063612_changes_for_v530.php +++ b/database/migrations/2020_06_07_063612_changes_for_v530.php @@ -25,6 +25,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; /** * Class ChangesForV530 diff --git a/database/migrations/2024_11_05_062108_add_date_tz_columns.php b/database/migrations/2024_11_05_062108_add_date_tz_columns.php index 29f83076b3..fcbb2cb75b 100644 --- a/database/migrations/2024_11_05_062108_add_date_tz_columns.php +++ b/database/migrations/2024_11_05_062108_add_date_tz_columns.php @@ -26,6 +26,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\QueryException; use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; return new class () extends Migration { private array $tables; diff --git a/package-lock.json b/package-lock.json index 977088f92a..da33c5ce5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2552,9 +2552,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", - "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", + "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", "cpu": [ "arm" ], @@ -2566,9 +2566,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", - "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", + "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", "cpu": [ "arm64" ], @@ -2580,9 +2580,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", - "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", + "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", "cpu": [ "arm64" ], @@ -2594,9 +2594,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", - "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", + "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", "cpu": [ "x64" ], @@ -2608,9 +2608,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", - "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", + "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", "cpu": [ "arm64" ], @@ -2622,9 +2622,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", - "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", + "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", "cpu": [ "x64" ], @@ -2636,9 +2636,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", - "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", + "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", "cpu": [ "arm" ], @@ -2650,9 +2650,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", - "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", + "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", "cpu": [ "arm" ], @@ -2664,9 +2664,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", - "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", + "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", "cpu": [ "arm64" ], @@ -2678,9 +2678,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", - "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", "cpu": [ "arm64" ], @@ -2692,9 +2692,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", - "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", "cpu": [ "loong64" ], @@ -2706,9 +2706,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", - "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", "cpu": [ "ppc64" ], @@ -2720,9 +2720,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", - "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", "cpu": [ "riscv64" ], @@ -2734,9 +2734,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", - "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", "cpu": [ "riscv64" ], @@ -2748,9 +2748,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", - "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", "cpu": [ "s390x" ], @@ -2762,9 +2762,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", - "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", "cpu": [ "x64" ], @@ -2776,9 +2776,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", - "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", "cpu": [ "x64" ], @@ -2790,9 +2790,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", - "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", "cpu": [ "arm64" ], @@ -2804,9 +2804,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", - "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", "cpu": [ "ia32" ], @@ -2818,9 +2818,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", - "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", "cpu": [ "x64" ], @@ -9973,9 +9973,9 @@ } }, "node_modules/rollup": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz", - "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", "dev": true, "license": "MIT", "dependencies": { @@ -9989,26 +9989,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.41.0", - "@rollup/rollup-android-arm64": "4.41.0", - "@rollup/rollup-darwin-arm64": "4.41.0", - "@rollup/rollup-darwin-x64": "4.41.0", - "@rollup/rollup-freebsd-arm64": "4.41.0", - "@rollup/rollup-freebsd-x64": "4.41.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", - "@rollup/rollup-linux-arm-musleabihf": "4.41.0", - "@rollup/rollup-linux-arm64-gnu": "4.41.0", - "@rollup/rollup-linux-arm64-musl": "4.41.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-musl": "4.41.0", - "@rollup/rollup-linux-s390x-gnu": "4.41.0", - "@rollup/rollup-linux-x64-gnu": "4.41.0", - "@rollup/rollup-linux-x64-musl": "4.41.0", - "@rollup/rollup-win32-arm64-msvc": "4.41.0", - "@rollup/rollup-win32-ia32-msvc": "4.41.0", - "@rollup/rollup-win32-x64-msvc": "4.41.0", + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" } }, diff --git a/routes/api-noauth.php b/routes/api-noauth.php index 7e4e1da126..7c960e9033 100644 --- a/routes/api-noauth.php +++ b/routes/api-noauth.php @@ -22,6 +22,7 @@ declare(strict_types=1); +use Illuminate\Support\Facades\Route; // Cron job API routes: use FireflyIII\Http\Middleware\AcceptHeaders; diff --git a/routes/api.php b/routes/api.php index 02bd5643ca..9be3f75bfa 100644 --- a/routes/api.php +++ b/routes/api.php @@ -22,6 +22,8 @@ declare(strict_types=1); +use Illuminate\Support\Facades\Route; + /* * * ____ ____ ___ .______ ______ __ __ .___________. _______ _______. diff --git a/routes/channels.php b/routes/channels.php index 702805feed..92bf6b22ef 100644 --- a/routes/channels.php +++ b/routes/channels.php @@ -22,6 +22,8 @@ declare(strict_types=1); +use Illuminate\Support\Facades\Broadcast; + /* |-------------------------------------------------------------------------- | Broadcast Channels diff --git a/routes/web.php b/routes/web.php index ee6039a7ae..b6b7ddcc40 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,9 +19,10 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ - declare(strict_types=1); +use Illuminate\Support\Facades\Route; + if (!defined('DATEFORMAT')) { define('DATEFORMAT', '(19|20)[0-9]{2}-?[0-9]{2}-?[0-9]{2}'); }