First full implementation of new storage routine.

This commit is contained in:
James Cole
2019-03-17 17:05:16 +01:00
parent 6bd2b4f288
commit 200a4b18a8
19 changed files with 958 additions and 674 deletions

View File

@@ -224,6 +224,43 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
return null;
}
/**
* @param PiggyBank|null $piggyBank
* @param int|null $piggyBankId
* @param string|null $piggyBankName
*
* @return PiggyBank|null
*/
public function findPiggyBank(?PiggyBank $piggyBank, ?int $piggyBankId, ?string $piggyBankName): ?PiggyBank
{
Log::debug('Searching for piggy information.');
if ($piggyBank instanceof PiggyBank && $piggyBank->account->user_id === $this->user->id) {
Log::debug(sprintf('Piggy object in parameters, will return Piggy #%d', $piggyBank->id));
return $piggyBank;
}
if (null !== $piggyBankId) {
$searchResult = $this->findNull((int)$piggyBankId);
if (null !== $searchResult) {
Log::debug(sprintf('Found piggy based on #%d, will return it.', $piggyBankId));
return $searchResult;
}
}
if (null !== $piggyBankName) {
$searchResult = $this->findByName((string)$piggyBankName);
if (null !== $searchResult) {
Log::debug(sprintf('Found piggy based on "%s", will return it.', $piggyBankName));
return $searchResult;
}
}
Log::debug('Found nothing');
return null;
}
/**
* Get current amount saved in piggy bank.
*