Fix various phpstan errors.

This commit is contained in:
James Cole
2023-11-01 18:45:15 +01:00
parent 4ee3c7d83e
commit 3b4b074bae
14 changed files with 49 additions and 66 deletions

View File

@@ -28,7 +28,6 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit; use FireflyIII\Models\BudgetLimit;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter; use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\TransactionGroupTransformer; use FireflyIII\Transformers\TransactionGroupTransformer;
use FireflyIII\User; use FireflyIII\User;
@@ -44,28 +43,6 @@ class ListController extends Controller
{ {
use TransactionFilter; use TransactionFilter;
private BudgetLimitRepositoryInterface $blRepository;
/**
* BudgetLimitController constructor.
*
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$this->blRepository = app(BudgetLimitRepositoryInterface::class);
$this->blRepository->setUser($user);
return $next($request);
}
);
}
/** /**
* This endpoint is documented at: * This endpoint is documented at:
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listTransactionByBudgetLimit * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listTransactionByBudgetLimit

View File

@@ -38,19 +38,19 @@ use Illuminate\Pagination\LengthAwarePaginator;
*/ */
class ListController extends Controller class ListController extends Controller
{ {
private BudgetLimitRepositoryInterface $repository; // private BudgetLimitRepositoryInterface $repository;
//
public function __construct() // public function __construct()
{ // {
parent::__construct(); // parent::__construct();
$this->middleware( // $this->middleware(
function ($request, $next) { // function ($request, $next) {
$this->repository = app(BudgetLimitRepositoryInterface::class); // $this->repository = app(BudgetLimitRepositoryInterface::class);
//
return $next($request); // return $next($request);
} // }
); // );
} // }
/** /**
* This endpoint is documented at: * This endpoint is documented at:
@@ -58,18 +58,19 @@ class ListController extends Controller
*/ */
public function index(DateRequest $request, Budget $budget): JsonResponse public function index(DateRequest $request, Budget $budget): JsonResponse
{ {
throw new FireflyException('Needs refactoring, move to IndexController.'); return response()->json([]);
$pageSize = $this->parameters->get('limit'); // throw new FireflyException('Needs refactoring, move to IndexController.');
$dates = $request->getAll(); // $pageSize = $this->parameters->get('limit');
$collection = $this->repository->getBudgetLimits($budget, $dates['start'], $dates['end']); // $dates = $request->getAll();
$total = $collection->count(); // $collection = $this->repository->getBudgetLimits($budget, $dates['start'], $dates['end']);
$collection->slice($pageSize * $this->parameters->get('page'), $pageSize); // $total = $collection->count();
// $collection->slice($pageSize * $this->parameters->get('page'), $pageSize);
$paginator = new LengthAwarePaginator($collection, $total, $pageSize, $this->parameters->get('page')); //
$transformer = new BudgetLimitTransformer(); // $paginator = new LengthAwarePaginator($collection, $total, $pageSize, $this->parameters->get('page'));
// $transformer = new BudgetLimitTransformer();
return response() //
->api($this->jsonApiList('budget-limits', $paginator, $transformer)) // return response()
->header('Content-Type', self::CONTENT_TYPE); // ->api($this->jsonApiList('budget-limits', $paginator, $transformer))
// ->header('Content-Type', self::CONTENT_TYPE);
} }
} }

View File

@@ -55,7 +55,7 @@ class FixUnevenAmount extends Command
/** @var stdClass $entry */ /** @var stdClass $entry */
foreach ($journals as $entry) { foreach ($journals as $entry) {
$sum = (string)$entry->the_sum; $sum = (string)$entry->the_sum;
if (!is_numeric($sum) || '' === $sum || str_contains($sum, 'e') || str_contains($sum, ',')) { if (!is_numeric($sum) || 0 === strlen($sum) || str_contains($sum, 'e') || str_contains($sum, ',')) {
$message = sprintf( $message = sprintf(
'Journal #%d has an invalid sum ("%s"). No sure what to do.', 'Journal #%d has an invalid sum ("%s"). No sure what to do.',
$entry->transaction_journal_id, $entry->transaction_journal_id,

View File

@@ -268,7 +268,7 @@ class ExportData extends Command
private function getExportDirectory(): string private function getExportDirectory(): string
{ {
$directory = (string)$this->option('export_directory'); $directory = (string)$this->option('export_directory');
if (null === $directory) { if ('' === $directory) {
$directory = './'; $directory = './';
} }
if (!is_writable($directory)) { if (!is_writable($directory)) {

View File

@@ -501,8 +501,8 @@ class ForceDecimalSize extends Command
/** @var Transaction $item */ /** @var Transaction $item */
foreach ($result as $item) { foreach ($result as $item) {
$value = $item->amount; $value = (string)$item->amount;
if (null === $value) { if ('' === $value) {
continue; continue;
} }
// fix $field by rounding it down correctly. // fix $field by rounding it down correctly.

View File

@@ -35,7 +35,6 @@ use Illuminate\Support\Collection;
/** /**
* Class UpgradeCurrencyPreferences * Class UpgradeCurrencyPreferences
* TODO DONT FORGET TO ADD THIS TO THE DOCKER BUILD
*/ */
class UpgradeCurrencyPreferences extends Command class UpgradeCurrencyPreferences extends Command
{ {
@@ -71,7 +70,7 @@ class UpgradeCurrencyPreferences extends Command
$this->friendlyPositive('Currency preferences migrated.'); $this->friendlyPositive('Currency preferences migrated.');
//$this->markAsExecuted(); $this->markAsExecuted();
return 0; return 0;
} }

View File

@@ -246,14 +246,14 @@ class UpgradeLiabilitiesEight extends Command
} }
// overruled. No transaction will be deleted, ever. // overruled. No transaction will be deleted, ever.
// code is kept in place so i can revisit my reasoning. // code is kept in place so I can revisit my reasoning.
$delete = false; $delete = false;
if ($delete) { // if ($delete) {
$service = app(TransactionGroupDestroyService::class); $service = app(TransactionGroupDestroyService::class);
$service->destroy($journal->transactionGroup); $service->destroy($journal->transactionGroup);
$count++; $count++;
} // }
} }
return $count; return $count;

View File

@@ -33,7 +33,7 @@ class DestroyedTransactionLink extends Event
{ {
use SerializesModels; use SerializesModels;
private TransactionJournalLink $link; private TransactionJournalLink $link; // @phpstan-ignore-line
/** /**
* DestroyedTransactionLink constructor. * DestroyedTransactionLink constructor.

View File

@@ -480,7 +480,8 @@ class TransactionJournalFactory
// return user's default: // return user's default:
return app('amount')->getDefaultCurrencyByUserGroup($this->user->userGroup); return app('amount')->getDefaultCurrencyByUserGroup($this->user->userGroup);
} }
$result = ($preference ?? $currency) ?? app('amount')->getSystemCurrency(); $result = ($preference ?? $currency)
?? app('amount')->getSystemCurrency();
app('log')->debug(sprintf('Currency is now #%d (%s) because of account #%d (%s)', $result->id, $result->code, $account->id, $account->name)); app('log')->debug(sprintf('Currency is now #%d (%s) because of account #%d (%s)', $result->id, $result->code, $account->id, $account->name));
return $result; return $result;

View File

@@ -50,6 +50,7 @@ class AutomationHandler
/** @var UserRepositoryInterface $repository */ /** @var UserRepositoryInterface $repository */
$repository = app(UserRepositoryInterface::class); $repository = app(UserRepositoryInterface::class);
$user = $repository->find($event->userId); $user = $repository->find($event->userId);
/** @var bool $sendReport */
$sendReport = app('preferences')->getForUser($user, 'notification_transaction_creation', false)->data; $sendReport = app('preferences')->getForUser($user, 'notification_transaction_creation', false)->data;
if (false === $sendReport) { if (false === $sendReport) {

View File

@@ -32,6 +32,7 @@ use FireflyIII\Models\AvailableBudget;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit; use FireflyIII\Models\BudgetLimit;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\User;
use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface; use Psr\Container\NotFoundExceptionInterface;
use Spatie\Period\Boundaries; use Spatie\Period\Boundaries;
@@ -72,6 +73,7 @@ class BudgetLimitHandler
$budgetLimit->forceDelete(); $budgetLimit->forceDelete();
return; return;
} }
/** @var User|null $user */
$user = $budget->user; $user = $budget->user;
// sanity check. It happens when the budget has been deleted so the original user is unknown. // sanity check. It happens when the budget has been deleted so the original user is unknown.
@@ -105,7 +107,7 @@ class BudgetLimitHandler
$currentEnd = app('navigation')->endOfPeriod($current, $viewRange); $currentEnd = app('navigation')->endOfPeriod($current, $viewRange);
// create or find AB for this particular period, and set the amount accordingly. // create or find AB for this particular period, and set the amount accordingly.
/** @var AvailableBudget $availableBudget */ /** @var AvailableBudget|null $availableBudget */
$availableBudget = $user->availableBudgets()->where('start_date', $current->format('Y-m-d'))->where( $availableBudget = $user->availableBudgets()->where('start_date', $current->format('Y-m-d'))->where(
'end_date', 'end_date',
$currentEnd->format('Y-m-d') $currentEnd->format('Y-m-d')

View File

@@ -44,6 +44,7 @@ class RuleHandler
{ {
$ruleAction = $event->ruleAction; $ruleAction = $event->ruleAction;
$rule = $ruleAction->rule; $rule = $ruleAction->rule;
/** @var bool $preference */
$preference = app('preferences')->getForUser($rule->user, 'notification_rule_action_failures', true)->data; $preference = app('preferences')->getForUser($rule->user, 'notification_rule_action_failures', true)->data;
if (false === $preference) { if (false === $preference) {
return; return;
@@ -73,6 +74,7 @@ class RuleHandler
{ {
$ruleAction = $event->ruleAction; $ruleAction = $event->ruleAction;
$rule = $ruleAction->rule; $rule = $ruleAction->rule;
/** @var bool $preference */
$preference = app('preferences')->getForUser($rule->user, 'notification_rule_action_failures', true)->data; $preference = app('preferences')->getForUser($rule->user, 'notification_rule_action_failures', true)->data;
if (false === $preference) { if (false === $preference) {
return; return;

View File

@@ -123,7 +123,7 @@ class ExchangeRateConverter
} }
app('log')->debug(sprintf('Going to get rate #%d->#%d (%s) from DB.', $from, $to, $date)); app('log')->debug(sprintf('Going to get rate #%d->#%d (%s) from DB.', $from, $to, $date));
/** @var CurrencyExchangeRate $result */ /** @var CurrencyExchangeRate|null $result */
$result = auth()->user() $result = auth()->user()
->currencyExchangeRates() ->currencyExchangeRates()
->where('from_currency_id', $from) ->where('from_currency_id', $from)

View File

@@ -78,7 +78,7 @@ trait ChecksLogin
/** @var User $user */ /** @var User $user */
$user = auth()->user(); $user = auth()->user();
app('log')->debug('Now in getUserGroup()'); app('log')->debug('Now in getUserGroup()');
/** @var UserGroup $userGroup */ /** @var UserGroup|null $userGroup */
$userGroup = $this->route()->parameter('userGroup'); $userGroup = $this->route()->parameter('userGroup');
if (null === $userGroup) { if (null === $userGroup) {
app('log')->debug('Request class has no userGroup parameter, but perhaps there is a parameter.'); app('log')->debug('Request class has no userGroup parameter, but perhaps there is a parameter.');