Clean up code.

This commit is contained in:
James Cole
2023-12-10 06:51:59 +01:00
parent c2b22a2bac
commit 46e130fdfe
195 changed files with 973 additions and 984 deletions

View File

@@ -255,7 +255,7 @@ class ListController extends Controller
$unfiltered = $recurringRepos->getAll(); $unfiltered = $recurringRepos->getAll();
// filter selection // filter selection
$collection = $unfiltered->filter(/** @phpstan-ignore-line */ $collection = $unfiltered->filter( // @phpstan-ignore-line
static function (Recurrence $recurrence) use ($currency) { // @phpstan-ignore-line static function (Recurrence $recurrence) use ($currency) { // @phpstan-ignore-line
/** @var RecurrenceTransaction $transaction */ /** @var RecurrenceTransaction $transaction */
foreach ($recurrence->recurrenceTransactions as $transaction) { foreach ($recurrence->recurrenceTransactions as $transaction) {
@@ -305,7 +305,7 @@ class ListController extends Controller
$ruleRepos = app(RuleRepositoryInterface::class); $ruleRepos = app(RuleRepositoryInterface::class);
$unfiltered = $ruleRepos->getAll(); $unfiltered = $ruleRepos->getAll();
$collection = $unfiltered->filter(/** @phpstan-ignore-line */ $collection = $unfiltered->filter( // @phpstan-ignore-line
static function (Rule $rule) use ($currency) { // @phpstan-ignore-line static function (Rule $rule) use ($currency) { // @phpstan-ignore-line
/** @var RuleTrigger $trigger */ /** @var RuleTrigger $trigger */
foreach ($rule->ruleTriggers as $trigger) { foreach ($rule->ruleTriggers as $trigger) {

View File

@@ -61,8 +61,7 @@ class DeleteEmptyJournals extends Command
{ {
$set = Transaction::whereNull('deleted_at') $set = Transaction::whereNull('deleted_at')
->groupBy('transactions.transaction_journal_id') ->groupBy('transactions.transaction_journal_id')
->get([DB::raw('COUNT(transactions.transaction_journal_id) as the_count'), 'transaction_journal_id']); ->get([DB::raw('COUNT(transactions.transaction_journal_id) as the_count'), 'transaction_journal_id']); // @phpstan-ignore-line
/** @phpstan-ignore-line */
$total = 0; $total = 0;
/** @var Transaction $row */ /** @var Transaction $row */
foreach ($set as $row) { foreach ($set as $row) {

View File

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

View File

@@ -50,7 +50,7 @@ class APIEventHandler
if (null !== $user) { if (null !== $user) {
try { try {
Notification::send($user, new NewAccessToken()); Notification::send($user, new NewAccessToken());
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');

View File

@@ -31,7 +31,6 @@ use FireflyIII\Notifications\Admin\TestNotification;
use FireflyIII\Notifications\Admin\UserInvitation; use FireflyIII\Notifications\Admin\UserInvitation;
use FireflyIII\Notifications\Admin\VersionCheckResult; use FireflyIII\Notifications\Admin\VersionCheckResult;
use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface;
use FireflyIII\Support\Facades\FireflyConfig;
use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Notification;
/** /**
@@ -58,7 +57,7 @@ class AdminEventHandler
if ($repository->hasRole($user, 'owner')) { if ($repository->hasRole($user, 'owner')) {
try { try {
Notification::send($user, new UserInvitation($event->invitee)); Notification::send($user, new UserInvitation($event->invitee));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');
@@ -96,7 +95,7 @@ class AdminEventHandler
if ($repository->hasRole($user, 'owner')) { if ($repository->hasRole($user, 'owner')) {
try { try {
Notification::send($user, new VersionCheckResult($event->message)); Notification::send($user, new VersionCheckResult($event->message));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) {// @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');
@@ -130,7 +129,7 @@ class AdminEventHandler
} }
try { try {
Notification::send($event->user, new TestNotification($event->user->email)); Notification::send($event->user, new TestNotification($event->user->email));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');

View File

@@ -75,7 +75,7 @@ class AutomationHandler
} }
try { try {
Notification::send($user, new TransactionCreation($groups)); Notification::send($user, new TransactionCreation($groups));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');

View File

@@ -51,7 +51,7 @@ class BillEventHandler
app('log')->debug('Bill reminder is true!'); app('log')->debug('Bill reminder is true!');
try { try {
Notification::send($bill->user, new BillReminder($bill, $event->field, $event->diff)); Notification::send($bill->user, new BillReminder($bill, $event->field, $event->diff));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');

View File

@@ -93,7 +93,7 @@ class BudgetLimitHandler
$viewRange = '1M'; $viewRange = '1M';
} }
// safety catch // safety catch
if(null === $viewRange || is_array($viewRange)){ if (null === $viewRange || is_array($viewRange)) {
$viewRange = '1M'; $viewRange = '1M';
} }
$viewRange = (string)$viewRange; $viewRange = (string)$viewRange;

View File

@@ -131,7 +131,7 @@ class UserEventHandler
$group = null; $group = null;
// create a new group. // create a new group.
while (true === $groupExists) { /** @phpstan-ignore-line */ while (true === $groupExists) { // @phpstan-ignore-line
$groupExists = UserGroup::where('title', $groupTitle)->count() > 0; $groupExists = UserGroup::where('title', $groupTitle)->count() > 0;
if (false === $groupExists) { if (false === $groupExists) {
$group = UserGroup::create(['title' => $groupTitle]); $group = UserGroup::create(['title' => $groupTitle]);
@@ -205,7 +205,7 @@ class UserEventHandler
if (false === $entry['notified']) { if (false === $entry['notified']) {
try { try {
Notification::send($user, new UserLogin($ipAddress)); Notification::send($user, new UserLogin($ipAddress));
} catch (Exception $e) {/** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');
@@ -239,7 +239,7 @@ class UserEventHandler
if ($repository->hasRole($user, 'owner')) { if ($repository->hasRole($user, 'owner')) {
try { try {
Notification::send($user, new AdminRegistrationNotification($event->user)); Notification::send($user, new AdminRegistrationNotification($event->user));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');
@@ -316,7 +316,7 @@ class UserEventHandler
{ {
try { try {
Notification::send($event->user, new UserNewPassword(route('password.reset', [$event->token]))); Notification::send($event->user, new UserNewPassword(route('password.reset', [$event->token])));
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');
@@ -364,7 +364,7 @@ class UserEventHandler
if ($sendMail) { if ($sendMail) {
try { try {
Notification::send($event->user, new UserRegistrationNotification()); Notification::send($event->user, new UserRegistrationNotification());
} catch (Exception $e) { /** @phpstan-ignore-line */ } catch (Exception $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.');

View File

@@ -103,7 +103,7 @@ class NetWorth implements NetWorthInterface
foreach ($accounts as $account) { foreach ($accounts as $account) {
app('log')->debug(sprintf('Now at account #%d ("%s")', $account->id, $account->name)); app('log')->debug(sprintf('Now at account #%d ("%s")', $account->id, $account->name));
$currency = $this->getRepository()->getAccountCurrency($account); $currency = $this->getRepository()->getAccountCurrency($account);
if(null === $currency) { if (null === $currency) {
$currency = app('amount')->getDefaultCurrency(); $currency = app('amount')->getDefaultCurrency();
} }
$currencyId = $currency->id; $currencyId = $currency->id;

View File

@@ -152,7 +152,7 @@ class CreateController extends Controller
// update preferences if necessary: // update preferences if necessary:
$frontPage = app('preferences')->get('frontPageAccounts', [])->data; $frontPage = app('preferences')->get('frontPageAccounts', [])->data;
if(!is_array($frontPage)) { if (!is_array($frontPage)) {
$frontPage = []; $frontPage = [];
} }
if (AccountType::ASSET === $account->accountType->type) { if (AccountType::ASSET === $account->accountType->type) {

View File

@@ -94,7 +94,7 @@ class EditController extends Controller
$hasLocation = null !== $location; $hasLocation = null !== $location;
$locations = [ $locations = [
'location' => [ 'location' => [
'latitude' => null !== old('location_latitude') ? old('location_latitude'): $latitude, 'latitude' => null !== old('location_latitude') ? old('location_latitude') : $latitude,
'longitude' => null !== old('location_longitude') ? old('location_longitude') : $longitude, 'longitude' => null !== old('location_longitude') ? old('location_longitude') : $longitude,
'zoom_level' => null !== old('location_zoom_level') ? old('location_zoom_level') : $zoomLevel, 'zoom_level' => null !== old('location_zoom_level') ? old('location_zoom_level') : $zoomLevel,
'has_location' => $hasLocation || 'true' === old('location_has_location'), 'has_location' => $hasLocation || 'true' === old('location_has_location'),

View File

@@ -26,7 +26,6 @@ namespace FireflyIII\Http\Controllers\Admin;
use FireflyIII\Events\AdminRequestedTestMessage; use FireflyIII\Events\AdminRequestedTestMessage;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\Http\Middleware\IsDemoUser;
use FireflyIII\Support\Facades\FireflyConfig;
use FireflyIII\Support\Notifications\UrlValidator; use FireflyIII\Support\Notifications\UrlValidator;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;

View File

@@ -170,7 +170,7 @@ class UserController extends Controller
$subTitle = (string)trans('firefly.user_administration'); $subTitle = (string)trans('firefly.user_administration');
$subTitleIcon = 'fa-users'; $subTitleIcon = 'fa-users';
$users = $this->repository->all(); $users = $this->repository->all();
$singleUserMode = (bool) app('fireflyconfig')->get('single_user_mode', config('firefly.configuration.single_user_mode'))->data; $singleUserMode = (bool)app('fireflyconfig')->get('single_user_mode', config('firefly.configuration.single_user_mode'))->data;
$allowInvites = false; $allowInvites = false;
if (!$this->externalIdentity && $singleUserMode) { if (!$this->externalIdentity && $singleUserMode) {
// also registration enabled. // also registration enabled.

View File

@@ -127,7 +127,7 @@ class AttachmentController extends Controller
->header('Expires', '0') ->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0') ->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public') ->header('Pragma', 'public')
->header('Content-Length', (string) strlen($content)); ->header('Content-Length', (string)strlen($content));
return $response; return $response;
} }

View File

@@ -170,7 +170,7 @@ class TwoFactorController extends Controller
private function isBackupCode(string $mfaCode): bool private function isBackupCode(string $mfaCode): bool
{ {
$list = app('preferences')->get('mfa_recovery', [])->data; $list = app('preferences')->get('mfa_recovery', [])->data;
if(!is_array($list)) { if (!is_array($list)) {
$list = []; $list = [];
} }
if (in_array($mfaCode, $list, true)) { if (in_array($mfaCode, $list, true)) {
@@ -188,7 +188,7 @@ class TwoFactorController extends Controller
private function removeFromBackupCodes(string $mfaCode): void private function removeFromBackupCodes(string $mfaCode): void
{ {
$list = app('preferences')->get('mfa_recovery', [])->data; $list = app('preferences')->get('mfa_recovery', [])->data;
if(!is_array($list)) { if (!is_array($list)) {
$list = []; $list = [];
} }
$newList = array_values(array_diff($list, [$mfaCode])); $newList = array_values(array_diff($list, [$mfaCode]));

View File

@@ -135,7 +135,7 @@ class IndexController extends Controller
// get budgeted for default currency: // get budgeted for default currency:
if (0 === count($availableBudgets)) { if (0 === count($availableBudgets)) {
$budgeted = $this->blRepository->budgeted($start, $end, $defaultCurrency, ); $budgeted = $this->blRepository->budgeted($start, $end, $defaultCurrency,);
$spentArr = $this->opsRepository->sumExpenses($start, $end, null, null, $defaultCurrency); $spentArr = $this->opsRepository->sumExpenses($start, $end, null, null, $defaultCurrency);
$spent = $spentArr[$defaultCurrency->id]['sum'] ?? '0'; $spent = $spentArr[$defaultCurrency->id]['sum'] ?? '0';
unset($spentArr); unset($spentArr);
@@ -194,7 +194,7 @@ class IndexController extends Controller
$array['spent'] = $spentArr[$entry->transaction_currency_id]['sum'] ?? '0'; $array['spent'] = $spentArr[$entry->transaction_currency_id]['sum'] ?? '0';
// budgeted in period: // budgeted in period:
$budgeted = $this->blRepository->budgeted($entry->start_date, $entry->end_date, $entry->transactionCurrency, ); $budgeted = $this->blRepository->budgeted($entry->start_date, $entry->end_date, $entry->transactionCurrency,);
$array['budgeted'] = $budgeted; $array['budgeted'] = $budgeted;
$availableBudgets[] = $array; $availableBudgets[] = $array;
unset($spentArr); unset($spentArr);
@@ -283,8 +283,7 @@ class IndexController extends Controller
foreach ($budget['spent'] as $spent) { foreach ($budget['spent'] as $spent) {
$currencyId = $spent['currency_id']; $currencyId = $spent['currency_id'];
$sums['spent'][$currencyId] $sums['spent'][$currencyId]
??= ??= [
[
'amount' => '0', 'amount' => '0',
'currency_id' => $spent['currency_id'], 'currency_id' => $spent['currency_id'],
'currency_symbol' => $spent['currency_symbol'], 'currency_symbol' => $spent['currency_symbol'],
@@ -297,8 +296,7 @@ class IndexController extends Controller
foreach ($budget['budgeted'] as $budgeted) { foreach ($budget['budgeted'] as $budgeted) {
$currencyId = $budgeted['currency_id']; $currencyId = $budgeted['currency_id'];
$sums['budgeted'][$currencyId] $sums['budgeted'][$currencyId]
??= ??= [
[
'amount' => '0', 'amount' => '0',
'currency_id' => $budgeted['currency_id'], 'currency_id' => $budgeted['currency_id'],
'currency_symbol' => $budgeted['currency_symbol'], 'currency_symbol' => $budgeted['currency_symbol'],
@@ -307,8 +305,8 @@ class IndexController extends Controller
$sums['budgeted'][$currencyId]['amount'] = bcadd($sums['budgeted'][$currencyId]['amount'], $budgeted['amount']); $sums['budgeted'][$currencyId]['amount'] = bcadd($sums['budgeted'][$currencyId]['amount'], $budgeted['amount']);
// also calculate how much left from budgeted: // also calculate how much left from budgeted:
$sums['left'][$currencyId] ??= $sums['left'][$currencyId]
[ ??= [
'amount' => '0', 'amount' => '0',
'currency_id' => $budgeted['currency_id'], 'currency_id' => $budgeted['currency_id'],
'currency_symbol' => $budgeted['currency_symbol'], 'currency_symbol' => $budgeted['currency_symbol'],

View File

@@ -147,7 +147,7 @@ class ExpenseReportController extends Controller
while ($currentStart < $end) { while ($currentStart < $end) {
$currentEnd = clone $currentStart; $currentEnd = clone $currentStart;
$currentEnd = $currentEnd->$function(); /** @phpstan-ignore-line */ $currentEnd = $currentEnd->$function(); // @phpstan-ignore-line
// get expenses grouped by opposing name: // get expenses grouped by opposing name:
$expenses = $this->groupByName($this->getExpensesForOpposing($accounts, $all, $currentStart, $currentEnd)); $expenses = $this->groupByName($this->getExpensesForOpposing($accounts, $all, $currentStart, $currentEnd));

View File

@@ -57,7 +57,7 @@ abstract class Controller extends BaseController
{ {
// is site a demo site? // is site a demo site?
$isDemoSiteConfig = app('fireflyconfig')->get('is_demo_site', config('firefly.configuration.is_demo_site', false)); $isDemoSiteConfig = app('fireflyconfig')->get('is_demo_site', config('firefly.configuration.is_demo_site', false));
$isDemoSite = (bool) $isDemoSiteConfig->data; $isDemoSite = (bool)$isDemoSiteConfig->data;
app('view')->share('IS_DEMO_SITE', $isDemoSite); app('view')->share('IS_DEMO_SITE', $isDemoSite);
app('view')->share('DEMO_USERNAME', config('firefly.demo_username')); app('view')->share('DEMO_USERNAME', config('firefly.demo_username'));
app('view')->share('DEMO_PASSWORD', config('firefly.demo_password')); app('view')->share('DEMO_PASSWORD', config('firefly.demo_password'));

View File

@@ -42,6 +42,7 @@ use Illuminate\View\View;
use Monolog\Handler\RotatingFileHandler; use Monolog\Handler\RotatingFileHandler;
use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface; use Psr\Container\NotFoundExceptionInterface;
use const PHP_SAPI;
/** /**
* Class DebugController * Class DebugController
@@ -127,7 +128,7 @@ class DebugController extends Controller
// get latest log file: // get latest log file:
$logger = Log::driver(); $logger = Log::driver();
// PHPstan doesn't recognize the method because of its polymorphic nature. // PHPstan doesn't recognize the method because of its polymorphic nature.
$handlers = $logger->getHandlers(); /** @phpstan-ignore-line */ $handlers = $logger->getHandlers(); // @phpstan-ignore-line
$logContent = ''; $logContent = '';
foreach ($handlers as $handler) { foreach ($handlers as $handler) {
if ($handler instanceof RotatingFileHandler) { if ($handler instanceof RotatingFileHandler) {
@@ -172,7 +173,7 @@ class DebugController extends Controller
'db_version' => app('fireflyconfig')->get('db_version', 1)->data, 'db_version' => app('fireflyconfig')->get('db_version', 1)->data,
'php_version' => PHP_VERSION, 'php_version' => PHP_VERSION,
'php_os' => PHP_OS, 'php_os' => PHP_OS,
'interface' => \PHP_SAPI, 'interface' => PHP_SAPI,
'bcscale' => bcscale(), 'bcscale' => bcscale(),
'display_errors' => ini_get('display_errors'), 'display_errors' => ini_get('display_errors'),
'error_reporting' => $this->errorReporting((int)ini_get('error_reporting')), 'error_reporting' => $this->errorReporting((int)ini_get('error_reporting')),
@@ -277,7 +278,7 @@ class DebugController extends Controller
$result = setlocale(LC_ALL, $code); $result = setlocale(LC_ALL, $code);
$localeAttempts[$code] = $result === $code; $localeAttempts[$code] = $result === $code;
} }
setlocale(LC_ALL, (string) $original); setlocale(LC_ALL, (string)$original);
return [ return [
'user_id' => auth()->user()->id, 'user_id' => auth()->user()->id,

View File

@@ -102,7 +102,7 @@ class IndexController extends Controller
->header('Expires', '0') ->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0') ->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public') ->header('Pragma', 'public')
->header('Content-Length', (string) strlen($result['transactions'])); ->header('Content-Length', (string)strlen($result['transactions']));
// return CSV file made from 'transactions' array. // return CSV file made from 'transactions' array.
return $response; return $response;

View File

@@ -80,7 +80,7 @@ class RecurrenceController extends Controller
$repetitions = (int)$request->get('reps'); $repetitions = (int)$request->get('reps');
$repetitionMoment = ''; $repetitionMoment = '';
if(false === $start || false === $end || false === $firstDate || false === $endDate) { if (false === $start || false === $end || false === $firstDate || false === $endDate) {
return response()->json(); return response()->json();
} }
@@ -157,7 +157,7 @@ class RecurrenceController extends Controller
} catch (InvalidFormatException $e) { } catch (InvalidFormatException $e) {
$date = Carbon::today(config('app.timezone')); $date = Carbon::today(config('app.timezone'));
} }
if(false === $date) { if (false === $date) {
return response()->json(); return response()->json();
} }
$date->startOfDay(); $date->startOfDay();

View File

@@ -107,9 +107,7 @@ class CategoryController extends Controller
]; ];
$report[$sourceAccountId]['currencies'][$currencyId]['categories'][$category['id']] $report[$sourceAccountId]['currencies'][$currencyId]['categories'][$category['id']]
??= ??= [
[
'spent' => '0', 'spent' => '0',
'earned' => '0', 'earned' => '0',
'sum' => '0', 'sum' => '0',
@@ -134,8 +132,7 @@ class CategoryController extends Controller
foreach ($category['transaction_journals'] as $journal) { foreach ($category['transaction_journals'] as $journal) {
$destinationId = $journal['destination_account_id']; $destinationId = $journal['destination_account_id'];
$report[$destinationId]['currencies'][$currencyId] $report[$destinationId]['currencies'][$currencyId]
??= ??= [
[
'currency_id' => $currency['currency_id'], 'currency_id' => $currency['currency_id'],
'currency_symbol' => $currency['currency_symbol'], 'currency_symbol' => $currency['currency_symbol'],
'currency_name' => $currency['currency_name'], 'currency_name' => $currency['currency_name'],
@@ -143,9 +140,7 @@ class CategoryController extends Controller
'categories' => [], 'categories' => [],
]; ];
$report[$destinationId]['currencies'][$currencyId]['categories'][$category['id']] $report[$destinationId]['currencies'][$currencyId]['categories'][$category['id']]
??= ??= [
[
'spent' => '0', 'spent' => '0',
'earned' => '0', 'earned' => '0',
'sum' => '0', 'sum' => '0',

View File

@@ -100,9 +100,7 @@ class TagController extends Controller
]; ];
$report[$sourceAccountId]['currencies'][$currencyId]['tags'][$tag['id']] $report[$sourceAccountId]['currencies'][$currencyId]['tags'][$tag['id']]
??= ??= [
[
'spent' => '0', 'spent' => '0',
'earned' => '0', 'earned' => '0',
'sum' => '0', 'sum' => '0',
@@ -127,8 +125,7 @@ class TagController extends Controller
foreach ($tag['transaction_journals'] as $journal) { foreach ($tag['transaction_journals'] as $journal) {
$destinationId = $journal['destination_account_id']; $destinationId = $journal['destination_account_id'];
$report[$destinationId]['currencies'][$currencyId] $report[$destinationId]['currencies'][$currencyId]
??= ??= [
[
'currency_id' => $currency['currency_id'], 'currency_id' => $currency['currency_id'],
'currency_symbol' => $currency['currency_symbol'], 'currency_symbol' => $currency['currency_symbol'],
'currency_name' => $currency['currency_name'], 'currency_name' => $currency['currency_name'],
@@ -136,9 +133,7 @@ class TagController extends Controller
'tags' => [], 'tags' => [],
]; ];
$report[$destinationId]['currencies'][$currencyId]['tags'][$tag['id']] $report[$destinationId]['currencies'][$currencyId]['tags'][$tag['id']]
??= ??= [
[
'spent' => '0', 'spent' => '0',
'earned' => '0', 'earned' => '0',
'sum' => '0', 'sum' => '0',

View File

@@ -49,6 +49,7 @@ use Psr\Container\NotFoundExceptionInterface;
class ReportController extends Controller class ReportController extends Controller
{ {
use RenderPartialViews; use RenderPartialViews;
protected ReportHelperInterface $helper; protected ReportHelperInterface $helper;
private BudgetRepositoryInterface $repository; private BudgetRepositoryInterface $repository;
@@ -328,7 +329,7 @@ class ReportController extends Controller
* @throws FireflyException * @throws FireflyException
* *
*/ */
public function postIndex(ReportFormRequest $request): RedirectResponse|Redirector|View public function postIndex(ReportFormRequest $request): RedirectResponse | Redirector | View
{ {
// report type: // report type:
$reportType = $request->get('report_type'); $reportType = $request->get('report_type');

View File

@@ -109,7 +109,7 @@ class SelectController extends Controller
* *
* @return Factory|View|RedirectResponse * @return Factory|View|RedirectResponse
*/ */
public function selectTransactions(Rule $rule): Factory|View|RedirectResponse public function selectTransactions(Rule $rule): Factory | View | RedirectResponse
{ {
if (false === $rule->active) { if (false === $rule->active) {
session()->flash('warning', trans('firefly.cannot_fire_inactive_rules')); session()->flash('warning', trans('firefly.cannot_fire_inactive_rules'));

View File

@@ -179,7 +179,7 @@ class InstallController extends Controller
return; return;
} }
file_put_contents($publicKey, (string) $key->getPublicKey()); file_put_contents($publicKey, (string)$key->getPublicKey());
file_put_contents($privateKey, $key->toString('PKCS1')); file_put_contents($privateKey, $key->toString('PKCS1'));
} }
} }

View File

@@ -101,7 +101,7 @@ class DeleteController extends Controller
* *
* @return RedirectResponse|Redirector * @return RedirectResponse|Redirector
*/ */
public function destroy(TransactionGroup $group): RedirectResponse|Redirector public function destroy(TransactionGroup $group): RedirectResponse | Redirector
{ {
app('log')->debug(sprintf('Now in %s(#%d).', __METHOD__, $group->id)); app('log')->debug(sprintf('Now in %s(#%d).', __METHOD__, $group->id));
if (!$this->isEditableGroup($group)) { if (!$this->isEditableGroup($group)) {

View File

@@ -32,7 +32,6 @@ use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface
use FireflyIII\Transformers\TransactionGroupTransformer; use FireflyIII\Transformers\TransactionGroupTransformer;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\View\View; use Illuminate\View\View;
use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\HttpFoundation\ParameterBag;
@@ -81,7 +80,7 @@ class ShowController extends Controller
* @return Factory|View * @return Factory|View
* @throws FireflyException * @throws FireflyException
*/ */
public function show( TransactionGroup $transactionGroup) public function show(TransactionGroup $transactionGroup)
{ {
/** @var TransactionJournal|null $first */ /** @var TransactionJournal|null $first */
$first = $transactionGroup->transactionJournals()->first(['transaction_journals.*']); $first = $transactionGroup->transactionJournals()->first(['transaction_journals.*']);

View File

@@ -26,7 +26,6 @@ namespace FireflyIII\Http\Controllers\Webhooks;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\Http\Request;
use Illuminate\View\View; use Illuminate\View\View;
/** /**

View File

@@ -69,13 +69,13 @@ class Range
// ignore preference. set the range to be the current month: // ignore preference. set the range to be the current month:
if (!app('session')->has('start') && !app('session')->has('end')) { if (!app('session')->has('start') && !app('session')->has('end')) {
$viewRange = app('preferences')->get('viewRange', '1M')->data; $viewRange = app('preferences')->get('viewRange', '1M')->data;
if(is_array($viewRange)) { if (is_array($viewRange)) {
$viewRange = '1M'; $viewRange = '1M';
} }
$today = today(config('app.timezone')); $today = today(config('app.timezone'));
$start = app('navigation')->updateStartDate((string) $viewRange, $today); $start = app('navigation')->updateStartDate((string)$viewRange, $today);
$end = app('navigation')->updateEndDate((string) $viewRange, $start); $end = app('navigation')->updateEndDate((string)$viewRange, $start);
app('session')->put('start', $start); app('session')->put('start', $start);
app('session')->put('end', $end); app('session')->put('end', $end);

View File

@@ -121,7 +121,7 @@ class DownloadExchangeRates implements ShouldQueue
return; return;
} }
$date = Carbon::createFromFormat('Y-m-d', $json['date'], config('app.timezone')); $date = Carbon::createFromFormat('Y-m-d', $json['date'], config('app.timezone'));
if(false === $date) { if (false === $date) {
return; return;
} }
$this->saveRates($currency, $date, $json['rates']); $this->saveRates($currency, $date, $json['rates']);

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Jobs; namespace FireflyIII\Jobs;
use Exception; use Exception;
use FireflyIII\Exceptions\FireflyException;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Message; use Illuminate\Mail\Message;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
@@ -90,7 +89,7 @@ class MailError extends Job implements ShouldQueue
} }
} }
); );
} catch (Exception | TransportException $e) { /** @phpstan-ignore-line */ } catch (Exception | TransportException $e) { // @phpstan-ignore-line
$message = $e->getMessage(); $message = $e->getMessage();
if (str_contains($message, 'Bcc')) { if (str_contains($message, 'Bcc')) {
app('log')->warning('[Bcc] Could not email or log the error. Please validate your email settings, use the .env.example file as a guide.'); app('log')->warning('[Bcc] Could not email or log the error. Please validate your email settings, use the .env.example file as a guide.');

View File

@@ -40,9 +40,7 @@ class AccessTokenCreatedMail extends Mailable
/** /**
* AccessTokenCreatedMail constructor. * AccessTokenCreatedMail constructor.
*/ */
public function __construct() public function __construct() {}
{
}
/** /**
* Build the message. * Build the message.

View File

@@ -44,9 +44,7 @@ class AdminTestMail extends Mailable
/** /**
* AdminTestMail constructor. * AdminTestMail constructor.
*/ */
public function __construct() public function __construct() {}
{
}
/** /**
* Build the message. * Build the message.

View File

@@ -53,7 +53,7 @@ class InvitationMail extends Mailable
$this->invitee = $invitee; $this->invitee = $invitee;
$this->admin = $admin; $this->admin = $admin;
$this->url = $url; $this->url = $url;
$this->host = (string) parse_url($url, PHP_URL_HOST); $this->host = (string)parse_url($url, PHP_URL_HOST);
} }
/** /**

View File

@@ -292,22 +292,9 @@ class Account extends Model
} }
/** /**
* Get the virtual balance
*
* @return Attribute * @return Attribute
*/ */
protected function virtualBalance(): Attribute protected function accountId(): Attribute
{
return Attribute::make(
get: static fn($value) => (string)$value,
);
}
/**
* Get the user ID
*
* @return Attribute
*/
protected function accountTypeId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -315,9 +302,11 @@ class Account extends Model
} }
/** /**
* Get the user ID
*
* @return Attribute * @return Attribute
*/ */
protected function accountId(): Attribute protected function accountTypeId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -334,4 +323,16 @@ class Account extends Model
); );
} }
/**
* Get the virtual balance
*
* @return Attribute
*/
protected function virtualBalance(): Attribute
{
return Attribute::make(
get: static fn($value) => (string)$value,
);
}
} }

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
@@ -31,7 +32,6 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Carbon\Carbon;
/** /**
* FireflyIII\Models\AutoBudget * FireflyIII\Models\AutoBudget
@@ -96,7 +96,7 @@ class AutoBudget extends Model
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
@@ -32,7 +33,6 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Carbon\Carbon;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
/** /**
@@ -131,9 +131,10 @@ class AvailableBudget extends Model
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }
/** /**
* @return Attribute * @return Attribute
*/ */

View File

@@ -242,19 +242,7 @@ class Bill extends Model
protected function amountMax(): Attribute protected function amountMax(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
);
}
/**
* Get the skip
*
* @return Attribute
*/
protected function skip(): Attribute
{
return Attribute::make(
get: static fn ($value) => (int)$value,
); );
} }
@@ -266,17 +254,7 @@ class Bill extends Model
protected function amountMin(): Attribute protected function amountMin(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
);
}
/**
* @return Attribute
*/
protected function transactionCurrencyId(): Attribute
{
return Attribute::make(
get: static fn ($value) => (int)$value,
); );
} }
@@ -286,7 +264,29 @@ class Bill extends Model
protected function order(): Attribute protected function order(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (int)$value, get: static fn($value) => (int)$value,
);
}
/**
* Get the skip
*
* @return Attribute
*/
protected function skip(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
/**
* @return Attribute
*/
protected function transactionCurrencyId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
); );
} }

View File

@@ -181,6 +181,7 @@ class Budget extends Model
{ {
return $this->belongsToMany(Transaction::class, 'budget_transaction', 'budget_id'); return $this->belongsToMany(Transaction::class, 'budget_transaction', 'budget_id');
} }
/** /**
* @return Attribute * @return Attribute
*/ */

View File

@@ -134,7 +134,7 @@ class BudgetLimit extends Model
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -35,7 +36,7 @@ use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Category * FireflyIII\Models\Category
* *

View File

@@ -25,10 +25,11 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Configuration * FireflyIII\Models\Configuration
* *

View File

@@ -22,8 +22,10 @@
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
@@ -31,7 +33,6 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Carbon\Carbon;
/** /**
* Class CurrencyExchangeRate * Class CurrencyExchangeRate
@@ -111,26 +112,6 @@ class CurrencyExchangeRate extends Model
return $this->belongsTo(User::class); return $this->belongsTo(User::class);
} }
/**
* @return Attribute
*/
protected function rate(): Attribute
{
return Attribute::make(
get: static fn ($value) => (string)$value,
);
}
/**
* @return Attribute
*/
protected function userRate(): Attribute
{
return Attribute::make(
get: static fn ($value) => (string)$value,
);
}
/** /**
* @return Attribute * @return Attribute
*/ */
@@ -141,6 +122,16 @@ class CurrencyExchangeRate extends Model
); );
} }
/**
* @return Attribute
*/
protected function rate(): Attribute
{
return Attribute::make(
get: static fn($value) => (string)$value,
);
}
/** /**
* @return Attribute * @return Attribute
*/ */
@@ -151,5 +142,15 @@ class CurrencyExchangeRate extends Model
); );
} }
/**
* @return Attribute
*/
protected function userRate(): Attribute
{
return Attribute::make(
get: static fn($value) => (string)$value,
);
}
} }

View File

@@ -26,13 +26,14 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* Class GroupMembership * Class GroupMembership
* *

View File

@@ -26,13 +26,14 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* Class InvitedUser * Class InvitedUser
* *

View File

@@ -25,13 +25,14 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\LinkType * FireflyIII\Models\LinkType
* *

View File

@@ -26,13 +26,14 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\MorphTo;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Location * FireflyIII\Models\Location
* *

View File

@@ -25,12 +25,13 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\MorphTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Note * FireflyIII\Models\Note
* *

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
@@ -35,7 +36,7 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphToMany; use Illuminate\Database\Eloquent\Relations\MorphToMany;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\ObjectGroup * FireflyIII\Models\ObjectGroup
* *

View File

@@ -23,7 +23,9 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@@ -33,9 +35,8 @@ use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\Relations\MorphToMany; use Illuminate\Database\Eloquent\Relations\MorphToMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Carbon\Carbon;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\PiggyBank * FireflyIII\Models\PiggyBank
* *
@@ -182,18 +183,6 @@ class PiggyBank extends Model
$this->attributes['targetamount'] = (string)$value; $this->attributes['targetamount'] = (string)$value;
} }
/**
* Get the max amount
*
* @return Attribute
*/
protected function targetamount(): Attribute
{
return Attribute::make(
get: static fn ($value) => (string)$value,
);
}
/** /**
* @return Attribute * @return Attribute
*/ */
@@ -214,4 +203,16 @@ class PiggyBank extends Model
); );
} }
/**
* Get the max amount
*
* @return Attribute
*/
protected function targetamount(): Attribute
{
return Attribute::make(
get: static fn($value) => (string)$value,
);
}
} }

View File

@@ -23,13 +23,14 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Carbon\Carbon;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\PiggyBankEvent * FireflyIII\Models\PiggyBankEvent
* *
@@ -102,7 +103,7 @@ class PiggyBankEvent extends Model
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }

View File

@@ -25,11 +25,12 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\PiggyBankRepetition * FireflyIII\Models\PiggyBankRepetition
* *
@@ -130,7 +131,7 @@ class PiggyBankRepetition extends Model
protected function currentamount(): Attribute protected function currentamount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }

View File

@@ -25,13 +25,14 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Preference * FireflyIII\Models\Preference
* *
@@ -94,7 +95,7 @@ class Preference extends Model
$preference = new self(); $preference = new self();
$preference->name = $value; $preference->name = $value;
$preference->data = $default[$value]; $preference->data = $default[$value];
$preference->user_id = (int) $user->id; $preference->user_id = (int)$user->id;
$preference->save(); $preference->save();
return $preference; return $preference;

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
@@ -36,7 +37,7 @@ use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Recurrence * FireflyIII\Models\Recurrence
* *

View File

@@ -25,12 +25,13 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\RecurrenceMeta * FireflyIII\Models\RecurrenceMeta
* *

View File

@@ -23,7 +23,9 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@@ -31,8 +33,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Carbon\Carbon;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\RecurrenceTransaction * FireflyIII\Models\RecurrenceTransaction
* *
@@ -170,25 +171,14 @@ class RecurrenceTransaction extends Model
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }
/** /**
* @return Attribute * @return Attribute
*/ */
protected function foreignAmount(): Attribute protected function destinationId(): Attribute
{
return Attribute::make(
get: static fn ($value) => (string)$value,
);
}
/**
* @return Attribute
*/
protected function recurrenceId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -198,7 +188,18 @@ class RecurrenceTransaction extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function transactionCurrencyId(): Attribute protected function foreignAmount(): Attribute
{
return Attribute::make(
get: static fn($value) => (string)$value,
);
}
/**
* @return Attribute
*/
protected function recurrenceId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -218,7 +219,7 @@ class RecurrenceTransaction extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function destinationId(): Attribute protected function transactionCurrencyId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,

View File

@@ -25,12 +25,13 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\RecurrenceTransactionMeta * FireflyIII\Models\RecurrenceTransactionMeta
* *

View File

@@ -23,9 +23,9 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
@@ -35,7 +36,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Rule * FireflyIII\Models\Rule
* *
@@ -178,7 +179,7 @@ class Rule extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function ruleGroupId(): Attribute protected function order(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -188,7 +189,7 @@ class Rule extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function order(): Attribute protected function ruleGroupId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,

View File

@@ -25,11 +25,12 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\RuleAction * FireflyIII\Models\RuleAction
* *
@@ -84,7 +85,7 @@ class RuleAction extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function ruleId(): Attribute protected function order(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -94,7 +95,7 @@ class RuleAction extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function order(): Attribute protected function ruleId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
@@ -35,7 +36,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\RuleGroup * FireflyIII\Models\RuleGroup
* *

View File

@@ -25,11 +25,12 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\RuleTrigger * FireflyIII\Models\RuleTrigger
* *
@@ -84,7 +85,7 @@ class RuleTrigger extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function ruleId(): Attribute protected function order(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
@@ -94,7 +95,7 @@ class RuleTrigger extends Model
/** /**
* @return Attribute * @return Attribute
*/ */
protected function order(): Attribute protected function ruleId(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -35,7 +36,7 @@ use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Tag * FireflyIII\Models\Tag
* *

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -33,7 +34,7 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Transaction * FireflyIII\Models\Transaction
* *
@@ -253,6 +254,16 @@ class Transaction extends Model
return $this->belongsTo(TransactionJournal::class); return $this->belongsTo(TransactionJournal::class);
} }
/**
* @return Attribute
*/
protected function accountId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
/** /**
* Get the amount * Get the amount
* *
@@ -261,7 +272,7 @@ class Transaction extends Model
protected function amount(): Attribute protected function amount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }
@@ -273,19 +284,10 @@ class Transaction extends Model
protected function foreignAmount(): Attribute protected function foreignAmount(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (string)$value, get: static fn($value) => (string)$value,
); );
} }
/**
* @return Attribute
*/
protected function accountId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
/** /**
* @return Attribute * @return Attribute
*/ */

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -34,7 +35,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\TransactionGroup * FireflyIII\Models\TransactionGroup
* *

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
@@ -39,7 +40,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\TransactionJournal * FireflyIII\Models\TransactionJournal
* *
@@ -395,15 +396,6 @@ class TransactionJournal extends Model
return $this->hasMany(Transaction::class); return $this->hasMany(Transaction::class);
} }
/**
* @return Attribute
*/
protected function transactionTypeId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
/** /**
* @return Attribute * @return Attribute
*/ */
@@ -413,4 +405,14 @@ class TransactionJournal extends Model
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
); );
} }
/**
* @return Attribute
*/
protected function transactionTypeId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
} }

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -32,7 +33,7 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphMany;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\TransactionJournalLink * FireflyIII\Models\TransactionJournalLink
* *
@@ -131,6 +132,17 @@ class TransactionJournalLink extends Model
{ {
return $this->belongsTo(TransactionJournal::class, 'source_id'); return $this->belongsTo(TransactionJournal::class, 'source_id');
} }
/**
* @return Attribute
*/
protected function destinationId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
/** /**
* @return Attribute * @return Attribute
*/ */
@@ -150,13 +162,4 @@ class TransactionJournalLink extends Model
get: static fn($value) => (int)$value, get: static fn($value) => (int)$value,
); );
} }
/**
* @return Attribute
*/
protected function destinationId(): Attribute
{
return Attribute::make(
get: static fn($value) => (int)$value,
);
}
} }

View File

@@ -25,12 +25,13 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\TransactionJournalMeta * FireflyIII\Models\TransactionJournalMeta
* *
@@ -95,7 +96,7 @@ class TransactionJournalMeta extends Model
{ {
$data = json_encode($value); $data = json_encode($value);
$this->attributes['data'] = $data; $this->attributes['data'] = $data;
$this->attributes['hash'] = hash('sha256', (string) $data); $this->attributes['hash'] = hash('sha256', (string)$data);
} }
/** /**
@@ -105,6 +106,7 @@ class TransactionJournalMeta extends Model
{ {
return $this->belongsTo(TransactionJournal::class); return $this->belongsTo(TransactionJournal::class);
} }
/** /**
* @return Attribute * @return Attribute
*/ */

View File

@@ -25,13 +25,14 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\TransactionType * FireflyIII\Models\TransactionType
* *

View File

@@ -27,6 +27,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -35,7 +36,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasManyThrough; use Illuminate\Database\Eloquent\Relations\HasManyThrough;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* Class UserGroup * Class UserGroup
* *

View File

@@ -26,11 +26,12 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* Class UserRole * Class UserRole
* *

View File

@@ -28,6 +28,7 @@ use Eloquent;
use FireflyIII\Enums\WebhookDelivery; use FireflyIII\Enums\WebhookDelivery;
use FireflyIII\Enums\WebhookResponse; use FireflyIII\Enums\WebhookResponse;
use FireflyIII\Enums\WebhookTrigger; use FireflyIII\Enums\WebhookTrigger;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
@@ -37,7 +38,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\Webhook * FireflyIII\Models\Webhook
* *

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@@ -32,7 +33,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* Class WebhookAttempt * Class WebhookAttempt
* *

View File

@@ -23,7 +23,9 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Casts\Attribute;
@@ -31,9 +33,8 @@ use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Carbon\Carbon;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use FireflyIII\Support\Models\ReturnsIntegerIdTrait;
/** /**
* FireflyIII\Models\WebhookMessage * FireflyIII\Models\WebhookMessage
* *
@@ -127,7 +128,7 @@ class WebhookMessage extends Model
protected function sent(): Attribute protected function sent(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: static fn ($value) => (bool)$value, get: static fn($value) => (bool)$value,
); );
} }

View File

@@ -43,9 +43,7 @@ class NewAccessToken extends Notification
* *
* @return void * @return void
*/ */
public function __construct() public function __construct() {}
{
}
/** /**
* Get the array representation of the notification. * Get the array representation of the notification.

View File

@@ -40,9 +40,7 @@ class UserRegistration extends Notification
* *
* @return void * @return void
*/ */
public function __construct() public function __construct() {}
{
}
/** /**
* Get the array representation of the notification. * Get the array representation of the notification.

View File

@@ -42,9 +42,7 @@ class AccountServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -36,9 +36,7 @@ class AdminServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -36,9 +36,7 @@ class AttachmentServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -38,9 +38,7 @@ class BillServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -50,9 +50,7 @@ class BudgetServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -40,9 +40,7 @@ class CategoryServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -38,9 +38,7 @@ class CurrencyServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -46,9 +46,7 @@ class JournalServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -38,9 +38,7 @@ class PiggyBankServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -36,9 +36,7 @@ class RecurringServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -36,9 +36,7 @@ class RuleGroupServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -36,9 +36,7 @@ class RuleServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -36,9 +36,7 @@ class SearchServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -38,9 +38,7 @@ class TagServiceProvider extends ServiceProvider
/** /**
* Bootstrap the application services. * Bootstrap the application services.
*/ */
public function boot(): void public function boot(): void {}
{
}
/** /**
* Register the application services. * Register the application services.

View File

@@ -116,7 +116,7 @@ class AccountRepository implements AccountRepositoryInterface
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id') ->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', true) ->where('accounts.active', true)
->where( ->where(
static function (EloquentBuilder $q1) use ($number) { /** @phpstan-ignore-line */ static function (EloquentBuilder $q1) use ($number) { // @phpstan-ignore-line
$json = json_encode($number); $json = json_encode($number);
$q1->where('account_meta.name', '=', 'account_number'); $q1->where('account_meta.name', '=', 'account_number');
$q1->where('account_meta.data', '=', $json); $q1->where('account_meta.data', '=', $json);

View File

@@ -272,7 +272,7 @@ class OperationsRepository implements OperationsRepositoryInterface
'currency_code' => $journal['currency_code'], 'currency_code' => $journal['currency_code'],
'currency_decimal_places' => $journal['currency_decimal_places'], 'currency_decimal_places' => $journal['currency_decimal_places'],
]; ];
$array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->$direction($journal['amount']));/** @phpstan-ignore-line */ $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->$direction($journal['amount'])); // @phpstan-ignore-line
// also do foreign amount: // also do foreign amount:
$foreignId = (int)$journal['foreign_currency_id']; $foreignId = (int)$journal['foreign_currency_id'];

View File

@@ -200,7 +200,7 @@ class JournalCLIRepository implements JournalCLIRepositoryInterface
{ {
$query = TransactionJournal::leftJoin('transactions', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') $query = TransactionJournal::leftJoin('transactions', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
->groupBy('transaction_journals.id'); ->groupBy('transaction_journals.id');
$result = $query->get(['transaction_journals.id as id', DB::raw('count(transactions.id) as transaction_count')]); /** @phpstan-ignore-line */ $result = $query->get(['transaction_journals.id as id', DB::raw('count(transactions.id) as transaction_count')]); // @phpstan-ignore-line
$journalIds = []; $journalIds = [];
/** @var stdClass $row */ /** @var stdClass $row */
foreach ($result as $row) { foreach ($result as $row) {

View File

@@ -536,7 +536,7 @@ class RecurringRepository implements RecurringRepositoryInterface
// //
$today = today(config('app.timezone'))->endOfYear(); $today = today(config('app.timezone'))->endOfYear();
$repDate = Carbon::createFromFormat('Y-m-d', $repetition->repetition_moment); $repDate = Carbon::createFromFormat('Y-m-d', $repetition->repetition_moment);
if(false === $repDate) { if (false === $repDate) {
$repDate = clone $today; $repDate = clone $today;
} }
$diffInYears = $today->diffInYears($repDate); $diffInYears = $today->diffInYears($repDate);

View File

@@ -374,6 +374,26 @@ class TagRepository implements TagRepositoryInterface
return $sums; return $sums;
} }
/**
* @inheritDoc
*/
public function tagEndsWith(string $query): Collection
{
$search = sprintf('%%%s', $query);
return $this->user->tags()->where('tag', 'LIKE', $search)->get(['tags.*']);
}
/**
* @inheritDoc
*/
public function tagStartsWith(string $query): Collection
{
$search = sprintf('%s%%', $query);
return $this->user->tags()->where('tag', 'LIKE', $search)->get(['tags.*']);
}
/** /**
* @param Tag $tag * @param Tag $tag
* @param Carbon $start * @param Carbon $start
@@ -454,24 +474,4 @@ class TagRepository implements TagRepositoryInterface
/** @var Location|null */ /** @var Location|null */
return $tag->locations()->first(); return $tag->locations()->first();
} }
/**
* @inheritDoc
*/
public function tagStartsWith(string $query): Collection
{
$search = sprintf('%s%%', $query);
return $this->user->tags()->where('tag', 'LIKE', $search)->get(['tags.*']);
}
/**
* @inheritDoc
*/
public function tagEndsWith(string $query): Collection
{
$search = sprintf('%%%s', $query);
return $this->user->tags()->where('tag', 'LIKE', $search)->get(['tags.*']);
}
} }

View File

@@ -153,24 +153,6 @@ interface TagRepositoryInterface
*/ */
public function searchTag(string $query): Collection; public function searchTag(string $query): Collection;
/**
* Find one or more tags that start with the string in the query
*
* @param string $query
*
* @return Collection
*/
public function tagStartsWith(string $query): Collection;
/**
* Find one or more tags that start with the string in the query
*
* @param string $query
*
* @return Collection
*/
public function tagEndsWith(string $query): Collection;
/** /**
* Search the users tags. * Search the users tags.
* *
@@ -206,6 +188,24 @@ interface TagRepositoryInterface
*/ */
public function sumsOfTag(Tag $tag, ?Carbon $start, ?Carbon $end): array; public function sumsOfTag(Tag $tag, ?Carbon $start, ?Carbon $end): array;
/**
* Find one or more tags that start with the string in the query
*
* @param string $query
*
* @return Collection
*/
public function tagEndsWith(string $query): Collection;
/**
* Find one or more tags that start with the string in the query
*
* @param string $query
*
* @return Collection
*/
public function tagStartsWith(string $query): Collection;
/** /**
* @param Tag $tag * @param Tag $tag
* @param Carbon $start * @param Carbon $start

View File

@@ -40,6 +40,50 @@ class AccountRepository implements AccountRepositoryInterface
{ {
use UserGroupTrait; use UserGroupTrait;
/**
* @inheritDoc
*/
public function findByAccountNumber(string $number, array $types): ?Account
{
$dbQuery = $this->userGroup
->accounts()
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', true)
->where(
static function (EloquentBuilder $q1) use ($number) { // @phpstan-ignore-line
$json = json_encode($number);
$q1->where('account_meta.name', '=', 'account_number');
$q1->where('account_meta.data', '=', $json);
}
);
if (0 !== count($types)) {
$dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$dbQuery->whereIn('account_types.type', $types);
}
/** @var Account|null */
return $dbQuery->first(['accounts.*']);
}
/**
* @param string $iban
* @param array $types
*
* @return Account|null
*/
public function findByIbanNull(string $iban, array $types): ?Account
{
$query = $this->userGroup->accounts()->where('iban', '!=', '')->whereNotNull('iban');
if (0 !== count($types)) {
$query->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$query->whereIn('account_types.type', $types);
}
/** @var Account|null */
return $query->where('iban', $iban)->first(['accounts.*']);
}
/** /**
* @inheritDoc * @inheritDoc
*/ */
@@ -66,31 +110,6 @@ class AccountRepository implements AccountRepositoryInterface
return $account; return $account;
} }
/**
* @inheritDoc
*/
public function findByAccountNumber(string $number, array $types): ?Account
{
$dbQuery = $this->userGroup
->accounts()
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', true)
->where(
static function (EloquentBuilder $q1) use ($number) { /** @phpstan-ignore-line */
$json = json_encode($number);
$q1->where('account_meta.name', '=', 'account_number');
$q1->where('account_meta.data', '=', $json);
}
);
if (0 !== count($types)) {
$dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$dbQuery->whereIn('account_types.type', $types);
}
/** @var Account|null */
return $dbQuery->first(['accounts.*']);
}
/** /**
* @param Account $account * @param Account $account
* *
@@ -245,22 +264,4 @@ class AccountRepository implements AccountRepositoryInterface
return $dbQuery->take($limit)->get(['accounts.*']); return $dbQuery->take($limit)->get(['accounts.*']);
} }
/**
* @param string $iban
* @param array $types
*
* @return Account|null
*/
public function findByIbanNull(string $iban, array $types): ?Account
{
$query = $this->userGroup->accounts()->where('iban', '!=', '')->whereNotNull('iban');
if (0 !== count($types)) {
$query->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$query->whereIn('account_types.type', $types);
}
/** @var Account|null */
return $query->where('iban', $iban)->first(['accounts.*']);
}
} }

View File

@@ -37,19 +37,11 @@ use Illuminate\Support\Collection;
interface AccountRepositoryInterface interface AccountRepositoryInterface
{ {
/** /**
* @param UserGroup $userGroup * @param int $accountId
*
* @return void
*/
public function setUserGroup(UserGroup $userGroup): void;
/**
* @param string $iban
* @param array $types
* *
* @return Account|null * @return Account|null
*/ */
public function findByIbanNull(string $iban, array $types): ?Account; public function find(int $accountId): ?Account;
/** /**
* @param string $number * @param string $number
@@ -60,18 +52,12 @@ interface AccountRepositoryInterface
public function findByAccountNumber(string $number, array $types): ?Account; public function findByAccountNumber(string $number, array $types): ?Account;
/** /**
* @param User $user * @param string $iban
* * @param array $types
* @return void
*/
public function setUser(User $user): void;
/**
* @param int $accountId
* *
* @return Account|null * @return Account|null
*/ */
public function find(int $accountId): ?Account; public function findByIbanNull(string $iban, array $types): ?Account;
/** /**
* @param string $name * @param string $name
@@ -129,5 +115,19 @@ interface AccountRepositoryInterface
*/ */
public function searchAccount(string $query, array $types, int $limit): Collection; public function searchAccount(string $query, array $types, int $limit): Collection;
/**
* @param User $user
*
* @return void
*/
public function setUser(User $user): void;
/**
* @param UserGroup $userGroup
*
* @return void
*/
public function setUserGroup(UserGroup $userGroup): void;
} }

Some files were not shown because too many files have changed in this diff Show More