mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-01-04 17:41:21 +00:00
Compare commits
31 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79fd43f32b | ||
|
|
7a7bd65a27 | ||
|
|
01a9ecccac | ||
|
|
c1b3c71090 | ||
|
|
323d04fe6c | ||
|
|
80c2f1ea3f | ||
|
|
784494871d | ||
|
|
8e93af5cc7 | ||
|
|
ebfdeeedaa | ||
|
|
1d02ed6a56 | ||
|
|
cca53cb0e8 | ||
|
|
ab33aee4b1 | ||
|
|
41d4fab071 | ||
|
|
f0a1913dc6 | ||
|
|
b956b463c2 | ||
|
|
43603c4990 | ||
|
|
196e738f60 | ||
|
|
59e2ea357a | ||
|
|
5e9d942069 | ||
|
|
53d5bedd85 | ||
|
|
49c68af07b | ||
|
|
c84c8e1aef | ||
|
|
a8d43d7174 | ||
|
|
1087278890 | ||
|
|
ae5912ab52 | ||
|
|
035bd96ae5 | ||
|
|
7283c616a0 | ||
|
|
5706666bb6 | ||
|
|
4607466fb6 | ||
|
|
34bcfcfe9b | ||
|
|
c298aced01 |
@@ -19,26 +19,24 @@
|
|||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
|
|
||||||
|
|
||||||
$current = __DIR__;
|
$current = __DIR__;
|
||||||
|
|
||||||
$paths = [
|
$paths = [
|
||||||
$current . '/../../app',
|
$current . '/../../app',
|
||||||
$current . '/../../config',
|
$current . '/../../config',
|
||||||
$current . '/../../database',
|
|
||||||
$current . '/../../routes',
|
$current . '/../../routes',
|
||||||
$current . '/../../tests',
|
$current . '/../../tests',
|
||||||
$current . '/../../resources/lang/en_US',
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$finder = PhpCsFixer\Finder::create()
|
$finder = PhpCsFixer\Finder::create()
|
||||||
->in($paths);
|
->in($paths);
|
||||||
|
|
||||||
|
|
||||||
$config = new PhpCsFixer\Config();
|
$config = (new PhpCsFixer\Config())
|
||||||
$config->setParallelConfig(ParallelConfigFactory::detect());
|
->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect())
|
||||||
|
;
|
||||||
return $config->setRules(
|
return $config->setRules(
|
||||||
|
|
||||||
[
|
[
|
||||||
// rule sets
|
// rule sets
|
||||||
'@PHP83Migration' => true,
|
'@PHP83Migration' => true,
|
||||||
@@ -53,9 +51,6 @@ return $config->setRules(
|
|||||||
'statement_indentation' => true,
|
'statement_indentation' => true,
|
||||||
'void_return' => true,
|
'void_return' => true,
|
||||||
|
|
||||||
// about importing statements
|
|
||||||
'global_namespace_import' => ['import_classes' => true, 'import_constants' => true, 'import_functions' => true],
|
|
||||||
|
|
||||||
// disabled rules
|
// disabled rules
|
||||||
'native_function_invocation' => false, // annoying
|
'native_function_invocation' => false, // annoying
|
||||||
'php_unit_data_provider_name' => false, // bloody annoying long test names
|
'php_unit_data_provider_name' => false, // bloody annoying long test names
|
||||||
@@ -64,9 +59,15 @@ return $config->setRules(
|
|||||||
'comment_to_phpdoc' => false, // breaks phpstan lines in combination with PHPStorm.
|
'comment_to_phpdoc' => false, // breaks phpstan lines in combination with PHPStorm.
|
||||||
'type_declaration_spaces' => false,
|
'type_declaration_spaces' => false,
|
||||||
'cast_spaces' => false,
|
'cast_spaces' => false,
|
||||||
'phpdoc_to_comment' => false, // do not overrule single line comment style, breaks phpstan.
|
|
||||||
|
// enabled rules
|
||||||
|
'global_namespace_import' => true, // matches with rector.
|
||||||
|
|
||||||
// complex rules
|
// complex rules
|
||||||
|
'phpdoc_to_comment' => ['ignored_tags' => ['var']],
|
||||||
|
'php_unit_test_case_static_method_calls' => [
|
||||||
|
'call_type' => 'this',
|
||||||
|
],
|
||||||
'array_syntax' => ['syntax' => 'short'],
|
'array_syntax' => ['syntax' => 'short'],
|
||||||
'binary_operator_spaces' => [
|
'binary_operator_spaces' => [
|
||||||
'default' => 'at_least_single_space',
|
'default' => 'at_least_single_space',
|
||||||
@@ -76,5 +77,7 @@ return $config->setRules(
|
|||||||
'??=' => 'align_single_space_minimal_by_scope',
|
'??=' => 'align_single_space_minimal_by_scope',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
])
|
]
|
||||||
|
|
||||||
|
)
|
||||||
->setFinder($finder);
|
->setFinder($finder);
|
||||||
|
|||||||
65
.ci/php-cs-fixer/composer.lock
generated
65
.ci/php-cs-fixer/composer.lock
generated
@@ -406,58 +406,59 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "friendsofphp/php-cs-fixer",
|
"name": "friendsofphp/php-cs-fixer",
|
||||||
"version": "v3.75.0",
|
"version": "v3.76.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||||
"reference": "399a128ff2fdaf4281e4e79b755693286cdf325c"
|
"reference": "0e3c484cef0ae9314b0f85986a36296087432c40"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/399a128ff2fdaf4281e4e79b755693286cdf325c",
|
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/0e3c484cef0ae9314b0f85986a36296087432c40",
|
||||||
"reference": "399a128ff2fdaf4281e4e79b755693286cdf325c",
|
"reference": "0e3c484cef0ae9314b0f85986a36296087432c40",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"clue/ndjson-react": "^1.0",
|
"clue/ndjson-react": "^1.0",
|
||||||
"composer/semver": "^3.4",
|
"composer/semver": "^3.4",
|
||||||
"composer/xdebug-handler": "^3.0.3",
|
"composer/xdebug-handler": "^3.0.5",
|
||||||
"ext-filter": "*",
|
"ext-filter": "*",
|
||||||
"ext-hash": "*",
|
"ext-hash": "*",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-tokenizer": "*",
|
"ext-tokenizer": "*",
|
||||||
"fidry/cpu-core-counter": "^1.2",
|
"fidry/cpu-core-counter": "^1.2",
|
||||||
"php": "^7.4 || ^8.0",
|
"php": "^7.4 || ^8.0",
|
||||||
"react/child-process": "^0.6.5",
|
"react/child-process": "^0.6.6",
|
||||||
"react/event-loop": "^1.0",
|
"react/event-loop": "^1.0",
|
||||||
"react/promise": "^2.0 || ^3.0",
|
"react/promise": "^2.11 || ^3.0",
|
||||||
"react/socket": "^1.0",
|
"react/socket": "^1.0",
|
||||||
"react/stream": "^1.0",
|
"react/stream": "^1.0",
|
||||||
"sebastian/diff": "^4.0 || ^5.1 || ^6.0 || ^7.0",
|
"sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0",
|
||||||
"symfony/console": "^5.4 || ^6.4 || ^7.0",
|
"symfony/console": "^5.4.45 || ^6.4.13 || ^7.0",
|
||||||
"symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0",
|
"symfony/event-dispatcher": "^5.4.45 || ^6.4.13 || ^7.0",
|
||||||
"symfony/filesystem": "^5.4 || ^6.4 || ^7.0",
|
"symfony/filesystem": "^5.4.45 || ^6.4.13 || ^7.0",
|
||||||
"symfony/finder": "^5.4 || ^6.4 || ^7.0",
|
"symfony/finder": "^5.4.45 || ^6.4.17 || ^7.0",
|
||||||
"symfony/options-resolver": "^5.4 || ^6.4 || ^7.0",
|
"symfony/options-resolver": "^5.4.45 || ^6.4.16 || ^7.0",
|
||||||
"symfony/polyfill-mbstring": "^1.31",
|
"symfony/polyfill-mbstring": "^1.32",
|
||||||
"symfony/polyfill-php80": "^1.31",
|
"symfony/polyfill-php80": "^1.32",
|
||||||
"symfony/polyfill-php81": "^1.31",
|
"symfony/polyfill-php81": "^1.32",
|
||||||
"symfony/process": "^5.4 || ^6.4 || ^7.2",
|
"symfony/process": "^5.4.47 || ^6.4.20 || ^7.2",
|
||||||
"symfony/stopwatch": "^5.4 || ^6.4 || ^7.0"
|
"symfony/stopwatch": "^5.4.45 || ^6.4.19 || ^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"facile-it/paraunit": "^1.3.1 || ^2.6",
|
"facile-it/paraunit": "^1.3.1 || ^2.6",
|
||||||
"infection/infection": "^0.29.14",
|
"infection/infection": "^0.29.14",
|
||||||
"justinrainbow/json-schema": "^5.3 || ^6.2",
|
"justinrainbow/json-schema": "^5.3 || ^6.4",
|
||||||
"keradus/cli-executor": "^2.1",
|
"keradus/cli-executor": "^2.2",
|
||||||
"mikey179/vfsstream": "^1.6.12",
|
"mikey179/vfsstream": "^1.6.12",
|
||||||
"php-coveralls/php-coveralls": "^2.7",
|
"php-coveralls/php-coveralls": "^2.8",
|
||||||
"php-cs-fixer/accessible-object": "^1.1",
|
"php-cs-fixer/accessible-object": "^1.1",
|
||||||
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6",
|
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6",
|
||||||
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6",
|
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6",
|
||||||
"phpunit/phpunit": "^9.6.22 || ^10.5.45 || ^11.5.12",
|
"phpunit/phpunit": "^9.6.23 || ^10.5.47 || ^11.5.25",
|
||||||
"symfony/var-dumper": "^5.4.48 || ^6.4.18 || ^7.2.3",
|
"symfony/polyfill-php84": "^1.32",
|
||||||
"symfony/yaml": "^5.4.45 || ^6.4.18 || ^7.2.3"
|
"symfony/var-dumper": "^5.4.48 || ^6.4.23 || ^7.3.1",
|
||||||
|
"symfony/yaml": "^5.4.45 || ^6.4.23 || ^7.3.1"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-dom": "For handling output formats in XML",
|
"ext-dom": "For handling output formats in XML",
|
||||||
@@ -498,7 +499,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
||||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.75.0"
|
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.76.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -506,7 +507,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-03-31T18:40:42+00:00"
|
"time": "2025-06-30T14:15:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/container",
|
"name": "psr/container",
|
||||||
@@ -1256,16 +1257,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44"
|
"reference": "9e27aecde8f506ba0fd1d9989620c04a87697101"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44",
|
"url": "https://api.github.com/repos/symfony/console/zipball/9e27aecde8f506ba0fd1d9989620c04a87697101",
|
||||||
"reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44",
|
"reference": "9e27aecde8f506ba0fd1d9989620c04a87697101",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1330,7 +1331,7 @@
|
|||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/console/tree/v7.3.0"
|
"source": "https://github.com/symfony/console/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1346,7 +1347,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-24T10:34:04+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ composer update --quiet
|
|||||||
rm -f .php-cs-fixer.cache
|
rm -f .php-cs-fixer.cache
|
||||||
PHP_CS_FIXER_IGNORE_ENV=true ./vendor/bin/php-cs-fixer fix \
|
PHP_CS_FIXER_IGNORE_ENV=true ./vendor/bin/php-cs-fixer fix \
|
||||||
--config $SCRIPT_DIR/php-cs-fixer/.php-cs-fixer.php \
|
--config $SCRIPT_DIR/php-cs-fixer/.php-cs-fixer.php \
|
||||||
--format=txt -v \
|
--format=txt \
|
||||||
|
-v \
|
||||||
--allow-risky=yes
|
--allow-risky=yes
|
||||||
|
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
use Rector\Config\RectorConfig;
|
use Rector\Config\RectorConfig;
|
||||||
use Rector\EarlyReturn\Rector\If_\ChangeOrIfContinueToMultiContinueRector;
|
use Rector\EarlyReturn\Rector\If_\ChangeOrIfContinueToMultiContinueRector;
|
||||||
|
use Rector\Php80\Rector\ClassMethod\AddParamBasedOnParentClassMethodRector;
|
||||||
use Rector\Transform\Rector\String_\StringToClassConstantRector;
|
use Rector\Transform\Rector\String_\StringToClassConstantRector;
|
||||||
use RectorLaravel\Set\LaravelLevelSetList;
|
use RectorLaravel\Set\LaravelLevelSetList;
|
||||||
|
|
||||||
@@ -32,6 +33,7 @@ use RectorLaravel\Set\LaravelLevelSetList;
|
|||||||
return RectorConfig::configure()
|
return RectorConfig::configure()
|
||||||
->withSkip([
|
->withSkip([
|
||||||
ChangeOrIfContinueToMultiContinueRector::class,
|
ChangeOrIfContinueToMultiContinueRector::class,
|
||||||
|
AddParamBasedOnParentClassMethodRector::class,
|
||||||
StringToClassConstantRector::class => [
|
StringToClassConstantRector::class => [
|
||||||
__DIR__ . '/../app/Http/Controllers/Auth/LoginController.php',
|
__DIR__ . '/../app/Http/Controllers/Auth/LoginController.php',
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -329,7 +329,7 @@ FIREFLY_III_LAYOUT=v1
|
|||||||
# Which Query Parser implementation to use for the search engine and rules
|
# Which Query Parser implementation to use for the search engine and rules
|
||||||
# 'new' is experimental, 'legacy' is the classic one
|
# 'new' is experimental, 'legacy' is the classic one
|
||||||
#
|
#
|
||||||
QUERY_PARSER_IMPLEMENTATION=legacy
|
QUERY_PARSER_IMPLEMENTATION=new
|
||||||
|
|
||||||
#
|
#
|
||||||
# Please make sure this URL matches the external URL of your Firefly III installation.
|
# Please make sure this URL matches the external URL of your Firefly III installation.
|
||||||
|
|||||||
11
.github/workflows/release.yml
vendored
11
.github/workflows/release.yml
vendored
@@ -259,6 +259,12 @@ jobs:
|
|||||||
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
|
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
|
||||||
echo "" >> output.txt
|
echo "" >> output.txt
|
||||||
echo ":warning: Please be careful with this pre-release, as it may not work as expected." >> output.txt
|
echo ":warning: Please be careful with this pre-release, as it may not work as expected." >> output.txt
|
||||||
|
|
||||||
|
# donations!
|
||||||
|
echo '' >> output.txt
|
||||||
|
echo '### Support Firefly III' >> output.txt
|
||||||
|
echo 'Did you know you can support the development of Firefly III? You can donate in many ways, like GitHub Sponsors or Patreon. For more information, please [follow this link](https://bit.ly/donate-to-Firefly-III) for more information.' >> output.txt
|
||||||
|
echo '' >> output.txt
|
||||||
fi
|
fi
|
||||||
# describe a branch release
|
# describe a branch release
|
||||||
if [[ "$version" == branch* ]]; then
|
if [[ "$version" == branch* ]]; then
|
||||||
@@ -299,6 +305,11 @@ jobs:
|
|||||||
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
|
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
|
||||||
echo "* The releases are signed, and you can verify them using the [Firefly III releases PGP key](https://docs.firefly-iii.org/explanation/more-information/signatures/)." >> output.txt
|
echo "* The releases are signed, and you can verify them using the [Firefly III releases PGP key](https://docs.firefly-iii.org/explanation/more-information/signatures/)." >> output.txt
|
||||||
|
|
||||||
|
# donations!
|
||||||
|
echo '' >> output.txt
|
||||||
|
echo '### Support Firefly III' >> output.txt
|
||||||
|
echo 'Did you know you can support the development of Firefly III? You can donate in many ways, like GitHub Sponsors or Patreon. For more information, please [follow this link](https://bit.ly/donate-to-Firefly-III) for more information.' >> output.txt
|
||||||
|
echo '' >> output.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# describe alpha release
|
# describe alpha release
|
||||||
|
|||||||
@@ -32,11 +32,14 @@ use FireflyIII\Models\TransactionGroup;
|
|||||||
use FireflyIII\Models\TransactionJournal;
|
use FireflyIII\Models\TransactionJournal;
|
||||||
use FireflyIII\Models\Webhook;
|
use FireflyIII\Models\Webhook;
|
||||||
use FireflyIII\Models\WebhookMessage;
|
use FireflyIII\Models\WebhookMessage;
|
||||||
|
use FireflyIII\Support\Facades\Amount;
|
||||||
|
use FireflyIII\Support\JsonApi\Enrichments\AccountEnrichment;
|
||||||
use FireflyIII\Transformers\AccountTransformer;
|
use FireflyIII\Transformers\AccountTransformer;
|
||||||
use FireflyIII\Transformers\TransactionGroupTransformer;
|
use FireflyIII\Transformers\TransactionGroupTransformer;
|
||||||
use FireflyIII\User;
|
use FireflyIII\User;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Ramsey\Uuid\Uuid;
|
use Ramsey\Uuid\Uuid;
|
||||||
use Symfony\Component\HttpFoundation\ParameterBag;
|
use Symfony\Component\HttpFoundation\ParameterBag;
|
||||||
|
|
||||||
@@ -59,14 +62,14 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
|
|
||||||
public function generateMessages(): void
|
public function generateMessages(): void
|
||||||
{
|
{
|
||||||
app('log')->debug(__METHOD__);
|
Log::debug(__METHOD__);
|
||||||
// get the webhooks:
|
// get the webhooks:
|
||||||
if (0 === $this->webhooks->count()) {
|
if (0 === $this->webhooks->count()) {
|
||||||
$this->webhooks = $this->getWebhooks();
|
$this->webhooks = $this->getWebhooks();
|
||||||
}
|
}
|
||||||
|
|
||||||
// do some debugging
|
// do some debugging
|
||||||
app('log')->debug(
|
Log::debug(
|
||||||
sprintf('StandardMessageGenerator will generate messages for %d object(s) and %d webhook(s).', $this->objects->count(), $this->webhooks->count())
|
sprintf('StandardMessageGenerator will generate messages for %d object(s) and %d webhook(s).', $this->objects->count(), $this->webhooks->count())
|
||||||
);
|
);
|
||||||
$this->run();
|
$this->run();
|
||||||
@@ -79,13 +82,13 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
|
|
||||||
private function run(): void
|
private function run(): void
|
||||||
{
|
{
|
||||||
app('log')->debug('Now in StandardMessageGenerator::run');
|
Log::debug('Now in StandardMessageGenerator::run');
|
||||||
|
|
||||||
/** @var Webhook $webhook */
|
/** @var Webhook $webhook */
|
||||||
foreach ($this->webhooks as $webhook) {
|
foreach ($this->webhooks as $webhook) {
|
||||||
$this->runWebhook($webhook);
|
$this->runWebhook($webhook);
|
||||||
}
|
}
|
||||||
app('log')->debug('Done with StandardMessageGenerator::run');
|
Log::debug('Done with StandardMessageGenerator::run');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,7 +96,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
*/
|
*/
|
||||||
private function runWebhook(Webhook $webhook): void
|
private function runWebhook(Webhook $webhook): void
|
||||||
{
|
{
|
||||||
app('log')->debug(sprintf('Now in runWebhook(#%d)', $webhook->id));
|
Log::debug(sprintf('Now in runWebhook(#%d)', $webhook->id));
|
||||||
|
|
||||||
/** @var Model $object */
|
/** @var Model $object */
|
||||||
foreach ($this->objects as $object) {
|
foreach ($this->objects as $object) {
|
||||||
@@ -108,7 +111,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
{
|
{
|
||||||
$class = $model::class;
|
$class = $model::class;
|
||||||
// Line is ignored because all of Firefly III's Models have an id property.
|
// Line is ignored because all of Firefly III's Models have an id property.
|
||||||
app('log')->debug(sprintf('Now in generateMessage(#%d, %s#%d)', $webhook->id, $class, $model->id));
|
Log::debug(sprintf('Now in generateMessage(#%d, %s#%d)', $webhook->id, $class, $model->id));
|
||||||
|
|
||||||
$uuid = Uuid::uuid4();
|
$uuid = Uuid::uuid4();
|
||||||
$basicMessage = [
|
$basicMessage = [
|
||||||
@@ -125,7 +128,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
switch ($class) {
|
switch ($class) {
|
||||||
default:
|
default:
|
||||||
// Line is ignored because all of Firefly III's Models have an id property.
|
// Line is ignored because all of Firefly III's Models have an id property.
|
||||||
app('log')->error(
|
Log::error(
|
||||||
sprintf('Webhook #%d was given %s#%d to deal with but can\'t extract user ID from it.', $webhook->id, $class, $model->id)
|
sprintf('Webhook #%d was given %s#%d to deal with but can\'t extract user ID from it.', $webhook->id, $class, $model->id)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -141,7 +144,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
// then depends on the response what to put in the message:
|
// then depends on the response what to put in the message:
|
||||||
switch ($webhook->response) {
|
switch ($webhook->response) {
|
||||||
default:
|
default:
|
||||||
app('log')->error(
|
Log::error(
|
||||||
sprintf('The response code for webhook #%d is "%d" and the message generator cant handle it. Soft fail.', $webhook->id, $webhook->response)
|
sprintf('The response code for webhook #%d is "%d" and the message generator cant handle it. Soft fail.', $webhook->id, $webhook->response)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -159,10 +162,10 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
try {
|
try {
|
||||||
$basicMessage['content'] = $transformer->transformObject($model);
|
$basicMessage['content'] = $transformer->transformObject($model);
|
||||||
} catch (FireflyException $e) {
|
} catch (FireflyException $e) {
|
||||||
app('log')->error(
|
Log::error(
|
||||||
sprintf('The transformer could not include the requested transaction group for webhook #%d: %s', $webhook->id, $e->getMessage())
|
sprintf('The transformer could not include the requested transaction group for webhook #%d: %s', $webhook->id, $e->getMessage())
|
||||||
);
|
);
|
||||||
app('log')->error($e->getTraceAsString());
|
Log::error($e->getTraceAsString());
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -172,6 +175,10 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
case WebhookResponse::ACCOUNTS->value:
|
case WebhookResponse::ACCOUNTS->value:
|
||||||
/** @var TransactionGroup $model */
|
/** @var TransactionGroup $model */
|
||||||
$accounts = $this->collectAccounts($model);
|
$accounts = $this->collectAccounts($model);
|
||||||
|
$enrichment = new AccountEnrichment();
|
||||||
|
$enrichment->setUser($model->user);
|
||||||
|
$enrichment->setNative(Amount::getNativeCurrencyByUserGroup($model->userGroup));
|
||||||
|
$accounts = $enrichment->enrich($accounts);
|
||||||
foreach ($accounts as $account) {
|
foreach ($accounts as $account) {
|
||||||
$transformer = new AccountTransformer();
|
$transformer = new AccountTransformer();
|
||||||
$transformer->setParameters(new ParameterBag());
|
$transformer->setParameters(new ParameterBag());
|
||||||
@@ -210,7 +217,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
$webhookMessage->uuid = $message['uuid'];
|
$webhookMessage->uuid = $message['uuid'];
|
||||||
$webhookMessage->message = $message;
|
$webhookMessage->message = $message;
|
||||||
$webhookMessage->save();
|
$webhookMessage->save();
|
||||||
app('log')->debug(sprintf('Stored new webhook message #%d', $webhookMessage->id));
|
Log::debug(sprintf('Stored new webhook message #%d', $webhookMessage->id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setObjects(Collection $objects): void
|
public function setObjects(Collection $objects): void
|
||||||
|
|||||||
@@ -1094,6 +1094,10 @@ class GroupCollector implements GroupCollectorInterface
|
|||||||
->whereNull('transaction_groups.deleted_at')
|
->whereNull('transaction_groups.deleted_at')
|
||||||
->whereNull('transaction_journals.deleted_at')
|
->whereNull('transaction_journals.deleted_at')
|
||||||
->whereNull('source.deleted_at')
|
->whereNull('source.deleted_at')
|
||||||
|
|
||||||
|
// #10507 ignore opening balance.
|
||||||
|
->where('transaction_types.type', '!=', TransactionTypeEnum::OPENING_BALANCE->value)
|
||||||
|
|
||||||
->whereNotNull('transaction_groups.id')
|
->whereNotNull('transaction_groups.id')
|
||||||
->whereNull('destination.deleted_at')
|
->whereNull('destination.deleted_at')
|
||||||
->orderBy('transaction_journals.date', 'DESC')
|
->orderBy('transaction_journals.date', 'DESC')
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ class NetWorth implements NetWorthInterface
|
|||||||
|
|
||||||
/** @var Account $account */
|
/** @var Account $account */
|
||||||
foreach ($accounts as $account) {
|
foreach ($accounts as $account) {
|
||||||
Log::debug(sprintf('Now at account #%d ("%s")', $account->id, $account->name));
|
// Log::debug(sprintf('Now at account #%d ("%s")', $account->id, $account->name));
|
||||||
$currency = $this->accountRepository->getAccountCurrency($account) ?? $default;
|
$currency = $this->accountRepository->getAccountCurrency($account) ?? $default;
|
||||||
$useNative = $convertToNative && $default->id !== $currency->id;
|
$useNative = $convertToNative && $default->id !== $currency->id;
|
||||||
$currency = $useNative ? $default : $currency;
|
$currency = $useNative ? $default : $currency;
|
||||||
@@ -93,12 +93,12 @@ class NetWorth implements NetWorthInterface
|
|||||||
$balance = $balances[$account->id]['balance'] ?? '0';
|
$balance = $balances[$account->id]['balance'] ?? '0';
|
||||||
$nativeBalance = $balances[$account->id]['native_balance'] ?? '0';
|
$nativeBalance = $balances[$account->id]['native_balance'] ?? '0';
|
||||||
}
|
}
|
||||||
Log::debug(sprintf('Balance is %s, native balance is %s', $balance, $nativeBalance));
|
// Log::debug(sprintf('Balance is %s, native balance is %s', $balance, $nativeBalance));
|
||||||
// always subtract virtual balance again.
|
// always subtract virtual balance again.
|
||||||
$balance = '' !== (string) $account->virtual_balance ? bcsub($balance, (string) $account->virtual_balance) : $balance;
|
$balance = '' !== (string) $account->virtual_balance ? bcsub($balance, (string) $account->virtual_balance) : $balance;
|
||||||
$nativeBalance = '' !== (string) $account->native_virtual_balance ? bcsub($nativeBalance, (string) $account->native_virtual_balance) : $nativeBalance;
|
$nativeBalance = '' !== (string) $account->native_virtual_balance ? bcsub($nativeBalance, (string) $account->native_virtual_balance) : $nativeBalance;
|
||||||
$amountToUse = $useNative ? $nativeBalance : $balance;
|
$amountToUse = $useNative ? $nativeBalance : $balance;
|
||||||
Log::debug(sprintf('Will use %s %s', $currencyCode, $amountToUse));
|
// Log::debug(sprintf('Will use %s %s', $currencyCode, $amountToUse));
|
||||||
|
|
||||||
$netWorth[$currencyCode] ??= [
|
$netWorth[$currencyCode] ??= [
|
||||||
'balance' => '0',
|
'balance' => '0',
|
||||||
|
|||||||
@@ -23,8 +23,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Http\Controllers;
|
namespace FireflyIII\Http\Controllers;
|
||||||
|
|
||||||
use function Safe\realpath;
|
|
||||||
use function Safe\ini_get;
|
|
||||||
use FireflyIII\Models\TransactionCurrency;
|
use FireflyIII\Models\TransactionCurrency;
|
||||||
use FireflyIII\Support\Facades\Amount;
|
use FireflyIII\Support\Facades\Amount;
|
||||||
use FireflyIII\Support\Facades\Steam;
|
use FireflyIII\Support\Facades\Steam;
|
||||||
@@ -38,6 +36,9 @@ use Illuminate\Support\Facades\Config;
|
|||||||
use Illuminate\Support\Facades\View;
|
use Illuminate\Support\Facades\View;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
use function Safe\realpath;
|
||||||
|
use function Safe\ini_get;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Controller.
|
* Class Controller.
|
||||||
*
|
*
|
||||||
@@ -78,12 +79,12 @@ abstract class Controller extends BaseController
|
|||||||
View::share('featuringWebhooks', true === config('firefly.feature_flags.webhooks') && true === config('firefly.allow_webhooks'));
|
View::share('featuringWebhooks', true === config('firefly.feature_flags.webhooks') && true === config('firefly.allow_webhooks'));
|
||||||
|
|
||||||
// share custom auth guard info.
|
// share custom auth guard info.
|
||||||
$authGuard = config('firefly.authentication_guard');
|
$authGuard = config('firefly.authentication_guard');
|
||||||
$logoutUrl = config('firefly.custom_logout_url');
|
$logoutUrl = config('firefly.custom_logout_url');
|
||||||
|
|
||||||
// overrule v2 layout back to v1.
|
// overrule v2 layout back to v1.
|
||||||
if ('true' === request()->get('force_default_layout') && 'v2' === config('view.layout')) {
|
if ('true' === request()->get('force_default_layout') && 'v2' === config('view.layout')) {
|
||||||
//config('view.layout','v1');
|
// config('view.layout','v1');
|
||||||
Config::set('view.layout', 'v1');
|
Config::set('view.layout', 'v1');
|
||||||
View::getFinder()->setPaths([realpath(base_path('resources/views'))]); // @phpstan-ignore-line
|
View::getFinder()->setPaths([realpath(base_path('resources/views'))]); // @phpstan-ignore-line
|
||||||
}
|
}
|
||||||
@@ -92,15 +93,15 @@ abstract class Controller extends BaseController
|
|||||||
View::share('logoutUrl', $logoutUrl);
|
View::share('logoutUrl', $logoutUrl);
|
||||||
|
|
||||||
// upload size
|
// upload size
|
||||||
$maxFileSize = Steam::phpBytes((string) ini_get('upload_max_filesize'));
|
$maxFileSize = Steam::phpBytes((string) ini_get('upload_max_filesize'));
|
||||||
$maxPostSize = Steam::phpBytes((string) ini_get('post_max_size'));
|
$maxPostSize = Steam::phpBytes((string) ini_get('post_max_size'));
|
||||||
$uploadSize = min($maxFileSize, $maxPostSize);
|
$uploadSize = min($maxFileSize, $maxPostSize);
|
||||||
View::share('uploadSize', $uploadSize);
|
View::share('uploadSize', $uploadSize);
|
||||||
|
|
||||||
// share is alpha, is beta
|
// share is alpha, is beta
|
||||||
$isAlpha = false;
|
$isAlpha = false;
|
||||||
$isBeta = false;
|
$isBeta = false;
|
||||||
$isDevelop = false;
|
$isDevelop = false;
|
||||||
if (str_contains((string) config('firefly.version'), 'alpha')) {
|
if (str_contains((string) config('firefly.version'), 'alpha')) {
|
||||||
$isAlpha = true;
|
$isAlpha = true;
|
||||||
}
|
}
|
||||||
@@ -118,7 +119,7 @@ abstract class Controller extends BaseController
|
|||||||
|
|
||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next): mixed {
|
function ($request, $next): mixed {
|
||||||
$locale = Steam::getLocale();
|
$locale = Steam::getLocale();
|
||||||
// translations for specific strings:
|
// translations for specific strings:
|
||||||
$this->monthFormat = (string) trans('config.month_js', [], $locale);
|
$this->monthFormat = (string) trans('config.month_js', [], $locale);
|
||||||
$this->monthAndDayFormat = (string) trans('config.month_and_day_js', [], $locale);
|
$this->monthAndDayFormat = (string) trans('config.month_and_day_js', [], $locale);
|
||||||
|
|||||||
@@ -97,6 +97,9 @@ class Authenticate
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($guards as $guard) {
|
foreach ($guards as $guard) {
|
||||||
|
if ('api' !== $guard) {
|
||||||
|
$this->auth->guard($guard)->authenticate();
|
||||||
|
}
|
||||||
$result = $this->auth->guard($guard)->check();
|
$result = $this->auth->guard($guard)->check();
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$user = $this->auth->guard($guard)->user();
|
$user = $this->auth->guard($guard)->user();
|
||||||
@@ -107,7 +110,7 @@ class Authenticate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is a massive hack, but if the hander has the oauth exception
|
// this is a massive hack, but if the handler has the oauth exception
|
||||||
// at this point we can report its error instead of a generic one.
|
// at this point we can report its error instead of a generic one.
|
||||||
$message = 'Unauthenticated.';
|
$message = 'Unauthenticated.';
|
||||||
if (Handler::$lastError instanceof OAuthServerException) {
|
if (Handler::$lastError instanceof OAuthServerException) {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ declare(strict_types=1);
|
|||||||
namespace FireflyIII\Support\Authentication;
|
namespace FireflyIII\Support\Authentication;
|
||||||
|
|
||||||
use FireflyIII\Exceptions\FireflyException;
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
|
use FireflyIII\Support\Facades\Preferences;
|
||||||
use FireflyIII\User;
|
use FireflyIII\User;
|
||||||
use Illuminate\Contracts\Auth\Authenticatable;
|
use Illuminate\Contracts\Auth\Authenticatable;
|
||||||
use Illuminate\Contracts\Auth\Guard;
|
use Illuminate\Contracts\Auth\Guard;
|
||||||
@@ -86,14 +87,14 @@ class RemoteUserGuard implements Guard
|
|||||||
|
|
||||||
if (null !== $header) {
|
if (null !== $header) {
|
||||||
$emailAddress = (string) (request()->server($header) ?? apache_request_headers()[$header] ?? null);
|
$emailAddress = (string) (request()->server($header) ?? apache_request_headers()[$header] ?? null);
|
||||||
$preference = app('preferences')->getForUser($retrievedUser, 'remote_guard_alt_email');
|
$preference = Preferences::getForUser($retrievedUser, 'remote_guard_alt_email');
|
||||||
|
|
||||||
if ('' !== $emailAddress && null === $preference && $emailAddress !== $userID) {
|
if ('' !== $emailAddress && null === $preference && $emailAddress !== $userID) {
|
||||||
app('preferences')->setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress);
|
Preferences::setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress);
|
||||||
}
|
}
|
||||||
// if the pref isn't null and the object returned isn't null, update the email address.
|
// if the pref isn't null and the object returned isn't null, update the email address.
|
||||||
if ('' !== $emailAddress && null !== $preference && $emailAddress !== $preference->data) {
|
if ('' !== $emailAddress && null !== $preference && $emailAddress !== $preference->data) {
|
||||||
app('preferences')->setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress);
|
Preferences::setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ trait AugumentData
|
|||||||
{
|
{
|
||||||
/** @var AccountRepositoryInterface $repository */
|
/** @var AccountRepositoryInterface $repository */
|
||||||
$repository = app(AccountRepositoryInterface::class);
|
$repository = app(AccountRepositoryInterface::class);
|
||||||
$accounts = $repository->getAccountsByType([AccountTypeEnum::ASSET->value, AccountTypeEnum::DEFAULT->value, AccountTypeEnum::EXPENSE->value, AccountTypeEnum::CASH->value]);
|
$accounts = $repository->getAccountsByType([AccountTypeEnum::LOAN->value, AccountTypeEnum::DEBT->value, AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::ASSET->value, AccountTypeEnum::DEFAULT->value, AccountTypeEnum::EXPENSE->value, AccountTypeEnum::CASH->value]);
|
||||||
$grouped = $accounts->groupBy('id')->toArray();
|
$grouped = $accounts->groupBy('id')->toArray();
|
||||||
$return = [];
|
$return = [];
|
||||||
foreach ($accountIds as $combinedId) {
|
foreach ($accountIds as $combinedId) {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ trait PeriodOverview
|
|||||||
protected JournalRepositoryInterface $journalRepos;
|
protected JournalRepositoryInterface $journalRepos;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns "period entries", so nov-2015, dec-2015, etc etc (this depends on the users session range)
|
* This method returns "period entries", so nov-2015, dec-2015, etc. (this depends on the users session range)
|
||||||
* and for each period, the amount of money spent and earned. This is a complex operation which is cached for
|
* and for each period, the amount of money spent and earned. This is a complex operation which is cached for
|
||||||
* performance reasons.
|
* performance reasons.
|
||||||
*
|
*
|
||||||
@@ -97,18 +97,26 @@ trait PeriodOverview
|
|||||||
/** @var array $dates */
|
/** @var array $dates */
|
||||||
$dates = app('navigation')->blockPeriods($start, $end, $range);
|
$dates = app('navigation')->blockPeriods($start, $end, $range);
|
||||||
$entries = [];
|
$entries = [];
|
||||||
|
$spent = [];
|
||||||
|
$earned = [];
|
||||||
|
$transferredAway = [];
|
||||||
|
$transferredIn = [];
|
||||||
|
|
||||||
// run a custom query because doing this with the collector is MEGA slow.
|
// run a custom query because doing this with the collector is MEGA slow.
|
||||||
$transactions = $this->accountRepository->periodCollection($account, $start, $end);
|
$transactions = $this->accountRepository->periodCollection($account, $start, $end);
|
||||||
|
|
||||||
// loop dates
|
// loop dates
|
||||||
Log::debug(sprintf('Count of loops: %d', count($dates)));
|
Log::debug(sprintf('Count of loops: %d', count($dates)));
|
||||||
|
$loops = 0;
|
||||||
|
// stop after 10 loops for memory reasons.
|
||||||
foreach ($dates as $currentDate) {
|
foreach ($dates as $currentDate) {
|
||||||
$title = app('navigation')->periodShow($currentDate['start'], $currentDate['period']);
|
$title = app('navigation')->periodShow($currentDate['start'], $currentDate['period']);
|
||||||
[$transactions, $spent] = $this->filterTransactionsByType(TransactionTypeEnum::WITHDRAWAL, $transactions, $currentDate['start'], $currentDate['end']);
|
if ($loops < 10) {
|
||||||
[$transactions, $earned] = $this->filterTransactionsByType(TransactionTypeEnum::DEPOSIT, $transactions, $currentDate['start'], $currentDate['end']);
|
[$transactions, $spent] = $this->filterTransactionsByType(TransactionTypeEnum::WITHDRAWAL, $transactions, $currentDate['start'], $currentDate['end']);
|
||||||
[$transactions, $transferredAway] = $this->filterTransfers('away', $transactions, $currentDate['start'], $currentDate['end']);
|
[$transactions, $earned] = $this->filterTransactionsByType(TransactionTypeEnum::DEPOSIT, $transactions, $currentDate['start'], $currentDate['end']);
|
||||||
[$transactions, $transferredIn] = $this->filterTransfers('in', $transactions, $currentDate['start'], $currentDate['end']);
|
[$transactions, $transferredAway] = $this->filterTransfers('away', $transactions, $currentDate['start'], $currentDate['end']);
|
||||||
|
[$transactions, $transferredIn] = $this->filterTransfers('in', $transactions, $currentDate['start'], $currentDate['end']);
|
||||||
|
}
|
||||||
$entries[]
|
$entries[]
|
||||||
= [
|
= [
|
||||||
'title' => $title,
|
'title' => $title,
|
||||||
@@ -119,6 +127,7 @@ trait PeriodOverview
|
|||||||
'transferred_away' => $this->groupByCurrency($transferredAway),
|
'transferred_away' => $this->groupByCurrency($transferredAway),
|
||||||
'transferred_in' => $this->groupByCurrency($transferredIn),
|
'transferred_in' => $this->groupByCurrency($transferredIn),
|
||||||
];
|
];
|
||||||
|
++$loops;
|
||||||
}
|
}
|
||||||
$cache->store($entries);
|
$cache->store($entries);
|
||||||
Timer::stop('account-period-total');
|
Timer::stop('account-period-total');
|
||||||
@@ -548,27 +557,29 @@ trait PeriodOverview
|
|||||||
/** @var array $dates */
|
/** @var array $dates */
|
||||||
$dates = app('navigation')->blockPeriods($start, $end, $range);
|
$dates = app('navigation')->blockPeriods($start, $end, $range);
|
||||||
$entries = [];
|
$entries = [];
|
||||||
|
$spent = [];
|
||||||
|
$earned = [];
|
||||||
|
$transferred = [];
|
||||||
// collect all journals in this period (regardless of type)
|
// collect all journals in this period (regardless of type)
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes($types)->setRange($start, $end);
|
$collector->setTypes($types)->setRange($start, $end);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
|
$loops = 0;
|
||||||
|
|
||||||
foreach ($dates as $currentDate) {
|
foreach ($dates as $currentDate) {
|
||||||
$spent = [];
|
|
||||||
$earned = [];
|
|
||||||
$transferred = [];
|
|
||||||
$title = app('navigation')->periodShow($currentDate['end'], $currentDate['period']);
|
$title = app('navigation')->periodShow($currentDate['end'], $currentDate['period']);
|
||||||
|
|
||||||
// set to correct array
|
if ($loops < 10) {
|
||||||
if ('expenses' === $transactionType || 'withdrawal' === $transactionType) {
|
// set to correct array
|
||||||
$spent = $this->filterJournalsByDate($genericSet, $currentDate['start'], $currentDate['end']);
|
if ('expenses' === $transactionType || 'withdrawal' === $transactionType) {
|
||||||
}
|
$spent = $this->filterJournalsByDate($genericSet, $currentDate['start'], $currentDate['end']);
|
||||||
if ('revenue' === $transactionType || 'deposit' === $transactionType) {
|
}
|
||||||
$earned = $this->filterJournalsByDate($genericSet, $currentDate['start'], $currentDate['end']);
|
if ('revenue' === $transactionType || 'deposit' === $transactionType) {
|
||||||
}
|
$earned = $this->filterJournalsByDate($genericSet, $currentDate['start'], $currentDate['end']);
|
||||||
if ('transfer' === $transactionType || 'transfers' === $transactionType) {
|
}
|
||||||
$transferred = $this->filterJournalsByDate($genericSet, $currentDate['start'], $currentDate['end']);
|
if ('transfer' === $transactionType || 'transfers' === $transactionType) {
|
||||||
|
$transferred = $this->filterJournalsByDate($genericSet, $currentDate['start'], $currentDate['end']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$entries[]
|
$entries[]
|
||||||
= [
|
= [
|
||||||
@@ -579,6 +590,7 @@ trait PeriodOverview
|
|||||||
'earned' => $this->groupByCurrency($earned),
|
'earned' => $this->groupByCurrency($earned),
|
||||||
'transferred' => $this->groupByCurrency($transferred),
|
'transferred' => $this->groupByCurrency($transferred),
|
||||||
];
|
];
|
||||||
|
++$loops;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $entries;
|
return $entries;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ use Illuminate\Contracts\Validation\Validator as ValidatorContract;
|
|||||||
use Illuminate\Routing\Route;
|
use Illuminate\Routing\Route;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Support\Facades\Route as RouteFacade;
|
use Illuminate\Support\Facades\Route as RouteFacade;
|
||||||
use Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
use function Safe\parse_url;
|
use function Safe\parse_url;
|
||||||
|
|
||||||
|
|||||||
@@ -71,12 +71,12 @@ class TransactionSummarizer
|
|||||||
$foreignCurrencyDecimalPlaces = null;
|
$foreignCurrencyDecimalPlaces = null;
|
||||||
|
|
||||||
if ($this->convertToNative) {
|
if ($this->convertToNative) {
|
||||||
Log::debug('convertToNative is true.');
|
// Log::debug('convertToNative is true.');
|
||||||
// if convert to native, use the native amount yes or no?
|
// if convert to native, use the native amount yes or no?
|
||||||
$useNative = $this->default->id !== (int) $journal['currency_id'];
|
$useNative = $this->default->id !== (int) $journal['currency_id'];
|
||||||
$useForeign = $this->default->id === (int) $journal['foreign_currency_id'];
|
$useForeign = $this->default->id === (int) $journal['foreign_currency_id'];
|
||||||
if ($useNative) {
|
if ($useNative) {
|
||||||
Log::debug(sprintf('Journal #%d switches to native amount (original is %s)', $journal['transaction_journal_id'], $journal['currency_code']));
|
// Log::debug(sprintf('Journal #%d switches to native amount (original is %s)', $journal['transaction_journal_id'], $journal['currency_code']));
|
||||||
$field = 'native_amount';
|
$field = 'native_amount';
|
||||||
$currencyId = $this->default->id;
|
$currencyId = $this->default->id;
|
||||||
$currencyName = $this->default->name;
|
$currencyName = $this->default->name;
|
||||||
@@ -85,7 +85,7 @@ class TransactionSummarizer
|
|||||||
$currencyDecimalPlaces = $this->default->decimal_places;
|
$currencyDecimalPlaces = $this->default->decimal_places;
|
||||||
}
|
}
|
||||||
if ($useForeign) {
|
if ($useForeign) {
|
||||||
Log::debug(sprintf('Journal #%d switches to foreign amount (foreign is %s)', $journal['transaction_journal_id'], $journal['foreign_currency_code']));
|
// Log::debug(sprintf('Journal #%d switches to foreign amount (foreign is %s)', $journal['transaction_journal_id'], $journal['foreign_currency_code']));
|
||||||
$field = 'foreign_amount';
|
$field = 'foreign_amount';
|
||||||
$currencyId = (int) $journal['foreign_currency_id'];
|
$currencyId = (int) $journal['foreign_currency_id'];
|
||||||
$currencyName = $journal['foreign_currency_name'];
|
$currencyName = $journal['foreign_currency_name'];
|
||||||
@@ -95,7 +95,7 @@ class TransactionSummarizer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$this->convertToNative) {
|
if (!$this->convertToNative) {
|
||||||
Log::debug('convertToNative is false.');
|
// Log::debug('convertToNative is false.');
|
||||||
// use foreign amount?
|
// use foreign amount?
|
||||||
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
|
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ class Steam
|
|||||||
|
|
||||||
return $cache->get();
|
return $cache->get();
|
||||||
}
|
}
|
||||||
Log::debug(sprintf('finalAccountBalance(#%d, %s)', $account->id, $date->format('Y-m-d H:i:s')));
|
// Log::debug(sprintf('finalAccountBalance(#%d, %s)', $account->id, $date->format('Y-m-d H:i:s')));
|
||||||
if (null === $convertToNative) {
|
if (null === $convertToNative) {
|
||||||
$convertToNative = Amount::convertToNative($account->user);
|
$convertToNative = Amount::convertToNative($account->user);
|
||||||
}
|
}
|
||||||
@@ -401,7 +401,7 @@ class Steam
|
|||||||
// Log::debug(sprintf('Virtual balance makes the (native) total %s', $return['balance']));
|
// Log::debug(sprintf('Virtual balance makes the (native) total %s', $return['balance']));
|
||||||
}
|
}
|
||||||
$final = array_merge($return, $others);
|
$final = array_merge($return, $others);
|
||||||
Log::debug('Final balance is', $final);
|
// Log::debug('Final balance is', $final);
|
||||||
$cache->store($final);
|
$cache->store($final);
|
||||||
|
|
||||||
return $final;
|
return $final;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ use FireflyIII\Models\RuleAction;
|
|||||||
use FireflyIII\Models\TransactionJournal;
|
use FireflyIII\Models\TransactionJournal;
|
||||||
use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
|
use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class SetDescription.
|
* Class SetDescription.
|
||||||
@@ -51,7 +52,12 @@ class SetDescription implements ActionInterface
|
|||||||
$after = $this->action->getValue($journal);
|
$after = $this->action->getValue($journal);
|
||||||
|
|
||||||
// replace newlines.
|
// replace newlines.
|
||||||
$after = str_replace(["\r", "\n", "\t", "\036", "\025"], '', $after);
|
$after = trim(str_replace(["\r", "\n", "\t", "\036", "\025"], '', $after));
|
||||||
|
|
||||||
|
if ('' === $after) {
|
||||||
|
Log::warning('Action resulted in an empty description, reset to default value.');
|
||||||
|
$after = '(no description)';
|
||||||
|
}
|
||||||
|
|
||||||
DB::table('transaction_journals')
|
DB::table('transaction_journals')
|
||||||
->where('id', '=', $journal['transaction_journal_id'])
|
->where('id', '=', $journal['transaction_journal_id'])
|
||||||
|
|||||||
32
changelog.md
32
changelog.md
@@ -3,6 +3,38 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
## 6.2.20 - 2025-07-02
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- New query parser is now the default.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- [Issue 10517](https://github.com/firefly-iii/firefly-iii/issues/10517) (401 when trying to create personal access token with Remote user authentication) reported by @MaxPelly
|
||||||
|
- [Discussion 10530](https://github.com/orgs/firefly-iii/discussions/10530) (Find and delete transactions with empty descriptions) started by @umfk
|
||||||
|
- [Issue 10535](https://github.com/firefly-iii/firefly-iii/issues/10535) (Internal Firefly III Exception: Undefined array key "currency") reported by @MaelFr
|
||||||
|
|
||||||
|
## 6.2.19 - 2025-06-29
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Currency seeder adds "CNY" again, because it turns out "RMB" is not the official, ISO 4217 code for the Chinese Yuan.
|
||||||
|
- The "period overview" next to the transaction lists (withdrawals, deposits and transfers) is limited to 10 entries because it uses a lot of memory. I still have to fix this.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Support for ntfy, since the underlying library is no longer maintained. Will be replaced in the future.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Running balance calculation also triggers on edit.
|
||||||
|
- [Issue 10489](https://github.com/firefly-iii/firefly-iii/issues/10489) (Cannot create personal access token if using remote guard auth in latest version) reported by @Palomox
|
||||||
|
- [Issue 10493](https://github.com/firefly-iii/firefly-iii/issues/10493) (Reports First Graph Wrong) reported by @nicolopozzato
|
||||||
|
- [Issue 10499](https://github.com/firefly-iii/firefly-iii/issues/10499) (Password change results in error 500 (Class "Hash" not found)) reported by @willermo
|
||||||
|
- [Issue 10507](https://github.com/firefly-iii/firefly-iii/issues/10507) (Opening balance transactions includes in `has_no_category` filter) reported by @lompi
|
||||||
|
- [Issue 10510](https://github.com/firefly-iii/firefly-iii/issues/10510) (Liability accounts show as 'no name' on budget transaction report pie chart.) reported by @slackspace-io
|
||||||
|
|
||||||
## 6.2.18 - 2025-06-20
|
## 6.2.18 - 2025-06-20
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
171
composer.lock
generated
171
composer.lock
generated
@@ -4805,16 +4805,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpseclib/phpseclib",
|
"name": "phpseclib/phpseclib",
|
||||||
"version": "3.0.45",
|
"version": "3.0.46",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpseclib/phpseclib.git",
|
"url": "https://github.com/phpseclib/phpseclib.git",
|
||||||
"reference": "bd81b90d5963c6b9d87de50357585375223f4dd8"
|
"reference": "56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/bd81b90d5963c6b9d87de50357585375223f4dd8",
|
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6",
|
||||||
"reference": "bd81b90d5963c6b9d87de50357585375223f4dd8",
|
"reference": "56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4895,7 +4895,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/phpseclib/phpseclib/issues",
|
"issues": "https://github.com/phpseclib/phpseclib/issues",
|
||||||
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.45"
|
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.46"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4911,7 +4911,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-06-22T22:54:43+00:00"
|
"time": "2025-06-26T16:29:55+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pragmarx/google2fa",
|
"name": "pragmarx/google2fa",
|
||||||
@@ -5745,21 +5745,20 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ramsey/uuid",
|
"name": "ramsey/uuid",
|
||||||
"version": "4.8.1",
|
"version": "4.9.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/ramsey/uuid.git",
|
"url": "https://github.com/ramsey/uuid.git",
|
||||||
"reference": "fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28"
|
"reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28",
|
"url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0",
|
||||||
"reference": "fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28",
|
"reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13",
|
"brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13",
|
||||||
"ext-json": "*",
|
|
||||||
"php": "^8.0",
|
"php": "^8.0",
|
||||||
"ramsey/collection": "^1.2 || ^2.0"
|
"ramsey/collection": "^1.2 || ^2.0"
|
||||||
},
|
},
|
||||||
@@ -5818,9 +5817,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/ramsey/uuid/issues",
|
"issues": "https://github.com/ramsey/uuid/issues",
|
||||||
"source": "https://github.com/ramsey/uuid/tree/4.8.1"
|
"source": "https://github.com/ramsey/uuid/tree/4.9.0"
|
||||||
},
|
},
|
||||||
"time": "2025-06-01T06:28:46+00:00"
|
"time": "2025-06-25T14:20:11+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "rcrowe/twigbridge",
|
"name": "rcrowe/twigbridge",
|
||||||
@@ -6408,16 +6407,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache",
|
"name": "symfony/cache",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/cache.git",
|
"url": "https://github.com/symfony/cache.git",
|
||||||
"reference": "c4b217b578c11ec764867aa0c73e602c602965de"
|
"reference": "a7c6caa9d6113cebfb3020b427bcb021ebfdfc9e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/cache/zipball/c4b217b578c11ec764867aa0c73e602c602965de",
|
"url": "https://api.github.com/repos/symfony/cache/zipball/a7c6caa9d6113cebfb3020b427bcb021ebfdfc9e",
|
||||||
"reference": "c4b217b578c11ec764867aa0c73e602c602965de",
|
"reference": "a7c6caa9d6113cebfb3020b427bcb021ebfdfc9e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -6486,7 +6485,7 @@
|
|||||||
"psr6"
|
"psr6"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/cache/tree/v7.3.0"
|
"source": "https://github.com/symfony/cache/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6502,7 +6501,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-06T19:00:13+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache-contracts",
|
"name": "symfony/cache-contracts",
|
||||||
@@ -6656,16 +6655,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44"
|
"reference": "9e27aecde8f506ba0fd1d9989620c04a87697101"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44",
|
"url": "https://api.github.com/repos/symfony/console/zipball/9e27aecde8f506ba0fd1d9989620c04a87697101",
|
||||||
"reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44",
|
"reference": "9e27aecde8f506ba0fd1d9989620c04a87697101",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -6730,7 +6729,7 @@
|
|||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/console/tree/v7.3.0"
|
"source": "https://github.com/symfony/console/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6746,7 +6745,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-24T10:34:04+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/css-selector",
|
"name": "symfony/css-selector",
|
||||||
@@ -6882,16 +6881,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/error-handler",
|
"name": "symfony/error-handler",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/error-handler.git",
|
"url": "https://github.com/symfony/error-handler.git",
|
||||||
"reference": "cf68d225bc43629de4ff54778029aee6dc191b83"
|
"reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/cf68d225bc43629de4ff54778029aee6dc191b83",
|
"url": "https://api.github.com/repos/symfony/error-handler/zipball/35b55b166f6752d6aaf21aa042fc5ed280fce235",
|
||||||
"reference": "cf68d225bc43629de4ff54778029aee6dc191b83",
|
"reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -6939,7 +6938,7 @@
|
|||||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/error-handler/tree/v7.3.0"
|
"source": "https://github.com/symfony/error-handler/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6955,7 +6954,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-29T07:19:49+00:00"
|
"time": "2025-06-13T07:48:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
@@ -7243,16 +7242,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-client",
|
"name": "symfony/http-client",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-client.git",
|
"url": "https://github.com/symfony/http-client.git",
|
||||||
"reference": "57e4fb86314015a695a750ace358d07a7e37b8a9"
|
"reference": "4403d87a2c16f33345dca93407a8714ee8c05a64"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/57e4fb86314015a695a750ace358d07a7e37b8a9",
|
"url": "https://api.github.com/repos/symfony/http-client/zipball/4403d87a2c16f33345dca93407a8714ee8c05a64",
|
||||||
"reference": "57e4fb86314015a695a750ace358d07a7e37b8a9",
|
"reference": "4403d87a2c16f33345dca93407a8714ee8c05a64",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7264,6 +7263,7 @@
|
|||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"amphp/amp": "<2.5",
|
"amphp/amp": "<2.5",
|
||||||
|
"amphp/socket": "<1.1",
|
||||||
"php-http/discovery": "<1.15",
|
"php-http/discovery": "<1.15",
|
||||||
"symfony/http-foundation": "<6.4"
|
"symfony/http-foundation": "<6.4"
|
||||||
},
|
},
|
||||||
@@ -7276,7 +7276,6 @@
|
|||||||
"require-dev": {
|
"require-dev": {
|
||||||
"amphp/http-client": "^4.2.1|^5.0",
|
"amphp/http-client": "^4.2.1|^5.0",
|
||||||
"amphp/http-tunnel": "^1.0|^2.0",
|
"amphp/http-tunnel": "^1.0|^2.0",
|
||||||
"amphp/socket": "^1.1",
|
|
||||||
"guzzlehttp/promises": "^1.4|^2.0",
|
"guzzlehttp/promises": "^1.4|^2.0",
|
||||||
"nyholm/psr7": "^1.0",
|
"nyholm/psr7": "^1.0",
|
||||||
"php-http/httplug": "^1.0|^2.0",
|
"php-http/httplug": "^1.0|^2.0",
|
||||||
@@ -7318,7 +7317,7 @@
|
|||||||
"http"
|
"http"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-client/tree/v7.3.0"
|
"source": "https://github.com/symfony/http-client/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7334,7 +7333,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-02T08:23:16+00:00"
|
"time": "2025-06-28T07:58:39+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-client-contracts",
|
"name": "symfony/http-client-contracts",
|
||||||
@@ -7416,16 +7415,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-foundation.git",
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
"reference": "4236baf01609667d53b20371486228231eb135fd"
|
"reference": "23dd60256610c86a3414575b70c596e5deff6ed9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/4236baf01609667d53b20371486228231eb135fd",
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/23dd60256610c86a3414575b70c596e5deff6ed9",
|
||||||
"reference": "4236baf01609667d53b20371486228231eb135fd",
|
"reference": "23dd60256610c86a3414575b70c596e5deff6ed9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7475,7 +7474,7 @@
|
|||||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-foundation/tree/v7.3.0"
|
"source": "https://github.com/symfony/http-foundation/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7491,20 +7490,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-12T14:48:23+00:00"
|
"time": "2025-06-23T15:07:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-kernel.git",
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
"reference": "ac7b8e163e8c83dce3abcc055a502d4486051a9f"
|
"reference": "1644879a66e4aa29c36fe33dfa6c54b450ce1831"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/ac7b8e163e8c83dce3abcc055a502d4486051a9f",
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/1644879a66e4aa29c36fe33dfa6c54b450ce1831",
|
||||||
"reference": "ac7b8e163e8c83dce3abcc055a502d4486051a9f",
|
"reference": "1644879a66e4aa29c36fe33dfa6c54b450ce1831",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7589,7 +7588,7 @@
|
|||||||
"description": "Provides a structured process for converting a Request into a Response",
|
"description": "Provides a structured process for converting a Request into a Response",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-kernel/tree/v7.3.0"
|
"source": "https://github.com/symfony/http-kernel/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7605,20 +7604,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-29T07:47:32+00:00"
|
"time": "2025-06-28T08:24:55+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/mailer",
|
"name": "symfony/mailer",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/mailer.git",
|
"url": "https://github.com/symfony/mailer.git",
|
||||||
"reference": "0f375bbbde96ae8c78e4aa3e63aabd486e33364c"
|
"reference": "b5db5105b290bdbea5ab27b89c69effcf1cb3368"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/mailer/zipball/0f375bbbde96ae8c78e4aa3e63aabd486e33364c",
|
"url": "https://api.github.com/repos/symfony/mailer/zipball/b5db5105b290bdbea5ab27b89c69effcf1cb3368",
|
||||||
"reference": "0f375bbbde96ae8c78e4aa3e63aabd486e33364c",
|
"reference": "b5db5105b290bdbea5ab27b89c69effcf1cb3368",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7669,7 +7668,7 @@
|
|||||||
"description": "Helps sending emails",
|
"description": "Helps sending emails",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/mailer/tree/v7.3.0"
|
"source": "https://github.com/symfony/mailer/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7685,20 +7684,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-04-04T09:51:09+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/mailgun-mailer",
|
"name": "symfony/mailgun-mailer",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/mailgun-mailer.git",
|
"url": "https://github.com/symfony/mailgun-mailer.git",
|
||||||
"reference": "3c1dfd9ff0a487a4116baec42d11ae21a061e3f1"
|
"reference": "8c18f2bff4e70ed5669ab8228302edd2fecd689b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/3c1dfd9ff0a487a4116baec42d11ae21a061e3f1",
|
"url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/8c18f2bff4e70ed5669ab8228302edd2fecd689b",
|
||||||
"reference": "3c1dfd9ff0a487a4116baec42d11ae21a061e3f1",
|
"reference": "8c18f2bff4e70ed5669ab8228302edd2fecd689b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7738,7 +7737,7 @@
|
|||||||
"description": "Symfony Mailgun Mailer Bridge",
|
"description": "Symfony Mailgun Mailer Bridge",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/mailgun-mailer/tree/v7.3.0"
|
"source": "https://github.com/symfony/mailgun-mailer/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7754,7 +7753,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-09-28T08:24:38+00:00"
|
"time": "2025-06-20T16:15:52+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/mime",
|
"name": "symfony/mime",
|
||||||
@@ -8941,16 +8940,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation",
|
"name": "symfony/translation",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation.git",
|
"url": "https://github.com/symfony/translation.git",
|
||||||
"reference": "4aba29076a29a3aa667e09b791e5f868973a8667"
|
"reference": "241d5ac4910d256660238a7ecf250deba4c73063"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation/zipball/4aba29076a29a3aa667e09b791e5f868973a8667",
|
"url": "https://api.github.com/repos/symfony/translation/zipball/241d5ac4910d256660238a7ecf250deba4c73063",
|
||||||
"reference": "4aba29076a29a3aa667e09b791e5f868973a8667",
|
"reference": "241d5ac4910d256660238a7ecf250deba4c73063",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -9017,7 +9016,7 @@
|
|||||||
"description": "Provides tools to internationalize your application",
|
"description": "Provides tools to internationalize your application",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation/tree/v7.3.0"
|
"source": "https://github.com/symfony/translation/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -9033,7 +9032,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-29T07:19:49+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation-contracts",
|
"name": "symfony/translation-contracts",
|
||||||
@@ -9115,16 +9114,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/uid",
|
"name": "symfony/uid",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/uid.git",
|
"url": "https://github.com/symfony/uid.git",
|
||||||
"reference": "7beeb2b885cd584cd01e126c5777206ae4c3c6a3"
|
"reference": "a69f69f3159b852651a6bf45a9fdd149520525bb"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/uid/zipball/7beeb2b885cd584cd01e126c5777206ae4c3c6a3",
|
"url": "https://api.github.com/repos/symfony/uid/zipball/a69f69f3159b852651a6bf45a9fdd149520525bb",
|
||||||
"reference": "7beeb2b885cd584cd01e126c5777206ae4c3c6a3",
|
"reference": "a69f69f3159b852651a6bf45a9fdd149520525bb",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -9169,7 +9168,7 @@
|
|||||||
"uuid"
|
"uuid"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/uid/tree/v7.3.0"
|
"source": "https://github.com/symfony/uid/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -9185,20 +9184,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-05-24T14:28:13+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-dumper",
|
"name": "symfony/var-dumper",
|
||||||
"version": "v7.3.0",
|
"version": "v7.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-dumper.git",
|
"url": "https://github.com/symfony/var-dumper.git",
|
||||||
"reference": "548f6760c54197b1084e1e5c71f6d9d523f2f78e"
|
"reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/548f6760c54197b1084e1e5c71f6d9d523f2f78e",
|
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/6e209fbe5f5a7b6043baba46fe5735a4b85d0d42",
|
||||||
"reference": "548f6760c54197b1084e1e5c71f6d9d523f2f78e",
|
"reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -9253,7 +9252,7 @@
|
|||||||
"dump"
|
"dump"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/var-dumper/tree/v7.3.0"
|
"source": "https://github.com/symfony/var-dumper/tree/v7.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -9269,7 +9268,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-04-27T18:39:23+00:00"
|
"time": "2025-06-27T19:55:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-exporter",
|
"name": "symfony/var-exporter",
|
||||||
@@ -11550,16 +11549,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit",
|
"name": "phpunit/phpunit",
|
||||||
"version": "12.2.3",
|
"version": "12.2.5",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||||
"reference": "60a8ea2d8b2f070000051b56778009e11576e7d1"
|
"reference": "b71849b29f7a8d7574e4401873cb8b539896613f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/60a8ea2d8b2f070000051b56778009e11576e7d1",
|
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b71849b29f7a8d7574e4401873cb8b539896613f",
|
||||||
"reference": "60a8ea2d8b2f070000051b56778009e11576e7d1",
|
"reference": "b71849b29f7a8d7574e4401873cb8b539896613f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -11627,7 +11626,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/12.2.3"
|
"source": "https://github.com/sebastianbergmann/phpunit/tree/12.2.5"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -11651,7 +11650,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-06-20T11:33:06+00:00"
|
"time": "2025-06-27T04:37:55+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "rector/rector",
|
"name": "rector/rector",
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ return [
|
|||||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||||
// see cer.php for exchange rates feature flag.
|
// see cer.php for exchange rates feature flag.
|
||||||
],
|
],
|
||||||
'version' => 'develop/2025-06-25',
|
'version' => 'develop/2025-07-02',
|
||||||
'api_version' => '2.1.0', // field is no longer used.
|
'api_version' => '2.1.0', // field is no longer used.
|
||||||
'db_version' => 25,
|
'db_version' => 25,
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ return [
|
|||||||
'channels' => [
|
'channels' => [
|
||||||
'email' => ['enabled' => true, 'ui_configurable' => 0],
|
'email' => ['enabled' => true, 'ui_configurable' => 0],
|
||||||
'slack' => ['enabled' => true, 'ui_configurable' => 1],
|
'slack' => ['enabled' => true, 'ui_configurable' => 1],
|
||||||
'ntfy' => ['enabled' => false, 'ui_configurable' => 1],
|
// 'ntfy' => ['enabled' => false, 'ui_configurable' => 1],
|
||||||
'pushover' => ['enabled' => true, 'ui_configurable' => 1],
|
'pushover' => ['enabled' => true, 'ui_configurable' => 1],
|
||||||
// 'gotify' => ['enabled' => false, 'ui_configurable' => 0],
|
// 'gotify' => ['enabled' => false, 'ui_configurable' => 0],
|
||||||
// 'pushbullet' => ['enabled' => false, 'ui_configurable' => 0],
|
// 'pushbullet' => ['enabled' => false, 'ui_configurable' => 0],
|
||||||
|
|||||||
@@ -260,8 +260,6 @@ return [
|
|||||||
'destination_balance_lt' => ['alias' => false, 'needs_context' => true],
|
'destination_balance_lt' => ['alias' => false, 'needs_context' => true],
|
||||||
'destination_balance_is' => ['alias' => false, 'needs_context' => true],
|
'destination_balance_is' => ['alias' => false, 'needs_context' => true],
|
||||||
],
|
],
|
||||||
/**
|
// Which query parser to use - 'new' or 'legacy'
|
||||||
* Which query parser to use - 'new' or 'legacy'
|
|
||||||
*/
|
|
||||||
'query_parser' => env('QUERY_PARSER_IMPLEMENTATION', 'legacy'),
|
'query_parser' => env('QUERY_PARSER_IMPLEMENTATION', 'legacy'),
|
||||||
];
|
];
|
||||||
|
|||||||
379
package-lock.json
generated
379
package-lock.json
generated
@@ -43,9 +43,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/compat-data": {
|
"node_modules/@babel/compat-data": {
|
||||||
"version": "7.27.5",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.7.tgz",
|
||||||
"integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==",
|
"integrity": "sha512-xgu/ySj2mTiUFmdE9yCMfBxLp4DHd5DwmbbD05YAuICfodYT3VvRxbrh81LGQ/8UpSdtMdfKMn3KouYDX59DGQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -53,22 +53,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/core": {
|
"node_modules/@babel/core": {
|
||||||
"version": "7.27.4",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.7.tgz",
|
||||||
"integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
|
"integrity": "sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@babel/generator": "^7.27.3",
|
"@babel/generator": "^7.27.5",
|
||||||
"@babel/helper-compilation-targets": "^7.27.2",
|
"@babel/helper-compilation-targets": "^7.27.2",
|
||||||
"@babel/helper-module-transforms": "^7.27.3",
|
"@babel/helper-module-transforms": "^7.27.3",
|
||||||
"@babel/helpers": "^7.27.4",
|
"@babel/helpers": "^7.27.6",
|
||||||
"@babel/parser": "^7.27.4",
|
"@babel/parser": "^7.27.7",
|
||||||
"@babel/template": "^7.27.2",
|
"@babel/template": "^7.27.2",
|
||||||
"@babel/traverse": "^7.27.4",
|
"@babel/traverse": "^7.27.7",
|
||||||
"@babel/types": "^7.27.3",
|
"@babel/types": "^7.27.7",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
"gensync": "^1.0.0-beta.2",
|
"gensync": "^1.0.0-beta.2",
|
||||||
@@ -211,17 +211,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-define-polyfill-provider": {
|
"node_modules/@babel/helper-define-polyfill-provider": {
|
||||||
"version": "0.6.4",
|
"version": "0.6.5",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
|
||||||
"integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==",
|
"integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-compilation-targets": "^7.22.6",
|
"@babel/helper-compilation-targets": "^7.27.2",
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
"@babel/helper-plugin-utils": "^7.27.1",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.4.1",
|
||||||
"lodash.debounce": "^4.0.8",
|
"lodash.debounce": "^4.0.8",
|
||||||
"resolve": "^1.14.2"
|
"resolve": "^1.22.10"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
||||||
@@ -406,13 +406,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.27.5",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.7.tgz",
|
||||||
"integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
|
"integrity": "sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.27.3"
|
"@babel/types": "^7.27.7"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
@@ -733,17 +733,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-classes": {
|
"node_modules/@babel/plugin-transform-classes": {
|
||||||
"version": "7.27.1",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.7.tgz",
|
||||||
"integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==",
|
"integrity": "sha512-CuLkokN1PEZ0Fsjtq+001aog/C2drDK9nTfK/NRK0n6rBin6cBrvM+zfQjDE+UllhR6/J4a6w8Xq9i4yi3mQrw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.27.1",
|
"@babel/helper-annotate-as-pure": "^7.27.3",
|
||||||
"@babel/helper-compilation-targets": "^7.27.1",
|
"@babel/helper-compilation-targets": "^7.27.2",
|
||||||
"@babel/helper-plugin-utils": "^7.27.1",
|
"@babel/helper-plugin-utils": "^7.27.1",
|
||||||
"@babel/helper-replace-supers": "^7.27.1",
|
"@babel/helper-replace-supers": "^7.27.1",
|
||||||
"@babel/traverse": "^7.27.1",
|
"@babel/traverse": "^7.27.7",
|
||||||
"globals": "^11.1.0"
|
"globals": "^11.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -771,13 +771,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-destructuring": {
|
"node_modules/@babel/plugin-transform-destructuring": {
|
||||||
"version": "7.27.3",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.7.tgz",
|
||||||
"integrity": "sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==",
|
"integrity": "sha512-pg3ZLdIKWCP0CrJm0O4jYjVthyBeioVfvz9nwt6o5paUxsgJ/8GucSMAIaj6M7xA4WY+SrvtGu2LijzkdyecWQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.27.1"
|
"@babel/helper-plugin-utils": "^7.27.1",
|
||||||
|
"@babel/traverse": "^7.27.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -1119,16 +1120,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-object-rest-spread": {
|
"node_modules/@babel/plugin-transform-object-rest-spread": {
|
||||||
"version": "7.27.3",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.7.tgz",
|
||||||
"integrity": "sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==",
|
"integrity": "sha512-201B1kFTWhckclcXpWHc8uUpYziDX/Pl4rxl0ZX0DiCZ3jknwfSUALL3QCYeeXXB37yWxJbo+g+Vfq8pAaHi3w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-compilation-targets": "^7.27.2",
|
"@babel/helper-compilation-targets": "^7.27.2",
|
||||||
"@babel/helper-plugin-utils": "^7.27.1",
|
"@babel/helper-plugin-utils": "^7.27.1",
|
||||||
"@babel/plugin-transform-destructuring": "^7.27.3",
|
"@babel/plugin-transform-destructuring": "^7.27.7",
|
||||||
"@babel/plugin-transform-parameters": "^7.27.1"
|
"@babel/plugin-transform-parameters": "^7.27.7",
|
||||||
|
"@babel/traverse": "^7.27.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -1188,9 +1190,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-parameters": {
|
"node_modules/@babel/plugin-transform-parameters": {
|
||||||
"version": "7.27.1",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
|
||||||
"integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==",
|
"integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1616,17 +1618,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/traverse": {
|
"node_modules/@babel/traverse": {
|
||||||
"version": "7.27.4",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.7.tgz",
|
||||||
"integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
|
"integrity": "sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@babel/generator": "^7.27.3",
|
"@babel/generator": "^7.27.5",
|
||||||
"@babel/parser": "^7.27.4",
|
"@babel/parser": "^7.27.7",
|
||||||
"@babel/template": "^7.27.2",
|
"@babel/template": "^7.27.2",
|
||||||
"@babel/types": "^7.27.3",
|
"@babel/types": "^7.27.7",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"globals": "^11.1.0"
|
"globals": "^11.1.0"
|
||||||
},
|
},
|
||||||
@@ -1635,9 +1637,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/types": {
|
"node_modules/@babel/types": {
|
||||||
"version": "7.27.6",
|
"version": "7.27.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.7.tgz",
|
||||||
"integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==",
|
"integrity": "sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -2117,18 +2119,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.8",
|
"version": "0.3.12",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
|
||||||
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
|
"integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/set-array": "^1.2.1",
|
"@jridgewell/sourcemap-codec": "^1.5.0",
|
||||||
"@jridgewell/sourcemap-codec": "^1.4.10",
|
|
||||||
"@jridgewell/trace-mapping": "^0.3.24"
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.0.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/resolve-uri": {
|
"node_modules/@jridgewell/resolve-uri": {
|
||||||
@@ -2141,20 +2139,10 @@
|
|||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/set-array": {
|
|
||||||
"version": "1.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
|
||||||
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@jridgewell/source-map": {
|
"node_modules/@jridgewell/source-map": {
|
||||||
"version": "0.3.6",
|
"version": "0.3.10",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz",
|
||||||
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
|
"integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -2163,16 +2151,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
|
||||||
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/trace-mapping": {
|
"node_modules/@jridgewell/trace-mapping": {
|
||||||
"version": "0.3.25",
|
"version": "0.3.29",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
|
||||||
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -2552,9 +2540,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz",
|
||||||
"integrity": "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==",
|
"integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2566,9 +2554,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm64": {
|
"node_modules/@rollup/rollup-android-arm64": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz",
|
||||||
"integrity": "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==",
|
"integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2580,9 +2568,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz",
|
||||||
"integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==",
|
"integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2594,9 +2582,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-x64": {
|
"node_modules/@rollup/rollup-darwin-x64": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz",
|
||||||
"integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==",
|
"integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2608,9 +2596,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz",
|
||||||
"integrity": "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==",
|
"integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2622,9 +2610,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz",
|
||||||
"integrity": "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==",
|
"integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2636,9 +2624,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz",
|
||||||
"integrity": "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==",
|
"integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2650,9 +2638,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz",
|
||||||
"integrity": "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==",
|
"integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2664,9 +2652,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz",
|
||||||
"integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==",
|
"integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2678,9 +2666,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz",
|
||||||
"integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==",
|
"integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2692,9 +2680,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz",
|
||||||
"integrity": "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==",
|
"integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
@@ -2706,9 +2694,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz",
|
||||||
"integrity": "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==",
|
"integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
@@ -2720,9 +2708,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz",
|
||||||
"integrity": "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==",
|
"integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
@@ -2734,9 +2722,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz",
|
||||||
"integrity": "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==",
|
"integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
@@ -2748,9 +2736,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz",
|
||||||
"integrity": "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==",
|
"integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
@@ -2762,9 +2750,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz",
|
||||||
"integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==",
|
"integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2776,9 +2764,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz",
|
||||||
"integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==",
|
"integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2790,9 +2778,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz",
|
||||||
"integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==",
|
"integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2804,9 +2792,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz",
|
||||||
"integrity": "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==",
|
"integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
@@ -2818,9 +2806,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz",
|
||||||
"integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==",
|
"integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -3108,9 +3096,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "24.0.4",
|
"version": "24.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.10.tgz",
|
||||||
"integrity": "sha512-ulyqAkrhnuNq9pB76DRBTkcS6YsmDALy6Ua63V8OhrOBgbcYt6IOdzpw5P1+dyRIyMerzLkeYWBeOXPpA9GMAA==",
|
"integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -3613,9 +3601,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/admin-lte": {
|
"node_modules/admin-lte": {
|
||||||
"version": "4.0.0-rc2",
|
"version": "4.0.0-rc3",
|
||||||
"resolved": "https://registry.npmjs.org/admin-lte/-/admin-lte-4.0.0-rc2.tgz",
|
"resolved": "https://registry.npmjs.org/admin-lte/-/admin-lte-4.0.0-rc3.tgz",
|
||||||
"integrity": "sha512-VMi9+Fl/Eu/XFFH3V86jcIgiKs/VqKStKvDxZbdEcgEwXgjV/d2MP76UEnanVIjnC3lxqXESzmzu1iAhnNtlzg==",
|
"integrity": "sha512-BKEGJknLiNW/l++6tjO9YIy2x6il4y/S977cSaRfi+wadZF3xe7U+vDR8q2H99CVC49VmPqRwb36hiyEVmBQTw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/ajv": {
|
"node_modules/ajv": {
|
||||||
@@ -3917,14 +3905,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-polyfill-corejs2": {
|
"node_modules/babel-plugin-polyfill-corejs2": {
|
||||||
"version": "0.4.13",
|
"version": "0.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
|
||||||
"integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==",
|
"integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/compat-data": "^7.22.6",
|
"@babel/compat-data": "^7.27.7",
|
||||||
"@babel/helper-define-polyfill-provider": "^0.6.4",
|
"@babel/helper-define-polyfill-provider": "^0.6.5",
|
||||||
"semver": "^6.3.1"
|
"semver": "^6.3.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
@@ -3956,13 +3944,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-polyfill-regenerator": {
|
"node_modules/babel-plugin-polyfill-regenerator": {
|
||||||
"version": "0.6.4",
|
"version": "0.6.5",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
|
||||||
"integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==",
|
"integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-define-polyfill-provider": "^0.6.4"
|
"@babel/helper-define-polyfill-provider": "^0.6.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
||||||
@@ -5149,9 +5137,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/css-what": {
|
"node_modules/css-what": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
|
||||||
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
|
"integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -5648,9 +5636,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.174",
|
"version": "1.5.178",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.174.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.178.tgz",
|
||||||
"integrity": "sha512-HE43yYdUUiJVjewV2A9EP8o89Kb4AqMKplMQP2IxEPUws1Etu/ZkdsgUDabUZ/WmbP4ZbvJDOcunvbBUPPIfmw==",
|
"integrity": "sha512-wObbz/ar3Bc6e4X5vf0iO8xTN8YAjN/tgiAOJLr7yjYFtP9wAjq8Mb5h0yn6kResir+VYx2DXBj9NNobs0ETSA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
@@ -7009,9 +6997,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/i18next": {
|
"node_modules/i18next": {
|
||||||
"version": "25.2.1",
|
"version": "25.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-25.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/i18next/-/i18next-25.3.0.tgz",
|
||||||
"integrity": "sha512-+UoXK5wh+VlE1Zy5p6MjcvctHXAhRwQKCxiJD8noKZzIXmnAX8gdHX5fLPA3MEVxEN4vbZkQFy8N0LyD9tUqPw==",
|
"integrity": "sha512-ZSQIiNGfqSG6yoLHaCvrkPp16UejHI8PCDxFYaNG/1qxtmqNmqEg4JlWKlxkrUmrin2sEjsy+Mjy1TRozBhOgw==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
@@ -7028,7 +7016,7 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.27.1"
|
"@babel/runtime": "^7.27.6"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": "^5"
|
"typescript": "^5"
|
||||||
@@ -10080,9 +10068,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.44.0",
|
"version": "4.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz",
|
||||||
"integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==",
|
"integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -10096,26 +10084,26 @@
|
|||||||
"npm": ">=8.0.0"
|
"npm": ">=8.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rollup/rollup-android-arm-eabi": "4.44.0",
|
"@rollup/rollup-android-arm-eabi": "4.44.1",
|
||||||
"@rollup/rollup-android-arm64": "4.44.0",
|
"@rollup/rollup-android-arm64": "4.44.1",
|
||||||
"@rollup/rollup-darwin-arm64": "4.44.0",
|
"@rollup/rollup-darwin-arm64": "4.44.1",
|
||||||
"@rollup/rollup-darwin-x64": "4.44.0",
|
"@rollup/rollup-darwin-x64": "4.44.1",
|
||||||
"@rollup/rollup-freebsd-arm64": "4.44.0",
|
"@rollup/rollup-freebsd-arm64": "4.44.1",
|
||||||
"@rollup/rollup-freebsd-x64": "4.44.0",
|
"@rollup/rollup-freebsd-x64": "4.44.1",
|
||||||
"@rollup/rollup-linux-arm-gnueabihf": "4.44.0",
|
"@rollup/rollup-linux-arm-gnueabihf": "4.44.1",
|
||||||
"@rollup/rollup-linux-arm-musleabihf": "4.44.0",
|
"@rollup/rollup-linux-arm-musleabihf": "4.44.1",
|
||||||
"@rollup/rollup-linux-arm64-gnu": "4.44.0",
|
"@rollup/rollup-linux-arm64-gnu": "4.44.1",
|
||||||
"@rollup/rollup-linux-arm64-musl": "4.44.0",
|
"@rollup/rollup-linux-arm64-musl": "4.44.1",
|
||||||
"@rollup/rollup-linux-loongarch64-gnu": "4.44.0",
|
"@rollup/rollup-linux-loongarch64-gnu": "4.44.1",
|
||||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.44.0",
|
"@rollup/rollup-linux-powerpc64le-gnu": "4.44.1",
|
||||||
"@rollup/rollup-linux-riscv64-gnu": "4.44.0",
|
"@rollup/rollup-linux-riscv64-gnu": "4.44.1",
|
||||||
"@rollup/rollup-linux-riscv64-musl": "4.44.0",
|
"@rollup/rollup-linux-riscv64-musl": "4.44.1",
|
||||||
"@rollup/rollup-linux-s390x-gnu": "4.44.0",
|
"@rollup/rollup-linux-s390x-gnu": "4.44.1",
|
||||||
"@rollup/rollup-linux-x64-gnu": "4.44.0",
|
"@rollup/rollup-linux-x64-gnu": "4.44.1",
|
||||||
"@rollup/rollup-linux-x64-musl": "4.44.0",
|
"@rollup/rollup-linux-x64-musl": "4.44.1",
|
||||||
"@rollup/rollup-win32-arm64-msvc": "4.44.0",
|
"@rollup/rollup-win32-arm64-msvc": "4.44.1",
|
||||||
"@rollup/rollup-win32-ia32-msvc": "4.44.0",
|
"@rollup/rollup-win32-ia32-msvc": "4.44.1",
|
||||||
"@rollup/rollup-win32-x64-msvc": "4.44.0",
|
"@rollup/rollup-win32-x64-msvc": "4.44.1",
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -10471,17 +10459,24 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/sha.js": {
|
"node_modules/sha.js": {
|
||||||
"version": "2.4.11",
|
"version": "2.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
|
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz",
|
||||||
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
|
"integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "(MIT AND BSD-3-Clause)",
|
"license": "(MIT AND BSD-3-Clause)",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"inherits": "^2.0.1",
|
"inherits": "^2.0.4",
|
||||||
"safe-buffer": "^5.0.1"
|
"safe-buffer": "^5.2.1",
|
||||||
|
"to-buffer": "^1.2.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"sha.js": "bin.js"
|
"sha.js": "bin.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/shallow-clone": {
|
"node_modules/shallow-clone": {
|
||||||
@@ -12359,9 +12354,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.18.2",
|
"version": "8.18.3",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
|
||||||
"integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==",
|
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"firefly": {
|
"firefly": {
|
||||||
"administrations_page_title": "Administracions financeres",
|
"administrations_page_title": "Administracions financeres",
|
||||||
"administrations_index_menu": "Administracions financeres",
|
"administrations_index_menu": "Administracions financeres",
|
||||||
"expires_at": "Expires at",
|
"expires_at": "Caduca a les",
|
||||||
"temp_administrations_introduction": "Firefly III aviat podr\u00e0 gestionar diverses administracions financeres. Ara mateix, nom\u00e9s en teniu una. Podeu definir el t\u00edtol d'aquesta administraci\u00f3 i la seva moneda nativa. Aix\u00f2 substitueix la configuraci\u00f3 anterior on definiu la vostra \"moneda predeterminada\". Aquesta configuraci\u00f3 ara est\u00e0 vinculada a l'administraci\u00f3 financera i pot ser diferent per a cada administraci\u00f3.",
|
"temp_administrations_introduction": "Firefly III aviat podr\u00e0 gestionar diverses administracions financeres. Ara mateix, nom\u00e9s en teniu una. Podeu definir el t\u00edtol d'aquesta administraci\u00f3 i la seva moneda nativa. Aix\u00f2 substitueix la configuraci\u00f3 anterior on definiu la vostra \"moneda predeterminada\". Aquesta configuraci\u00f3 ara est\u00e0 vinculada a l'administraci\u00f3 financera i pot ser diferent per a cada administraci\u00f3.",
|
||||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||||
"administrations_page_edit_sub_title_js": "Edita l'administraci\u00f3 financera \"{title}\"",
|
"administrations_page_edit_sub_title_js": "Edita l'administraci\u00f3 financera \"{title}\"",
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
"is_reconciled_fields_dropped": "Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s) unless you remove the reconciliation flag.",
|
"is_reconciled_fields_dropped": "Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s) unless you remove the reconciliation flag.",
|
||||||
"tags": "Etiquetes",
|
"tags": "Etiquetes",
|
||||||
"no_budget": "(cap pressupost)",
|
"no_budget": "(cap pressupost)",
|
||||||
"no_bill": "(no subscription)",
|
"no_bill": "(cap subscripci\u00f3)",
|
||||||
"category": "Categoria",
|
"category": "Categoria",
|
||||||
"attachments": "Adjunts",
|
"attachments": "Adjunts",
|
||||||
"notes": "Notes",
|
"notes": "Notes",
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
"destination_account_reconciliation": "No pots editar el compte de dest\u00ed d'una transacci\u00f3 de reconciliaci\u00f3.",
|
"destination_account_reconciliation": "No pots editar el compte de dest\u00ed d'una transacci\u00f3 de reconciliaci\u00f3.",
|
||||||
"source_account_reconciliation": "No pots editar el compte d'origen d'una transacci\u00f3 de consolidaci\u00f3.",
|
"source_account_reconciliation": "No pots editar el compte d'origen d'una transacci\u00f3 de consolidaci\u00f3.",
|
||||||
"budget": "Pressupost",
|
"budget": "Pressupost",
|
||||||
"bill": "Subscription",
|
"bill": "Subscripci\u00f3",
|
||||||
"you_create_withdrawal": "Est\u00e0s creant una retirada.",
|
"you_create_withdrawal": "Est\u00e0s creant una retirada.",
|
||||||
"you_create_transfer": "Est\u00e0s creant una transfer\u00e8ncia.",
|
"you_create_transfer": "Est\u00e0s creant una transfer\u00e8ncia.",
|
||||||
"you_create_deposit": "Est\u00e0s creant un ingr\u00e9s.",
|
"you_create_deposit": "Est\u00e0s creant un ingr\u00e9s.",
|
||||||
@@ -140,21 +140,21 @@
|
|||||||
"response": "Resposta",
|
"response": "Resposta",
|
||||||
"visit_webhook_url": "Visitar l'URL del webhook",
|
"visit_webhook_url": "Visitar l'URL del webhook",
|
||||||
"reset_webhook_secret": "Reiniciar el secret del webhook",
|
"reset_webhook_secret": "Reiniciar el secret del webhook",
|
||||||
"header_exchange_rates": "Exchange rates",
|
"header_exchange_rates": "Tipus de canvi",
|
||||||
"exchange_rates_intro": "Firefly III supports downloading and using exchange rates. Read more about this in <a href=\"https:\/\/docs.firefly-iii.org\/explanation\/financial-concepts\/exchange-rates\/\">the documentation<\/a>.",
|
"exchange_rates_intro": "Firefly III supports downloading and using exchange rates. Read more about this in <a href=\"https:\/\/docs.firefly-iii.org\/explanation\/financial-concepts\/exchange-rates\/\">the documentation<\/a>.",
|
||||||
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
|
"exchange_rates_from_to": "Entre {from} i {to} (i a la inversa)",
|
||||||
"exchange_rates_intro_rates": "Firefly III uses the following exchange rates. The inverse is automatically calculated when it is not provided. If no exchange rate exists for the date of the transaction, Firefly III will go back in time to find one. If none are present, the rate \"1\" will be used.",
|
"exchange_rates_intro_rates": "Firefly III uses the following exchange rates. The inverse is automatically calculated when it is not provided. If no exchange rate exists for the date of the transaction, Firefly III will go back in time to find one. If none are present, the rate \"1\" will be used.",
|
||||||
"header_exchange_rates_rates": "Exchange rates",
|
"header_exchange_rates_rates": "Tipus de canvi",
|
||||||
"header_exchange_rates_table": "Table with exchange rates",
|
"header_exchange_rates_table": "Taula amb els tipus de canvi",
|
||||||
"help_rate_form": "On this day, how many {to} will you get for one {from}?",
|
"help_rate_form": "El dia d'avui, quants {to} obtindr\u00e0s amb un {from}?",
|
||||||
"add_new_rate": "Add a new exchange rate",
|
"add_new_rate": "Afegeix un nou tipus de canvi",
|
||||||
"save_new_rate": "Save new rate"
|
"save_new_rate": "Desa nou tipus"
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
"active": "Actiu",
|
"active": "Actiu",
|
||||||
"interest_date": "Data d'inter\u00e8s",
|
"interest_date": "Data d'inter\u00e8s",
|
||||||
"administration_currency": "Native currency",
|
"administration_currency": "Moneda nativa",
|
||||||
"title": "T\u00edtol",
|
"title": "T\u00edtol",
|
||||||
"date": "Data",
|
"date": "Data",
|
||||||
"book_date": "Data de registre",
|
"book_date": "Data de registre",
|
||||||
@@ -169,12 +169,12 @@
|
|||||||
"webhook_delivery": "Lliurament",
|
"webhook_delivery": "Lliurament",
|
||||||
"from_currency_to_currency": "{from} → {to}",
|
"from_currency_to_currency": "{from} → {to}",
|
||||||
"to_currency_from_currency": "{to} → {from}",
|
"to_currency_from_currency": "{to} → {from}",
|
||||||
"rate": "Rate"
|
"rate": "Taxa"
|
||||||
},
|
},
|
||||||
"list": {
|
"list": {
|
||||||
"title": "T\u00edtol",
|
"title": "T\u00edtol",
|
||||||
"active": "Est\u00e0 actiu?",
|
"active": "Est\u00e0 actiu?",
|
||||||
"native_currency": "Native currency",
|
"native_currency": "Moneda nativa",
|
||||||
"trigger": "Activador",
|
"trigger": "Activador",
|
||||||
"response": "Resposta",
|
"response": "Resposta",
|
||||||
"delivery": "Lliurament",
|
"delivery": "Lliurament",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"firefly": {
|
"firefly": {
|
||||||
"administrations_page_title": "\u8d22\u52a1\u7ba1\u7406",
|
"administrations_page_title": "\u8d22\u52a1\u7ba1\u7406",
|
||||||
"administrations_index_menu": "\u8d22\u52a1\u7ba1\u7406",
|
"administrations_index_menu": "\u8d22\u52a1\u7ba1\u7406",
|
||||||
"expires_at": "Expires at",
|
"expires_at": "\u8fc7\u671f\u4e8e",
|
||||||
"temp_administrations_introduction": "Firefly III \u4e0d\u4e45\u5c06\u80fd\u591f\u7ba1\u7406\u591a\u4e2a\u8d22\u52a1\u7ba1\u7406\u3002 \u73b0\u5728\uff0c\u4f60\u53ea\u80fd\u6709\u4e00\u4e2a\u8d22\u52a1\u7ba1\u7406\u3002\u4f60\u53ef\u4ee5\u8bbe\u7f6e\u8fd9\u4e2a\u8d22\u52a1\u7ba1\u7406\u7684\u6807\u9898\u53ca\u5176\u5f53\u5730\u8d27\u5e01\u3002 \u8fd9\u5c06\u53d6\u4ee3\u60a8\u5148\u524d\u8bbe\u7f6e\u7684\u201c\u9ed8\u8ba4\u8d27\u5e01\u201d\u3002 \u8fd9\u79cd\u8bbe\u7f6e\u73b0\u5728\u4e0e\u8d22\u52a1\u7ba1\u7406\u6302\u94a9\uff0c\u6bcf\u4e2a\u7ba1\u7406\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u8bbe\u7f6e\u3002",
|
"temp_administrations_introduction": "Firefly III \u4e0d\u4e45\u5c06\u80fd\u591f\u7ba1\u7406\u591a\u4e2a\u8d22\u52a1\u7ba1\u7406\u3002 \u73b0\u5728\uff0c\u4f60\u53ea\u80fd\u6709\u4e00\u4e2a\u8d22\u52a1\u7ba1\u7406\u3002\u4f60\u53ef\u4ee5\u8bbe\u7f6e\u8fd9\u4e2a\u8d22\u52a1\u7ba1\u7406\u7684\u6807\u9898\u53ca\u5176\u5f53\u5730\u8d27\u5e01\u3002 \u8fd9\u5c06\u53d6\u4ee3\u60a8\u5148\u524d\u8bbe\u7f6e\u7684\u201c\u9ed8\u8ba4\u8d27\u5e01\u201d\u3002 \u8fd9\u79cd\u8bbe\u7f6e\u73b0\u5728\u4e0e\u8d22\u52a1\u7ba1\u7406\u6302\u94a9\uff0c\u6bcf\u4e2a\u7ba1\u7406\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u8bbe\u7f6e\u3002",
|
||||||
"administration_currency_form_help": "\u5982\u679c\u60a8\u66f4\u6539\u672c\u5730\u8d27\u5e01\uff0c\u9875\u9762\u52a0\u8f7d\u53ef\u80fd\u9700\u8981\u5f88\u957f\u65f6\u95f4\uff0c\u56e0\u4e3a\u4ea4\u6613\u53ef\u80fd\u9700\u8981\u8f6c\u6362\u4e3a\u60a8\u7684(\u65b0)\u672c\u5730\u8d27\u5e01\u3002",
|
"administration_currency_form_help": "\u5982\u679c\u60a8\u66f4\u6539\u672c\u5730\u8d27\u5e01\uff0c\u9875\u9762\u52a0\u8f7d\u53ef\u80fd\u9700\u8981\u5f88\u957f\u65f6\u95f4\uff0c\u56e0\u4e3a\u4ea4\u6613\u53ef\u80fd\u9700\u8981\u8f6c\u6362\u4e3a\u60a8\u7684(\u65b0)\u672c\u5730\u8d27\u5e01\u3002",
|
||||||
"administrations_page_edit_sub_title_js": "\u7f16\u8f91\u8d22\u52a1\u7ba1\u7406{title}",
|
"administrations_page_edit_sub_title_js": "\u7f16\u8f91\u8d22\u52a1\u7ba1\u7406{title}",
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ return [
|
|||||||
'expenses_by_budget' => 'Expenses by budget',
|
'expenses_by_budget' => 'Expenses by budget',
|
||||||
'income_by_category' => 'Income by category',
|
'income_by_category' => 'Income by category',
|
||||||
'expenses_by_asset_account' => 'Expenses by asset account',
|
'expenses_by_asset_account' => 'Expenses by asset account',
|
||||||
'expenses_by_expense_account' => 'Expenses by expense account',
|
'expenses_by_expense_account' => 'Expenses by destination account',
|
||||||
'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.',
|
'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.',
|
||||||
'sum_of_expenses' => 'Sum of expenses',
|
'sum_of_expenses' => 'Sum of expenses',
|
||||||
'sum_of_income' => 'Sum of income',
|
'sum_of_income' => 'Sum of income',
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ final class BillDateCalculatorTest extends TestCase
|
|||||||
public function testGivenSomeDataItWorks(Carbon $earliest, Carbon $latest, Carbon $billStart, string $period, int $skip, ?Carbon $lastPaid, array $expected): void
|
public function testGivenSomeDataItWorks(Carbon $earliest, Carbon $latest, Carbon $billStart, string $period, int $skip, ?Carbon $lastPaid, array $expected): void
|
||||||
{
|
{
|
||||||
$result = $this->calculator->getPayDates($earliest, $latest, $billStart, $period, $skip, $lastPaid);
|
$result = $this->calculator->getPayDates($earliest, $latest, $billStart, $period, $skip, $lastPaid);
|
||||||
self::assertSame($expected, $result);
|
$this->assertSame($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideDates(): Iterator
|
public static function provideDates(): Iterator
|
||||||
|
|||||||
@@ -45,6 +45,6 @@ final class NavigationCustomEndOfPeriodTest extends TestCase
|
|||||||
$navigation = new Navigation();
|
$navigation = new Navigation();
|
||||||
|
|
||||||
$period = $navigation->endOfPeriod($from, 'custom');
|
$period = $navigation->endOfPeriod($from, 'custom');
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ final class CalculatorTest extends TestCase
|
|||||||
{
|
{
|
||||||
$calculator = new Calculator();
|
$calculator = new Calculator();
|
||||||
$period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity);
|
$period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity);
|
||||||
self::assertSame($provider->expected()->toDateString(), $period->toDateString());
|
$this->assertSame($provider->expected()->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideAllPeriodicity(): iterable
|
public static function provideAllPeriodicity(): iterable
|
||||||
@@ -102,7 +102,7 @@ final class CalculatorTest extends TestCase
|
|||||||
{
|
{
|
||||||
$calculator = new Calculator();
|
$calculator = new Calculator();
|
||||||
$period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity, $provider->skip);
|
$period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity, $provider->skip);
|
||||||
self::assertSame($provider->expected()->toDateString(), $period->toDateString());
|
$this->assertSame($provider->expected()->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideSkippedIntervals(): iterable
|
public static function provideSkippedIntervals(): iterable
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ abstract class IntervalTestCase extends TestCase
|
|||||||
public function testGivenAnEpochWhenCallTheNextDateThenReturnsTheExpectedDateSuccessful(IntervalProvider $provider): void
|
public function testGivenAnEpochWhenCallTheNextDateThenReturnsTheExpectedDateSuccessful(IntervalProvider $provider): void
|
||||||
{
|
{
|
||||||
$period = static::factory()->nextDate($provider->epoch);
|
$period = static::factory()->nextDate($provider->epoch);
|
||||||
self::assertSame($provider->expected->toDateString(), $period->toDateString());
|
$this->assertSame($provider->expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provider(): iterable
|
public static function provider(): iterable
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ final class NavigationAddPeriodTest extends TestCase
|
|||||||
public function testGivenAFrequencyAndSkipIntervalWhenCalculateTheDateThenReturnsTheSkippedDateSuccessful(int $skip, string $frequency, Carbon $from, Carbon $expected): void
|
public function testGivenAFrequencyAndSkipIntervalWhenCalculateTheDateThenReturnsTheSkippedDateSuccessful(int $skip, string $frequency, Carbon $from, Carbon $expected): void
|
||||||
{
|
{
|
||||||
$period = $this->navigation->addPeriod($from, $frequency, $skip);
|
$period = $this->navigation->addPeriod($from, $frequency, $skip);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function providePeriodsWithSkippingParam(): iterable
|
public static function providePeriodsWithSkippingParam(): iterable
|
||||||
@@ -108,7 +108,7 @@ final class NavigationAddPeriodTest extends TestCase
|
|||||||
public function testGivenAFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
public function testGivenAFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
||||||
{
|
{
|
||||||
$period = $this->navigation->addPeriod($from, $frequency, 0);
|
$period = $this->navigation->addPeriod($from, $frequency, 0);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function providePeriods(): Iterator
|
public static function providePeriods(): Iterator
|
||||||
@@ -158,7 +158,7 @@ final class NavigationAddPeriodTest extends TestCase
|
|||||||
public function testGivenAIntervalWhenCallTheNextDateByIntervalMethodThenReturnsTheExpectedDateSuccessful(Periodicity $periodicity, Carbon $from, Carbon $expected): void
|
public function testGivenAIntervalWhenCallTheNextDateByIntervalMethodThenReturnsTheExpectedDateSuccessful(Periodicity $periodicity, Carbon $from, Carbon $expected): void
|
||||||
{
|
{
|
||||||
$period = $this->navigation->nextDateByInterval($from, $periodicity);
|
$period = $this->navigation->nextDateByInterval($from, $periodicity);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideFrequencies(): Iterator
|
public static function provideFrequencies(): Iterator
|
||||||
@@ -212,7 +212,7 @@ final class NavigationAddPeriodTest extends TestCase
|
|||||||
public function testGivenAMonthFrequencyWhenCalculateTheDateThenReturnsTheLastDayOfMonthSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
public function testGivenAMonthFrequencyWhenCalculateTheDateThenReturnsTheLastDayOfMonthSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
||||||
{
|
{
|
||||||
$period = $this->navigation->addPeriod($from, $frequency, 0);
|
$period = $this->navigation->addPeriod($from, $frequency, 0);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideMonthPeriods(): Iterator
|
public static function provideMonthPeriods(): Iterator
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ final class NavigationEndOfPeriodTest extends TestCase
|
|||||||
public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
||||||
{
|
{
|
||||||
$period = clone $this->navigation->endOfPeriod($from, $frequency);
|
$period = clone $this->navigation->endOfPeriod($from, $frequency);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideDates(): Iterator
|
public static function provideDates(): Iterator
|
||||||
@@ -116,7 +116,7 @@ final class NavigationEndOfPeriodTest extends TestCase
|
|||||||
Log::spy();
|
Log::spy();
|
||||||
|
|
||||||
$period = $this->navigation->endOfPeriod($from, $frequency);
|
$period = $this->navigation->endOfPeriod($from, $frequency);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
$expectedMessage = sprintf('Cannot do endOfPeriod for $repeat_freq "%s"', $frequency);
|
$expectedMessage = sprintf('Cannot do endOfPeriod for $repeat_freq "%s"', $frequency);
|
||||||
|
|
||||||
Log::shouldHaveReceived('error', [$expectedMessage]);
|
Log::shouldHaveReceived('error', [$expectedMessage]);
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ final class NavigationPreferredCarbonFormatByPeriodTest extends TestCase
|
|||||||
public function testGivenAPeriodWhenCallPreferredCarbonFormatByPeriodThenReturnsExpectedFormat(string $period, string $expected): void
|
public function testGivenAPeriodWhenCallPreferredCarbonFormatByPeriodThenReturnsExpectedFormat(string $period, string $expected): void
|
||||||
{
|
{
|
||||||
$formatPeriod = $this->navigation->preferredCarbonFormatByPeriod($period);
|
$formatPeriod = $this->navigation->preferredCarbonFormatByPeriod($period);
|
||||||
self::assertSame($expected, $formatPeriod);
|
$this->assertSame($expected, $formatPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function providePeriods(): Iterator
|
public static function providePeriods(): Iterator
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ final class NavigationPreferredCarbonFormatTest extends TestCase
|
|||||||
public function testGivenStartAndEndDatesWhenCallPreferredCarbonFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
public function testGivenStartAndEndDatesWhenCallPreferredCarbonFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
||||||
{
|
{
|
||||||
$carbonFormat = $this->navigation->preferredCarbonFormat($start, $end);
|
$carbonFormat = $this->navigation->preferredCarbonFormat($start, $end);
|
||||||
self::assertSame($expected, $carbonFormat);
|
$this->assertSame($expected, $carbonFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function providePeriods(): Iterator
|
public static function providePeriods(): Iterator
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ final class NavigationPreferredEndOfPeriodTest extends TestCase
|
|||||||
public function testGivenStartAndEndDatesWhenCallPreferredEndOfPeriodThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
public function testGivenStartAndEndDatesWhenCallPreferredEndOfPeriodThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
||||||
{
|
{
|
||||||
$formatPeriod = $this->navigation->preferredEndOfPeriod($start, $end);
|
$formatPeriod = $this->navigation->preferredEndOfPeriod($start, $end);
|
||||||
self::assertSame($expected, $formatPeriod);
|
$this->assertSame($expected, $formatPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function providePeriods(): Iterator
|
public static function providePeriods(): Iterator
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ final class NavigationPreferredRangeFormatTest extends TestCase
|
|||||||
public function testGivenStartAndEndDatesWhenCallPreferredRangeFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
public function testGivenStartAndEndDatesWhenCallPreferredRangeFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
||||||
{
|
{
|
||||||
$formatPeriod = $this->navigation->preferredRangeFormat($start, $end);
|
$formatPeriod = $this->navigation->preferredRangeFormat($start, $end);
|
||||||
self::assertSame($expected, $formatPeriod);
|
$this->assertSame($expected, $formatPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function providePeriods(): Iterator
|
public static function providePeriods(): Iterator
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ final class NavigationPreferredSqlFormatTest extends TestCase
|
|||||||
public function testGivenStartAndEndDatesWhenCallPreferredSqlFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
public function testGivenStartAndEndDatesWhenCallPreferredSqlFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void
|
||||||
{
|
{
|
||||||
$formatPeriod = $this->navigation->preferredSqlFormat($start, $end);
|
$formatPeriod = $this->navigation->preferredSqlFormat($start, $end);
|
||||||
self::assertSame($expected, $formatPeriod);
|
$this->assertSame($expected, $formatPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideDates(): Iterator
|
public static function provideDates(): Iterator
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ final class NavigationStartOfPeriodTest extends TestCase
|
|||||||
public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void
|
||||||
{
|
{
|
||||||
$period = $this->navigation->startOfPeriod($from, $frequency);
|
$period = $this->navigation->startOfPeriod($from, $frequency);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideDates(): Iterator
|
public static function provideDates(): Iterator
|
||||||
@@ -121,7 +121,7 @@ final class NavigationStartOfPeriodTest extends TestCase
|
|||||||
;
|
;
|
||||||
|
|
||||||
$period = $this->navigation->startOfPeriod($from, $frequency);
|
$period = $this->navigation->startOfPeriod($from, $frequency);
|
||||||
self::assertSame($expected->toDateString(), $period->toDateString());
|
$this->assertSame($expected->toDateString(), $period->toDateString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function provideUnknownFrequencies(): Iterator
|
public static function provideUnknownFrequencies(): Iterator
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ abstract class AbstractQueryParserInterfaceParseQueryTester extends TestCase
|
|||||||
{
|
{
|
||||||
$actual = $this->createParser()->parse($query);
|
$actual = $this->createParser()->parse($query);
|
||||||
|
|
||||||
self::assertObjectEquals($expected, $actual);
|
$this->assertObjectEquals($expected, $actual);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user