Fix various phpstan errors.

This commit is contained in:
James Cole 2023-11-01 18:45:15 +01:00
parent 4ee3c7d83e
commit 3b4b074bae
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
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\Models\Budget;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\TransactionGroupTransformer;
use FireflyIII\User;
@ -44,28 +43,6 @@ class ListController extends Controller
{
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:
* 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
{
private BudgetLimitRepositoryInterface $repository;
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
$this->repository = app(BudgetLimitRepositoryInterface::class);
return $next($request);
}
);
}
// private BudgetLimitRepositoryInterface $repository;
//
// public function __construct()
// {
// parent::__construct();
// $this->middleware(
// function ($request, $next) {
// $this->repository = app(BudgetLimitRepositoryInterface::class);
//
// return $next($request);
// }
// );
// }
/**
* This endpoint is documented at:
@ -58,18 +58,19 @@ class ListController extends Controller
*/
public function index(DateRequest $request, Budget $budget): JsonResponse
{
throw new FireflyException('Needs refactoring, move to IndexController.');
$pageSize = $this->parameters->get('limit');
$dates = $request->getAll();
$collection = $this->repository->getBudgetLimits($budget, $dates['start'], $dates['end']);
$total = $collection->count();
$collection->slice($pageSize * $this->parameters->get('page'), $pageSize);
$paginator = new LengthAwarePaginator($collection, $total, $pageSize, $this->parameters->get('page'));
$transformer = new BudgetLimitTransformer();
return response()
->api($this->jsonApiList('budget-limits', $paginator, $transformer))
->header('Content-Type', self::CONTENT_TYPE);
return response()->json([]);
// throw new FireflyException('Needs refactoring, move to IndexController.');
// $pageSize = $this->parameters->get('limit');
// $dates = $request->getAll();
// $collection = $this->repository->getBudgetLimits($budget, $dates['start'], $dates['end']);
// $total = $collection->count();
// $collection->slice($pageSize * $this->parameters->get('page'), $pageSize);
//
// $paginator = new LengthAwarePaginator($collection, $total, $pageSize, $this->parameters->get('page'));
// $transformer = new BudgetLimitTransformer();
//
// return response()
// ->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 */
foreach ($journals as $entry) {
$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(
'Journal #%d has an invalid sum ("%s"). No sure what to do.',
$entry->transaction_journal_id,

View File

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

View File

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

View File

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

View File

@ -246,14 +246,14 @@ class UpgradeLiabilitiesEight extends Command
}
// 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;
if ($delete) {
$service = app(TransactionGroupDestroyService::class);
$service->destroy($journal->transactionGroup);
$count++;
}
// if ($delete) {
$service = app(TransactionGroupDestroyService::class);
$service->destroy($journal->transactionGroup);
$count++;
// }
}
return $count;

View File

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

View File

@ -480,7 +480,8 @@ class TransactionJournalFactory
// return user's default:
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));
return $result;

View File

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

View File

@ -32,6 +32,7 @@ use FireflyIII\Models\AvailableBudget;
use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\User;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Spatie\Period\Boundaries;
@ -72,6 +73,7 @@ class BudgetLimitHandler
$budgetLimit->forceDelete();
return;
}
/** @var User|null $user */
$user = $budget->user;
// 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);
// 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(
'end_date',
$currentEnd->format('Y-m-d')

View File

@ -44,6 +44,7 @@ class RuleHandler
{
$ruleAction = $event->ruleAction;
$rule = $ruleAction->rule;
/** @var bool $preference */
$preference = app('preferences')->getForUser($rule->user, 'notification_rule_action_failures', true)->data;
if (false === $preference) {
return;
@ -73,6 +74,7 @@ class RuleHandler
{
$ruleAction = $event->ruleAction;
$rule = $ruleAction->rule;
/** @var bool $preference */
$preference = app('preferences')->getForUser($rule->user, 'notification_rule_action_failures', true)->data;
if (false === $preference) {
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));
/** @var CurrencyExchangeRate $result */
/** @var CurrencyExchangeRate|null $result */
$result = auth()->user()
->currencyExchangeRates()
->where('from_currency_id', $from)

View File

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