Use trait and interface.

This commit is contained in:
James Cole
2025-02-23 12:28:27 +01:00
parent 79ae110368
commit de8149137a
32 changed files with 165 additions and 343 deletions

View File

@@ -28,8 +28,8 @@ use Carbon\Carbon;
use FireflyIII\Models\AvailableBudget;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Support\Facades\Amount;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use FireflyIII\Support\Repositories\UserGroup\UserGroupInterface;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
@@ -37,9 +37,9 @@ use Illuminate\Support\Facades\Log;
/**
* Class AvailableBudgetRepository
*/
class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface
class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface, UserGroupInterface
{
private User $user;
use UserGroupTrait;
public function cleanup(): void
{
@@ -230,13 +230,6 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface
return $availableBudget;
}
public function setUser(null|Authenticatable|User $user): void
{
if ($user instanceof User) {
$this->user = $user;
}
}
public function store(array $data): ?AvailableBudget
{
$start = $data['start'];

View File

@@ -31,8 +31,9 @@ use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\Note;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Support\Repositories\UserGroup\UserGroupInterface;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
@@ -40,9 +41,9 @@ use Illuminate\Support\Facades\Log;
/**
* Class BudgetLimitRepository
*/
class BudgetLimitRepository implements BudgetLimitRepositoryInterface
class BudgetLimitRepository implements BudgetLimitRepositoryInterface, UserGroupInterface
{
private User $user;
use UserGroupTrait;
/**
* Tells you which amount has been budgeted (for the given budgets)
@@ -262,13 +263,6 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
return (string) $budgetLimit->notes()->first()?->text;
}
public function setUser(null|Authenticatable|User $user): void
{
if ($user instanceof User) {
$this->user = $user;
}
}
/**
* @throws FireflyException
*/

View File

@@ -41,6 +41,7 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\UserGroups\Currency\CurrencyRepositoryInterface;
use FireflyIII\Services\Internal\Destroy\BudgetDestroyService;
use FireflyIII\Support\Http\Api\ExchangeRateConverter;
use FireflyIII\Support\Repositories\UserGroup\UserGroupInterface;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Database\QueryException;
use Illuminate\Support\Collection;
@@ -49,7 +50,7 @@ use Illuminate\Support\Facades\Log;
/**
* Class BudgetRepository.
*/
class BudgetRepository implements BudgetRepositoryInterface
class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface
{
use UserGroupTrait;

View File

@@ -29,17 +29,16 @@ use FireflyIII\Enums\TransactionTypeEnum;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Support\Report\Summarizer\TransactionSummarizer;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use FireflyIII\Support\Repositories\UserGroup\UserGroupInterface;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Support\Collection;
/**
* Class NoBudgetRepository
*/
class NoBudgetRepository implements NoBudgetRepositoryInterface
class NoBudgetRepository implements NoBudgetRepositoryInterface, UserGroupInterface
{
/** @var User */
private $user;
use UserGroupTrait;
public function getNoBudgetPeriodReport(Collection $accounts, Carbon $start, Carbon $end): array
{
@@ -80,13 +79,6 @@ class NoBudgetRepository implements NoBudgetRepositoryInterface
return $data;
}
public function setUser(null|Authenticatable|User $user): void
{
if ($user instanceof User) {
$this->user = $user;
}
}
public function sumExpenses(Carbon $start, Carbon $end, ?Collection $accounts = null, ?TransactionCurrency $currency = null): array
{
/** @var GroupCollectorInterface $collector */

View File

@@ -31,19 +31,18 @@ use FireflyIII\Models\Account;
use FireflyIII\Models\Budget;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Support\Facades\Amount;
use FireflyIII\Support\Report\Summarizer\TransactionSummarizer;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use FireflyIII\Support\Repositories\UserGroup\UserGroupInterface;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
/**
* Class OperationsRepository
*/
class OperationsRepository implements OperationsRepositoryInterface
class OperationsRepository implements OperationsRepositoryInterface, UserGroupInterface
{
private User $user;
use UserGroupTrait;
/**
* A method that returns the amount of money budgeted per day for this budget,
@@ -186,13 +185,6 @@ class OperationsRepository implements OperationsRepositoryInterface
return $array;
}
public function setUser(null|Authenticatable|User $user): void
{
if ($user instanceof User) {
$this->user = $user;
}
}
private function getBudgets(): Collection
{
/** @var BudgetRepositoryInterface $repos */