Fix phpstan level 3!

This commit is contained in:
James Cole
2025-01-04 07:10:37 +01:00
parent cd296aa9ac
commit 2baac1a6d7
52 changed files with 113 additions and 113 deletions

View File

@@ -160,7 +160,7 @@ class AccountFactory
app('log')->debug(sprintf('Now in AccountFactory::find("%s", "%s")', $accountName, $accountType));
$type = AccountType::whereType($accountType)->first();
// @var Account|null
/** @var Account|null */
return $this->user->accounts()->where('account_type_id', $type->id)->where('name', $accountName)->first();
}

View File

@@ -129,6 +129,7 @@ class BillFactory
public function findByName(string $name): ?Bill
{
/** @var Bill|null */
return $this->user->bills()->whereLike('name', sprintf('%%%s%%', $name))->first();
}

View File

@@ -63,6 +63,7 @@ class BudgetFactory
public function findByName(string $name): ?Budget
{
/** @var Budget|null */
return $this->user->budgets()->where('name', $name)->first();
}

View File

@@ -84,6 +84,7 @@ class CategoryFactory
public function findByName(string $name): ?Category
{
/** @var Category|null */
return $this->user->categories()->where('name', $name)->first();
}

View File

@@ -41,14 +41,7 @@ class PiggyBankFactory
{
use CreatesObjectGroups;
public User $user {
set(User $value) {
$this->user = $value;
$this->currencyRepository->setUser($value);
$this->accountRepository->setUser($value);
$this->piggyBankRepository->setUser($value);
}
}
public User $user;
private AccountRepositoryInterface $accountRepository;
private CurrencyRepositoryInterface $currencyRepository;
private PiggyBankRepositoryInterface $piggyBankRepository;
@@ -60,13 +53,21 @@ class PiggyBankFactory
$this->piggyBankRepository = app(PiggyBankRepositoryInterface::class);
}
public function setUser(User $user): void
{
$this->user = $user;
$this->currencyRepository->setUser($user);
$this->accountRepository->setUser($user);
$this->piggyBankRepository->setUser($user);
}
/**
* Store a piggy bank or come back with an exception.
*/
public function store(array $data): PiggyBank
{
$piggyBankData = $data;
$piggyBankData = $data;
// unset some fields
unset($piggyBankData['object_group_title'], $piggyBankData['transaction_currency_code'], $piggyBankData['transaction_currency_id'], $piggyBankData['accounts'], $piggyBankData['object_group_id'], $piggyBankData['notes']);
@@ -90,11 +91,11 @@ class PiggyBankFactory
throw new FireflyException('400005: Could not store new piggy bank.', 0, $e);
}
$piggyBank = $this->setOrder($piggyBank, $data);
$piggyBank = $this->setOrder($piggyBank, $data);
$this->linkToAccountIds($piggyBank, $data['accounts']);
$this->piggyBankRepository->updateNote($piggyBank, $data['notes']);
$objectGroupTitle = $data['object_group_title'] ?? '';
$objectGroupTitle = $data['object_group_title'] ?? '';
if ('' !== $objectGroupTitle) {
$objectGroup = $this->findOrCreateObjectGroup($objectGroupTitle);
if (null !== $objectGroup) {
@@ -102,7 +103,7 @@ class PiggyBankFactory
}
}
// try also with ID
$objectGroupId = (int) ($data['object_group_id'] ?? 0);
$objectGroupId = (int) ($data['object_group_id'] ?? 0);
if (0 !== $objectGroupId) {
$objectGroup = $this->findObjectGroupById($objectGroupId);
if (null !== $objectGroup) {
@@ -110,7 +111,7 @@ class PiggyBankFactory
}
}
Log::debug('Touch piggy bank');
$piggyBank->encrypted = false;
$piggyBank->encrypted = false;
$piggyBank->save();
$piggyBank->touch();
@@ -143,11 +144,10 @@ class PiggyBankFactory
// first find by ID:
if ($piggyBankId > 0) {
$piggyBank = PiggyBank::leftJoin('account_piggy_bank', 'account_piggy_bank.piggy_bank_id', '=', 'piggy_banks.id')
->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id')
->where('accounts.user_id', $this->user->id)
->where('piggy_banks.id', $piggyBankId)
->first(['piggy_banks.*'])
;
->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id')
->where('accounts.user_id', $this->user->id)
->where('piggy_banks.id', $piggyBankId)
->first(['piggy_banks.*']);
if (null !== $piggyBank) {
return $piggyBank;
}
@@ -168,17 +168,16 @@ class PiggyBankFactory
public function findByName(string $name): ?PiggyBank
{
return PiggyBank::leftJoin('account_piggy_bank', 'account_piggy_bank.piggy_bank_id', '=', 'piggy_banks.id')
->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id')
->where('accounts.user_id', $this->user->id)
->where('piggy_banks.name', $name)
->first(['piggy_banks.*'])
;
->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id')
->where('accounts.user_id', $this->user->id)
->where('piggy_banks.name', $name)
->first(['piggy_banks.*']);
}
private function setOrder(PiggyBank $piggyBank, array $data): PiggyBank
{
$this->resetOrder();
$order = $this->getMaxOrder() + 1;
$order = $this->getMaxOrder() + 1;
if (array_key_exists('order', $data)) {
$order = $data['order'];
}
@@ -193,15 +192,14 @@ class PiggyBankFactory
{
// TODO duplicate code
$set = PiggyBank::leftJoin('account_piggy_bank', 'account_piggy_bank.piggy_bank_id', '=', 'piggy_banks.id')
->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id')
->where('accounts.user_id', $this->user->id)
->with(
[
'objectGroups',
]
)
->orderBy('piggy_banks.order', 'ASC')->get(['piggy_banks.*'])
;
->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id')
->where('accounts.user_id', $this->user->id)
->with(
[
'objectGroups',
]
)
->orderBy('piggy_banks.order', 'ASC')->get(['piggy_banks.*']);
$current = 1;
foreach ($set as $piggyBank) {
if ($piggyBank->order !== $current) {