🤖 Auto commit for release 'develop' on 2025-08-16

This commit is contained in:
JC5
2025-08-16 06:13:15 +02:00
parent 8f9ab150ee
commit 91ce1d3b88
24 changed files with 46 additions and 57 deletions

View File

@@ -46,7 +46,7 @@ class AccountController extends Controller
use AccountFilter;
// this array only exists to test if the constructor will use it properly.
protected array $accepts = ['application/json', 'application/vnd.api+json'];
protected array $accepts = ['application/json', 'application/vnd.api+json'];
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
/** @var array<int, string> */

View File

@@ -29,7 +29,6 @@ use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -29,7 +29,6 @@ use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\Budget;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -29,7 +29,6 @@ use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -30,7 +30,6 @@ use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -29,7 +29,6 @@ use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\ObjectGroup;
use FireflyIII\Repositories\ObjectGroup\ObjectGroupRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -30,7 +30,6 @@ use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -29,7 +29,6 @@ use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\Tag;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**

View File

@@ -31,7 +31,6 @@ use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;

View File

@@ -26,15 +26,11 @@ namespace FireflyIII\Api\V1\Controllers\Chart;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Chart\ChartRequest;
use FireflyIII\Enums\AccountTypeEnum;
use FireflyIII\Enums\UserRoleEnum;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\Preference;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Support\Chart\ChartData;
use FireflyIII\Support\Facades\Preferences;
use FireflyIII\Support\Facades\Steam;
use FireflyIII\Support\Http\Api\ApiSupport;
use FireflyIII\Support\Http\Api\CleansChartData;
@@ -48,8 +44,8 @@ use Illuminate\Support\Facades\Log;
class AccountController extends Controller
{
use ApiSupport;
use CollectsAccountsFromFilter;
use CleansChartData;
use CollectsAccountsFromFilter;
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
@@ -102,17 +98,17 @@ class AccountController extends Controller
private function renderAccountData(array $params, Account $account): void
{
Log::debug(sprintf('Now in %s(array, #%d)', __METHOD__, $account->id));
$currency = $this->repository->getAccountCurrency($account);
$currentStart = clone $params['start'];
$range = Steam::finalAccountBalanceInRange($account, $params['start'], clone $params['end'], $this->convertToPrimary);
$currency = $this->repository->getAccountCurrency($account);
$currentStart = clone $params['start'];
$range = Steam::finalAccountBalanceInRange($account, $params['start'], clone $params['end'], $this->convertToPrimary);
$previous = array_values($range)[0]['balance'];
$pcPrevious = null;
$previous = array_values($range)[0]['balance'];
$pcPrevious = null;
if (!$currency instanceof TransactionCurrency) {
$currency = $this->primaryCurrency;
}
$currentSet = [
$currentSet = [
'label' => $account->name,
// the currency that belongs to the account.

View File

@@ -25,7 +25,7 @@ class BalanceController extends Controller
{
use CleansChartData;
use CollectsAccountsFromFilter;
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
private array $chartData = [];
private GroupCollectorInterface $collector;

View File

@@ -62,9 +62,9 @@ abstract class Controller extends BaseController
use ValidatesRequests;
use ValidatesUserGroupTrait;
protected const string CONTENT_TYPE = 'application/vnd.api+json';
protected const string JSON_CONTENT_TYPE = 'application/json';
protected array $accepts = ['application/json', 'application/vnd.api+json'];
protected const string CONTENT_TYPE = 'application/vnd.api+json';
protected const string JSON_CONTENT_TYPE = 'application/json';
protected array $accepts = ['application/json', 'application/vnd.api+json'];
/** @var array<int, string> */
protected array $allowedSort;
@@ -106,8 +106,8 @@ abstract class Controller extends BaseController
*/
private function getParameters(): ParameterBag
{
$bag = new ParameterBag();
$page = (int)request()->get('page');
$bag = new ParameterBag();
$page = (int)request()->get('page');
if ($page < 1) {
$page = 1;
}
@@ -117,7 +117,7 @@ abstract class Controller extends BaseController
$bag->set('page', $page);
// some date fields:
$dates = ['start', 'end', 'date'];
$dates = ['start', 'end', 'date'];
foreach ($dates as $field) {
$date = null;
@@ -128,7 +128,7 @@ abstract class Controller extends BaseController
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
}
$obj = null;
$obj = null;
if (null !== $date) {
try {
$obj = Carbon::parse((string)$date);
@@ -173,7 +173,7 @@ abstract class Controller extends BaseController
&& auth()->check()) {
// set default for user:
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
/** @var Preference $pageSize */
$pageSize = (int)app('preferences')->getForUser($user, 'listPageSize', 50)->data;
@@ -200,7 +200,7 @@ abstract class Controller extends BaseController
if ('' === $param) {
return $bag;
}
$parts = explode(',', $param);
$parts = explode(',', $param);
foreach ($parts as $part) {
$part = trim($part);
$direction = 'asc';
@@ -236,14 +236,14 @@ abstract class Controller extends BaseController
$params[$key] = $value;
}
return $return . http_build_query($params);
return $return.http_build_query($params);
}
final protected function getManager(): Manager
{
// create some objects:
$manager = new Manager();
$baseUrl = request()->getSchemeAndHttpHost() . '/api/v1';
$baseUrl = request()->getSchemeAndHttpHost().'/api/v1';
$manager->setSerializer(new JsonApiSerializer($baseUrl));
return $manager;
@@ -251,14 +251,14 @@ abstract class Controller extends BaseController
final protected function jsonApiList(string $key, LengthAwarePaginator $paginator, AbstractTransformer $transformer): array
{
$manager = new Manager();
$baseUrl = sprintf('%s/api/v1/', request()->getSchemeAndHttpHost());
$manager = new Manager();
$baseUrl = sprintf('%s/api/v1/', request()->getSchemeAndHttpHost());
// TODO add stuff to path?
$manager->setSerializer(new JsonApiSerializer($baseUrl));
$objects = $paginator->getCollection();
$objects = $paginator->getCollection();
// the transformer, at this point, needs to collect information that ALL items in the collection
// require, like meta-data and stuff like that, and save it for later.
@@ -279,8 +279,8 @@ abstract class Controller extends BaseController
final protected function jsonApiObject(string $key, array|Model $object, AbstractTransformer $transformer): array
{
// create some objects:
$manager = new Manager();
$baseUrl = sprintf('%s/api/v1', request()->getSchemeAndHttpHost());
$manager = new Manager();
$baseUrl = sprintf('%s/api/v1', request()->getSchemeAndHttpHost());
$manager->setSerializer(new JsonApiSerializer($baseUrl));
// $transformer->collectMetaData(new Collection([$object]));

View File

@@ -64,6 +64,7 @@ class DestroyController extends Controller
$this->middleware(
function ($request, $next) {
$this->validateUserGroup($request);
return $next($request);
}
);

View File

@@ -61,7 +61,6 @@ class ExportController extends Controller
}
/**
*
* @throws FireflyException
*
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -44,7 +44,6 @@ use Illuminate\Http\JsonResponse;
*/
class PurgeController extends Controller
{
/**
* TODO cleanup and use repositories.
*/

View File

@@ -84,7 +84,7 @@ class ShowController extends Controller
$enrichment->setUser($admin);
$enrichment->setStart($this->parameters->get('start'));
$enrichment->setEnd($this->parameters->get('end'));
$budget = $enrichment->enrichSingle($budget);
$budget = $enrichment->enrichSingle($budget);
$manager = $this->getManager();

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Console\Commands\System;
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
@@ -15,7 +17,7 @@ class ResetsErrorMailLimit extends Command
*
* @var string
*/
protected $signature = 'firefly-iii:reset-error-mail-limit';
protected $signature = 'firefly-iii:reset-error-mail-limit';
/**
* The console command description.
@@ -41,6 +43,7 @@ class ResetsErrorMailLimit extends Command
if (!file_exists($file)) {
$this->friendlyInfo(sprintf('Created new limits file at "%s"', $file));
file_put_contents($file, json_encode($limits, JSON_PRETTY_PRINT));
return CommandAlias::SUCCESS;
}
if (!is_writable($file)) {

View File

@@ -913,6 +913,4 @@ class ExportDataGenerator
{
$this->userGroup = $userGroup;
}
}

View File

@@ -39,7 +39,7 @@ use Illuminate\Support\Facades\Log;
trait ValidatesUserGroupTrait
{
protected ?UserGroup $userGroup = null;
protected ?User $user = null;
protected ?User $user = null;
/**
* An "undocumented" filter
@@ -102,7 +102,7 @@ trait ValidatesUserGroupTrait
if ($user->hasRoleInGroupOrOwner($group, $role)) {
Log::debug(sprintf('validateUserGroup: User has role "%s" in group #%d, return the group.', $role->value, $groupId));
$this->userGroup = $group;
$this->user = $user;
$this->user = $user;
return $group;
}

View File

@@ -73,6 +73,7 @@ trait UserGroupTrait
return;
}
$class = null === $user ? 'NULL' : $user::class;
throw new FireflyException(sprintf('Object is %s, not User.', $class));
}

View File

@@ -81,7 +81,7 @@ class CategoryTransformer extends AbstractTransformer
private function beautify(?array $array): ?array
{
if(null === $array) {
if (null === $array) {
return null;
}
$return = [];

12
composer.lock generated
View File

@@ -11876,16 +11876,16 @@
},
{
"name": "rector/rector",
"version": "2.1.3",
"version": "2.1.4",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
"reference": "dd430c869fddf4965049c8fd6f5ee49f155cfddf"
"reference": "fe613c528819222f8686a9a037a315ef9d4915b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/dd430c869fddf4965049c8fd6f5ee49f155cfddf",
"reference": "dd430c869fddf4965049c8fd6f5ee49f155cfddf",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/fe613c528819222f8686a9a037a315ef9d4915b3",
"reference": "fe613c528819222f8686a9a037a315ef9d4915b3",
"shasum": ""
},
"require": {
@@ -11924,7 +11924,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/2.1.3"
"source": "https://github.com/rectorphp/rector/tree/2.1.4"
},
"funding": [
{
@@ -11932,7 +11932,7 @@
"type": "github"
}
],
"time": "2025-08-13T11:43:04+00:00"
"time": "2025-08-15T14:41:36+00:00"
},
{
"name": "sebastian/cli-parser",

View File

@@ -78,8 +78,8 @@ return [
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
// see cer.php for exchange rates feature flag.
],
'version' => '6.3.0-beta.2',
'build_time' => 1755258109,
'version' => 'develop/2025-08-16',
'build_time' => 1755317476,
'api_version' => '2.1.0', // field is no longer used.
'db_version' => 26,

6
package-lock.json generated
View File

@@ -5700,9 +5700,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
"version": "1.5.202",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.202.tgz",
"integrity": "sha512-NxbYjRmiHcHXV1Ws3fWUW+SLb62isauajk45LUJ/HgIOkUA7jLZu/X2Iif+X9FBNK8QkF9Zb4Q2mcwXCcY30mg==",
"version": "1.5.203",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.203.tgz",
"integrity": "sha512-uz4i0vLhfm6dLZWbz/iH88KNDV+ivj5+2SA+utpgjKaj9Q0iDLuwk6Idhe9BTxciHudyx6IvTvijhkPvFGUQ0g==",
"dev": true,
"license": "ISC"
},