Remove methods, point to interface.

This commit is contained in:
James Cole
2025-02-23 12:27:07 +01:00
parent b93cfc5de2
commit 8d464962a8
30 changed files with 53 additions and 136 deletions

View File

@@ -30,9 +30,6 @@ use FireflyIII\Models\Location;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -148,10 +145,6 @@ interface AccountRepositoryInterface
public function searchAccountNr(string $query, array $types, int $limit): Collection; public function searchAccountNr(string $query, array $types, int $limit): Collection;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroup(UserGroup $userGroup): void;
public function store(array $data): Account; public function store(array $data): Account;
public function update(Account $account, array $data): Account; public function update(Account $account, array $data): Account;

View File

@@ -24,8 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Account; namespace FireflyIII\Repositories\Account;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -38,6 +36,4 @@ interface AccountTaskerInterface
public function getExpenseReport(Carbon $start, Carbon $end, Collection $accounts): array; public function getExpenseReport(Carbon $start, Carbon $end, Collection $accounts): array;
public function getIncomeReport(Carbon $start, Carbon $end, Collection $accounts): array; public function getIncomeReport(Carbon $start, Carbon $end, Collection $accounts): array;
public function setUser(null|Authenticatable|User $user): void;
} }

View File

@@ -26,8 +26,6 @@ namespace FireflyIII\Repositories\Account;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -49,8 +47,6 @@ interface OperationsRepositoryInterface
*/ */
public function listIncome(Carbon $start, Carbon $end, ?Collection $accounts = null): array; public function listIncome(Carbon $start, Carbon $end, ?Collection $accounts = null): array;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* Sum of withdrawal journals in period for a set of accounts, grouped per currency. Amounts are always negative. * Sum of withdrawal journals in period for a set of accounts, grouped per currency. Amounts are always negative.
* *

View File

@@ -25,8 +25,6 @@ namespace FireflyIII\Repositories\Attachment;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Attachment; use FireflyIII\Models\Attachment;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -47,8 +45,6 @@ interface AttachmentRepositoryInterface
*/ */
public function getNoteText(Attachment $attachment): ?string; public function getNoteText(Attachment $attachment): ?string;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* @throws FireflyException * @throws FireflyException
*/ */

View File

@@ -26,9 +26,6 @@ namespace FireflyIII\Repositories\Bill;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Bill; use FireflyIII\Models\Bill;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@@ -41,8 +38,6 @@ interface BillRepositoryInterface
public function billStartsWith(string $query, int $limit): Collection; public function billStartsWith(string $query, int $limit): Collection;
public function setUserGroup(UserGroup $userGroup): void;
/** /**
* Add correct order to bills. * Add correct order to bills.
*/ */
@@ -141,8 +136,6 @@ interface BillRepositoryInterface
*/ */
public function setOrder(Bill $bill, int $order): void; public function setOrder(Bill $bill, int $order): void;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* @throws FireflyException * @throws FireflyException
*/ */

View File

@@ -27,8 +27,6 @@ namespace FireflyIII\Repositories\Budget;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\AvailableBudget; use FireflyIII\Models\AvailableBudget;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -86,8 +84,6 @@ interface AvailableBudgetRepositoryInterface
*/ */
public function setAvailableBudget(TransactionCurrency $currency, Carbon $start, Carbon $end, string $amount): AvailableBudget; public function setAvailableBudget(TransactionCurrency $currency, Carbon $start, Carbon $end, string $amount): AvailableBudget;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): ?AvailableBudget; public function store(array $data): ?AvailableBudget;
public function update(AvailableBudget $availableBudget, array $data): AvailableBudget; public function update(AvailableBudget $availableBudget, array $data): AvailableBudget;

View File

@@ -28,8 +28,6 @@ use Carbon\Carbon;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit; use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -68,8 +66,6 @@ interface BudgetLimitRepositoryInterface
public function setNoteText(BudgetLimit $budgetLimit, string $text): void; public function setNoteText(BudgetLimit $budgetLimit, string $text): void;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): BudgetLimit; public function store(array $data): BudgetLimit;
public function update(BudgetLimit $budgetLimit, array $data): BudgetLimit; public function update(BudgetLimit $budgetLimit, array $data): BudgetLimit;

View File

@@ -27,9 +27,6 @@ use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\AutoBudget; use FireflyIII\Models\AutoBudget;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -41,8 +38,6 @@ interface BudgetRepositoryInterface
public function budgetStartsWith(string $query, int $limit): Collection; public function budgetStartsWith(string $query, int $limit): Collection;
public function setUserGroup(UserGroup $userGroup): void;
/** /**
* Returns the amount that is budgeted in a period. * Returns the amount that is budgeted in a period.
*/ */
@@ -102,8 +97,6 @@ interface BudgetRepositoryInterface
public function setBudgetOrder(Budget $budget, int $order): void; public function setBudgetOrder(Budget $budget, int $order): void;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* Used in the v2 API to calculate the amount of money spent in all active budgets. * Used in the v2 API to calculate the amount of money spent in all active budgets.
*/ */

View File

@@ -26,8 +26,6 @@ namespace FireflyIII\Repositories\Budget;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -40,7 +38,5 @@ interface NoBudgetRepositoryInterface
*/ */
public function getNoBudgetPeriodReport(Collection $accounts, Carbon $start, Carbon $end): array; public function getNoBudgetPeriodReport(Collection $accounts, Carbon $start, Carbon $end): array;
public function setUser(null|Authenticatable|User $user): void;
public function sumExpenses(Carbon $start, Carbon $end, ?Collection $accounts = null, ?TransactionCurrency $currency = null): array; public function sumExpenses(Carbon $start, Carbon $end, ?Collection $accounts = null, ?TransactionCurrency $currency = null): array;
} }

View File

@@ -27,8 +27,6 @@ namespace FireflyIII\Repositories\Budget;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -54,8 +52,6 @@ interface OperationsRepositoryInterface
*/ */
public function listExpenses(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $budgets = null): array; public function listExpenses(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $budgets = null): array;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* @SuppressWarnings("PHPMD.ExcessiveParameterList") * @SuppressWarnings("PHPMD.ExcessiveParameterList")
*/ */

View File

@@ -26,9 +26,6 @@ namespace FireflyIII\Repositories\Category;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Category; use FireflyIII\Models\Category;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -87,10 +84,6 @@ interface CategoryRepositoryInterface
public function searchCategory(string $query, int $limit): Collection; public function searchCategory(string $query, int $limit): Collection;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroup(UserGroup $userGroup): void;
/** /**
* @throws FireflyException * @throws FireflyException
*/ */

View File

@@ -25,8 +25,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Category; namespace FireflyIII\Repositories\Category;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -48,8 +46,6 @@ interface NoCategoryRepositoryInterface
*/ */
public function listIncome(Carbon $start, Carbon $end, ?Collection $accounts = null): array; public function listIncome(Carbon $start, Carbon $end, ?Collection $accounts = null): array;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* Sum of withdrawal journals in period without a category, grouped per currency. Amounts are always negative. * Sum of withdrawal journals in period without a category, grouped per currency. Amounts are always negative.
*/ */

View File

@@ -25,8 +25,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Category; namespace FireflyIII\Repositories\Category;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -64,8 +62,6 @@ interface OperationsRepositoryInterface
*/ */
public function listTransferredOut(Carbon $start, Carbon $end, Collection $accounts, ?Collection $categories = null): array; public function listTransferredOut(Carbon $start, Carbon $end, Collection $accounts, ?Collection $categories = null): array;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* Sum of withdrawal journals in period for a set of categories, grouped per currency. Amounts are always negative. * Sum of withdrawal journals in period for a set of categories, grouped per currency. Amounts are always negative.
*/ */

View File

@@ -26,9 +26,6 @@ namespace FireflyIII\Repositories\Currency;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\CurrencyExchangeRate; use FireflyIII\Models\CurrencyExchangeRate;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -66,8 +63,4 @@ interface CurrencyRepositoryInterface
* Used in download exchange rate cron job. Needs the user object! * Used in download exchange rate cron job. Needs the user object!
*/ */
public function setExchangeRate(TransactionCurrency $fromCurrency, TransactionCurrency $toCurrency, Carbon $date, float $rate): CurrencyExchangeRate; public function setExchangeRate(TransactionCurrency $fromCurrency, TransactionCurrency $toCurrency, Carbon $date, float $rate): CurrencyExchangeRate;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroup(UserGroup $userGroup): void;
} }

View File

@@ -26,8 +26,6 @@ namespace FireflyIII\Repositories\Journal;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -54,6 +52,4 @@ interface JournalAPIRepositoryInterface
* Get all piggy bank events for a journal. * Get all piggy bank events for a journal.
*/ */
public function getPiggyBankEvents(TransactionJournal $journal): Collection; public function getPiggyBankEvents(TransactionJournal $journal): Collection;
public function setUser(null|Authenticatable|User $user): void;
} }

View File

@@ -26,8 +26,6 @@ namespace FireflyIII\Repositories\Journal;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -80,6 +78,4 @@ interface JournalCLIRepositoryInterface
* Return all tags as strings in an array. * Return all tags as strings in an array.
*/ */
public function getTags(TransactionJournal $journal): array; public function getTags(TransactionJournal $journal): array;
public function setUser(null|Authenticatable|User $user): void;
} }

View File

@@ -29,8 +29,6 @@ use FireflyIII\Models\Account;
use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionJournalLink; use FireflyIII\Models\TransactionJournalLink;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -98,8 +96,6 @@ interface JournalRepositoryInterface
*/ */
public function searchJournalDescriptions(string $search, int $limit): Collection; public function searchJournalDescriptions(string $search, int $limit): Collection;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* TODO Maybe to account repository? Do this wen reconcile is API only. * TODO Maybe to account repository? Do this wen reconcile is API only.
*/ */

View File

@@ -26,8 +26,6 @@ namespace FireflyIII\Repositories\LinkType;
use FireflyIII\Models\LinkType; use FireflyIII\Models\LinkType;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionJournalLink; use FireflyIII\Models\TransactionJournalLink;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -72,8 +70,6 @@ interface LinkTypeRepositoryInterface
*/ */
public function getLinks(TransactionJournal $journal): Collection; public function getLinks(TransactionJournal $journal): Collection;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): LinkType; public function store(array $data): LinkType;
/** /**

View File

@@ -25,8 +25,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\ObjectGroup; namespace FireflyIII\Repositories\ObjectGroup;
use FireflyIII\Models\ObjectGroup; use FireflyIII\Models\ObjectGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -61,7 +59,5 @@ interface ObjectGroupRepositoryInterface
public function setOrder(ObjectGroup $objectGroup, int $newOrder): ObjectGroup; public function setOrder(ObjectGroup $objectGroup, int $newOrder): ObjectGroup;
public function setUser(null|Authenticatable|User $user): void;
public function update(ObjectGroup $objectGroup, array $data): ObjectGroup; public function update(ObjectGroup $objectGroup, array $data): ObjectGroup;
} }

View File

@@ -29,9 +29,6 @@ use FireflyIII\Models\Account;
use FireflyIII\Models\PiggyBank; use FireflyIII\Models\PiggyBank;
use FireflyIII\Models\PiggyBankRepetition; use FireflyIII\Models\PiggyBankRepetition;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -41,8 +38,6 @@ interface PiggyBankRepositoryInterface
{ {
public function addAmount(PiggyBank $piggyBank, Account $account, string $amount, ?TransactionJournal $journal = null): bool; public function addAmount(PiggyBank $piggyBank, Account $account, string $amount, ?TransactionJournal $journal = null): bool;
public function getCurrentNativeAmount(PiggyBank $piggyBank, ?Account $account = null): string;
public function addAmountToPiggyBank(PiggyBank $piggyBank, string $amount, TransactionJournal $journal): void; public function addAmountToPiggyBank(PiggyBank $piggyBank, string $amount, TransactionJournal $journal): void;
public function canAddAmount(PiggyBank $piggyBank, Account $account, string $amount): bool; public function canAddAmount(PiggyBank $piggyBank, Account $account, string $amount): bool;
@@ -72,6 +67,8 @@ interface PiggyBankRepositoryInterface
*/ */
public function getCurrentAmount(PiggyBank $piggyBank, ?Account $account = null): string; public function getCurrentAmount(PiggyBank $piggyBank, ?Account $account = null): string;
public function getCurrentNativeAmount(PiggyBank $piggyBank, ?Account $account = null): string;
/** /**
* Get all events. * Get all events.
*/ */
@@ -136,10 +133,6 @@ interface PiggyBankRepositoryInterface
*/ */
public function setOrder(PiggyBank $piggyBank, int $newOrder): bool; public function setOrder(PiggyBank $piggyBank, int $newOrder): bool;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroup(UserGroup $userGroup): void;
/** /**
* Store new piggy bank. * Store new piggy bank.
* *

View File

@@ -29,8 +29,6 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Recurrence; use FireflyIII\Models\Recurrence;
use FireflyIII\Models\RecurrenceRepetition; use FireflyIII\Models\RecurrenceRepetition;
use FireflyIII\Models\RecurrenceTransaction; use FireflyIII\Models\RecurrenceTransaction;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@@ -137,8 +135,6 @@ interface RecurringRepositoryInterface
public function searchRecurrence(string $query, int $limit): Collection; public function searchRecurrence(string $query, int $limit): Collection;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* Store a new recurring transaction. * Store a new recurring transaction.
* *

View File

@@ -27,8 +27,6 @@ use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleAction; use FireflyIII\Models\RuleAction;
use FireflyIII\Models\RuleGroup; use FireflyIII\Models\RuleGroup;
use FireflyIII\Models\RuleTrigger; use FireflyIII\Models\RuleTrigger;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -84,8 +82,6 @@ interface RuleRepositoryInterface
public function setOrder(Rule $rule, int $newOrder): void; public function setOrder(Rule $rule, int $newOrder): void;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): Rule; public function store(array $data): Rule;
public function storeAction(Rule $rule, array $values): RuleAction; public function storeAction(Rule $rule, array $values): RuleAction;

View File

@@ -24,8 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\RuleGroup; namespace FireflyIII\Repositories\RuleGroup;
use FireflyIII\Models\RuleGroup; use FireflyIII\Models\RuleGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -88,8 +86,6 @@ interface RuleGroupRepositoryInterface
public function setOrder(RuleGroup $ruleGroup, int $newOrder): void; public function setOrder(RuleGroup $ruleGroup, int $newOrder): void;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): RuleGroup; public function store(array $data): RuleGroup;
public function update(RuleGroup $ruleGroup, array $data): RuleGroup; public function update(RuleGroup $ruleGroup, array $data): RuleGroup;

View File

@@ -25,8 +25,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Tag; namespace FireflyIII\Repositories\Tag;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -48,8 +46,6 @@ interface OperationsRepositoryInterface
*/ */
public function listIncome(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $tags = null): array; public function listIncome(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $tags = null): array;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* Sum of withdrawal journals in period for a set of tags, grouped per currency. Amounts are always negative. * Sum of withdrawal journals in period for a set of tags, grouped per currency. Amounts are always negative.
*/ */

View File

@@ -26,8 +26,6 @@ namespace FireflyIII\Repositories\Tag;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Models\Location; use FireflyIII\Models\Location;
use FireflyIII\Models\Tag; use FireflyIII\Models\Tag;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -93,8 +91,6 @@ interface TagRepositoryInterface
*/ */
public function searchTags(string $query, int $limit): Collection; public function searchTags(string $query, int $limit): Collection;
public function setUser(null|Authenticatable|User $user): void;
/** /**
* This method stores a tag. * This method stores a tag.
*/ */

View File

@@ -28,10 +28,7 @@ use FireflyIII\Exceptions\DuplicateTransactionException;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Location; use FireflyIII\Models\Location;
use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\UserGroup;
use FireflyIII\Support\NullArrayObject; use FireflyIII\Support\NullArrayObject;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -98,10 +95,6 @@ interface TransactionGroupRepositoryInterface
*/ */
public function getTags(int $journalId): array; public function getTags(int $journalId): array;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroup(UserGroup $userGroup): void;
/** /**
* Create a new transaction group. * Create a new transaction group.
* *

View File

@@ -25,8 +25,6 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\UserGroup; namespace FireflyIII\Repositories\UserGroup;
use FireflyIII\Models\UserGroup; use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -44,8 +42,6 @@ interface UserGroupRepositoryInterface
public function getMembershipsFromGroupId(int $groupId): Collection; public function getMembershipsFromGroupId(int $groupId): Collection;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): UserGroup; public function store(array $data): UserGroup;
public function update(UserGroup $userGroup, array $data): UserGroup; public function update(UserGroup $userGroup, array $data): UserGroup;

View File

@@ -27,8 +27,6 @@ namespace FireflyIII\Repositories\Webhook;
use FireflyIII\Models\Webhook; use FireflyIII\Models\Webhook;
use FireflyIII\Models\WebhookAttempt; use FireflyIII\Models\WebhookAttempt;
use FireflyIII\Models\WebhookMessage; use FireflyIII\Models\WebhookMessage;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@@ -53,8 +51,6 @@ interface WebhookRepositoryInterface
public function getReadyMessages(Webhook $webhook): Collection; public function getReadyMessages(Webhook $webhook): Collection;
public function setUser(null|Authenticatable|User $user): void;
public function store(array $data): Webhook; public function store(array $data): Webhook;
public function update(Webhook $webhook, array $data): Webhook; public function update(Webhook $webhook, array $data): Webhook;

View File

@@ -0,0 +1,45 @@
<?php
/*
* UserGroupInterface.php
* Copyright (c) 2025 james@firefly-iii.org.
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Repositories\UserGroup;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\UserGroup;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
interface UserGroupInterface
{
public function getUserGroup(): ?UserGroup;
public function getUser(): ?User;
public function checkUserGroupAccess(UserRoleEnum $role): bool;
public function setUserGroup(UserGroup $userGroup): void;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroupById(int $userGroupId): void;
}

View File

@@ -40,11 +40,16 @@ trait UserGroupTrait
protected ?User $user = null; protected ?User $user = null;
protected ?UserGroup $userGroup = null; protected ?UserGroup $userGroup = null;
public function getUserGroup(): UserGroup public function getUserGroup(): ?UserGroup
{ {
return $this->userGroup; return $this->userGroup;
} }
public function getUser(): ?User
{
return $this->user;
}
public function checkUserGroupAccess(UserRoleEnum $role): bool public function checkUserGroupAccess(UserRoleEnum $role): bool
{ {
$result = $this->user->hasRoleInGroupOrOwner($this->userGroup, $role); $result = $this->user->hasRoleInGroupOrOwner($this->userGroup, $role);