Compare commits

...

662 Commits

Author SHA1 Message Date
James Cole
bd556f1934 Merge branch 'release/v6.0.5' 2023-03-18 14:49:05 +01:00
James Cole
ae367aa736 Merge pull request #7246 from firefly-iii/v605
Meta files for v6.0.5
2023-03-18 14:47:52 +01:00
James Cole
3ccff2969b Meta files for v6.0.5 2023-03-18 14:47:35 +01:00
James Cole
530abb1da6 Merge pull request #7245 from firefly-iii/drop-bc-scale
Drop bc scale
2023-03-18 14:36:26 +01:00
James Cole
9fe70fb8d8 Drop BCscale significantly. This breaks support for long crypto currencies. 2023-03-18 14:35:08 +01:00
James Cole
b0215a23fb Merge branch 'main' into develop 2023-03-15 05:45:15 +01:00
James Cole
48735b1a5b Merge pull request #7233 from firefly-iii/dependabot/npm_and_yarn/frontend/webpack-5.76.1
Bump webpack from 5.72.0 to 5.76.1 in /frontend
2023-03-15 05:44:25 +01:00
dependabot[bot]
3c0b802667 Bump webpack from 5.72.0 to 5.76.1 in /frontend
Bumps [webpack](https://github.com/webpack/webpack) from 5.72.0 to 5.76.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.72.0...v5.76.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 23:54:24 +00:00
James Cole
9bfad07f8c Merge pull request #7232 from firefly-iii/fix-7227
Fix https://github.com/firefly-iii/firefly-iii/issues/7227
2023-03-14 18:31:51 +01:00
James Cole
5c91da80e1 Merge pull request #7231 from firefly-iii/fix-7221
Fix https://github.com/firefly-iii/firefly-iii/issues/7221
2023-03-14 18:31:32 +01:00
James Cole
e465c93ffc Fix https://github.com/firefly-iii/firefly-iii/issues/7227 2023-03-14 18:30:59 +01:00
James Cole
8e56fa4ef8 Fix https://github.com/firefly-iii/firefly-iii/issues/7221 2023-03-14 18:09:44 +01:00
James Cole
f56de6e719 Merge pull request #7218 from firefly-iii/develop
Release v6.0.4
2023-03-12 18:25:25 +01:00
James Cole
86ba1d151a Merge pull request #7217 from firefly-iii/v604
v604 into develop
2023-03-12 18:24:40 +01:00
James Cole
8d24db14e9 Update packages. 2023-03-12 18:23:18 +01:00
James Cole
cead122d96 Meta files for new release 2023-03-12 18:22:56 +01:00
James Cole
b7dd335fb7 Meta files for release v6.0.4 2023-03-12 18:18:02 +01:00
James Cole
20a7092fe3 Merge pull request #7213 from marcoil/catalan_name
Update Catalan description
2023-03-12 16:09:24 +01:00
James Cole
1d3da33e1d Merge pull request #7216 from firefly-iii/fix-7214
Possible fix for #7214
2023-03-12 16:06:31 +01:00
James Cole
e36675e232 Possible fix for #7214 2023-03-12 16:06:12 +01:00
Marc Ordinas i Llopis
aa8588758a Update Catalan description
Signed-off-by: Marc Ordinas i Llopis <mail@marcoil.org>
2023-03-12 13:48:06 +01:00
James Cole
47a58738d4 Merge pull request #7211 from firefly-iii/develop
Release v6.0.3
2023-03-12 11:04:35 +01:00
James Cole
e0a31d29a4 Merge pull request #7210 from firefly-iii/603
chore: Meta data for 603
2023-03-12 11:00:24 +01:00
James Cole
45369868ad chore: Meta data for 603 2023-03-12 10:59:35 +01:00
James Cole
639c51d651 Merge pull request #7202 from firefly-iii/fix-7201
Fix #7201
2023-03-11 15:05:31 +01:00
James Cole
3d424972cc Fix #7201 2023-03-11 15:04:16 +01:00
James Cole
96fd4da6d8 Merge pull request #7198 from firefly-iii/develop
Release v6.0.2
2023-03-11 08:32:53 +01:00
James Cole
a97a0d461d Merge pull request #7197 from firefly-iii/602
update meta files for 602
2023-03-11 08:32:04 +01:00
James Cole
8d3170785e update meta files for 602 2023-03-11 08:31:27 +01:00
James Cole
ae373a15c5 Merge pull request #7195 from firefly-iii/fix-7142
Fix #7142
2023-03-11 07:45:47 +01:00
James Cole
1f342ed592 Fix #7142 2023-03-11 07:44:45 +01:00
James Cole
3e04f14665 Merge pull request #7194 from firefly-iii/fix-7192
Extra code for #7192
2023-03-11 07:13:59 +01:00
James Cole
dbf83df363 Extra code for #7192 2023-03-11 07:13:39 +01:00
James Cole
15bfc0d6fa Merge pull request #7193 from firefly-iii/fix-7189
Fix #7189
2023-03-11 07:09:50 +01:00
James Cole
f3fc1d8382 Fix #7189 2023-03-11 07:09:27 +01:00
James Cole
07cb7dd06e Merge pull request #7191 from firefly-iii/fix-7188
Fix #7188
2023-03-11 05:50:29 +01:00
James Cole
38624442d1 Fix #7188 2023-03-11 05:50:10 +01:00
James Cole
258dfb3d11 Merge pull request #7190 from firefly-iii/fix-7186
Fix #7186
2023-03-11 05:48:41 +01:00
James Cole
51ddfcdaaa Fix #7186 2023-03-11 05:38:54 +01:00
James Cole
2a0acdbb27 Merge pull request #7185 from firefly-iii/develop
Develop
2023-03-10 19:15:44 +01:00
James Cole
99bd28f21e Merge pull request #7184 from firefly-iii/metadata
Meta data for new release.
2023-03-10 19:12:08 +01:00
James Cole
643ae91bb5 Meta data for new release. 2023-03-10 19:11:27 +01:00
James Cole
591e3ab3ec Merge pull request #7178 from firefly-iii/fix-7177
Fix #7177
2023-03-09 08:15:18 +01:00
James Cole
edd7aed691 Fix #7177 2023-03-09 08:14:30 +01:00
James Cole
2e89586559 Merge pull request #7176 from firefly-iii/fix-7175
Fixes #7175
2023-03-09 06:34:09 +01:00
James Cole
173f593a7e Fixes #7175 2023-03-09 06:33:23 +01:00
James Cole
d4839c8818 Merge pull request #7174 from firefly-iii/fix-7172
Fix 7172
2023-03-08 20:47:18 +01:00
James Cole
a122dba0ad Fix https://github.com/firefly-iii/firefly-iii/issues/7172 2023-03-08 20:40:51 +01:00
James Cole
ae813a536e Merge pull request #7171 from firefly-iii/fix-7166
Fix #7166
2023-03-07 19:55:15 +01:00
James Cole
b9d174238b Fix #7166 2023-03-07 19:54:58 +01:00
James Cole
fbf5adbe79 Merge pull request #7170 from firefly-iii/fix-7165
Fix https://github.com/firefly-iii/firefly-iii/issues/7165
2023-03-07 19:51:36 +01:00
James Cole
c676a65f93 Fix https://github.com/firefly-iii/firefly-iii/issues/7165 2023-03-07 19:50:20 +01:00
James Cole
5ab8fbddcb Merge pull request #7169 from firefly-iii/fix-7124
Fix https://github.com/firefly-iii/firefly-iii/issues/7124
2023-03-07 19:37:23 +01:00
James Cole
b942fa4b09 Fix https://github.com/firefly-iii/firefly-iii/issues/7124 2023-03-07 19:36:54 +01:00
James Cole
8ee358551c Merge pull request #7168 from firefly-iii/fix-7120
Fix https://github.com/firefly-iii/firefly-iii/issues/7120
2023-03-07 19:14:48 +01:00
James Cole
a5f3b4533b Fix https://github.com/firefly-iii/firefly-iii/issues/7120 2023-03-07 19:14:15 +01:00
James Cole
e258efe1bf Merge pull request #7167 from firefly-iii/fix-7104
Fix https://github.com/firefly-iii/firefly-iii/issues/7104
2023-03-07 19:11:00 +01:00
James Cole
f9a213e06f Fix https://github.com/firefly-iii/firefly-iii/issues/7104 2023-03-07 19:10:32 +01:00
James Cole
05bd732e7c Merge pull request #7163 from firefly-iii/issue-template-updates
Small issue template updates
2023-03-07 05:23:04 +01:00
James Cole
70050678c5 Small issue template updates 2023-03-07 05:22:36 +01:00
James Cole
6a649f2f42 Merge pull request #7160 from firefly-iii/fix-7159
Fix #7159
2023-03-06 21:00:54 +01:00
James Cole
6912e05677 Fix #7159 2023-03-06 21:00:27 +01:00
James Cole
c78fa8eaea Merge pull request #7151 from firefly-iii/fix-7144
Fix #7144
2023-03-06 05:55:20 +01:00
James Cole
5a06e3523b Merge pull request #7150 from firefly-iii/fix-7140
Fix #7140 by better validating header content.
2023-03-06 05:54:36 +01:00
James Cole
b34cb0428b Merge pull request #7149 from firefly-iii/mail-provider
Make sure default mail provider is "log", not smtp
2023-03-06 05:53:11 +01:00
James Cole
ce3c866168 Make sure default mail provider is "log", not smtp 2023-03-06 05:52:41 +01:00
James Cole
4ada2f3e3c Merge pull request #7147 from firefly-iii/dependabot/composer/develop/nunomaduro/collision-7.1.0
Bump nunomaduro/collision from 7.0.5 to 7.1.0
2023-03-06 05:47:14 +01:00
dependabot[bot]
ad739c1d84 Bump nunomaduro/collision from 7.0.5 to 7.1.0
Bumps [nunomaduro/collision](https://github.com/nunomaduro/collision) from 7.0.5 to 7.1.0.
- [Release notes](https://github.com/nunomaduro/collision/releases)
- [Changelog](https://github.com/nunomaduro/collision/blob/v7.x/CHANGELOG.md)
- [Commits](https://github.com/nunomaduro/collision/compare/v7.0.5...v7.1.0)

---
updated-dependencies:
- dependency-name: nunomaduro/collision
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 04:46:06 +00:00
James Cole
60af2c4232 Merge pull request #7146 from firefly-iii/dependabot/composer/develop/nunomaduro/larastan-2.5.1 2023-03-06 05:45:29 +01:00
dependabot[bot]
cc69f50106 Bump nunomaduro/larastan from 2.4.1 to 2.5.1
Bumps [nunomaduro/larastan](https://github.com/nunomaduro/larastan) from 2.4.1 to 2.5.1.
- [Release notes](https://github.com/nunomaduro/larastan/releases)
- [Changelog](https://github.com/nunomaduro/larastan/blob/master/RELEASE.md)
- [Commits](https://github.com/nunomaduro/larastan/compare/2.4.1...2.5.1)

---
updated-dependencies:
- dependency-name: nunomaduro/larastan
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:56:26 +00:00
James Cole
0f57094b17 Fix #7144 2023-03-05 19:26:33 +01:00
James Cole
dad738ae42 Fix #7140 by better validating header content. 2023-03-05 17:07:27 +01:00
James Cole
3df05eb63c Merge pull request #7136 from firefly-iii/fix-7130
Fix #7130
2023-03-05 08:00:11 +01:00
James Cole
57b83dd239 Fix #7130 2023-03-05 07:59:48 +01:00
James Cole
1539dcffd5 Revert "Fix #7130"
This reverts commit b4a09efb8b.
2023-03-05 07:57:40 +01:00
James Cole
b4a09efb8b Fix #7130 2023-03-05 07:56:37 +01:00
James Cole
e82b372f75 Merge pull request #7134 from firefly-iii/fix-7131
Fix #7131 by expanding the global ajaxSetup instructions.
2023-03-05 07:52:09 +01:00
James Cole
83a89181bc Add JSON.stringify 2023-03-05 07:00:04 +01:00
James Cole
b1e08b1084 Fix #7131 by expanding the global ajaxSetup instructions. 2023-03-05 06:09:25 +01:00
James Cole
0eb582ab3b Merge pull request #7129 from firefly-iii/common-mail-errors
Catch common mail errors
2023-03-04 22:26:43 +01:00
James Cole
07b58b4200 Catch common mail errors 2023-03-04 22:26:09 +01:00
James Cole
8807f04599 Merge pull request #7128 from firefly-iii/fix-7127
Fix 7127
2023-03-04 22:19:17 +01:00
James Cole
4657d34ae4 Fix request 2023-03-04 22:18:37 +01:00
James Cole
79951453cd Switch the button 2023-03-04 22:17:19 +01:00
James Cole
5291f485ac Fix #7127 by adding an option to the API 2023-03-04 22:16:59 +01:00
James Cole
ed75d84376 Merge pull request #7116 from firefly-iii/fix-6985
Fix 6985
2023-03-04 07:36:10 +01:00
James Cole
a7011376cb Add package. 2023-03-04 07:35:51 +01:00
James Cole
6c4bd84b66 Fix #6985 2023-03-04 07:35:30 +01:00
James Cole
c4418857e6 Merge pull request #7114 from firefly-iii/fix-7112
Fix https://github.com/firefly-iii/firefly-iii/issues/7112
2023-03-04 07:18:55 +01:00
James Cole
5d316ea26a Fix https://github.com/firefly-iii/firefly-iii/issues/7112 2023-03-04 07:18:20 +01:00
James Cole
4a0887c978 Merge pull request #7109 from firefly-iii/css-fixes
CSS fixes for subdirectories. Full credits to @GaneshKandu
2023-03-03 09:15:11 +01:00
James Cole
dbfceafb02 CSS fixes for subdirectories. Full credits to @GaneshKandu 2023-03-03 09:14:44 +01:00
James Cole
4db73285b7 Merge branch 'main' into develop 2023-03-03 06:22:08 +01:00
James Cole
876ea8bb07 Merge pull request #7103 from firefly-iii/dependabot/npm_and_yarn/frontend/dns-packet-5.4.0
Bump dns-packet from 5.3.1 to 5.4.0 in /frontend
2023-03-03 06:21:40 +01:00
dependabot[bot]
e0e90845e7 Bump dns-packet from 5.3.1 to 5.4.0 in /frontend
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v5.3.1...5.4.0)

---
updated-dependencies:
- dependency-name: dns-packet
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 21:42:01 +00:00
James Cole
f1223a5a3f Merge tag 'v6.0.0' into develop
v6.0.0
2023-03-02 21:21:12 +01:00
James Cole
1a3720bfaa Merge branch 'release/v6.0.0' 2023-03-02 21:21:11 +01:00
James Cole
1ddcc51c48 Merge pull request #7102 from firefly-iii/final-60
Final 60
2023-03-02 21:19:40 +01:00
James Cole
9f43ea3118 Update packages. 2023-03-02 21:19:17 +01:00
James Cole
0fe4ac9ef5 Update files for 6.0.0 2023-03-02 21:18:06 +01:00
James Cole
d6d395eccd Merge pull request #7101 from firefly-iii/fix-liabilities
Fix liabilities
2023-03-02 21:08:20 +01:00
James Cole
a26f5e2e6d Do not remove liabilities. 2023-03-02 21:06:53 +01:00
James Cole
849e006eda Merge pull request #7094 from firefly-iii/fix-7093
Fix https://github.com/firefly-iii/firefly-iii/issues/7093
2023-03-01 07:32:39 +01:00
James Cole
f70a4511c6 Fix https://github.com/firefly-iii/firefly-iii/issues/7093 2023-03-01 07:32:19 +01:00
James Cole
21ba311ecf Merge pull request #7092 from firefly-iii/fix-broken-chart
Fix broken chart
2023-03-01 06:41:16 +01:00
James Cole
fb0a100a7f Fix broken chart 2023-03-01 06:40:58 +01:00
James Cole
2295110cf1 Merge pull request #7090 from firefly-iii/dependabot/composer/develop/laravel/framework-10.1.5
Bump laravel/framework from 10.1.4 to 10.1.5
2023-02-27 06:05:10 +01:00
James Cole
3c82c9af8b Merge pull request #7089 from firefly-iii/dependabot/composer/develop/phpstan/phpstan-1.10.3
Bump phpstan/phpstan from 1.10.2 to 1.10.3
2023-02-27 06:05:01 +01:00
James Cole
df78aa2f0d Merge pull request #7091 from firefly-iii/dark-mode-arrow
Dark mode arrow
2023-02-27 06:04:49 +01:00
James Cole
1ac18909b4 Dark mode arrow 2023-02-27 06:04:32 +01:00
dependabot[bot]
07d793e9f7 Bump laravel/framework from 10.1.4 to 10.1.5
Bumps [laravel/framework](https://github.com/laravel/framework) from 10.1.4 to 10.1.5.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/10.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v10.1.4...v10.1.5)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:56:47 +00:00
dependabot[bot]
2a7b540a95 Bump phpstan/phpstan from 1.10.2 to 1.10.3
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.2 to 1.10.3.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.10.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.2...1.10.3)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:56:30 +00:00
James Cole
5cdecf7d04 Merge pull request #7088 from firefly-iii/fix-7079
Update translations.
2023-02-26 19:49:16 +01:00
James Cole
1a0e6ffffb Update translations. 2023-02-26 19:48:15 +01:00
James Cole
c0cfc60da6 Merge pull request #7087 from firefly-iii/fix-7079
Date fix for https://github.com/firefly-iii/firefly-iii/issues/7079
2023-02-26 19:41:59 +01:00
James Cole
9f831a8b3d Date fix for https://github.com/firefly-iii/firefly-iii/issues/7079 2023-02-26 19:41:01 +01:00
James Cole
ec3ee2f995 Merge pull request #7084 from firefly-iii/fix-7083
Fix https://github.com/firefly-iii/firefly-iii/issues/7083
2023-02-26 13:30:57 +01:00
James Cole
25ca02f541 Fix https://github.com/firefly-iii/firefly-iii/issues/7083 2023-02-26 13:30:14 +01:00
James Cole
776c59faea Merge pull request #7080 from firefly-iii/six
Six
2023-02-25 09:08:47 +01:00
James Cole
a4b1587a78 Fix week number 2023-02-25 09:08:10 +01:00
James Cole
1d79eea69e Update changelog. 2023-02-25 08:42:19 +01:00
James Cole
b369b6e7b8 Fix https://github.com/firefly-iii/firefly-iii/issues/7079 2023-02-25 08:38:50 +01:00
James Cole
3832297d69 Merge pull request #7075 from firefly-iii/six
Fix audit processor
2023-02-24 06:04:04 +01:00
James Cole
a7e64a130e Fix audit processor 2023-02-24 06:03:41 +01:00
James Cole
73715dc0b9 Merge pull request #7074 from firefly-iii/six
Six
2023-02-24 05:55:21 +01:00
James Cole
8f66c93ad0 Upgrade to Laravel 10 2023-02-24 05:53:32 +01:00
James Cole
bcaf6402b5 Final files for 6.0.0 2023-02-24 05:30:15 +01:00
James Cole
16b0ee0c79 Merge pull request #7071 from firefly-iii/fix-prune
Update prune workflow.
2023-02-23 07:04:09 +01:00
James Cole
1033655615 Update prune workflow. 2023-02-23 07:03:47 +01:00
James Cole
6d327b98d4 Merge pull request #7070 from firefly-iii/fix-translations
Update translations and fix some code.
2023-02-22 19:55:29 +01:00
James Cole
585cfddfd7 Update translations and fix some code. 2023-02-22 19:54:19 +01:00
James Cole
a18cd23154 Merge pull request #7068 from firefly-iii/cleanup-comments
Cleanup comments
2023-02-22 18:16:02 +01:00
James Cole
e421b29b01 Clean up code and comments. 2023-02-22 18:14:14 +01:00
James Cole
e6dc881f56 Clean up comments 2023-02-22 18:03:31 +01:00
James Cole
01308e2076 Merge pull request #7067 from firefly-iii/code-cleanup
Various code cleanup, see if Qodana picks them up
2023-02-22 17:12:51 +01:00
James Cole
26ab65c5aa Various code cleanup, see if Qodana picks them up 2023-02-22 17:11:59 +01:00
James Cole
68f398f97c Merge pull request #7062 from firefly-iii/JC5-patch-1
Update session.php
2023-02-20 12:46:36 +01:00
James Cole
eb04b11c30 Update session.php
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-20 12:46:21 +01:00
James Cole
29ff1648e2 Merge pull request #7061 from firefly-iii/dependabot/composer/develop/nunomaduro/collision-7.0.5
Bump nunomaduro/collision from 7.0.3 to 7.0.5
2023-02-20 06:25:13 +01:00
dependabot[bot]
13a1e45fc5 Bump nunomaduro/collision from 7.0.3 to 7.0.5
Bumps [nunomaduro/collision](https://github.com/nunomaduro/collision) from 7.0.3 to 7.0.5.
- [Release notes](https://github.com/nunomaduro/collision/releases)
- [Changelog](https://github.com/nunomaduro/collision/blob/v7.x/CHANGELOG.md)
- [Commits](https://github.com/nunomaduro/collision/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: nunomaduro/collision
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:56:32 +00:00
James Cole
2ac3e130ec Merge tag 'v6.0.0-beta.2' into develop
v6.0.0-beta.2
2023-02-19 11:32:49 +01:00
James Cole
0436614643 Merge branch 'release/v6.0.0-beta.2' 2023-02-19 11:32:48 +01:00
James Cole
427e11dac9 Merge pull request #7058 from firefly-iii/beta-2
New and updated files for beta 2
2023-02-19 11:32:14 +01:00
James Cole
c3a4656e22 New and updated files for beta 2 2023-02-19 11:16:15 +01:00
James Cole
aab8eb467c Merge pull request #7057 from firefly-iii/missing-indexes
Missing indexes
2023-02-19 10:52:24 +01:00
James Cole
84987dbe02 Add missing key indexes. 2023-02-19 10:50:43 +01:00
James Cole
b7c2576970 Merge pull request #7056 from firefly-iii/update-actions
Update various actions
2023-02-19 08:53:05 +01:00
James Cole
57f32ec987 Update various actions 2023-02-19 08:52:46 +01:00
James Cole
af73069409 Merge pull request #7055 from firefly-iii/set-user-call
Add different setUser call.
2023-02-19 08:46:56 +01:00
James Cole
1b06211152 Add different setUser call. 2023-02-19 08:43:28 +01:00
James Cole
8ee428eb17 Merge pull request #7054 from firefly-iii/ignore-ide-helper
Ignore errors in ide_helper
2023-02-19 08:21:46 +01:00
James Cole
07f3386ec7 Ignore errors in ide_helper 2023-02-19 08:21:23 +01:00
James Cole
94ae0bd7c3 Merge pull request #7053 from firefly-iii/add-ide-helper
Add IDE helper script.
2023-02-19 08:12:55 +01:00
James Cole
8bd13b19a6 Add missing file 2023-02-19 08:10:05 +01:00
James Cole
1118954db6 Exclude path and add command. 2023-02-19 08:08:47 +01:00
James Cole
a798a9d50d Add IDE helper script. 2023-02-19 08:06:05 +01:00
James Cole
9e11b504e1 Merge pull request #7052 from firefly-iii/add-upload-size
Add max upload size to debug page.
2023-02-19 08:02:33 +01:00
James Cole
2e65055c9a Add max upload size to debug page. 2023-02-19 08:02:13 +01:00
James Cole
733607a8a9 Merge pull request #7050 from firefly-iii/fix-darkmode
Finetune dark mode CSS
2023-02-18 21:26:30 +01:00
James Cole
30d40d1d57 Finetune dark mode CSS 2023-02-18 21:26:09 +01:00
James Cole
a3eec9d5ec Merge pull request #7049 from firefly-iii/fix-bad-routes
Fix bad routes
2023-02-18 20:46:04 +01:00
James Cole
d9599b3448 Fix bad routes 2023-02-18 20:45:44 +01:00
James Cole
3ca0fc15b1 Merge pull request #7048 from firefly-iii/update-budget-box
Update budget box and rebuild frontend.
2023-02-18 18:52:53 +01:00
James Cole
e3a71b64f8 Update budget box and rebuild frontend. 2023-02-18 18:48:55 +01:00
James Cole
d403f4f9d3 Merge pull request #7047 from firefly-iii/update-existing-iban
Will update IBAN in existing account if necessary and/or possible.
2023-02-18 06:38:21 +01:00
James Cole
e0577bddc5 Will update IBAN in existing account if necessary and/or possible. 2023-02-18 06:37:05 +01:00
James Cole
38b88dce44 Merge pull request #7046 from firefly-iii/fix-7035
Fix routes in https://github.com/orgs/firefly-iii/discussions/7035
2023-02-17 19:43:15 +01:00
James Cole
e1f99139f3 Merge pull request #7045 from firefly-iii/add-missing-indexes
Add missing indexes.
2023-02-17 19:42:35 +01:00
James Cole
2e5d5f5a36 Add missing indexes. 2023-02-17 19:42:09 +01:00
James Cole
6b05c0fbd3 Merge pull request #7043 from firefly-iii/fix-bad-escape
Catch escape in currencies
2023-02-17 05:50:11 +01:00
James Cole
0667ccfc98 Catch escape in currencies 2023-02-17 05:49:54 +01:00
James Cole
0d9c4ec25d Fix routes in https://github.com/orgs/firefly-iii/discussions/7035 2023-02-14 18:25:48 +01:00
James Cole
e4fa385ac5 Merge pull request #7027 from firefly-iii/dependabot/composer/develop/nunomaduro/collision-7.0.2
Bump nunomaduro/collision from 6.4.0 to 7.0.2
2023-02-13 05:43:07 +01:00
James Cole
f8f2a10014 Merge pull request #7026 from firefly-iii/dependabot/composer/develop/phpstan/phpstan-1.9.17
Bump phpstan/phpstan from 1.9.14 to 1.9.17
2023-02-13 05:41:47 +01:00
James Cole
6502559341 Merge pull request #7028 from firefly-iii/dependabot/composer/develop/laravel/passport-11.6.1
Bump laravel/passport from 11.6.0 to 11.6.1
2023-02-13 05:41:32 +01:00
dependabot[bot]
3f50cd74da Bump phpstan/phpstan from 1.9.14 to 1.9.17
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.9.14 to 1.9.17.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.10.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.9.14...1.9.17)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 04:40:47 +00:00
James Cole
b32500c3e3 Merge pull request #7029 from firefly-iii/dependabot/composer/develop/doctrine/dbal-3.6.0
Bump doctrine/dbal from 3.5.3 to 3.6.0
2023-02-13 05:40:09 +01:00
dependabot[bot]
1f338f0062 Bump doctrine/dbal from 3.5.3 to 3.6.0
Bumps [doctrine/dbal](https://github.com/doctrine/dbal) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/doctrine/dbal/releases)
- [Commits](https://github.com/doctrine/dbal/compare/3.5.3...3.6.0)

---
updated-dependencies:
- dependency-name: doctrine/dbal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:57:02 +00:00
dependabot[bot]
76925585c3 Bump laravel/passport from 11.6.0 to 11.6.1
Bumps [laravel/passport](https://github.com/laravel/passport) from 11.6.0 to 11.6.1.
- [Release notes](https://github.com/laravel/passport/releases)
- [Changelog](https://github.com/laravel/passport/blob/11.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/passport/compare/v11.6.0...v11.6.1)

---
updated-dependencies:
- dependency-name: laravel/passport
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:56:55 +00:00
dependabot[bot]
55de722229 Bump nunomaduro/collision from 6.4.0 to 7.0.2
Bumps [nunomaduro/collision](https://github.com/nunomaduro/collision) from 6.4.0 to 7.0.2.
- [Release notes](https://github.com/nunomaduro/collision/releases)
- [Changelog](https://github.com/nunomaduro/collision/blob/v7.x/CHANGELOG.md)
- [Commits](https://github.com/nunomaduro/collision/compare/v6.4.0...v7.0.2)

---
updated-dependencies:
- dependency-name: nunomaduro/collision
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:56:42 +00:00
James Cole
5b35e6ec4b Merge pull request #7021 from firefly-iii/fix-7020
Fix https://github.com/firefly-iii/firefly-iii/issues/7020
2023-02-12 18:11:27 +01:00
James Cole
80431bae4f Fix https://github.com/firefly-iii/firefly-iii/issues/7020 2023-02-12 18:09:27 +01:00
James Cole
68222e20f7 Merge pull request #7017 from firefly-iii/patch-1
Restore missing method.
2023-02-12 10:10:21 +01:00
James Cole
85c2e9cf1e Restore missing method. 2023-02-12 10:10:00 +01:00
James Cole
c64227d90b Merge pull request #7016 from firefly-iii/patch-2
Patch 2
2023-02-12 08:13:44 +01:00
James Cole
83f9149606 Expand qodana settings. 2023-02-12 08:07:25 +01:00
James Cole
2ad2d53f88 Fix some code quality issues 2023-02-12 08:07:08 +01:00
James Cole
1fd455dbab Merge pull request #7015 from firefly-iii/main
Merge back into develop
2023-02-12 07:29:36 +01:00
James Cole
9b86b20eff Merge pull request #7014 from firefly-iii/code-coverage-fix
Code coverage fix
2023-02-12 07:25:17 +01:00
James Cole
13712f7c5e Merge pull request #7013 from firefly-iii/JC5-patch-1
Update qodana.yml
2023-02-12 07:24:59 +01:00
James Cole
789935cf1c Clean up code. 2023-02-12 07:23:57 +01:00
James Cole
03a4633a98 Update qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-12 07:17:42 +01:00
James Cole
a252522e27 Update qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-12 07:15:47 +01:00
James Cole
927d607b1a Remove code coverage ignore instructions 2023-02-12 07:15:06 +01:00
James Cole
ef6af34af9 Merge pull request #7012 from firefly-iii/new-changelog
Write changelog.
2023-02-12 06:54:53 +01:00
James Cole
61f04fe4c1 Merge pull request #7011 from firefly-iii/clean-api
Clean up and fix API routes.
2023-02-12 06:54:30 +01:00
James Cole
ac1e026981 Write changelog. 2023-02-12 06:54:20 +01:00
James Cole
7225474621 Clean up and fix API routes. 2023-02-12 06:53:36 +01:00
James Cole
86d6a2f581 Merge branch 'release/6.0.0-beta.1' 2023-02-11 14:59:53 +01:00
James Cole
f82a884783 Merge tag '6.0.0-beta.1' into develop
6.0.0-beta.1
2023-02-11 14:59:53 +01:00
James Cole
df4f28e819 Merge pull request #7010 from firefly-iii/beta-1
Meta files for new beta.
2023-02-11 14:59:06 +01:00
James Cole
9ee66625de Meta files for new beta. 2023-02-11 14:58:36 +01:00
James Cole
fb595bb335 Merge pull request #7009 from firefly-iii/fix-object-call
Fix issue with preferences object.
2023-02-11 10:17:33 +01:00
James Cole
a8e4fbb7b6 Fix issue with preferences object. 2023-02-11 10:17:08 +01:00
James Cole
0060c46cdb Merge pull request #7008 from firefly-iii/fix-5234
Fix 5234
2023-02-11 07:39:18 +01:00
James Cole
b909841eae Clean up code. 2023-02-11 07:39:00 +01:00
James Cole
f001675066 Add options to set ranges. 2023-02-11 07:37:05 +01:00
James Cole
c979cfcd89 Replace direct calls to Carbon class. 2023-02-11 07:36:45 +01:00
James Cole
2a30b10b97 Merge pull request #7005 from firefly-iii/JC5-patch-6
Update qodana.yaml
2023-02-09 20:20:00 +01:00
James Cole
fb903d5e3a Update qodana.yaml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-09 20:19:50 +01:00
James Cole
268f690d75 Merge pull request #7000 from firefly-iii/JC5-patch-5
Update qodana.yaml
2023-02-08 19:41:12 +01:00
James Cole
2e074009c4 Update qodana.yaml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 19:41:02 +01:00
James Cole
d5e60b206d Merge pull request #6999 from firefly-iii/JC5-patch-4
Update qodana.yml
2023-02-08 19:21:29 +01:00
James Cole
1964afe876 Update qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 19:21:21 +01:00
James Cole
328a476fb5 Merge pull request #6998 from firefly-iii/JC5-patch-3
Update qodana.yml
2023-02-08 19:16:16 +01:00
James Cole
12ca0811e6 Update qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 19:16:04 +01:00
James Cole
7a20f7ce34 Merge pull request #6997 from firefly-iii/JC5-patch-2
Update qodana.yml
2023-02-08 19:09:35 +01:00
James Cole
cce856c0e2 Update qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 19:09:27 +01:00
James Cole
5ef2a33334 Merge pull request #6996 from firefly-iii/JC5-patch-1
Rename qodana.yml to qodana.yaml
2023-02-08 16:53:17 +01:00
James Cole
6e29a7421f Rename qodana.yml to qodana.yaml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 16:53:07 +01:00
James Cole
89e6bd7471 Merge pull request #6995 from firefly-iii/JC5-patch-1
Create qodana.yml
2023-02-08 16:51:45 +01:00
James Cole
df0a6db83f Create qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 16:51:36 +01:00
James Cole
c949ff19b7 Merge pull request #6994 from firefly-iii/JC5-patch-1
Update qodana.yml
2023-02-08 16:48:06 +01:00
James Cole
e4b4234fbb Update qodana.yml
Signed-off-by: James Cole <james@firefly-iii.org>
2023-02-08 16:47:55 +01:00
James Cole
86aaa3068a Merge pull request #6993 from firefly-iii/qodana-job
Rename and cleanup file.
2023-02-08 16:46:34 +01:00
James Cole
08f9da8a15 Rename and cleanup file. 2023-02-08 16:46:07 +01:00
James Cole
6bd0aa14b3 Merge pull request #6992 from firefly-iii/qodana-job
Add actual step.
2023-02-08 16:43:24 +01:00
James Cole
38bff09c1d Add actual step. 2023-02-08 16:42:53 +01:00
James Cole
93caa433d7 Merge pull request #6991 from firefly-iii/qodana-job
Add new jpbs
2023-02-08 16:38:08 +01:00
James Cole
bcb1fce7ed Add new jpbs 2023-02-08 16:37:38 +01:00
James Cole
c777c95ced Merge pull request #6990 from firefly-iii/qodana-job
Add qodana.
2023-02-08 16:35:59 +01:00
James Cole
5e89bde05b Add qodana. 2023-02-08 16:35:05 +01:00
James Cole
79e98cf8a2 Merge pull request #6983 from firefly-iii/downgrade-phpunit
Downgrade phpunit due to laravel's incompatibility.
2023-02-06 06:20:53 +01:00
James Cole
bf8ab7f5d7 Downgrade phpunit due to laravel's incompatibility. 2023-02-06 06:20:32 +01:00
James Cole
54a471ba4c Merge pull request #6980 from firefly-iii/dependabot/composer/develop/phpunit/phpunit-10.0.4
Bump phpunit/phpunit from 9.6.2 to 10.0.4
2023-02-06 06:16:32 +01:00
dependabot[bot]
26accbc81e Bump phpunit/phpunit from 9.6.2 to 10.0.4
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.2 to 10.0.4.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-10.0.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.2...10.0.4)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 05:15:41 +00:00
James Cole
242c6c1b0c Merge pull request #6981 from firefly-iii/dependabot/composer/develop/barryvdh/laravel-ide-helper-2.13.0
Bump barryvdh/laravel-ide-helper from 2.12.3 to 2.13.0
2023-02-06 06:15:08 +01:00
James Cole
db659efe27 Merge pull request #6982 from firefly-iii/fix-tests
Fix tests
2023-02-06 06:14:41 +01:00
James Cole
06be3f0d46 Expand test script and fix first functional test. 2023-02-06 06:14:07 +01:00
dependabot[bot]
da318fb592 Bump barryvdh/laravel-ide-helper from 2.12.3 to 2.13.0
Bumps [barryvdh/laravel-ide-helper](https://github.com/barryvdh/laravel-ide-helper) from 2.12.3 to 2.13.0.
- [Release notes](https://github.com/barryvdh/laravel-ide-helper/releases)
- [Changelog](https://github.com/barryvdh/laravel-ide-helper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/barryvdh/laravel-ide-helper/compare/v2.12.3...v2.13.0)

---
updated-dependencies:
- dependency-name: barryvdh/laravel-ide-helper
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 03:00:45 +00:00
James Cole
d58c230f00 Clean up test related code. 2023-02-04 17:43:54 +01:00
James Cole
fd7ba9dd57 Remove unused tests 2023-02-04 17:11:19 +01:00
James Cole
47a98451a0 Merge pull request #6976 from firefly-iii/fix-mergify
Fix mergify
2023-02-04 10:52:46 +01:00
James Cole
91e961a876 Fix mergify 2023-02-04 10:52:04 +01:00
James Cole
9aaf79a3ab Merge pull request #6975 from firefly-iii/issue-6834
Null check for https://github.com/firefly-iii/firefly-iii/issues/6834
2023-02-04 10:47:10 +01:00
James Cole
b1e3cf3a20 Null check for https://github.com/firefly-iii/firefly-iii/issues/6834 2023-02-04 10:46:31 +01:00
James Cole
be0d785a56 Merge pull request #6974 from firefly-iii/better-mergify-rules
Better mergify rules.
2023-02-04 10:20:08 +01:00
James Cole
efb89023ac Merge pull request #6973 from firefly-iii/dependabot/npm_and_yarn/frontend/json5-1.0.2
Bump json5 from 1.0.1 to 1.0.2 in /frontend
2023-02-04 10:19:30 +01:00
James Cole
9adccb345a Better mergify rules. 2023-02-04 10:18:22 +01:00
dependabot[bot]
83f5b8ab12 Bump json5 from 1.0.1 to 1.0.2 in /frontend
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 07:25:25 +00:00
James Cole
de38e7cf9f Merge tag '6.0.0-alpha.2' into develop
6.0.0-alpha.2
2023-02-04 08:24:26 +01:00
James Cole
3a0b3f46a5 Merge branch 'release/6.0.0-alpha.2' 2023-02-04 08:24:24 +01:00
James Cole
806d108d1c Merge pull request #6972 from firefly-iii/alpha-2
Update meta files for new release.
2023-02-04 08:23:31 +01:00
James Cole
794d130ff9 Update meta files for new release. 2023-02-04 08:22:53 +01:00
James Cole
848e7d4c9f Merge pull request #6971 from firefly-iii/webhook-fix
Webhook fix
2023-02-04 08:12:52 +01:00
James Cole
6e96c75be7 Make sure errors display correctly. 2023-02-04 08:12:32 +01:00
James Cole
e20dc78620 Merge pull request #6970 from firefly-iii/fix-6964
Fix 6964
2023-02-04 07:46:52 +01:00
James Cole
35912fe9fb Also sneak in some CSS fixes. 2023-02-04 07:46:25 +01:00
James Cole
74777a648c Fix #6964 2023-02-04 07:44:43 +01:00
James Cole
0eb0f7f35f Merge pull request #6969 from firefly-iii/dark-mode-improv
Dark mode improv
2023-02-04 07:08:30 +01:00
James Cole
1226ef542f Add missing CSS. 2023-02-04 07:08:05 +01:00
James Cole
7d169518a5 Also refer to minified in templates. 2023-02-04 06:32:23 +01:00
James Cole
abfd837f68 Cleanup and minify 2023-02-04 06:31:28 +01:00
James Cole
8ab1e97fb0 Improve skins 2023-02-04 06:00:44 +01:00
James Cole
9fbb290d0f Better UI for webhook 2023-02-03 21:16:53 +01:00
James Cole
28deb32f5e Various improve before build. 2023-02-03 21:16:32 +01:00
James Cole
2c1023ad40 Merge pull request #6957 from firefly-iii/fix-missing-call
Fix missing message call.
2023-02-01 18:07:00 +01:00
James Cole
766418a894 Fix missing message call. 2023-02-01 18:05:52 +01:00
James Cole
970193473d Merge pull request #6955 from firefly-iii/fix-6947-3
Always (try to) create group
2023-02-01 06:17:41 +01:00
James Cole
a782abd6db Always (try to) create group 2023-02-01 06:17:23 +01:00
James Cole
b98050e238 Merge pull request #6954 from firefly-iii/fix-6947-2
Fix 6947 2
2023-02-01 06:06:35 +01:00
James Cole
1c02b04a0d Fix #6947 again 2023-02-01 06:06:07 +01:00
James Cole
c5f94372a0 Merge pull request #6953 from firefly-iii/fix-6947
Fix https://github.com/firefly-iii/firefly-iii/issues/6947
2023-01-31 19:45:42 +01:00
James Cole
928613e908 Fix https://github.com/firefly-iii/firefly-iii/issues/6947 2023-01-31 19:45:11 +01:00
James Cole
fd3da949da Merge pull request #6945 from firefly-iii/various-fixes-2
Fix CSS and update packages.
2023-01-29 18:54:01 +01:00
James Cole
15210f75e7 Fix CSS and update packages. 2023-01-29 18:53:26 +01:00
James Cole
dec5e3440d Merge pull request #6944 from firefly-iii/various-fixes
Various fixes and cleanup
2023-01-29 15:30:15 +01:00
James Cole
413a4f3d9c Various fixes and cleanup 2023-01-29 15:29:42 +01:00
James Cole
1cbb644d65 Merge pull request #6943 from firefly-iii/dark-mode
Dark mode
2023-01-29 15:05:29 +01:00
James Cole
e008c1f742 Update templates 2023-01-29 14:52:22 +01:00
James Cole
9bffa86706 Various CSS improvements 2023-01-29 14:49:53 +01:00
James Cole
a5a95055c5 Various CSS fixes. 2023-01-29 10:01:00 +01:00
James Cole
5a5c92b5b5 First dark mode CSS 2023-01-29 08:38:53 +01:00
James Cole
41941b37f9 Merge pull request #6941 from firefly-iii/use-validation
Switch to validation style error in API
2023-01-29 07:10:35 +01:00
James Cole
881fe3e6e7 Switch to validation style error in API 2023-01-29 07:10:11 +01:00
James Cole
a7570d9ab5 Merge pull request #6940 from firefly-iii/fix-rule-validation
Fix issue with rule repository validation
2023-01-29 07:02:20 +01:00
James Cole
605afdb271 Merge pull request #6939 from firefly-iii/add-group-check
Basic check for user's administration ID
2023-01-29 07:01:32 +01:00
James Cole
b6e54fe3cf Merge pull request #6938 from firefly-iii/remove-env
Remove env
2023-01-29 07:01:02 +01:00
James Cole
fbe5a5dd39 Remove env vars from config 2023-01-29 07:00:42 +01:00
James Cole
e284da368d Basic check for user's administration ID 2023-01-29 07:00:26 +01:00
James Cole
a5328a9ff4 Remove unused environment variables. 2023-01-29 06:57:49 +01:00
James Cole
a925e1aa02 Fix issue with rule repository validation 2023-01-28 06:59:26 +01:00
James Cole
81c37b3349 Merge pull request #6922 from firefly-iii/dependabot/composer/develop/laravel/sanctum-3.2.1
Bump laravel/sanctum from 3.2.0 to 3.2.1
2023-01-23 06:52:18 +01:00
dependabot[bot]
c84c64a1c2 Bump laravel/sanctum from 3.2.0 to 3.2.1
Bumps [laravel/sanctum](https://github.com/laravel/sanctum) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/laravel/sanctum/releases)
- [Changelog](https://github.com/laravel/sanctum/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/sanctum/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: laravel/sanctum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 05:51:09 +00:00
James Cole
ced9ea4777 Merge pull request #6921 from firefly-iii/dependabot/composer/develop/laravel/passport-11.5.1
Bump laravel/passport from 11.5.0 to 11.5.1
2023-01-23 06:50:50 +01:00
James Cole
36c0e8df2d Merge pull request #6920 from firefly-iii/dependabot/composer/develop/predis/predis-2.1.1
Bump predis/predis from 2.0.3 to 2.1.1
2023-01-23 06:50:33 +01:00
James Cole
61a0a7795e Merge pull request #6919 from firefly-iii/dependabot/composer/develop/laravel/framework-9.48.0
Bump laravel/framework from 9.47.0 to 9.48.0
2023-01-23 06:50:20 +01:00
James Cole
e2b4448985 Merge pull request #6918 from firefly-iii/dependabot/composer/develop/phpstan/phpstan-1.9.14
Bump phpstan/phpstan from 1.9.11 to 1.9.14
2023-01-23 06:49:42 +01:00
dependabot[bot]
f5d1a597cf Bump laravel/passport from 11.5.0 to 11.5.1
Bumps [laravel/passport](https://github.com/laravel/passport) from 11.5.0 to 11.5.1.
- [Release notes](https://github.com/laravel/passport/releases)
- [Changelog](https://github.com/laravel/passport/blob/11.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/passport/compare/v11.5.0...v11.5.1)

---
updated-dependencies:
- dependency-name: laravel/passport
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:08:13 +00:00
dependabot[bot]
80607bc6ae Bump predis/predis from 2.0.3 to 2.1.1
Bumps [predis/predis](https://github.com/predis/predis) from 2.0.3 to 2.1.1.
- [Release notes](https://github.com/predis/predis/releases)
- [Changelog](https://github.com/predis/predis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/predis/predis/compare/v2.0.3...v2.1.1)

---
updated-dependencies:
- dependency-name: predis/predis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:07:48 +00:00
dependabot[bot]
8c5c6c2bde Bump laravel/framework from 9.47.0 to 9.48.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.47.0 to 9.48.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.47.0...v9.48.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:07:36 +00:00
dependabot[bot]
f476a909df Bump phpstan/phpstan from 1.9.11 to 1.9.14
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.9.11 to 1.9.14.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.10.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.9.11...1.9.14)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:06:55 +00:00
James Cole
9bf86be305 Merge pull request #6912 from firefly-iii/v3-boxes
Better boxes in v3
2023-01-21 20:11:56 +01:00
James Cole
3d96f5df58 Better boxes in v3 2023-01-21 20:08:45 +01:00
James Cole
fc0adfd375 Merge pull request #6911 from firefly-iii/v3-top-boxes
Clean up top boxes
2023-01-21 17:19:03 +01:00
James Cole
1d62d5d44a Merge pull request #6910 from firefly-iii/fix-api-errors
Catch and verify various errors
2023-01-21 17:15:05 +01:00
James Cole
6c2486faa7 Clean up top boxes 2023-01-21 17:14:24 +01:00
James Cole
f9daf7751a Catch and verify various errors 2023-01-21 12:21:06 +01:00
James Cole
c269913510 Merge pull request #6908 from firefly-iii/expand-mergify
no message
2023-01-21 07:08:05 +01:00
James Cole
cc436605d0 no message 2023-01-21 07:07:03 +01:00
James Cole
c697d2aa13 Merge pull request #6906 from firefly-iii/fix-clean-string
Add some extra catches and remove debug info
2023-01-21 06:52:27 +01:00
James Cole
90219bec35 Add some extra catches and remove debug info 2023-01-21 06:52:04 +01:00
James Cole
afca023767 Merge pull request #6905 from firefly-iii/fix-validation
Catch various validation errors
2023-01-20 22:09:19 +01:00
James Cole
1502c5de94 Merge pull request #6904 from firefly-iii/update-languages
Update languages.
2023-01-20 22:08:57 +01:00
James Cole
cd408e581b Catch various validation errors 2023-01-20 22:08:18 +01:00
James Cole
122c8acae0 Update languages. 2023-01-20 22:07:43 +01:00
James Cole
13cffaa1e3 Merge pull request #6903 from firefly-iii/JC5-patch-3
Update TransactionCurrencySeeder.php
2023-01-20 15:11:15 +01:00
James Cole
feab244edd Update TransactionCurrencySeeder.php
Remove crypto currencies from default set.
2023-01-20 15:10:58 +01:00
James Cole
259ad852c9 Merge pull request #6902 from firefly-iii/JC5-patch-2
Update web.php
2023-01-20 12:40:48 +01:00
James Cole
6802f53c96 Update web.php
Make sure dates work.
2023-01-20 12:40:28 +01:00
James Cole
d922390802 Merge pull request #6901 from firefly-iii/JC5-patch-1
Update web.php
2023-01-20 12:34:16 +01:00
James Cole
2a9f51a40f Update web.php
Fix report routes.
2023-01-20 12:33:45 +01:00
James Cole
614d54c9bd Merge pull request #6898 from firefly-iii/pr-6831
Add debug info and a warning for login issues related to #6831
2023-01-19 06:46:44 +01:00
James Cole
3ea8792c6e Add debug info and a warning for login issues related to #6831 2023-01-19 06:45:45 +01:00
James Cole
3d802b9c9e Merge pull request #6891 from firefly-iii/cleanup-routes
Cleanup routes and code.
2023-01-17 20:10:21 +01:00
James Cole
480d787242 Cleanup routes and code. 2023-01-17 20:09:57 +01:00
James Cole
820c6feadd Merge pull request #6889 from firefly-iii/JC5-patch-1
Update web.php
2023-01-17 17:18:54 +01:00
James Cole
8c1eeedf17 Update web.php 2023-01-17 17:18:36 +01:00
James Cole
9b5931f1d6 Merge pull request #6885 from firefly-iii/JC5-patch-1
Update web.php
2023-01-17 12:40:49 +01:00
James Cole
d5cade320b Update web.php 2023-01-17 12:40:40 +01:00
James Cole
ef46ab6de2 Merge pull request #6881 from firefly-iii/JC5-patch-1
Update CreatesObjectGroups.php
2023-01-17 10:16:00 +01:00
James Cole
d0d3921ff6 Update CreatesObjectGroups.php
Fix thing
2023-01-17 10:15:50 +01:00
James Cole
2cb2e2e635 Merge pull request #6880 from firefly-iii/JC5-patch-1
Update CreatesObjectGroups.php
2023-01-17 09:58:35 +01:00
James Cole
1a0047205d Update CreatesObjectGroups.php
An extra trim for extra long group names.
2023-01-17 09:58:17 +01:00
James Cole
468655cd94 Merge pull request #6878 from firefly-iii/fix-routes-again
Fix dateformat.
2023-01-17 05:57:33 +01:00
James Cole
09cb4b10b9 Fix dateformat. 2023-01-17 05:57:06 +01:00
James Cole
6eaf83d6d2 Merge pull request #6877 from firefly-iii/fix-routes
Add regular expressions to routes.
2023-01-17 05:54:49 +01:00
James Cole
7c8a2e3591 Add regular expressions to routes. 2023-01-17 05:54:30 +01:00
James Cole
ba5c3ef0a1 Merge pull request #6876 from firefly-iii/validate-date-field
Validate date field.
2023-01-17 05:41:18 +01:00
James Cole
c0f744b03a Validate date field. 2023-01-17 05:40:56 +01:00
James Cole
8cd13ba13b Merge pull request #6873 from firefly-iii/main
Merge back into develop
2023-01-16 06:56:44 +01:00
James Cole
10db3d63ac Merge pull request #6872 from firefly-iii/fix-6870
Fix 6870
2023-01-16 06:55:20 +01:00
James Cole
a753fde2f1 Fix #6870 2023-01-16 06:54:57 +01:00
James Cole
d4f1b9a1bc Merge pull request #6871 from firefly-iii/fix-6869
Fix https://github.com/firefly-iii/firefly-iii/issues/6869
2023-01-16 06:40:05 +01:00
James Cole
3cfaa5aa03 Fix https://github.com/firefly-iii/firefly-iii/issues/6869 2023-01-16 06:39:16 +01:00
James Cole
bc47017e31 Merge pull request #6864 from firefly-iii/update-build-2
Update build 2
2023-01-15 17:31:35 +01:00
James Cole
125d9e7e9d Rebuild frontend 2023-01-15 17:31:14 +01:00
James Cole
4cea7a3287 Add logging 2023-01-15 17:29:45 +01:00
James Cole
e7a1ad23f4 Merge pull request #6863 from firefly-iii/fix-improper-escaoe
Fix improper escape.
2023-01-15 17:24:37 +01:00
James Cole
afd3fd9f88 Fix improper escape. 2023-01-15 17:05:21 +01:00
James Cole
f2251d7bfa Merge pull request #6862 from firefly-iii/main
Merge back into develop
2023-01-15 16:11:18 +01:00
James Cole
700ccaa853 Merge pull request #6861 from firefly-iii/release/6.0.0-alpha.1
Release/6.0.0 alpha.1
2023-01-15 16:10:06 +01:00
James Cole
0fcdcf0f01 Final updates 2023-01-15 16:09:02 +01:00
James Cole
fa347a5ee4 Merge pull request #6860 from firefly-iii/six-alpha1
Update files for 6.0.0-alpha.1
2023-01-15 15:55:31 +01:00
James Cole
d412c2407a Merge pull request #6859 from firefly-iii/debug-6831
Add debug for https://github.com/firefly-iii/firefly-iii/issues/6831
2023-01-15 15:54:59 +01:00
James Cole
dea86242fd Add debug for https://github.com/firefly-iii/firefly-iii/issues/6831 2023-01-15 15:54:41 +01:00
James Cole
973c175213 Update files for 6.0.0-alpha.1 2023-01-15 15:47:25 +01:00
James Cole
e135d01655 Merge pull request #6857 from firefly-iii/fix-liabilities
Fix liabilities
2023-01-15 15:15:35 +01:00
James Cole
9b37d5ab8d Clean up logging. 2023-01-15 13:49:28 +01:00
James Cole
84c3868c9b Add destructive upgrade routine. 2023-01-15 09:22:34 +01:00
James Cole
3c0b23aaed Add another case for deposits. 2023-01-15 07:52:05 +01:00
James Cole
7e6ce7c3e8 Also in create form. 2023-01-15 07:21:51 +01:00
James Cole
7111aec101 Make sure edit of liability always works. 2023-01-15 07:20:58 +01:00
James Cole
1f9e0b48c9 Fix withdrawals away from liabilities, cleanup debug logs 2023-01-15 06:58:09 +01:00
James Cole
63a7aad44c Merge pull request #6855 from eps90/fix-bulk-validator-for-expenses
Do not validate currency if account has no currency configured
2023-01-14 17:44:55 +01:00
Kuba Turek
9191ae5054 Do not validate currency if account has no currency configured 2023-01-14 17:08:24 +01:00
James Cole
618e70748c Merge pull request #6853 from firefly-iii/add-catalan
Enable and include Catalan.
2023-01-14 15:49:55 +01:00
James Cole
68e4f26656 Enable and include Catalan. 2023-01-14 15:49:13 +01:00
James Cole
5124a5eba9 Merge pull request #6851 from firefly-iii/translation-warnings
Translation warnings
2023-01-14 15:48:31 +01:00
James Cole
708cd014c5 Add warning to files. 2023-01-14 15:47:51 +01:00
James Cole
9654f631c5 Give all files the standard warning (to be replaced). 2023-01-14 15:43:25 +01:00
James Cole
65027d7832 Add placeholder to en_US files. 2023-01-14 15:32:51 +01:00
James Cole
db0500dcf0 Merge pull request #6850 from firefly-iii/fix-auth-issue
Expand authentication validation in API.
2023-01-14 07:55:11 +01:00
James Cole
89d4a34acf Merge pull request #6848 from firefly-iii/fix-deposit-issue
Add feature: Firefly III can create account of the right type if you …
2023-01-14 07:54:21 +01:00
James Cole
23bbebb80e Expand authentication validation in API. 2023-01-14 07:53:00 +01:00
James Cole
4ccdd8f322 Add feature: Firefly III can create account of the right type if you submit ID of the wrong type. 2023-01-14 07:39:51 +01:00
James Cole
3033b0fa7f Fix https://github.com/firefly-iii/firefly-iii/issues/6834 2023-01-11 18:02:24 +01:00
James Cole
abc7bfb54c Fix transformer 2023-01-11 17:41:03 +01:00
James Cole
1fede6b802 Add debug 2023-01-11 17:39:48 +01:00
James Cole
6e3381844e Catch things that should be NULL 2023-01-11 17:38:17 +01:00
James Cole
3f2560c8e5 Check debug 2023-01-11 17:34:05 +01:00
James Cole
abdbb86d05 Remove debug logs 2023-01-11 17:30:39 +01:00
James Cole
9008d19494 Add include 2023-01-11 17:30:20 +01:00
James Cole
929513c220 Remove thing 2023-01-11 17:29:54 +01:00
James Cole
566a303650 Add some debug. 2023-01-11 17:29:19 +01:00
James Cole
e783b8dba4 Remove debug 2023-01-11 17:28:09 +01:00
James Cole
bb6cbe884e Remove various logging. 2023-01-11 17:14:35 +01:00
James Cole
3be4c07848 Add JSON 2023-01-11 08:13:52 +01:00
James Cole
732a87f051 Fix capitalisation. 2023-01-11 06:58:59 +01:00
James Cole
124d3aaf96 Fix bad cache call. 2023-01-11 06:18:42 +01:00
James Cole
65df355440 Fix login box in dark mode. 2023-01-11 06:17:03 +01:00
James Cole
29e07c6604 Fix enum 2023-01-11 06:10:57 +01:00
James Cole
c0af63e59e update packages 2023-01-11 06:06:18 +01:00
James Cole
772f0f5ba4 Merge pull request #6830 from firefly-iii/test-pr-6829 2023-01-10 20:45:33 +01:00
James Cole
6db3e3d75e Fix https://github.com/firefly-iii/firefly-iii/issues/6829 2023-01-10 19:56:38 +01:00
James Cole
9290c2247e Merge pull request #6826 from jstebenne/js/hide-2fa-qr-in-print
Hide sensitive information in 2FA setup page when printing
2023-01-10 05:53:06 +01:00
Julien Stébenne
5967762cd8 Hide sensitive information in 2FA setup page when printing
The QR code (and manual code) should not be recoverable after the initial setup. This would allow an unauthorized person to access an account without leaving a trace (like showing that a backup code was used, given that person has the account password).

Even if very low, having that information visible could be a problem.
2023-01-09 21:47:39 -05:00
James Cole
5845ba0daf Merge pull request #6818 from firefly-iii/dependabot/composer/develop/phpstan/phpstan-1.9.8
Bump phpstan/phpstan from 1.9.7 to 1.9.8
2023-01-09 07:28:33 +01:00
dependabot[bot]
961d067aec Bump phpstan/phpstan from 1.9.7 to 1.9.8
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.9.7 to 1.9.8.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.9.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.9.7...1.9.8)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 05:31:02 +00:00
James Cole
81ce2c1b3e Merge pull request #6819 from firefly-iii/dependabot/composer/develop/gdbots/query-parser-3.0.0
Bump gdbots/query-parser from 2.0.2 to 3.0.0
2023-01-09 06:30:19 +01:00
dependabot[bot]
d6bf304390 Bump gdbots/query-parser from 2.0.2 to 3.0.0
Bumps [gdbots/query-parser](https://github.com/gdbots/query-parser-php) from 2.0.2 to 3.0.0.
- [Release notes](https://github.com/gdbots/query-parser-php/releases)
- [Changelog](https://github.com/gdbots/query-parser-php/blob/master/CHANGELOG-2.x.md)
- [Commits](https://github.com/gdbots/query-parser-php/compare/v2.0.2...v3.0.0)

---
updated-dependencies:
- dependency-name: gdbots/query-parser
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:00:28 +00:00
James Cole
fe9620a438 Switch opening balance. 2023-01-08 19:47:39 +01:00
James Cole
d90321aa1e Catch bad upgrade command. 2023-01-08 19:24:28 +01:00
James Cole
c26667ebc7 Add some extra text. 2023-01-08 19:17:54 +01:00
James Cole
862140a9fc Expand net worth calculation. TODO in three places. 2023-01-08 18:51:24 +01:00
James Cole
8447670ed5 Add new upgrade command. 2023-01-08 18:41:56 +01:00
James Cole
7a2c52531a Fix bad spelling 2023-01-08 16:34:34 +01:00
James Cole
cb4e5a80b2 Fix piggy action. 2023-01-08 08:36:35 +01:00
James Cole
c976149bf1 Fix issue with liability upgrades. 2023-01-08 07:43:16 +01:00
James Cole
4917f40abf Merge tag '5.8.0-alpha.1' into develop
5.8.0-alpha.1
2023-01-07 08:51:45 +01:00
James Cole
4c27bbf069 Merge branch 'release/5.8.0-alpha.1' 2023-01-07 08:51:43 +01:00
James Cole
a90214273b Small textual changes to changelog. 2023-01-07 08:50:25 +01:00
James Cole
5167f53fd5 Update meta files for new alpha release. 2023-01-07 08:41:16 +01:00
James Cole
40083230fd Update meta files for new alpha release. 2023-01-07 08:12:53 +01:00
James Cole
ca57942b38 Force PHP 8.2 2023-01-07 07:53:25 +01:00
James Cole
ef58d5b1b2 Update meta data for first alpha release. 2023-01-07 07:52:55 +01:00
James Cole
cc218e203f Some small fixes in UI 2023-01-07 05:53:48 +01:00
James Cole
9fdaf1cee8 Fix https://github.com/firefly-iii/firefly-iii/issues/6810 2023-01-06 21:12:10 +01:00
James Cole
770d092e93 Rebuild frontend 2023-01-06 06:13:55 +01:00
James Cole
6d4e45b89f Make sure rules are consistent and catch more errors. 2023-01-06 06:12:39 +01:00
James Cole
1fee2092d6 Clear up webhooks 2023-01-05 19:05:23 +01:00
James Cole
7bd824e8cb Update packages and meta data. 2023-01-04 20:40:57 +01:00
James Cole
fa588db1a9 Enable webhooks. 2023-01-04 20:11:56 +01:00
James Cole
c3e0ce0c08 Merge branch 'develop' into 5.8-dev 2023-01-03 08:45:04 +01:00
James Cole
6a629a7da3 Add a little sort and active filter. 2023-01-03 08:44:54 +01:00
James Cole
07e4e93632 Various code cleanup 2023-01-03 06:48:53 +01:00
James Cole
6784fe4436 Fix incompatible function declaration. 2023-01-02 16:24:35 +01:00
James Cole
af8c127106 Fix incompatible function declaration. 2023-01-02 16:21:18 +01:00
James Cole
ebd32e0e08 Update code style. 2023-01-02 16:18:17 +01:00
James Cole
b56acf36c5 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Events/ChangedPiggyBankAmount.php
#	app/Handlers/Events/PiggyBankEventHandler.php
#	changelog.md
#	composer.lock
#	config/firefly.php
2023-01-02 16:17:52 +01:00
James Cole
93ae82691b Merge tag '5.7.18' into develop
5.7.18
2023-01-02 16:10:17 +01:00
James Cole
e5d5e774dc Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Models/AvailableBudget.php
2023-01-02 06:46:05 +01:00
James Cole
e4db5f5a21 Merge branch 'develop' into 5.8-dev 2023-01-01 15:30:38 +01:00
James Cole
67434bb8a5 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Http/Middleware/Authenticate.php
#	app/Models/Account.php
#	app/Support/Authentication/RemoteUserGuard.php
2023-01-01 15:14:15 +01:00
James Cole
4d0ff86bfa Various code cleanup 2022-12-31 15:54:55 +01:00
James Cole
7722ca2bf0 Various code fixes 2022-12-31 13:32:42 +01:00
James Cole
5878b2c427 Merge branch 'develop' into 5.8-dev 2022-12-31 08:59:20 +01:00
James Cole
81f781a823 Merge branch 'develop' into 5.8-dev 2022-12-31 07:35:34 +01:00
James Cole
24696bf800 Clean up some code 2022-12-31 07:33:44 +01:00
James Cole
27a576ae8a Various bug fixes and code cleanup. 2022-12-31 06:57:05 +01:00
James Cole
2b9996b844 Remove some unreachable code. 2022-12-30 20:48:48 +01:00
James Cole
742c84269b Code cleanup should trigger scan. 2022-12-30 20:38:54 +01:00
James Cole
333c348117 Merge branch 'main' into 5.8-dev 2022-12-30 20:31:26 +01:00
James Cole
445804a7f1 Fix phpstan messages. 2022-12-30 20:25:04 +01:00
James Cole
ee0116f112 Various code cleanup. 2022-12-30 09:28:03 +01:00
James Cole
03e176bd16 Some warnings. 2022-12-30 06:27:55 +01:00
James Cole
a84050a084 Forgot a thing 2022-12-30 06:25:28 +01:00
James Cole
bef7887a8d Changelog for 5.8.0 2022-12-30 06:24:43 +01:00
James Cole
5b8e01fbfb Various PSR12 code cleanup 2022-12-29 19:43:43 +01:00
James Cole
56b9b66352 Various PSR12 code cleanup 2022-12-29 19:42:40 +01:00
James Cole
6cfdc58cb1 Various PSR12 code cleanup 2022-12-29 19:42:26 +01:00
James Cole
dbf3e76ecc Various PSR12 code cleanup 2022-12-29 19:41:57 +01:00
James Cole
0022009dd5 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	config/firefly.php
#	resources/lang/de_DE/firefly.php
#	resources/lang/de_DE/validation.php
#	resources/lang/pl_PL/firefly.php
2022-12-29 19:16:24 +01:00
James Cole
e031fffe65 Update translations 2022-12-29 15:49:24 +01:00
James Cole
2a61633ab9 Clean up code and update packages 2022-12-29 15:44:13 +01:00
James Cole
5e3f9f9bce Expand search with external ID searches. 2022-12-29 15:42:26 +01:00
James Cole
8c320fd199 Implement custom trigger for recurring transactions 2022-12-29 15:42:02 +01:00
James Cole
85a2a87806 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
2022-12-29 11:36:07 +01:00
James Cole
d137b2938d Remove unused function. 2022-12-29 07:16:31 +01:00
James Cole
d3a619cb15 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Http/Requests/RuleFormRequest.php
2022-12-28 06:51:59 +01:00
James Cole
cae0b1798a Merge branch 'develop' into 5.8-dev 2022-12-27 21:13:42 +01:00
James Cole
dd0c36d464 Merge branch 'develop' into 5.8-dev 2022-12-27 13:02:30 +01:00
James Cole
e58cf0d3c9 Add some debug for https://github.com/firefly-iii/firefly-iii/issues/6743 2022-12-27 13:01:49 +01:00
James Cole
e389fd7d7c Remove liabilities from net worth 2022-12-27 08:49:00 +01:00
James Cole
83b5ca69dd Upgrade and build the frontend. 2022-12-27 08:41:18 +01:00
James Cole
5e17cb5823 Final touches. 2022-12-27 07:05:56 +01:00
James Cole
bb11e61034 Clean up liability overview. 2022-12-27 07:01:13 +01:00
James Cole
eff631276e Merge branch 'develop' into 5.8-dev 2022-12-26 06:24:50 +01:00
James Cole
3fbaed2fdc Merge branch 'develop' into 5.8-dev 2022-12-25 09:23:02 +01:00
James Cole
80762616f3 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Api/V1/Controllers/Models/AvailableBudget/DestroyController.php
#	config/firefly.php
#	frontend/package.json
#	frontend/src/i18n/fr_FR/index.js
#	frontend/src/i18n/pt_BR/index.js
#	frontend/src/i18n/ru_RU/index.js
#	frontend/src/i18n/sl_SI/index.js
#	frontend/src/i18n/zh_CN/index.js
#	frontend/yarn.lock
#	public/v3/index.html
#	public/v3/js/1473.9b55dc17.js
#	public/v3/js/150.35592a2c.js
#	public/v3/js/1501.3980515e.js
#	public/v3/js/1543.010ec22e.js
#	public/v3/js/1730.207e6e59.js
#	public/v3/js/1864.d9ea853e.js
#	public/v3/js/1951.a5d70097.js
#	public/v3/js/2106.33b7eabd.js
#	public/v3/js/2124.bfc4091d.js
#	public/v3/js/2194.4baebc21.js
#	public/v3/js/2372.f07615ae.js
#	public/v3/js/2407.747d87e4.js
#	public/v3/js/2476.8af9976c.js
#	public/v3/js/2686.5e278d64.js
#	public/v3/js/2700.1251f369.js
#	public/v3/js/3232.0964e736.js
#	public/v3/js/3903.4e461032.js
#	public/v3/js/4640.601878ff.js
#	public/v3/js/4782.e1382ab6.js
#	public/v3/js/4851.3c27e6c7.js
#	public/v3/js/5221.fded0f96.js
#	public/v3/js/5266.e820dd38.js
#	public/v3/js/5348.109b8049.js
#	public/v3/js/5439.d75e5cb4.js
#	public/v3/js/5724.8b5fcafb.js
#	public/v3/js/576.e26ddde9.js
#	public/v3/js/6072.21c05085.js
#	public/v3/js/6323.69d55ffd.js
#	public/v3/js/6676.60b155c0.js
#	public/v3/js/6691.80040366.js
#	public/v3/js/6719.f9d4744f.js
#	public/v3/js/6826.74ed4602.js
#	public/v3/js/6882.c5970da7.js
#	public/v3/js/6919.cc55656e.js
#	public/v3/js/7044.96c481ac.js
#	public/v3/js/7083.c223af4f.js
#	public/v3/js/7222.86a095eb.js
#	public/v3/js/7480.b9bd8fed.js
#	public/v3/js/7499.c362f695.js
#	public/v3/js/7544.47af6552.js
#	public/v3/js/7552.ebdf1aef.js
#	public/v3/js/7586.29cf8776.js
#	public/v3/js/7697.4338f28d.js
#	public/v3/js/773.ff7cb3ef.js
#	public/v3/js/7919.910d5ebb.js
#	public/v3/js/7956.3e1c81cf.js
#	public/v3/js/8044.169b21f8.js
#	public/v3/js/8218.966b669d.js
#	public/v3/js/8344.119567b0.js
#	public/v3/js/8376.477a5508.js
#	public/v3/js/8387.a4c1d7d6.js
#	public/v3/js/8405.62235b41.js
#	public/v3/js/8493.48ada210.js
#	public/v3/js/8611.3ab24e6d.js
#	public/v3/js/8907.233f4719.js
#	public/v3/js/8928.8127fcdf.js
#	public/v3/js/9009.d0e97de6.js
#	public/v3/js/9038.06ad98ab.js
#	public/v3/js/9069.e81f039c.js
#	public/v3/js/9287.bc57ab91.js
#	public/v3/js/9597.0c124ce8.js
#	public/v3/js/9606.ce293dd2.js
#	public/v3/js/app.13f6ce91.js
#	public/v3/js/chunk-common.98b27fd7.js
#	public/v3/js/vendor.92714ea3.js
#	resources/assets/js/locales/fr.json
#	resources/assets/js/locales/ru.json
#	resources/assets/js/locales/sl.json
#	resources/assets/js/locales/zh-cn.json
#	resources/lang/de_DE/firefly.php
#	resources/lang/nl_NL/firefly.php
#	resources/lang/pt_BR/firefly.php
#	resources/lang/sl_SI/firefly.php
#	resources/lang/zh_CN/firefly.php
2022-12-24 17:34:20 +01:00
James Cole
8b9936044b Update packages 2022-12-24 06:21:35 +01:00
James Cole
db478711ed Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Api/V1/Controllers/Chart/AccountController.php
#	app/Api/V1/Controllers/Insight/Expense/AccountController.php
#	app/Api/V1/Controllers/Insight/Expense/BillController.php
#	app/Api/V1/Controllers/Insight/Expense/BudgetController.php
#	app/Api/V1/Controllers/Insight/Expense/CategoryController.php
#	app/Api/V1/Controllers/Insight/Expense/PeriodController.php
#	app/Console/Commands/Upgrade/MigrateToGroups.php
#	app/Http/Controllers/Account/IndexController.php
#	app/Http/Controllers/Budget/AvailableBudgetController.php
#	app/Http/Controllers/Budget/BudgetLimitController.php
#	app/Http/Controllers/Budget/EditController.php
#	app/Http/Controllers/Chart/AccountController.php
#	app/Http/Controllers/Json/FrontpageController.php
#	app/Http/Controllers/PiggyBank/EditController.php
2022-12-24 06:15:26 +01:00
James Cole
33f764088e Script and code cleanup. 2022-12-11 10:43:52 +01:00
James Cole
23a8835758 Add some debug info 2022-12-11 10:32:25 +01:00
James Cole
034647a5ca Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
#	public/v1/js/create_transaction.js
#	public/v1/js/edit_transaction.js
#	public/v1/js/profile.js
2022-12-11 10:29:01 +01:00
James Cole
9529721368 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Factory/TransactionJournalFactory.php
#	app/Providers/EventServiceProvider.php
#	app/Repositories/PiggyBank/ModifiesPiggyBanks.php
#	app/Support/Search/OperatorQuerySearch.php
#	app/Support/Steam.php
#	app/TransactionRules/Actions/UpdatePiggybank.php
#	composer.json
#	composer.lock
#	config/search.php
#	frontend/yarn.lock
#	resources/lang/en_US/firefly.php
2022-12-11 07:37:33 +01:00
James Cole
60d8bb2aab Better header catch 2022-11-06 18:14:21 +01:00
James Cole
acd9685578 Merge branch 'develop' into 5.8-dev 2022-11-04 05:50:12 +01:00
James Cole
f16b679049 Various code fixes. 2022-11-04 05:11:05 +01:00
James Cole
8d8f81c27d Various code cleanup and phpstan suggestions 2022-11-02 06:25:37 +01:00
James Cole
74610a5d55 Update packages 2022-11-02 05:07:52 +01:00
James Cole
409b4fe4d9 Run CS fixer 2022-11-02 05:02:09 +01:00
James Cole
817a9f57c4 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	config/firefly.php
#	frontend/src/i18n/bg_BG/index.js
#	frontend/src/i18n/cs_CZ/index.js
#	frontend/src/i18n/da_DK/index.js
#	frontend/src/i18n/de_DE/index.js
#	frontend/src/i18n/el_GR/index.js
#	frontend/src/i18n/en_GB/index.js
#	frontend/src/i18n/en_US/index.js
#	frontend/src/i18n/es_ES/index.js
#	frontend/src/i18n/fi_FI/index.js
#	frontend/src/i18n/fr_FR/index.js
#	frontend/src/i18n/hu_HU/index.js
#	frontend/src/i18n/id_ID/index.js
#	frontend/src/i18n/it_IT/index.js
#	frontend/src/i18n/ja_JP/index.js
#	frontend/src/i18n/nb_NO/index.js
#	frontend/src/i18n/nl_NL/index.js
#	frontend/src/i18n/pl_PL/index.js
#	frontend/src/i18n/pt_BR/index.js
#	frontend/src/i18n/pt_PT/index.js
#	frontend/src/i18n/ro_RO/index.js
#	frontend/src/i18n/ru_RU/index.js
#	frontend/src/i18n/sk_SK/index.js
#	frontend/src/i18n/sl_SI/index.js
#	frontend/src/i18n/sv_SE/index.js
#	frontend/src/i18n/tr_TR/index.js
#	frontend/src/i18n/uk_UA/index.js
#	frontend/src/i18n/vi_VN/index.js
#	frontend/src/i18n/zh_CN/index.js
#	frontend/src/i18n/zh_TW/index.js
#	public/v1/js/create_transaction.js
#	public/v1/js/edit_transaction.js
#	public/v1/js/profile.js
#	resources/assets/js/locales/bg.json
#	resources/assets/js/locales/cs.json
#	resources/assets/js/locales/da.json
#	resources/assets/js/locales/de.json
#	resources/assets/js/locales/el.json
#	resources/assets/js/locales/en-gb.json
#	resources/assets/js/locales/en.json
#	resources/assets/js/locales/es.json
#	resources/assets/js/locales/fi.json
#	resources/assets/js/locales/fr.json
#	resources/assets/js/locales/hu.json
#	resources/assets/js/locales/id.json
#	resources/assets/js/locales/it.json
#	resources/assets/js/locales/ja.json
#	resources/assets/js/locales/nb.json
#	resources/assets/js/locales/nl.json
#	resources/assets/js/locales/pl.json
#	resources/assets/js/locales/pt.json
#	resources/assets/js/locales/ro.json
#	resources/assets/js/locales/ru.json
#	resources/assets/js/locales/sk.json
#	resources/assets/js/locales/sl.json
#	resources/assets/js/locales/sv.json
#	resources/assets/js/locales/tr.json
#	resources/assets/js/locales/uk.json
#	resources/assets/js/locales/vi.json
#	resources/assets/js/locales/zh-cn.json
#	resources/assets/js/locales/zh-tw.json
#	yarn.lock
2022-11-02 05:00:59 +01:00
James Cole
a702662e88 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	.gitignore
2022-11-01 19:34:12 +01:00
James Cole
ebcf9b3be1 Update error catch 2022-11-01 19:24:34 +01:00
James Cole
e7e3370baa Fix https://github.com/firefly-iii/firefly-iii/issues/6581 2022-10-31 20:12:19 +01:00
James Cole
21d4b396cc Merge branch 'develop' into 5.8-dev 2022-10-31 20:11:29 +01:00
James Cole
249b0c3377 Various code fixes. 2022-10-31 05:53:36 +01:00
James Cole
0059ed7bde Fix some phpstan issues. 2022-10-31 05:50:44 +01:00
James Cole
bd245d5c92 Update packages 2022-10-31 05:42:12 +01:00
James Cole
4e618a4d0b Remove phpstan comments. 2022-10-31 05:40:59 +01:00
James Cole
b57785a234 Various code fixes. 2022-10-31 05:39:22 +01:00
James Cole
33f370359c Replace phpstan suggestions 2022-10-30 14:44:49 +01:00
James Cole
c032ffd4f9 Fix phpstan issues. 2022-10-30 14:34:36 +01:00
James Cole
1a7d60ccc8 Fix phpcs script 2022-10-30 14:24:53 +01:00
James Cole
f52675068b Use PSR-12 code style 2022-10-30 14:24:37 +01:00
James Cole
f53923f16c Use PSR-12 code style 2022-10-30 14:24:28 +01:00
James Cole
2eebcb21f1 Use PSR-12 code style 2022-10-30 14:24:19 +01:00
James Cole
64ff5eed27 Use PSR-12 code style 2022-10-30 14:24:10 +01:00
James Cole
1667b88dcd Use PSR-12 code style 2022-10-30 14:23:00 +01:00
James Cole
b27fe59ab4 Use PSR-12 code style 2022-10-30 12:24:51 +01:00
James Cole
bdcd9825ec Use PSR-12 code style 2022-10-30 12:23:16 +01:00
James Cole
8edfb1460c Add php cs fixer and some rule sets. 2022-10-30 12:21:41 +01:00
James Cole
914dc8596b remove old inspections 2022-10-30 12:12:35 +01:00
James Cole
6b64a39182 Install PHPstan rules again. 2022-10-30 12:02:56 +01:00
James Cole
d28326cc89 Restore todo's 2022-10-30 11:43:17 +01:00
James Cole
e3181e90df Fix https://github.com/firefly-iii/firefly-iii/issues/6130 2022-10-30 06:45:56 +01:00
James Cole
486f25cd96 Update translations. 2022-10-29 07:59:49 +02:00
James Cole
612a395eb2 Merge branch 'develop' into 5.8-dev 2022-10-26 05:50:42 +02:00
James Cole
b613b56d1e Merge branch 'develop' into 5.8-dev
# Conflicts:
#	resources/views/list/groups.twig
2022-10-24 19:59:26 +02:00
James Cole
5999ee406c Fix style 2022-10-24 19:58:12 +02:00
James Cole
e348127770 Merge branch 'develop' into 5.8-dev 2022-10-24 19:53:42 +02:00
James Cole
e3bdc62ac4 Merge branch 'develop' into 5.8-dev 2022-10-24 19:48:13 +02:00
James Cole
b21461c824 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	resources/views/auth/login.twig
#	resources/views/auth/mfa.twig
#	resources/views/auth/passwords/email.twig
#	resources/views/auth/passwords/reset.twig
#	resources/views/auth/register.twig
2022-10-24 19:35:47 +02:00
James Cole
f4af19e121 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
#	config/firefly.php
#	public/v1/js/create_transaction.js
#	public/v1/js/edit_transaction.js
#	public/v1/js/profile.js
#	resources/assets/js/locales/pt-br.json
#	resources/lang/pt_BR/firefly.php
#	yarn.lock
2022-10-23 14:49:54 +02:00
James Cole
e229bd8121 Updated translations. 2022-10-22 07:34:05 +02:00
James Cole
d31fa743d0 Add ability to set some transaction flags. Fixes #6526 2022-10-22 07:30:12 +02:00
James Cole
4ad666d964 Add button to remove unused accounts. 2022-10-19 19:57:22 +02:00
James Cole
a96c830e3e Merge branch 'develop' into 5.8-dev 2022-10-17 05:42:49 +02:00
James Cole
9e41cd9c8c Fix spelling 2022-10-17 05:42:05 +02:00
James Cole
b3740e643a Update copyright statements 2022-10-16 19:29:53 +02:00
James Cole
55ac76f663 Update copyright. 2022-10-16 19:22:26 +02:00
James Cole
49560ca6a6 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
#	config/firefly.php
#	public/v1/js/create_transaction.js
#	public/v1/js/edit_transaction.js
#	public/v1/js/profile.js
2022-10-16 19:13:15 +02:00
James Cole
e472c3520d Add comments about floats 2022-10-16 14:44:11 +02:00
James Cole
39654249e4 Merge branch 'develop' into 5.8-dev 2022-10-11 11:07:11 +02:00
James Cole
77759d5580 Update text, remove entry. 2022-10-09 07:09:55 +02:00
James Cole
22971ded84 Fix bad composer file 2022-10-08 10:11:51 +02:00
James Cole
841edcfffb Rebuild frontend 2022-10-08 07:04:41 +02:00
James Cole
05fe503456 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	frontend/src/i18n/tr_TR/index.js
#	public/v1/js/create_transaction.js
#	public/v1/js/edit_transaction.js
#	public/v1/js/profile.js
#	resources/assets/js/locales/bg.json
#	resources/assets/js/locales/cs.json
#	resources/assets/js/locales/de.json
#	resources/assets/js/locales/el.json
#	resources/assets/js/locales/en-gb.json
#	resources/assets/js/locales/en.json
#	resources/assets/js/locales/es.json
#	resources/assets/js/locales/fi.json
#	resources/assets/js/locales/fr.json
#	resources/assets/js/locales/hu.json
#	resources/assets/js/locales/it.json
#	resources/assets/js/locales/ja.json
#	resources/assets/js/locales/nb.json
#	resources/assets/js/locales/nl.json
#	resources/assets/js/locales/pl.json
#	resources/assets/js/locales/pt-br.json
#	resources/assets/js/locales/pt.json
#	resources/assets/js/locales/ro.json
#	resources/assets/js/locales/ru.json
#	resources/assets/js/locales/sk.json
#	resources/assets/js/locales/sv.json
#	resources/assets/js/locales/tr.json
#	resources/assets/js/locales/vi.json
#	resources/assets/js/locales/zh-cn.json
#	resources/assets/js/locales/zh-tw.json
#	resources/lang/bg_BG/firefly.php
#	resources/lang/fr_FR/firefly.php
#	resources/lang/nl_NL/firefly.php
#	resources/lang/ru_RU/firefly.php
2022-10-08 07:03:40 +02:00
James Cole
da71d6172c Fix rule booboo 2022-10-08 05:57:12 +02:00
James Cole
f1457fcda6 New stuff 2022-10-06 06:23:12 +02:00
James Cole
a39553256e Merge branch 'develop' into 5.8-dev 2022-10-06 06:18:25 +02:00
James Cole
7e94f246e3 New translations. 2022-10-04 20:49:29 +02:00
James Cole
44637dfaab Merge 2022-10-04 20:31:57 +02:00
James Cole
ee2b87d5fe Fix sentences. 2022-10-03 20:26:26 +02:00
James Cole
db2485f97a Clean up rule form. 2022-10-03 05:49:25 +02:00
James Cole
38bdd6c36c Final fix, I hope. 2022-10-02 20:27:21 +02:00
James Cole
536e054961 Fix sloppy variable names 2022-10-02 20:23:11 +02:00
James Cole
6dfe93bc19 Fix rule 2022-10-02 20:18:43 +02:00
James Cole
d8a15e41e6 Catch various audit log things 2022-10-02 20:13:32 +02:00
James Cole
ca8a65af60 Display audit logs 2022-10-02 14:37:50 +02:00
James Cole
06cd75ba74 Add description to command. 2022-10-02 06:47:42 +02:00
James Cole
10d2a91d99 Migrate actions 2022-10-02 06:23:31 +02:00
James Cole
f2f3d69aa8 Merge branch 'develop' into 5.8-dev 2022-10-02 05:39:59 +02:00
James Cole
185842a891 Add audit logs for rules. 2022-10-02 05:37:38 +02:00
James Cole
681b0b9046 Update packages 2022-10-01 21:03:06 +02:00
James Cole
5f11272d49 Merge branch 'develop' into 5.8-dev 2022-10-01 19:06:55 +02:00
James Cole
ee9b651f0f Add ability to invite users 2022-10-01 12:21:42 +02:00
James Cole
9bfa52f3ce Merge branch 'develop' into 5.8-dev
And fix rule creation and edit etc
2022-10-01 07:34:30 +02:00
James Cole
5714bd0749 Add reverse button 2022-10-01 07:19:33 +02:00
James Cole
749ce2ca9b Merge branch 'develop' into 5.8-dev 2022-10-01 07:15:17 +02:00
James Cole
697ad5b2b5 no message 2022-09-30 19:56:51 +02:00
James Cole
3b18a29adc Merge branch 'develop' into 5.8-dev 2022-09-30 19:47:09 +02:00
James Cole
36caf5d8ec New translations 2022-09-30 19:46:02 +02:00
James Cole
9b7285ea84 Expand search and add operators. 2022-09-28 07:35:57 +02:00
James Cole
6eaed9829b Sort and cleanup code. 2022-09-25 15:31:58 +02:00
James Cole
3c33ea959e Expand search with negated search options 2022-09-25 15:31:07 +02:00
James Cole
80a732b32b First negative search query 2022-09-24 18:06:01 +02:00
James Cole
a9f2741282 Add ability to move stuff around, fix spelling. 2022-09-24 17:43:49 +02:00
James Cole
600fa388c1 Fix extra notification 2022-09-24 12:17:55 +02:00
James Cole
45d7042405 Add slack support to Firefly III 2022-09-24 12:14:27 +02:00
James Cole
2945f5fcde Expand requirements 2022-09-24 11:43:39 +02:00
James Cole
be1dff49fa Add notifications. 2022-09-24 11:41:07 +02:00
James Cole
665b78ebf5 Expand notifications. 2022-09-24 08:23:07 +02:00
James Cole
416fe0c147 Merge branch 'develop' into 5.8-dev 2022-09-24 07:03:03 +02:00
James Cole
4ca346fc4d Expand notifications 2022-09-23 06:05:22 +02:00
James Cole
d2c52b47f1 Allow setting of notifications. 2022-09-18 16:49:15 +02:00
James Cole
c25b63d87b Fix #4198 2022-09-18 16:28:04 +02:00
James Cole
c120a908f3 Remove available budgets endpoints. 2022-09-18 15:57:24 +02:00
James Cole
07541fa08f Update translations and notifications. 2022-09-18 15:48:28 +02:00
James Cole
0098a9c3c0 Create some empty notifications. 2022-09-18 12:36:35 +02:00
James Cole
9f95d7a76f Fix https://github.com/firefly-iii/firefly-iii/issues/5862 2022-09-18 12:23:20 +02:00
James Cole
67126e46b9 Add webhook code and rebuild. 2022-09-18 10:45:38 +02:00
James Cole
c4c178b39d Merge branch 'develop' into 5.8-dev 2022-09-18 05:54:49 +02:00
James Cole
d9245f06f7 Add option to delete webhooks. 2022-09-18 05:49:56 +02:00
James Cole
625ad14d7d Add code to create webhook. 2022-09-17 16:54:13 +02:00
James Cole
23e5cf1b34 Update languages 2022-09-17 07:14:50 +02:00
James Cole
ad9efde2d0 Expand webhook code. 2022-09-17 07:08:30 +02:00
James Cole
10f2cf2481 Update webhooks 2022-09-17 07:07:25 +02:00
James Cole
f0416f5322 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	config/firefly.php
2022-09-11 08:59:34 +02:00
James Cole
7104433a68 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Exceptions/Handler.php
#	config/firefly.php
2022-09-07 18:35:01 +02:00
James Cole
6add8765c4 Merge branch 'develop' into 5.8-dev 2022-08-23 05:44:25 +02:00
James Cole
4d12e6b58b New migration command. 2022-08-23 05:43:40 +02:00
James Cole
7cf6066afd Merge branch 'develop' into 5.8-dev 2022-08-21 10:42:01 +02:00
James Cole
7cabc5db57 Merge pull request #6325 from firefly-iii/dependabot/composer/develop/laravel/sanctum-3.0.1
Bump laravel/sanctum from 2.15.1 to 3.0.1
2022-08-15 06:24:40 +02:00
James Cole
0ef99077d8 Merge branch 'develop' into 5.8-dev 2022-08-14 15:42:38 +02:00
James Cole
322b6d19d8 Add new roles. 2022-08-14 15:41:06 +02:00
dependabot[bot]
8045d3c170 Bump laravel/sanctum from 2.15.1 to 3.0.1
Bumps [laravel/sanctum](https://github.com/laravel/sanctum) from 2.15.1 to 3.0.1.
- [Release notes](https://github.com/laravel/sanctum/releases)
- [Changelog](https://github.com/laravel/sanctum/blob/3.x/CHANGELOG.md)
- [Upgrade guide](https://github.com/laravel/sanctum/blob/3.x/UPGRADE.md)
- [Commits](https://github.com/laravel/sanctum/compare/v2.15.1...v3.0.1)

---
updated-dependencies:
- dependency-name: laravel/sanctum
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 16:14:39 +00:00
James Cole
ae0a675668 Merge branch 'develop' into 5.8-dev 2022-08-07 12:31:09 +02:00
James Cole
4d1b21f70d Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
2022-08-03 05:40:31 +02:00
James Cole
39a928d7f4 Merge branch 'develop' into 5.8-dev 2022-07-26 20:28:32 +02:00
James Cole
443b76388e Expand frontend 2022-07-25 05:42:49 +02:00
James Cole
4e394d6017 Merge branch 'develop' into 5.8-dev 2022-07-24 08:16:27 +02:00
James Cole
ea808b441b Add first budget view 2022-07-23 20:13:24 +02:00
James Cole
a464ad015f Merge branch 'develop' into 5.8-dev 2022-07-23 19:26:15 +02:00
James Cole
72ef7ac5e4 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	frontend/yarn.lock
2022-07-21 16:56:27 +02:00
James Cole
20ab457222 Various new stuff 2022-07-21 16:41:28 +02:00
James Cole
eb8f595541 Fix transaction lists. 2022-07-17 08:51:53 +02:00
James Cole
6b6107fb00 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	config/firefly.php
#	frontend/src/i18n/nb_NO/index.js
#	frontend/src/i18n/nl_NL/index.js
#	frontend/src/i18n/ru_RU/index.js
2022-07-17 08:18:18 +02:00
James Cole
1406abe7ae Merge branch 'develop' into 5.8-dev
# Conflicts:
#	yarn.lock
2022-07-16 09:46:43 +02:00
James Cole
4e47641c76 Update packages 2022-07-16 09:26:30 +02:00
James Cole
0e8d2c5f0a Rebuild frontend 2022-07-16 09:26:19 +02:00
James Cole
9493046212 Add strict types, add debug info 2022-07-16 09:25:10 +02:00
James Cole
5c3b4d1663 Uninstall vuex 2022-07-10 06:29:01 +02:00
James Cole
5e8671d24b Expand code and upgrade. 2022-07-10 06:23:59 +02:00
James Cole
9118a153d5 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
#	yarn.lock
2022-07-09 17:25:39 +02:00
James Cole
56ff25285c Expand frontend and API 2022-07-05 19:12:22 +02:00
James Cole
196c504b3d Fix nullpointer 2022-07-03 08:45:08 +02:00
James Cole
68755137e4 Fix routes 2022-07-03 08:33:01 +02:00
James Cole
19bef9b725 Update command. 2022-07-03 08:31:17 +02:00
James Cole
34e006d87b Also update orphans. 2022-07-03 08:24:04 +02:00
James Cole
d215510124 Expand data quality command. 2022-07-03 08:16:51 +02:00
Sander Dorigo
9652c86782 tight param for api macro 2022-06-25 14:37:15 +02:00
Sander Dorigo
cea8c4c217 FIx issue with rule action 2022-06-25 14:36:53 +02:00
Sander Dorigo
03637a080c Merge branch '5.8-dev' of github.com:firefly-iii/firefly-iii into 5.8-dev 2022-06-25 14:36:34 +02:00
James Cole
e27cffcf31 Empty controllers. 2022-06-25 14:24:14 +02:00
James Cole
f52144d8d9 Expand code. 2022-06-25 14:23:52 +02:00
Sander Dorigo
b12d72bef6 New code for API 2 2022-06-23 09:33:43 +02:00
James Cole
e0c9d3627e Fix bills. 2022-06-10 17:45:25 +02:00
James Cole
70ddbd743c Small change in conversion 2022-06-10 17:39:00 +02:00
James Cole
5a02006a42 Remove code. 2022-06-10 17:35:34 +02:00
James Cole
1b2106d43b Better handling of DB errors. 2022-06-10 06:00:01 +02:00
James Cole
86d15435a5 Update frontend build. 2022-06-09 20:31:44 +02:00
James Cole
beed44f065 Add cron job to download transaction currencies from Azure (if enabled by user). 2022-06-09 17:47:01 +02:00
James Cole
de3376c966 Fix https://github.com/firefly-iii/firefly-iii/issues/6148 2022-06-09 05:56:50 +02:00
James Cole
313676e3be Add transaction lists 2022-06-09 05:45:45 +02:00
James Cole
86d4549874 Updated code. 2022-06-07 19:46:09 +02:00
James Cole
c3bd46d7c0 Preference can be turned on and off (is always off now) 2022-06-07 19:24:08 +02:00
James Cole
46e97f95f9 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	composer.lock
2022-06-06 17:41:34 +02:00
James Cole
f13dd18b6f Update boxes. 2022-06-06 17:39:50 +02:00
James Cole
c916fbbee9 Add code for budgets 2022-06-06 16:41:54 +02:00
James Cole
d007db166a Various code for currency exchange rate support 2022-06-06 14:40:19 +02:00
James Cole
9c08b9f1d3 Small update to frontend and associated code. 2022-06-05 20:02:43 +02:00
James Cole
6b2619c5cc Clean up index and add some new strings. 2022-06-05 16:18:28 +02:00
James Cole
2ace09eb49 Update version 2022-06-05 15:39:31 +02:00
James Cole
47167c06ae Rebuild frontend. 2022-06-05 14:09:30 +02:00
James Cole
2d62fcac06 Fix final modals. 2022-06-05 14:05:02 +02:00
James Cole
eeda74d79c Update templates 2022-06-05 13:37:43 +02:00
James Cole
4cf23a954f New view and new login layout 2022-06-05 11:50:45 +02:00
James Cole
0bc1e6dbaa Add local css & js 2022-06-05 11:50:23 +02:00
James Cole
7da0c94e45 Update packages 2022-06-05 11:49:11 +02:00
James Cole
69b1985ac0 Update packages 2022-06-04 21:07:57 +02:00
James Cole
61eb8f325e Merge branch 'develop' into 5.8-dev
# Conflicts:
#	frontend/package.json
#	frontend/yarn.lock
2022-06-04 21:05:56 +02:00
James Cole
35a8016744 Fix store references 2022-05-08 09:32:07 +02:00
James Cole
9020ed158c Various fixes 2022-05-07 19:26:37 +02:00
James Cole
2e3071d40f Merge branch 'develop' into 5.8-dev 2022-05-07 17:12:31 +02:00
James Cole
20852acc78 Merge branch 'develop' into 5.8-dev 2022-05-02 18:55:17 +02:00
James Cole
0babe84a33 Frontend updates 2022-05-02 18:54:43 +02:00
James Cole
8c64c1d5e4 Merge branch 'develop' into 5.8-dev 2022-04-30 13:00:52 +02:00
James Cole
cfcf860438 Restore enums, replace one to enforce php 8.1 compatibility. 2022-04-13 16:27:01 +02:00
James Cole
71d53fbda4 Revert "Replace various enums"
This reverts commit 089514908d.
2022-04-13 16:23:02 +02:00
James Cole
4a3c2d5d97 Rename some enums 2022-04-13 16:22:36 +02:00
James Cole
089514908d Replace various enums 2022-04-13 14:39:13 +02:00
James Cole
9cfced1732 Move constants to dedicated enum 2022-04-13 14:21:33 +02:00
James Cole
a2627b5158 Move constants to dedicated enum 2022-04-13 14:21:17 +02:00
James Cole
342e9a263a Move constants to dedicated enum 2022-04-13 14:20:59 +02:00
James Cole
1d90748e4d Move constants to dedicated enum 2022-04-13 14:20:31 +02:00
James Cole
40efaa1017 Move budget rollover types to enum class. 2022-04-13 14:20:07 +02:00
James Cole
641683d431 Move account types to enum class. 2022-04-13 14:19:42 +02:00
James Cole
b10c1044bd Merge branch 'develop' into 5.8-dev 2022-04-13 14:11:48 +02:00
James Cole
5c069caea1 Create first enum 2022-04-13 14:09:23 +02:00
James Cole
e78f2213ed Require php 8.1 2022-04-13 14:09:14 +02:00
2036 changed files with 132729 additions and 37346 deletions

View File

@@ -60,7 +60,7 @@ APP_LOG_LEVEL=info
# Use "pgsql" for PostgreSQL
# Use "mysql" for MySQL and MariaDB.
# Use "sqlite" for SQLite.
DB_CONNECTION=sqlite_test
DB_CONNECTION=sqlite
# MySQL supports SSL. You can configure it here.
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
@@ -127,7 +127,6 @@ MAIL_ENCRYPTION=null
MAILGUN_DOMAIN=
MAILGUN_SECRET=
# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
MAILGUN_ENDPOINT=api.mailgun.net
@@ -136,7 +135,6 @@ MAILGUN_ENDPOINT=api.mailgun.net
MANDRILL_SECRET=
SPARKPOST_SECRET=
# Firefly III can send you the following messages
SEND_REGISTRATION_MAIL=true
SEND_ERROR_MESSAGE=true
@@ -223,7 +221,6 @@ ADLDAP_ADMIN_PASSWORD=
ADLDAP_ACCOUNT_PREFIX=
ADLDAP_ACCOUNT_SUFFIX=
# LDAP authentication settings.
ADLDAP_PASSWORD_SYNC=false
ADLDAP_LOGIN_FALLBACK=false

1
.ci/php-cs-fixer/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
vendor

View File

@@ -0,0 +1,44 @@
<?php
/*
* .php-cs-fixer.php
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
$current = __DIR__;
$paths = [
$current.'/../../app',
$current.'/../../config',
$current.'/../../database',
$current.'/../../routes',
$current.'/../../tests',
$current.'/../../resources/lang',
];
$finder = PhpCsFixer\Finder::create()
->in($paths);
$config = new PhpCsFixer\Config();
return $config->setRules([
'@PSR12' => true,
'declare_strict_types' => true,
'strict_param' => true,
'array_syntax' => ['syntax' => 'short'],
])
->setFinder($finder);

View File

@@ -0,0 +1,5 @@
{
"require": {
"friendsofphp/php-cs-fixer": "^3.12"
}
}

2059
.ci/php-cs-fixer/composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

37
.ci/phpcs.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
#
# phpstan.sh
# Copyright (c) 2021 james@firefly-iii.org
#
# This file is part of Firefly III (https://github.com/firefly-iii).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# Install composer packages
#composer install --no-scripts --no-ansi
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# enable test .env file.
# cp .ci/.env.ci .env
# clean up php code
cd $SCRIPT_DIR/php-cs-fixer
composer update
PHP_CS_FIXER_IGNORE_ENV=true ./vendor/bin/php-cs-fixer fix --config $SCRIPT_DIR/php-cs-fixer/.php-cs-fixer.php --allow-risky=yes
cd $SCRIPT_DIR/..
exit 0

View File

@@ -8,26 +8,63 @@ parameters:
ignoreErrors:
- '#is not allowed to extend#'
- '#is neither abstract nor final#'
- '#Control structures using switch should not be used\.#'
- '#has a nullable return type declaration#'
- '#with a nullable type declaration#'
- '#with null as default value#'
- '#Constructor in [a-zA-Z0-9\\_]+ has parameter \$[a-zA-Z0-9\\_]+ with default value#'
- '#is not covariant with PHPDoc type array#'
-
message: '#Function compact\(\) should not be used.#'
message: '#but containers should not be injected#'
paths:
- ../app/Http/Controllers
- ../app/Support/Http/Controllers/RenderPartialViews.php
- ../app/Support/Form/FormSupport.php
- ../app/Support/Form/CurrencyForm.php
- ../app/Support/Form/AccountForm.php
- ../app/Support/Authentication/RemoteUserGuard.php
-
message: '#Control structures using switch should not be used.#'
paths:
- ../app/Api/V1/Controllers/Data/DestroyController.php
- ../app/Console/Commands/Correction/FixAccountTypes.php
- ../app/Console/Commands/Upgrade/OtherCurrenciesCorrections.php
- ../app/Exceptions/GracefulNotFoundHandler.php
- ../app/Generator/Webhook/StandardMessageGenerator.php
- ../app/Support/Amount.php
- ../app/Support/Navigation.php
- ../app/Support/ParseDateString.php
- ../app/Support/Search/AccountSearch.php
- ../app/Support/Search/OperatorQuerySearch.php
- ../app/Support/Twig/General.php
- ../app/Transformers/RecurrenceTransformer.php
- ../app/Validation/AccountValidator.php
- ../app/Validation/RecurrenceValidation.php
- ../app/Validation/TransactionValidation.php
-
message: '#Function compact\(\) should not be used#'
paths:
- ../app/Generator/Report/Account/MonthReportGenerator.php
- ../app/Generator/Report/Audit/MonthReportGenerator.php
- ../app/Generator/Report/Budget/MonthReportGenerator.php
- ../app/Generator/Report/Category/MonthReportGenerator.php
- ../app/Generator/Report/Standard/MonthReportGenerator.php
- ../app/Generator/Report/Standard/MultiYearReportGenerator.php
- ../app/Generator/Report/Standard/YearReportGenerator.php
- ../app/Generator/Report/Tag/MonthReportGenerator.php
- ../app/Http/Controllers/Account/*.php
- ../app/Http/Controllers/Admin/*.php
- ../app/Http/Controllers/*.php
- ../app/Support/ExpandedForm.php
- ../app/Generator/Report
- ../app/Support/Form/AccountForm.php
- ../app/Support/Form/CurrencyForm.php
- ../app/Support/Form/FormSupport.php
-
message: '#Either catch a more specific exception#'
paths:
- ../app/Support/Form/FormSupport.php
paths:
- ../app
- ../database
- ../routes
- ../config
- ../bootstrap/app.php
# The level 8 is the highest level. original was 5
level: 3
level: 4

View File

@@ -23,11 +23,13 @@
# Install composer packages
#composer install --no-scripts --no-ansi
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# enable test .env file.
cp .ci/.env.ci .env
# cp .ci/.env.ci .env
# Do static code analysis.
# ./vendor/bin/phpstan analyse -c .ci/phpstan.neon --no-progress
./vendor/bin/phpstan analyse -c .ci/phpstan.neon
./vendor/bin/phpstan analyse -c .ci/phpstan.neon --xdebug --error-format=table > phpstan-report.txt
exit 0
echo 'The PHPstan report can be found in phpstan-report.txt'

View File

@@ -19,15 +19,43 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# enable test .env file.
cp .ci/.env.ci ../.env
cp $SCRIPT_DIR/../.env $SCRIPT_DIR/../.env.backup
cp $SCRIPT_DIR/.env.ci $SCRIPT_DIR/../.env
COVERAGE=false
RESET=false
FILE=storage/database/database.sqlite
while getopts "cr" o; do
case "${o}" in
c) COVERAGE=true;;
r) RESET=true;;
esac
done
# reset if necessary.
if [ $RESET = "true" ] ; then
rm -f $FILE
fi
# download test database
# TODO no longer exists
wget --quiet https://raw.githubusercontent.com/firefly-iii/test-data/main/test_db.sqlite -o storage/database/test_db.sqlite
if [ -f "$FILE" ]; then
echo 'DB exists, will use it'
else
echo 'Download new DB'
wget --quiet https://github.com/firefly-iii/test-fixtures/raw/main/test-database.sqlite -O $FILE
fi
# run phpunit
./vendor/bin/phpunit --configuration phpunit.coverage.xml
if [ $COVERAGE = "true" ] ; then
echo 'Run with coverage'
XDEBUG_MODE=coverage ./vendor/bin/phpunit --configuration phpunit.xml --coverage-html $SCRIPT_DIR/coverage
else
echo 'Run without coverage'
./vendor/bin/phpunit --configuration phpunit.xml
fi
exit 0
# restore .env file
mv $SCRIPT_DIR/../.env.backup $SCRIPT_DIR/../.env

View File

@@ -1,4 +1,5 @@
bg_BG
ca_ES
cs_CZ
da_DK
de_DE

View File

@@ -7,6 +7,7 @@ APP_DEBUG=false
# This should be your email address.
# If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE
# The variable is used in some errors shown to users who aren't admin.
SITE_OWNER=mail@example.com
# The encryption key for your sessions. Keep this very secure.
@@ -157,9 +158,7 @@ MANDRILL_SECRET=
SPARKPOST_SECRET=
# Firefly III can send you the following messages.
SEND_REGISTRATION_MAIL=true
SEND_ERROR_MESSAGE=true
SEND_LOGIN_NEW_IP_WARNING=true
# These messages contain (sensitive) transaction information:
SEND_REPORT_JOURNALS=true
@@ -169,6 +168,12 @@ SEND_REPORT_JOURNALS=true
# and disabled by default.
ENABLE_EXTERNAL_MAP=false
# Set this value to true if you want Firefly III to download currency exchange rates
# from the internet. These rates are hosted by the creator of Firefly III inside
# an Azure Storage Container.
# Not all currencies may be available. Rates may be wrong.
ENABLE_EXTERNAL_RATES=false
# The map will default to this location:
MAP_DEFAULT_LAT=51.983333
MAP_DEFAULT_LONG=5.916667

View File

@@ -16,7 +16,7 @@ body:
options:
- label: ... [the documentation](https://docs.firefly-iii.org/) does not mention anything about my problem
- label: ... there are no open or closed issues that are related to my problem
- label: ... it's [definitely me, not you](https://github.com/firefly-iii/firefly-iii/blob/main/.github/its_you_not_me.md)
- label: ... it's [definitely a Firefly III issue, not me](https://github.com/firefly-iii/firefly-iii/blob/main/.github/its_you_not_me.md)
- type: textarea
attributes:
@@ -27,18 +27,18 @@ body:
- type: textarea
attributes:
label: Expected behaviour
description: Please describe precisely what you'd expect to happen.
label: Debug information
description: Please provide the table from the /debug page. Do not add backticks or quotes.
placeholder: The output from the /debug page
validations:
required: true
- type: textarea
attributes:
label: Debug information
description: Please provide the table from the /debug page
placeholder: The output from the /debug page
label: Expected behaviour
description: Please describe precisely what you'd expect to happen. Be specific.
validations:
required: true
required: false
- type: textarea
attributes:

View File

@@ -8,9 +8,9 @@ body:
options:
- label: I've read the [support guidelines](https://github.com/firefly-iii/firefly-iii/blob/main/.github/support.md)
required: true
- label: My request is not listed as [a very good idea, but unfortunately...](https://docs.firefly-iii.org/firefly-iii/about-firefly-iii/what-its-not/)
- label: My request is not listed as [a very good idea, but unfortunately...](https://docs.firefly-iii.org/firefly-iii/more-information/what-its-not/)
required: true
- label: I've used [the search](https://github.com/firefly-iii/firefly-iii/issues?q=is%3Aissue) and this has not been discussed before.
- label: I've used [the search](https://github.com/firefly-iii/firefly-iii/issues?q=is%3Aissue) and this has not been requested before.
required: true
- type: textarea
@@ -18,9 +18,9 @@ body:
label: Description
description: Please describe your feature request
placeholder: |
- I would like Firefly III to do ABC.
- What if you would add feature XYZ?
- Firefly III doesn't do DEF.
- I would like Firefly III to do (thing).
- What if you would add feature (feature here)?
- Firefly III doesn't do (thing).
validations:
required: true

57
.github/mergify.yml vendored
View File

@@ -1,3 +1,4 @@
---
pull_request_rules:
- name: Close all on main
conditions:
@@ -5,4 +6,58 @@ pull_request_rules:
- -author~=^dependabot(|-preview)\[bot\]$
actions:
close:
message: Please do not open PR's on the `main` branch, but on the `develop` branch only. Thank you!
message: Please do not open PR's on the `main` branch, but on the `develop`
branch only. Thank you!
- name: No translations
conditions:
- -author~=^dependabot(|-preview)\[bot\]$
- base=develop
- or:
- files~=^resources/lang/bg_BG
- files~=^resources/lang/ca_ES
- files~=^resources/lang/cs_CZ
- files~=^resources/lang/da_DK
- files~=^resources/lang/de_DE
- files~=^resources/lang/el_GR
- files~=^resources/lang/en_GB
- files~=^resources/lang/es_ES
- files~=^resources/lang/et_EE
- files~=^resources/lang/fa_IR
- files~=^resources/lang/fi_FI
- files~=^resources/lang/fr_FR
- files~=^resources/lang/he_IL
- files~=^resources/lang/hu_HU
- files~=^resources/lang/id_ID
- files~=^resources/lang/is_IS
- files~=^resources/lang/it_IT
- files~=^resources/lang/ja_JP
- files~=^resources/lang/ko_KR
- files~=^resources/lang/lt_LT
- files~=^resources/lang/nb_NO
- files~=^resources/lang/nl_NL
- files~=^resources/lang/pl_PL
- files~=^resources/lang/pt_BR
- files~=^resources/lang/pt_PT
- files~=^resources/lang/ro_RO
- files~=^resources/lang/ru_RU
- files~=^resources/lang/si_LK
- files~=^resources/lang/sk_SK
- files~=^resources/lang/sl_SI
- files~=^resources/lang/sr_CS
- files~=^resources/lang/sv_SE
- files~=^resources/lang/th_TH
- files~=^resources/lang/tlh_AA
- files~=^resources/lang/tr_TR
- files~=^resources/lang/uk_UA
- files~=^resources/lang/vi_VN
- files~=^resources/lang/zh_CN
- files~=^resources/lang/zh_TW
actions:
comment:
message: >
Please do not submit translated strings in your PR. If you need new
sentences to be translated, add them to the `en_US` language strings.
New or changed translations for other languages can be submitted at
https://crowdin.com/project/firefly-iii
Thank you!

94
.github/security.md vendored
View File

@@ -1,53 +1,101 @@
# Security Policy
Firefly III is an application to manage your personal finances. As such, the developer has adopted this security disclosure and response policy to ensure that critical issues are responsibly handled.
Firefly III is an application to manage your personal finances. As such, the developer has adopted this security
disclosure and response policy to ensure that critical issues are responsibly handled.
## Supported Versions
Only the latest Firefly III release is maintained. Applicable fixes, including security fixes, will not backported to older release branches. Please refer to [releases.md](https://github.com/firefly-iii/firefly-iii/blob/main/releases.md) for details.
Only the latest Firefly III release is maintained. Applicable fixes, including security fixes, will not backported to
older release branches. Please refer to [releases.md](https://github.com/firefly-iii/firefly-iii/blob/main/releases.md)
for details.
## Reporting a Vulnerability - Private Disclosure Process
Security is of the highest importance and all security vulnerabilities or suspected security vulnerabilities should be reported to Firefly III privately, to minimize attacks against current users of Firefly III before they are fixed. Vulnerabilities will be investigated and patched on the next patch (or minor) release as soon as possible. This information could be kept entirely internal to the project.
If you know of a publicly disclosed security vulnerability for Firefly III, please **IMMEDIATELY** contact james@firefly-iii.org to inform the Firefly III developer. You can use my [GPG key](https://keybase.io/jc5) for extra security.
Security is of the highest importance and all security vulnerabilities or suspected security vulnerabilities should be
reported to Firefly III privately, to minimize attacks against current users of Firefly III before they are fixed.
Vulnerabilities will be investigated and patched on the next patch (or minor) release as soon as possible. This
information could be kept entirely internal to the project.
If you know of a publicly disclosed security vulnerability for Firefly III, please **IMMEDIATELY** contact
james@firefly-iii.org to inform the Firefly III developer. You can use my [GPG key](https://keybase.io/jc5) for extra
security.
**IMPORTANT: Do not file public issues on GitHub for security vulnerabilities**
To report a vulnerability or a security-related issue, please email the private address james@firefly-iii.org with the details of the vulnerability. The email will be received by the developer of Firefly III. Emails will be addressed within 3 business days, including a detailed plan to investigate the issue and any potential workarounds to perform in the meantime. Do not report non-security-impacting bugs through this channel. Use [GitHub issues](https://github.com/firefly-iii/firefly-iii/issues/new/choose) instead.
To report a vulnerability or a security-related issue, please email the private address james@firefly-iii.org with the
details of the vulnerability. The email will be received by the developer of Firefly III. Emails will be addressed
within 3 business days, including a detailed plan to investigate the issue and any potential workarounds to perform in
the meantime. Do not report non-security-impacting bugs through this channel.
Use [GitHub issues](https://github.com/firefly-iii/firefly-iii/issues/new/choose) instead.
### Proposed Email Content
Provide a descriptive subject line and in the body of the email include the following information:
* Basic identity information, such as your name and your affiliation or company.
* Detailed steps to reproduce the vulnerability (POC scripts, screenshots, and compressed packet captures are all helpful to us).
* Description of the effects of the vulnerability on Firefly III and the related hardware and software configurations, so that the developer can reproduce it.
* Detailed steps to reproduce the vulnerability (POC scripts, screenshots, and compressed packet captures are all
helpful to us).
* Description of the effects of the vulnerability on Firefly III and the related hardware and software configurations,
so that the developer can reproduce it.
* How the vulnerability affects Firefly III usage and an estimation of the attack surface, if there is one.
* List other projects or dependencies that were used in conjunction with Firefly III to produce the vulnerability.
## When to report a vulnerability
* When you think Firefly III has a potential security vulnerability.
* When you suspect a potential vulnerability but you are unsure that it impacts Firefly III.
* When you know of or suspect a potential vulnerability on another project that is used by Firefly III. For example Firefly III has a dependency on Docker, MySQL, etc.
* When you know of or suspect a potential vulnerability on another project that is used by Firefly III. For example
Firefly III has a dependency on Docker, MySQL, etc.
## Patch, Release, and Disclosure
The Firefly III developer will respond to vulnerability reports as follows:
1. The developer will investigate the vulnerability and determine its effects and criticality.
2. If the issue is not deemed to be a vulnerability, the developer will follow up with a detailed reason for rejection.
3. The developer will initiate a conversation with the reporter within 3 business days.
4. If a vulnerability is acknowledged and the timeline for a fix is determined, the developer will work on a plan to communicate with the appropriate community, including identifying mitigating steps that affected users can take to protect themselves until the fix is rolled out.
5. The developer will also create a [CVSS](https://www.first.org/cvss/specification-document) using the [CVSS Calculator](https://www.first.org/cvss/calculator/3.0). The developer makes the final call on the calculated CVSS; it is better to move quickly than making the CVSS perfect. Issues may also be reported to [Mitre](https://cve.mitre.org/) using this [scoring calculator](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator). The CVE will initially be set to private.
6. The developer will work on fixing the vulnerability and perform internal testing before preparing to roll out the fix.
7. A public disclosure date is negotiated by the Firefly III developer and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation or patch is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for distributor coordination. The timeframe for disclosure is from immediate (especially if its already publicly known) to a few weeks. For a critical vulnerability with a straightforward mitigation, we expect report date to public disclosure date to be on the order of 14 business days. The Firefly III developer holds the final say when setting a public disclosure date.
9. Once the fix is confirmed, the developer will patch the vulnerability in the next patch or minor release. Upon release of the patched version of Firefly III, we will follow the **Public Disclosure Process**.
1. The developer will investigate the vulnerability and determine its effects and criticality.
2. If the issue is not deemed to be a vulnerability, the developer will follow up with a detailed reason for rejection.
3. The developer will initiate a conversation with the reporter within 3 business days.
4. If a vulnerability is acknowledged and the timeline for a fix is determined, the developer will work on a plan to
communicate with the appropriate community, including identifying mitigating steps that affected users can take to
protect themselves until the fix is rolled out.
5. The developer will also create a [CVSS](https://www.first.org/cvss/specification-document) using
the [CVSS Calculator](https://www.first.org/cvss/calculator/3.0). The developer makes the final call on the
calculated CVSS; it is better to move quickly than making the CVSS perfect. Issues may also be reported
to [Mitre](https://cve.mitre.org/) using
this [scoring calculator](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator). The CVE will initially be set to
private.
6. The developer will work on fixing the vulnerability and perform internal testing before preparing to roll out the
fix.
7. A public disclosure date is negotiated by the Firefly III developer and the bug submitter. We prefer to fully
disclose the bug as soon as possible once a user mitigation or patch is available. It is reasonable to delay
disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for distributor
coordination. The timeframe for disclosure is from immediate (especially if its already publicly known) to a few
weeks. For a critical vulnerability with a straightforward mitigation, we expect report date to public disclosure
date to be on the order of 14 business days. The Firefly III developer holds the final say when setting a public
disclosure date.
8. Once the fix is confirmed, the developer will patch the vulnerability in the next patch or minor release. Upon
release of the patched version of Firefly III, we will follow the **Public Disclosure Process**.
### Public Disclosure Process
The developer publishes a public [advisory](https://github.com/firefly-iii/firefly-iii/security/advisories) to the Firefly III community via GitHub. In most cases, additional communication via Mastodon, Gitter and other channels will assist in educating Firefly III users and rolling out the patched release to affected users.
The develop will also publish any mitigating steps users can take until the fix can be applied to their Firefly III instances.
The developer publishes a public [advisory](https://github.com/firefly-iii/firefly-iii/security/advisories) to the
Firefly III community via GitHub. In most cases, additional communication via Mastodon, Gitter and other channels will
assist in educating Firefly III users and rolling out the patched release to affected users.
The developer will also publish any mitigating steps users can take until the fix can be applied to their Firefly III
instances.
## Confidentiality, integrity and availability
We consider vulnerabilities leading to the compromise of data confidentiality, elevation of privilege, or integrity to be our highest priority concerns. Availability, in particular in areas relating to DoS and resource exhaustion, is also a serious security concern. The Firefly III developer takes all vulnerabilities, potential vulnerabilities, and suspected vulnerabilities seriously and will investigate them in an urgent and expeditious manner.
Note that we do not currently consider the default settings for Firefly III to be secure-by-default. It is necessary for operators to explicitly configure settings, role based access control, and other resource related features in Firefly III to provide a hardened Firefly III environment. We will not act on any security disclosure that relates to a lack of safe defaults. Over time, we will work towards improved safe-by-default configuration, taking into account backwards compatibility.
We consider vulnerabilities leading to the compromise of data confidentiality, elevation of privilege, or integrity to
be our highest priority concerns. Availability, in particular in areas relating to DoS and resource exhaustion, is also
a serious security concern. The Firefly III developer takes all vulnerabilities, potential vulnerabilities, and
suspected vulnerabilities seriously and will investigate them in an urgent and expeditious manner.
Note that we do not currently consider the default settings for Firefly III to be secure-by-default. It is necessary for
operators to explicitly configure settings, role based access control, and other resource related features in Firefly
III to provide a hardened Firefly III environment. We will not act on any security disclosure that relates to a lack of
safe defaults. Over time, we will work towards improved safe-by-default configuration, taking into account backwards
compatibility.
## Credits

View File

@@ -1,18 +1,12 @@
name: Sonarcloud CI
on:
push:
branches:
- main
- develop
- 5.8-dev
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
jobs:
sonarcloud:
name: SonarCloud
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: SonarCloud Scan

View File

@@ -12,18 +12,18 @@ jobs:
timeout-minutes: 10
steps:
- name: Prune cancelled/skipped runs
uses: actions/github-script@v4
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GH_ACTIONS_PERSONAL_ACCESS_TOKEN }}
script: |
const cancelled = await github.actions.listWorkflowRunsForRepo({
const cancelled = await github.rest.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
per_page: 100,
repo: context.repo.repo,
status: 'cancelled',
});
const skipped = await github.actions.listWorkflowRunsForRepo({
const skipped = await github.rest.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
per_page: 100,
repo: context.repo.repo,
@@ -33,7 +33,7 @@ jobs:
for (const response of [cancelled, skipped]) {
for (const run of response.data.workflow_runs) {
console.log(`Run id ${run.id} of '${run.name}' is a cancelled/skipped run. Deleting...`);
await github.actions.deleteWorkflowRun({
await github.rest.actions.deleteWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run.id
@@ -42,7 +42,7 @@ jobs:
}
- name: Prune runs older than 3 days
uses: actions/github-script@v4
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GH_ACTIONS_PERSONAL_ACCESS_TOKEN }}
script: |
@@ -67,7 +67,7 @@ jobs:
for (const workflow of workflows) {
for (let page = 0; page < pages; page += 1) {
let response = await github.actions.listWorkflowRuns({
let response = await github.rest.actions.listWorkflowRuns({
owner: context.repo.owner,
page: page,
per_page: 100,
@@ -88,7 +88,7 @@ jobs:
for (const run of runs_to_delete) {
console.log(`Run id ${run[0]} of '${run[1]}' is older than ${days_to_expiration} days. Deleting...`);
try {
await github.actions.deleteWorkflowRun({
await github.rest.actions.deleteWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run[0]

View File

@@ -1,21 +1,21 @@
name: "Reply to closed issue"
on:
issues:
types:
on:
issues:
types:
- closed
jobs:
auto_comment:
jobs:
auto_comment:
runs-on: ubuntu-latest
steps:
-
steps:
-
uses: aws-actions/closed-issue-message@v1
with:
with:
message: |
Hi there! This is an automatic reply. `Share and enjoy`
This issue is now closed. Please be aware that closed issues are not actively monitored. If you reply, you may get no response.
- If the original bug is not actually fixed, please feel free to open a new ticket. Please refer to this issue for clarity.
- If the original bug is not actually fixed, please feel free to open a new issue. Please refer to this issue for clarity.
- Follow-up questions can also be posted in a new [discussion](https://github.com/firefly-iii/firefly-iii/discussions/)
Thank you for your consideration.

View File

@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v1
uses: actions/dependency-review-action@v3

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Copy .env
run: test -f .env || cp .ci/.env.ci .env
- name: Prepare dependencies
@@ -51,7 +51,7 @@ jobs:
- prepare
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Copy .env
run: test -f .env || cp .ci/.env.ci .env
- name: Download database
@@ -86,7 +86,7 @@ jobs:
- prepare
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Copy .env
run: test -f .env || cp .ci/.env.ci .env
- name: Download database
@@ -120,7 +120,7 @@ jobs:
- prepare
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Copy .env
run: test -f .env || cp .ci/.env.ci .env
- name: Download database

View File

@@ -15,7 +15,16 @@ jobs:
pull-requests: write # for dessant/lock-threads to lock PRs
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
- uses: dessant/lock-threads@v4
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: '90'
issue-comment: >
Hi there! This is an automatic reply. `Share and enjoy`
This issue is now `locked` :lock:.
- If you feel there is more to be said about this specific issue, please feel free to open a new issue. Please refer to this issue for clarity.
- Follow-up questions and comments can also be posted in a new [discussion](https://github.com/firefly-iii/firefly-iii/discussions/)
Thank you for your consideration.

37
.github/workflows/qodana.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Qodana
on:
workflow_dispatch:
push:
branches:
- main
- develop
pull_request:
types: [ opened, synchronize, reopened ]
jobs:
qodana:
runs-on: ubuntu-latest
name: 'Qodana Scan'
steps:
- name: Setup PHP with no coverage driver
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
coverage: none
extensions: bcmath, intl
env:
update: true
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Install dependencies
run: |
composer install --no-scripts
cp .env.example .env
php artisan key:generate
php artisan clear-compiled
php artisan ide-helper:generate;
- name: 'Qodana Scan'
uses: JetBrains/qodana-action@main
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

View File

@@ -18,13 +18,17 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
Hi there! This is an automatic reply. `Share and enjoy`
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Thank you for your contributions.
stale-pr-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
Hi there! This is an automatic reply. `Share and enjoy`
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Thank you for your contributions.
days-before-stale: 14
days-before-close: 7
exempt-issue-labels: 'enhancement,feature,bug,announcement,layout-v3'

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@ npm-debug.log
yarn-error.log
.env
/.ci/php-cs-fixer/vendor
/.ci/coverage

View File

@@ -65,9 +65,9 @@ class AccountController extends Controller
/**
* Documentation for this endpoint:
* https://api-docs.firefly-iii.org/#/autocomplete/getAccountsAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getAccountsAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
* @throws JsonException
@@ -82,7 +82,7 @@ class AccountController extends Controller
$date = $data['date'] ?? today(config('app.timezone'));
$return = [];
$result = $this->repository->searchAccount((string) $query, $types, $data['limit']);
$result = $this->repository->searchAccount((string)$query, $types, $data['limit']);
$defaultCurrency = app('amount')->getDefaultCurrency();
/** @var Account $account */
@@ -96,7 +96,7 @@ class AccountController extends Controller
}
$return[] = [
'id' => (string) $account->id,
'id' => (string)$account->id,
'name' => $account->name,
'name_with_balance' => $nameWithBalance,
'type' => $account->accountType->type,
@@ -111,12 +111,13 @@ class AccountController extends Controller
// custom order.
$order = [AccountType::ASSET, AccountType::REVENUE, AccountType::EXPENSE];
usort(
$return, function ($a, $b) use ($order) {
$pos_a = array_search($a['type'], $order);
$pos_b = array_search($b['type'], $order);
$return,
function ($a, $b) use ($order) {
$pos_a = array_search($a['type'], $order, true);
$pos_b = array_search($b['type'], $order, true);
return $pos_a - $pos_b;
}
return $pos_a - $pos_b;
}
);
return response()->json($return);

View File

@@ -57,9 +57,10 @@ class BillController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getBillsAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getBillsAC
* TODO expand API to add active field.
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -70,13 +71,13 @@ class BillController extends Controller
$filtered = $result->map(
static function (Bill $item) {
return [
'id' => (string) $item->id,
'name' => $item->name,
'id' => (string)$item->id,
'name' => $item->name,
'active' => $item->active,
];
}
);
return response()->json($filtered->toArray());
}
}

View File

@@ -57,9 +57,9 @@ class BudgetController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getBudgetsAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getBudgetsAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -70,7 +70,7 @@ class BudgetController extends Controller
$filtered = $result->map(
static function (Budget $item) {
return [
'id' => (string) $item->id,
'id' => (string)$item->id,
'name' => $item->name,
];
}

View File

@@ -57,9 +57,9 @@ class CategoryController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getCategoriesAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getCategoriesAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -70,7 +70,7 @@ class CategoryController extends Controller
$filtered = $result->map(
static function (Category $item) {
return [
'id' => (string) $item->id,
'id' => (string)$item->id,
'name' => $item->name,
];
}

View File

@@ -57,9 +57,9 @@ class CurrencyController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getCurrenciesAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getCurrenciesAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -72,7 +72,7 @@ class CurrencyController extends Controller
/** @var TransactionCurrency $currency */
foreach ($collection as $currency) {
$result[] = [
'id' => (string) $currency->id,
'id' => (string)$currency->id,
'name' => $currency->name,
'code' => $currency->code,
'symbol' => $currency->symbol,
@@ -85,9 +85,9 @@ class CurrencyController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getCurrenciesCodeAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getCurrenciesCodeAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
* @deprecated
@@ -101,7 +101,7 @@ class CurrencyController extends Controller
/** @var TransactionCurrency $currency */
foreach ($collection as $currency) {
$result[] = [
'id' => (string) $currency->id,
'id' => (string)$currency->id,
'name' => sprintf('%s (%s)', $currency->name, $currency->code),
'code' => $currency->code,
'symbol' => $currency->symbol,

View File

@@ -57,9 +57,9 @@ class ObjectGroupController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getObjectGroupsAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getObjectGroupsAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -72,7 +72,7 @@ class ObjectGroupController extends Controller
/** @var ObjectGroup $objectGroup */
foreach ($result as $objectGroup) {
$return[] = [
'id' => (string) $objectGroup->id,
'id' => (string)$objectGroup->id,
'name' => $objectGroup->title,
'title' => $objectGroup->title,
];
@@ -80,5 +80,4 @@ class ObjectGroupController extends Controller
return response()->json($return);
}
}

View File

@@ -61,9 +61,9 @@ class PiggyBankController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getPiggiesAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getPiggiesAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -76,15 +76,18 @@ class PiggyBankController extends Controller
/** @var PiggyBank $piggy */
foreach ($piggies as $piggy) {
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$response[] = [
'id' => (string) $piggy->id,
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$objectGroup = $piggy->objectGroups()->first();
$response[] = [
'id' => (string)$piggy->id,
'name' => $piggy->name,
'currency_id' => $currency->id,
'currency_id' => (string)$currency->id,
'currency_name' => $currency->name,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
'object_group_id' => null === $objectGroup ? null : (string)$objectGroup->id,
'object_group_title' => $objectGroup?->title,
];
}
@@ -93,9 +96,9 @@ class PiggyBankController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getPiggiesBalanceAC
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getPiggiesBalanceAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -109,22 +112,26 @@ class PiggyBankController extends Controller
foreach ($piggies as $piggy) {
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$currentAmount = $this->piggyRepository->getRepetition($piggy)->currentamount ?? '0';
$objectGroup = $piggy->objectGroups()->first();
$response[] = [
'id' => (string) $piggy->id,
'id' => (string)$piggy->id,
'name' => $piggy->name,
'name_with_balance' => sprintf(
'%s (%s / %s)', $piggy->name, app('amount')->formatAnything($currency, $currentAmount, false),
'%s (%s / %s)',
$piggy->name,
app('amount')->formatAnything($currency, $currentAmount, false),
app('amount')->formatAnything($currency, $piggy->targetamount, false),
),
'currency_id' => $currency->id,
'currency_id' => (string)$currency->id,
'currency_name' => $currency->name,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
'object_group_id' => null === $objectGroup ? null : (string)$objectGroup->id,
'object_group_title' => $objectGroup?->title,
];
}
return response()->json($response);
}
}

View File

@@ -45,6 +45,7 @@ class RecurrenceController extends Controller
$this->middleware(
function ($request, $next) {
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
@@ -54,9 +55,9 @@ class RecurrenceController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getRecurringAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getRecurringAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -69,7 +70,7 @@ class RecurrenceController extends Controller
/** @var Recurrence $recurrence */
foreach ($recurrences as $recurrence) {
$response[] = [
'id' => (string) $recurrence->id,
'id' => (string)$recurrence->id,
'name' => $recurrence->title,
'description' => $recurrence->description,
];
@@ -77,5 +78,4 @@ class RecurrenceController extends Controller
return response()->json($response);
}
}

View File

@@ -54,9 +54,9 @@ class RuleController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getRulesAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getRulesAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -69,7 +69,7 @@ class RuleController extends Controller
/** @var Rule $rule */
foreach ($rules as $rule) {
$response[] = [
'id' => (string) $rule->id,
'id' => (string)$rule->id,
'name' => $rule->title,
'description' => $rule->description,
];
@@ -77,5 +77,4 @@ class RuleController extends Controller
return response()->json($response);
}
}

View File

@@ -54,9 +54,9 @@ class RuleGroupController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getRuleGroupsAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getRuleGroupsAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -69,7 +69,7 @@ class RuleGroupController extends Controller
/** @var RuleGroup $group */
foreach ($groups as $group) {
$response[] = [
'id' => (string) $group->id,
'id' => (string)$group->id,
'name' => $group->title,
'description' => $group->description,
];

View File

@@ -57,9 +57,9 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getTagAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getTagAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -72,7 +72,7 @@ class TagController extends Controller
/** @var Tag $tag */
foreach ($result as $tag) {
$array[] = [
'id' => (string) $tag->id,
'id' => (string)$tag->id,
'name' => $tag->tag,
'tag' => $tag->tag,
];

View File

@@ -62,9 +62,9 @@ class TransactionController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getTransactionsAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getTransactionsAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
@@ -80,8 +80,8 @@ class TransactionController extends Controller
/** @var TransactionJournal $journal */
foreach ($filtered as $journal) {
$array[] = [
'id' => (string) $journal->id,
'transaction_group_id' => (string) $journal->transaction_group_id,
'id' => (string)$journal->id,
'transaction_group_id' => (string)$journal->transaction_group_id,
'name' => $journal->description,
'description' => $journal->description,
];
@@ -92,19 +92,19 @@ class TransactionController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getTransactionsIDAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getTransactionsIDAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
public function transactionsWithID(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$result = new Collection;
$result = new Collection();
if (is_numeric($data['query'])) {
// search for group, not journal.
$firstResult = $this->groupRepository->find((int) $data['query']);
$firstResult = $this->groupRepository->find((int)$data['query']);
if (null !== $firstResult) {
// group may contain multiple journals, each a result:
foreach ($firstResult->transactionJournals as $journal) {
@@ -122,8 +122,8 @@ class TransactionController extends Controller
/** @var TransactionJournal $journal */
foreach ($result as $journal) {
$array[] = [
'id' => (string) $journal->id,
'transaction_group_id' => (string) $journal->transaction_group_id,
'id' => (string)$journal->id,
'transaction_group_id' => (string)$journal->transaction_group_id,
'name' => sprintf('#%d: %s', $journal->transaction_group_id, $journal->description),
'description' => sprintf('#%d: %s', $journal->transaction_group_id, $journal->description),
];

View File

@@ -53,12 +53,11 @@ class TransactionTypeController extends Controller
/**
* This endpoint is documented at
* https://api-docs.firefly-iii.org/#/autocomplete/getTransactionTypesAC
* * https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/autocomplete/getTransactionTypesAC
*
* @param AutocompleteRequest $request
* @param AutocompleteRequest $request
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function transactionTypes(AutocompleteRequest $request): JsonResponse
{
@@ -70,7 +69,7 @@ class TransactionTypeController extends Controller
foreach ($types as $type) {
// different key for consistency.
$array[] = [
'id' => (string) $type->id,
'id' => (string)$type->id,
'name' => $type->type,
'type' => $type->type,
];

View File

@@ -52,7 +52,7 @@ class AccountController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -74,9 +74,9 @@ class AccountController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/charts/getChartAccountOverview
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/charts/getChartAccountOverview
*
* @param DateRequest $request
* @param DateRequest $request
*
* @return JsonResponse
* @throws FireflyException
@@ -98,7 +98,7 @@ class AccountController extends Controller
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
$default = app('amount')->getDefaultCurrency();
if (empty($frontPage->data)) {
if (!(is_array($frontPage->data) && count($frontPage->data) > 0)) {
$frontPage->data = $defaultSet;
$frontPage->save();
}
@@ -115,7 +115,7 @@ class AccountController extends Controller
}
$currentSet = [
'label' => $account->name,
'currency_id' => (string) $currency->id,
'currency_id' => (string)$currency->id,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
@@ -127,7 +127,8 @@ class AccountController extends Controller
];
$currentStart = clone $start;
$range = app('steam')->balanceInRange($account, $start, clone $end);
$previous = $range[0] ?? '0';
// 2022-10-11 this method no longer converts to float.
$previous = array_values($range)[0];
while ($currentStart <= $end) {
$format = $currentStart->format('Y-m-d');
$label = $currentStart->toAtomString();

View File

@@ -31,21 +31,24 @@ use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Log;
use League\Fractal\Manager;
use League\Fractal\Serializer\JsonApiSerializer;
use Log;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
use Symfony\Component\HttpFoundation\ParameterBag;
/**
* Class Controller.
*
* @codeCoverageIgnore
*/
abstract class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
use AuthorizesRequests;
use DispatchesJobs;
use ValidatesRequests;
protected const CONTENT_TYPE = 'application/vnd.api+json';
protected array $allowedSort;
@@ -69,7 +72,6 @@ abstract class Controller extends BaseController
return $next($request);
}
);
}
/**
@@ -81,24 +83,35 @@ abstract class Controller extends BaseController
*/
private function getParameters(): ParameterBag
{
$bag = new ParameterBag;
$bag = new ParameterBag();
$page = (int)request()->get('page');
if (0 === $page) {
if ($page < 1) {
$page = 1;
}
if ($page > (2 ^ 16)) {
$page = (2 ^ 16);
}
$bag->set('page', $page);
// some date fields:
$dates = ['start', 'end', 'date'];
foreach ($dates as $field) {
$date = request()->query->get($field);
$obj = null;
$date = null;
try {
$date = request()->query->get($field);
} catch (BadRequestException $e) {
Log::error(sprintf('Request field "%s" contains a non-scalar value. Value set to NULL.', $field));
Log::error($e->getMessage());
$value = null;
}
$obj = null;
if (null !== $date) {
try {
$obj = Carbon::parse($date);
} catch (InvalidDateException | InvalidFormatException $e) {
} catch (InvalidDateException|InvalidFormatException $e) {
// don't care
Log::warning(sprintf('Ignored invalid date "%s" in API controller parameter check: %s', $date, $e->getMessage()));
app('log')->warning(sprintf('Ignored invalid date "%s" in API controller parameter check: %s', substr($date, 0, 20), $e->getMessage()));
}
}
$bag->set($field, $obj);
@@ -107,7 +120,13 @@ abstract class Controller extends BaseController
// integer fields:
$integers = ['limit'];
foreach ($integers as $integer) {
$value = request()->query->get($integer);
try {
$value = request()->query->get($integer);
} catch (BadRequestException $e) {
Log::error(sprintf('Request field "%s" contains a non-scalar value. Value set to NULL.', $integer));
Log::error($e->getMessage());
$value = null;
}
if (null !== $value) {
$bag->set($integer, (int)$value);
}
@@ -118,14 +137,20 @@ abstract class Controller extends BaseController
}
/**
* @param ParameterBag $bag
* @param ParameterBag $bag
*
* @return ParameterBag
*/
private function getSortParameters(ParameterBag $bag): ParameterBag
{
$sortParameters = [];
$param = (string)request()->query->get('sort');
try {
$param = (string)request()->query->get('sort');
} catch (BadRequestException $e) {
Log::error('Request field "sort" contains a non-scalar value. Value set to NULL.');
Log::error($e->getMessage());
$param = '';
}
if ('' === $param) {
return $bag;
}
@@ -167,7 +192,7 @@ abstract class Controller extends BaseController
$params[$key] = $value;
}
return $return . http_build_query($params);
return $return.http_build_query($params);
}
/**
@@ -176,8 +201,8 @@ abstract class Controller extends BaseController
final protected function getManager(): Manager
{
// create some objects:
$manager = new Manager;
$baseUrl = request()->getSchemeAndHttpHost() . '/api/v1';
$manager = new Manager();
$baseUrl = request()->getSchemeAndHttpHost().'/api/v1';
$manager->setSerializer(new JsonApiSerializer($baseUrl));
return $manager;

View File

@@ -1,81 +0,0 @@
<?php
/*
* AccountController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Data\Bulk;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Data\Bulk\MoveTransactionsRequest;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Services\Internal\Destroy\AccountDestroyService;
use Illuminate\Http\JsonResponse;
/**
* Class AccountController
*
* @deprecated
*/
class AccountController extends Controller
{
private AccountRepositoryInterface $repository;
/**
*
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
$this->repository = app(AccountRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* This endpoint is deprecated and not documented.
*
* @param MoveTransactionsRequest $request
*
* @return JsonResponse
* @deprecated
*/
public function moveTransactions(MoveTransactionsRequest $request): JsonResponse
{
$accountIds = $request->getAll();
$original = $this->repository->find($accountIds['original_account']);
$destination = $this->repository->find($accountIds['destination_account']);
/** @var AccountDestroyService $service */
$service = app(AccountDestroyService::class);
$service->moveTransactions($original, $destination);
return response()->json([], 204);
}
}

View File

@@ -62,8 +62,9 @@ class TransactionController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/bulkUpdateTransactions
*
* @param TransactionRequest $request
* @param TransactionRequest $request
*
* @return JsonResponse
*/
@@ -76,8 +77,8 @@ class TransactionController extends Controller
// to respond to what is in the $query.
// this is OK because only one thing can be in the query at the moment.
if ($this->updatesTransactionAccount($params)) {
$original = $this->repository->find((int) $params['where']['account_id']);
$destination = $this->repository->find((int) $params['update']['account_id']);
$original = $this->repository->find((int)$params['where']['account_id']);
$destination = $this->repository->find((int)$params['update']['account_id']);
/** @var AccountDestroyService $service */
$service = app(AccountDestroyService::class);
@@ -88,7 +89,7 @@ class TransactionController extends Controller
}
/**
* @param array $params
* @param array $params
*
* @return bool
*/
@@ -96,5 +97,4 @@ class TransactionController extends Controller
{
return array_key_exists('account_id', $params['where']) && array_key_exists('account_id', $params['update']);
}
}

View File

@@ -45,28 +45,31 @@ use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Services\Internal\Destroy\AccountDestroyService;
use FireflyIII\Services\Internal\Destroy\JournalDestroyService;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Log;
/**
* Class DestroyController
*/
class DestroyController extends Controller
{
private bool $unused;
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/destroyData
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/destroyData
*
* @param DestroyRequest $request
* @param DestroyRequest $request
*
* @return JsonResponse
* @throws FireflyException
*/
public function destroy(DestroyRequest $request): JsonResponse
{
$objects = $request->getObjects();
$objects = $request->getObjects();
$this->unused = $request->boolean('unused', false);
switch ($objects) {
default:
throw new FireflyException(sprintf('This endpoint can\'t handle object "%s"', $objects));
throw new FireflyException(sprintf('200033: This endpoint can\'t handle object "%s"', $objects));
case 'budgets':
$this->destroyBudgets();
break;
@@ -91,27 +94,55 @@ class DestroyController extends Controller
case 'object_groups':
$this->destroyObjectGroups();
break;
case 'not_assets_liabilities':
$this->destroyAccounts(
[
AccountType::BENEFICIARY,
AccountType::CASH,
AccountType::CREDITCARD,
AccountType::DEFAULT,
AccountType::EXPENSE,
AccountType::IMPORT,
AccountType::INITIAL_BALANCE,
AccountType::LIABILITY_CREDIT,
AccountType::RECONCILIATION,
AccountType::REVENUE,
]
);
break;
case 'accounts':
$this->destroyAccounts(
[
AccountType::ASSET, AccountType::DEFAULT,
AccountType::BENEFICIARY, AccountType::EXPENSE,
AccountType::REVENUE, AccountType::INITIAL_BALANCE,
AccountType::DEBT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::CREDITCARD,
AccountType::ASSET,
AccountType::BENEFICIARY,
AccountType::CASH,
AccountType::CREDITCARD,
AccountType::DEBT,
AccountType::DEFAULT,
AccountType::EXPENSE,
AccountType::IMPORT,
AccountType::INITIAL_BALANCE,
AccountType::LIABILITY_CREDIT,
AccountType::LOAN,
AccountType::MORTGAGE,
AccountType::RECONCILIATION,
AccountType::REVENUE,
]
);
break;
case 'asset_accounts':
$this->destroyAccounts(
[
AccountType::ASSET, AccountType::DEFAULT,
AccountType::ASSET,
AccountType::DEFAULT,
]
);
break;
case 'expense_accounts':
$this->destroyAccounts(
[
AccountType::BENEFICIARY, AccountType::EXPENSE,
AccountType::BENEFICIARY,
AccountType::EXPENSE,
]
);
break;
@@ -125,7 +156,10 @@ class DestroyController extends Controller
case 'liabilities':
$this->destroyAccounts(
[
AccountType::DEBT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::CREDITCARD,
AccountType::DEBT,
AccountType::LOAN,
AccountType::MORTGAGE,
AccountType::CREDITCARD,
]
);
break;
@@ -253,7 +287,7 @@ class DestroyController extends Controller
}
/**
* @param array $types
* @param array $types
*/
private function destroyAccounts(array $types): void
{
@@ -261,14 +295,24 @@ class DestroyController extends Controller
$repository = app(AccountRepositoryInterface::class);
$collection = $repository->getAccountsByType($types);
$service = app(AccountDestroyService::class);
/** @var Account $account */
foreach ($collection as $account) {
$service->destroy($account, null);
$count = $account->transactions()->count();
if (true === $this->unused && 0 === $count) {
Log::info(sprintf('Deleted unused account #%d "%s"', $account->id, $account->name));
$service->destroy($account, null);
continue;
}
if (false === $this->unused) {
Log::info(sprintf('Deleting account #%d "%s"', $account->id, $account->name));
$service->destroy($account, null);
}
}
}
/**
* @param array $types
* @param array $types
*/
private function destroyTransactions(array $types): void
{
@@ -281,5 +325,4 @@ class DestroyController extends Controller
$service->destroy($journal);
}
}
}

View File

@@ -55,9 +55,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportAccounts
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportAccounts
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -67,11 +67,10 @@ class ExportController extends Controller
$this->exporter->setExportAccounts(true);
return $this->returnExport('accounts');
}
/**
* @param string $key
* @param string $key
*
* @return LaravelResponse
* @throws FireflyException
@@ -87,22 +86,22 @@ class ExportController extends Controller
$response
->header('Content-Description', 'File Transfer')
->header('Content-Type', 'application/octet-stream')
->header('Content-Disposition', 'attachment; filename=' . $fileName)
->header('Content-Disposition', 'attachment; filename='.$fileName)
->header('Content-Transfer-Encoding', 'binary')
->header('Connection', 'Keep-Alive')
->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public')
->header('Content-Length', (string) strlen($data[$key]));
->header('Content-Length', (string)strlen($data[$key]));
return $response;
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportBills
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportBills
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -116,9 +115,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportBudgets
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportBudgets
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -132,9 +131,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportCategories
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportCategories
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -148,9 +147,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportPiggies
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportPiggies
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -164,9 +163,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportRecurring
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportRecurring
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -180,9 +179,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportRules
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportRules
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -196,9 +195,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportTags
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportTags
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -212,9 +211,9 @@ class ExportController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportTransactions
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/exportTransactions
*
* @param ExportRequest $request
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
@@ -229,5 +228,4 @@ class ExportController extends Controller
return $this->returnExport('transactions');
}
}

View File

@@ -0,0 +1,95 @@
<?php
/*
* PurgeController.php
* Copyright (c) 2022 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Data;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Account;
use FireflyIII\Models\Bill;
use FireflyIII\Models\Budget;
use FireflyIII\Models\Category;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Models\Recurrence;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleGroup;
use FireflyIII\Models\Tag;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use Illuminate\Http\JsonResponse;
class PurgeController extends Controller
{
/**
* TODO cleanup and use repositories.
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/data/purgeData
* @return JsonResponse
*/
public function purge(): JsonResponse
{
$user = auth()->user();
// some manual code, too lazy to call all repositories.
// budgets:
Budget::whereUserId($user->id)->onlyTrashed()->forceDelete();
// bills
Bill::whereUserId($user->id)->onlyTrashed()->forceDelete();
// piggies
$set = PiggyBank::leftJoin('accounts', 'accounts.id', 'piggy_banks.account_id')
->where('accounts.user_id', $user->id)->onlyTrashed()->get(['piggy_banks.*']);
/** @var PiggyBank $piggy */
foreach ($set as $piggy) {
$piggy->forceDelete();
}
// rule group
RuleGroup::whereUserId($user->id)->onlyTrashed()->forceDelete();
// rules
Rule::whereUserId($user->id)->onlyTrashed()->forceDelete();
// recurring transactions
Recurrence::whereUserId($user->id)->onlyTrashed()->forceDelete();
// categories
Category::whereUserId($user->id)->onlyTrashed()->forceDelete();
// tags
Tag::whereUserId($user->id)->onlyTrashed()->forceDelete();
// accounts
Account::whereUserId($user->id)->onlyTrashed()->forceDelete();
// transaction groups
TransactionGroup::whereUserId($user->id)->onlyTrashed()->forceDelete();
// transaction journals
TransactionJournal::whereUserId($user->id)->onlyTrashed()->forceDelete();
return response()->json([], 204);
}
}

View File

@@ -50,7 +50,7 @@ class AccountController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -74,9 +74,9 @@ class AccountController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseAsset
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseAsset
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -91,11 +91,11 @@ class AccountController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $expense['id'],
'id' => (string)$expense['id'],
'name' => $expense['name'],
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -105,9 +105,9 @@ class AccountController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseExpense
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseExpense
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -123,16 +123,15 @@ class AccountController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $expense['id'],
'id' => (string)$expense['id'],
'name' => $expense['name'],
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -57,11 +57,11 @@ class BillController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseBill
*
* Expenses per bill, possibly filtered by bill and account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -85,33 +85,33 @@ class BillController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$billId = (int) $journal['bill_id'];
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$billId = (int)$journal['bill_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
$key = sprintf('%d-%d', $billId, $currencyId);
$foreignKey = sprintf('%d-%d', $billId, $foreignCurrencyId);
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $billId,
'name' => $journal['bill_name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'id' => (string)$billId,
'name' => $journal['bill_name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
$response[$key]['difference_float'] = (float) $response[$key]['difference']; // intentional float
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // intentional float
}
if (0 !== $foreignCurrencyId) {
$response[$foreignKey] = $response[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; // intentional float
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // intentional float
}
}
@@ -120,11 +120,11 @@ class BillController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseNoBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseNoBill
*
* Expenses for no bill filtered by account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -143,32 +143,31 @@ class BillController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference']; // intentional float
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference']; // intentional float
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // intentional float
}
}
return response()->json(array_values($response));
}
}

View File

@@ -44,7 +44,7 @@ class BudgetController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -66,9 +66,9 @@ class BudgetController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseBudget
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -88,11 +88,11 @@ class BudgetController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $budget->id,
'id' => (string)$budget->id,
'name' => $budget->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -103,9 +103,9 @@ class BudgetController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseNoBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseNoBudget
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -120,14 +120,12 @@ class BudgetController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -45,7 +45,7 @@ class CategoryController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -67,9 +67,9 @@ class CategoryController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferCategory
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -89,11 +89,11 @@ class CategoryController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $category->id,
'id' => (string)$category->id,
'name' => $category->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -104,9 +104,9 @@ class CategoryController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferNoCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferNoCategory
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -121,13 +121,12 @@ class CategoryController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -34,12 +34,11 @@ use Illuminate\Http\JsonResponse;
*/
class PeriodController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseTotal
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseTotal
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -55,32 +54,31 @@ class PeriodController extends Controller
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference']; // intentional float
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference']; // intentional float
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // intentional float
}
}
return response()->json(array_values($response));
}
}

View File

@@ -56,11 +56,11 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseNoTag
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseNoTag
*
* Expenses for no tag filtered by account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -79,28 +79,28 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // float but on purpose.
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // float but on purpose.
}
}
@@ -109,11 +109,11 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseTag
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightExpenseTag
*
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -137,8 +137,8 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
@@ -149,32 +149,31 @@ class TagController extends Controller
// on currency ID
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'id' => (string)$tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
$response[$key]['difference_float'] = (float) $response[$key]['difference'];
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // float but on purpose.
}
// on foreign ID
if (0 !== $foreignCurrencyId) {
$response[$foreignKey] = $journal[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference'];
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // float but on purpose.
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -37,7 +37,7 @@ use Illuminate\Http\JsonResponse;
* Class AccountController
*
* Shows income information grouped or limited by date.
* Ie. all income grouped by account + currency.
* I.e. all income grouped by account + currency.
*/
class AccountController extends Controller
{
@@ -50,7 +50,7 @@ class AccountController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -74,9 +74,9 @@ class AccountController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeAsset
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeAsset
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -90,11 +90,11 @@ class AccountController extends Controller
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'id' => (string) $entry['id'],
'id' => (string)$entry['id'],
'name' => $entry['name'],
'difference' => $entry['sum'],
'difference_float' => (float) $entry['sum'],
'currency_id' => (string) $entry['currency_id'],
'difference_float' => (float)$entry['sum'], // float but on purpose.
'currency_id' => (string)$entry['currency_id'],
'currency_code' => $entry['currency_code'],
];
}
@@ -104,9 +104,9 @@ class AccountController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeRevenue
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeRevenue
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -122,16 +122,15 @@ class AccountController extends Controller
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'id' => (string) $entry['id'],
'id' => (string)$entry['id'],
'name' => $entry['name'],
'difference' => $entry['sum'],
'difference_float' => (float) $entry['sum'],
'currency_id' => (string) $entry['currency_id'],
'difference_float' => (float)$entry['sum'], // float but on purpose.
'currency_id' => (string)$entry['currency_id'],
'currency_code' => $entry['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -45,7 +45,7 @@ class CategoryController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -67,9 +67,9 @@ class CategoryController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeCategory
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -89,11 +89,11 @@ class CategoryController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $category->id,
'id' => (string)$category->id,
'name' => $category->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // float but on purpose.
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -104,9 +104,9 @@ class CategoryController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeNoCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeNoCategory
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -121,13 +121,12 @@ class CategoryController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // float but on purpose.
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -34,12 +34,11 @@ use Illuminate\Http\JsonResponse;
*/
class PeriodController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeTotal
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeTotal
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -55,34 +54,34 @@ class PeriodController extends Controller
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], app('steam')->positive($journal['amount']));
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // float but on purpose.
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignCurrencyId]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // float but on purpose.
}
}
return response()->json(array_values($response));
}
}

View File

@@ -57,11 +57,11 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeTag
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeTag
*
* Expenses for no tag filtered by account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -80,30 +80,31 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], app('steam')->positive($journal['amount']));
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignCurrencyId]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -112,11 +113,11 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeNoTag
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightIncomeNoTag
*
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -140,8 +141,8 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
@@ -152,34 +153,34 @@ class TagController extends Controller
// on currency ID
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'id' => (string)$tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$response[$key]['difference_float'] = (float) $response[$key]['difference'];
$response[$key]['difference_float'] = (float)$response[$key]['difference'];
}
// on foreign ID
if (0 !== $foreignCurrencyId) {
$response[$foreignKey] = $journal[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd(
$response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignKey]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference'];
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -41,7 +41,7 @@ class AccountController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -59,9 +59,9 @@ class AccountController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransfers
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransfers
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/

View File

@@ -44,7 +44,7 @@ class CategoryController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -66,9 +66,9 @@ class CategoryController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferCategory
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -88,11 +88,11 @@ class CategoryController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $category->id,
'id' => (string)$category->id,
'name' => $category->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'],
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -103,9 +103,9 @@ class CategoryController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferNoCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferNoCategory
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -120,13 +120,12 @@ class CategoryController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'],
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -34,12 +34,11 @@ use Illuminate\Http\JsonResponse;
*/
class PeriodController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferTotal
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferTotal
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -55,34 +54,34 @@ class PeriodController extends Controller
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], app('steam')->positive($journal['amount']));
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignCurrencyId]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
return response()->json(array_values($response));
}
}

View File

@@ -56,9 +56,9 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferNoTag
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferNoTag
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -77,30 +77,31 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], app('steam')->positive($journal['amount']));
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignCurrencyId]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -109,11 +110,11 @@ class TagController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferTag
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/insight/insightTransferTag
*
* Transfers per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
* @param GenericRequest $request
*
* @return JsonResponse
*/
@@ -137,8 +138,8 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
@@ -149,29 +150,30 @@ class TagController extends Controller
// on currency ID
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_code' => $journal['currency_code'],
];
'id' => (string)$tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$response[$key]['difference_float'] = (float) $response[$key]['difference'];
$response[$key]['difference_float'] = (float)$response[$key]['difference'];
}
// on foreign ID
if (0 !== $foreignCurrencyId) {
$response[$foreignKey] = $journal[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd(
$response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignKey]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; // intentional float
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // intentional float
}
}
}

View File

@@ -40,7 +40,7 @@ class DestroyController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -57,13 +57,12 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/deleteAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/deleteAccount
*
* Remove the specified resource from storage.
*
* @param Account $account
* @param Account $account
*
* @codeCoverageIgnore
* @return JsonResponse
*/
public function destroy(Account $account): JsonResponse

View File

@@ -54,7 +54,7 @@ class ListController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -71,18 +71,17 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listAttachmentByAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/listAttachmentByAccount
*
* @param Account $account
* @param Account $account
*
* @return JsonResponse
* @codeCoverageIgnore
* @throws FireflyException
*/
public function attachments(Account $account): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($account);
$count = $collection->count();
@@ -90,7 +89,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.accounts.attachments', [$account->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.attachments', [$account->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -104,13 +103,12 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listPiggyBankByAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/listPiggyBankByAccount
*
* @param Account $account
* @param Account $account
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function piggyBanks(Account $account): JsonResponse
{
@@ -118,7 +116,7 @@ class ListController extends Controller
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
$collection = $this->repository->getPiggyBanks($account);
@@ -127,7 +125,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.accounts.piggy_banks', [$account->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.piggy-banks', [$account->id]).$this->buildParams());
/** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class);
@@ -137,26 +135,24 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listTransactionByAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/listTransactionByAccount
*
* Show all transaction groups related to the account.
*
* @codeCoverageIgnore
*
* @param Request $request
* @param Account $account
* @param Request $request
* @param Account $account
*
* @return JsonResponse
* @throws FireflyException
*/
public function transactions(Request $request, Account $account): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -181,7 +177,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.accounts.transactions', [$account->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.transactions', [$account->id]).$this->buildParams());
$groups = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -50,7 +50,7 @@ class ShowController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -67,15 +67,14 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/listAccount
*
* Display a listing of the resource.
*
* @param Request $request
* @param Request $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(Request $request): JsonResponse
{
@@ -85,7 +84,7 @@ class ShowController extends Controller
// types to get, page size:
$types = $this->mapAccountTypes($this->parameters->get('type'));
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of accounts. Count it and split it.
$this->repository->resetAccountOrder();
@@ -99,7 +98,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.accounts.index') . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.index').$this->buildParams());
/** @var AccountTransformer $transformer */
$transformer = app(AccountTransformer::class);
@@ -113,11 +112,11 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/getAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/getAccount
*
* Show single instance.
*
* @param Account $account
* @param Account $account
*
* @return JsonResponse
*/
@@ -135,5 +134,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -42,7 +42,7 @@ class StoreController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -59,11 +59,11 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/storeAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/storeAccount
*
* Store a new instance.
*
* @param StoreRequest $request
* @param StoreRequest $request
*
* @return JsonResponse
*/
@@ -82,5 +82,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -45,7 +45,7 @@ class UpdateController extends Controller
/**
* AccountController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -62,12 +62,12 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/updateAccount
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/accounts/updateAccount
*
* Update account.
*
* @param UpdateRequest $request
* @param Account $account
* @param UpdateRequest $request
* @param Account $account
*
* @return JsonResponse
*/
@@ -75,7 +75,7 @@ class UpdateController extends Controller
{
Log::debug(sprintf('Now in %s', __METHOD__));
$data = $request->getUpdateData();
$data['type'] = config('firefly.shortNamesByFullName.' . $account->accountType->type);
$data['type'] = config('firefly.shortNamesByFullName.'.$account->accountType->type);
$account = $this->repository->update($account, $data);
$manager = $this->getManager();
$account->refresh();

View File

@@ -40,7 +40,7 @@ class DestroyController extends Controller
/**
* DestroyController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -60,13 +60,12 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/deleteAttachment
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/attachments/deleteAttachment
*
* Remove the specified resource from storage.
*
* @codeCoverageIgnore
*
* @param Attachment $attachment
* @param Attachment $attachment
*
* @return JsonResponse
*/

View File

@@ -47,7 +47,7 @@ class ShowController extends Controller
/**
* ShowController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -67,13 +67,12 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/downloadAttachment
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/attachments/downloadAttachment
*
* Download an attachment.
*
* @param Attachment $attachment
* @param Attachment $attachment
*
* @codeCoverageIgnore
* @return LaravelResponse
* @throws FireflyException
*/
@@ -97,13 +96,13 @@ class ShowController extends Controller
$response
->header('Content-Description', 'File Transfer')
->header('Content-Type', 'application/octet-stream')
->header('Content-Disposition', 'attachment; filename=' . $quoted)
->header('Content-Disposition', 'attachment; filename='.$quoted)
->header('Content-Transfer-Encoding', 'binary')
->header('Connection', 'Keep-Alive')
->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public')
->header('Content-Length', (string) strlen($content));
->header('Content-Length', (string)strlen($content));
return $response;
}
@@ -112,20 +111,19 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/listAttachment
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/attachments/listAttachment
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of attachments. Count it and split it.
$collection = $this->repository->get();
@@ -134,7 +132,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.attachments.index') . $this->buildParams());
$paginator->setPath(route('api.v1.attachments.index').$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -148,11 +146,11 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/getAttachment
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/attachments/getAttachment
*
* Display the specified resource.
*
* @param Attachment $attachment
* @param Attachment $attachment
*
* @return JsonResponse
*/

View File

@@ -47,7 +47,7 @@ class StoreController extends Controller
/**
* StoreController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -67,11 +67,11 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/uploadAttachment
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/attachments/uploadAttachment
*
* Store a newly created resource in storage.
*
* @param StoreRequest $request
* @param StoreRequest $request
*
* @return JsonResponse
* @throws FireflyException
@@ -95,10 +95,9 @@ class StoreController extends Controller
/**
* Upload an attachment.
*
* @codeCoverageIgnore
*
* @param Request $request
* @param Attachment $attachment
* @param Request $request
* @param Attachment $attachment
*
* @return JsonResponse
*/

View File

@@ -43,7 +43,7 @@ class UpdateController extends Controller
/**
* UpdateController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -63,12 +63,12 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/updateAttachment
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/attachments/updateAttachment
*
* Update the specified resource in storage.
*
* @param UpdateRequest $request
* @param Attachment $attachment
* @param UpdateRequest $request
* @param Attachment $attachment
*
* @return JsonResponse
*/

View File

@@ -1,78 +0,0 @@
<?php
/*
* DestroyController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\AvailableBudget;
use FireflyIII\Repositories\Budget\AvailableBudgetRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**
* Class DestroyController
*/
class DestroyController extends Controller
{
private AvailableBudgetRepositoryInterface $abRepository;
/**
* AvailableBudgetController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$this->abRepository = app(AvailableBudgetRepositoryInterface::class);
$this->abRepository->setUser($user);
return $next($request);
}
);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/listAvailableBudget
*
* Remove the specified resource from storage.
*
* @param AvailableBudget $availableBudget
*
* @codeCoverageIgnore
*
* @return JsonResponse
*/
public function destroy(AvailableBudget $availableBudget): JsonResponse
{
$this->abRepository->destroyAvailableBudget($availableBudget);
app('preferences')->mark();
return response()->json([], 204);
}
}

View File

@@ -45,7 +45,7 @@ class ShowController extends Controller
/**
* AvailableBudgetController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -64,20 +64,19 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/getAvailableBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/available_budgets/getAvailableBudget
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$start = $this->parameters->get('start');
$end = $this->parameters->get('end');
@@ -89,7 +88,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.available_budgets.index') . $this->buildParams());
$paginator->setPath(route('api.v1.available-budgets.index').$this->buildParams());
/** @var AvailableBudgetTransformer $transformer */
$transformer = app(AvailableBudgetTransformer::class);
@@ -103,14 +102,13 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/getAvailableBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/available_budgets/getAvailableBudget
*
* Display the specified resource.
*
* @param AvailableBudget $availableBudget
* @param AvailableBudget $availableBudget
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function show(AvailableBudget $availableBudget): JsonResponse
{
@@ -124,5 +122,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -1,105 +0,0 @@
<?php
/*
* StoreController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\AvailableBudget\Request;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Factory\TransactionCurrencyFactory;
use FireflyIII\Repositories\Budget\AvailableBudgetRepositoryInterface;
use FireflyIII\Transformers\AvailableBudgetTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use JsonException;
use League\Fractal\Resource\Item;
/**
* Class StoreController
*/
class StoreController extends Controller
{
private AvailableBudgetRepositoryInterface $abRepository;
/**
* AvailableBudgetController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$this->abRepository = app(AvailableBudgetRepositoryInterface::class);
$this->abRepository->setUser($user);
return $next($request);
}
);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/storeAvailableBudget
*
* Store a newly created resource in storage.
*
* @param Request $request
*
* @return JsonResponse
* @throws FireflyException
* @throws JsonException
*/
public function store(Request $request): JsonResponse
{
$data = $request->getAll();
$data['start']->startOfDay();
$data['end']->endOfDay();
// currency is not mandatory:
if (array_key_exists('currency_id', $data) || array_key_exists('currency_code', $data)) {
$factory = app(TransactionCurrencyFactory::class);
$currency = $factory->find($data['currency_id'] ?? null, $data['currency_code'] ?? null);
$data['currency_id'] = $currency->id;
unset($data['currency_code']);
}
if (!array_key_exists('currency_id', $data)) {
$currency = app('amount')->getDefaultCurrencyByUser(auth()->user());
$data['currency_id'] = $currency->id;
}
$availableBudget = $this->abRepository->store($data);
$manager = $this->getManager();
/** @var AvailableBudgetTransformer $transformer */
$transformer = app(AvailableBudgetTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new Item($availableBudget, $transformer, 'available_budgets');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -1,100 +0,0 @@
<?php
/*
* UpdateController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\AvailableBudget\Request;
use FireflyIII\Factory\TransactionCurrencyFactory;
use FireflyIII\Models\AvailableBudget;
use FireflyIII\Repositories\Budget\AvailableBudgetRepositoryInterface;
use FireflyIII\Transformers\AvailableBudgetTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use League\Fractal\Resource\Item;
/**
* Class UpdateController
*/
class UpdateController extends Controller
{
private AvailableBudgetRepositoryInterface $abRepository;
/**
* AvailableBudgetController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$this->abRepository = app(AvailableBudgetRepositoryInterface::class);
$this->abRepository->setUser($user);
return $next($request);
}
);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/updateAvailableBudget
*
* Update the specified resource in storage.
*
* @param Request $request
* @param AvailableBudget $availableBudget
*
* @return JsonResponse
*/
public function update(Request $request, AvailableBudget $availableBudget): JsonResponse
{
$data = $request->getAll();
// find and validate currency ID
if (array_key_exists('currency_id', $data) || array_key_exists('currency_code', $data)) {
$factory = app(TransactionCurrencyFactory::class);
$currency = $factory->find($data['currency_id'] ?? null, $data['currency_code'] ?? null) ?? app('amount')->getDefaultCurrency();
$currency->enabled = true;
$currency->save();
unset($data['currency_code']);
$data['currency_id'] = $currency->id;
}
$this->abRepository->updateAvailableBudget($availableBudget, $data);
$manager = $this->getManager();
/** @var AvailableBudgetTransformer $transformer */
$transformer = app(AvailableBudgetTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new Item($availableBudget, $transformer, 'available_budgets');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -38,7 +38,7 @@ class DestroyController extends Controller
/**
* BillController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -55,14 +55,13 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/deleteBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/deleteBill
*
* Remove the specified resource from storage.
*
* @param Bill $bill
* @param Bill $bill
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function destroy(Bill $bill): JsonResponse
{
@@ -71,5 +70,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}

View File

@@ -51,7 +51,7 @@ class ListController extends Controller
/**
* BillController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -68,20 +68,19 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listAttachmentByBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/listAttachmentByBill
*
* Display a listing of the resource.
*
* @param Bill $bill
* @param Bill $bill
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(Bill $bill): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($bill);
$count = $collection->count();
@@ -89,7 +88,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.bills.attachments', [$bill->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.bills.attachments', [$bill->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -103,22 +102,21 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listRuleByBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/listRuleByBill
*
* List all of them.
*
* @param Bill $bill
* @param Bill $bill
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function rules(Bill $bill): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
$collection = $this->repository->getRulesForBill($bill);
@@ -127,7 +125,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.bills.rules', [$bill->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.bills.rules', [$bill->id]).$this->buildParams());
/** @var RuleTransformer $transformer */
$transformer = app(RuleTransformer::class);
@@ -136,26 +134,24 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listTransactionByBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/listTransactionByBill
*
* Show all transactions.
*
* @param Request $request
* @param Request $request
*
* @param Bill $bill
* @param Bill $bill
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Bill $bill): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -188,7 +184,7 @@ class ListController extends Controller
// get paginator.
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.bills.transactions', [$bill->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.bills.transactions', [$bill->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -200,5 +196,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -44,7 +44,7 @@ class ShowController extends Controller
/**
* BillController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,20 +61,19 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/listBill
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
{
$this->repository->correctOrder();
$bills = $this->repository->getBills();
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$count = $bills->count();
$bills = $bills->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
@@ -91,14 +90,13 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/getBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/getBill
*
* Show the specified bill.
*
* @param Bill $bill
* @param Bill $bill
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function show(Bill $bill): JsonResponse
{

View File

@@ -44,7 +44,7 @@ class StoreController extends Controller
/**
* BillController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,11 +61,11 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/storeBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/storeBill
*
* Store a bill.
*
* @param StoreRequest $request
* @param StoreRequest $request
*
* @return JsonResponse
* @throws FireflyException

View File

@@ -41,7 +41,7 @@ class UpdateController extends Controller
/**
* BillController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,12 +58,12 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/updateBill
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/bills/updateBill
*
* Update a bill.
*
* @param UpdateRequest $request
* @param Bill $bill
* @param UpdateRequest $request
* @param Bill $bill
*
* @return JsonResponse
*/
@@ -80,7 +80,5 @@ class UpdateController extends Controller
$resource = new Item($bill, $transformer, 'bills');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -38,7 +38,7 @@ class DestroyController extends Controller
/**
* DestroyController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -55,14 +55,13 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/deleteBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/deleteBudget
*
* Remove the specified resource from storage.
*
* @param Budget $budget
* @param Budget $budget
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function destroy(Budget $budget): JsonResponse
{

View File

@@ -53,7 +53,7 @@ class ListController extends Controller
/**
* ListController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -72,18 +72,17 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listAttachmentByBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listAttachmentByBudget
*
* @param Budget $budget
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(Budget $budget): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($budget);
$count = $collection->count();
@@ -91,7 +90,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.attachments', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.attachments', [$budget->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -105,26 +104,25 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudgetLimitByBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listBudgetLimitByBudget
*
* Display a listing of the resource.
*
* @param Budget $budget
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function budgetLimits(Budget $budget): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$this->parameters->set('budget_id', $budget->id);
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.budget_limits', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.budget-limits', [$budget->id]).$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -137,21 +135,20 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listTransactionByBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listTransactionByBudget
*
* Show all transactions.
*
* @param Request $request
* @param Request $request
*
* @param Budget $budget
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Budget $budget): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// user can overrule page size with limit parameter.
$limit = $this->parameters->get('limit');
@@ -189,7 +186,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -203,19 +200,18 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listTransactionWithoutBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listTransactionWithoutBudget
*
* Show all transactions.
*
* @param Request $request
* @param Request $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function withoutBudget(Request $request): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// user can overrule page size with limit parameter.
$limit = $this->parameters->get('limit');
@@ -253,7 +249,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.budgets.without-budget') . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.without-budget').$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -264,5 +260,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -46,7 +46,7 @@ class ShowController extends Controller
/**
* ListController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -65,20 +65,19 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listBudget
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
$collection = $this->repository->getBudgets();
@@ -87,7 +86,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($budgets, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.index') . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.index').$this->buildParams());
/** @var BudgetTransformer $transformer */
$transformer = app(BudgetTransformer::class);
@@ -102,10 +101,9 @@ class ShowController extends Controller
/**
* Show a budget.
*
* @param Budget $budget
* @param Budget $budget
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function show(Budget $budget): JsonResponse
{
@@ -119,5 +117,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -41,7 +41,7 @@ class StoreController extends Controller
/**
* StoreController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,11 +58,11 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/storeBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/storeBudget
*
* Store a budget.
*
* @param StoreRequest $request
* @param StoreRequest $request
*
* @return JsonResponse
* @throws FireflyException

View File

@@ -41,7 +41,7 @@ class UpdateController extends Controller
/**
* UpdateController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,12 +58,12 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/updateBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/updateBudget
*
* Update a budget.
*
* @param UpdateRequest $request
* @param Budget $budget
* @param UpdateRequest $request
* @param Budget $budget
*
* @return JsonResponse
*/
@@ -80,6 +80,5 @@ class UpdateController extends Controller
$resource = new Item($budget, $transformer, 'budgets');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -41,7 +41,7 @@ class DestroyController extends Controller
/**
* BudgetLimitController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -60,16 +60,15 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/deleteBudgetLimit
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/deleteBudgetLimit
*
* Remove the specified resource from storage.
*
* @param Budget $budget
* @param BudgetLimit $budgetLimit
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function destroy(Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{

View File

@@ -49,7 +49,7 @@ class ListController extends Controller
/**
* BudgetLimitController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -68,20 +68,19 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listTransactionByBudgetLimit
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listTransactionByBudgetLimit
* Show all transactions.
*
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -110,7 +109,7 @@ class ListController extends Controller
$collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
$collector->setTypes($types);
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.budgets.limits.transactions', [$budget->id, $budgetLimit->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.limits.transactions', [$budget->id, $budgetLimit->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -50,7 +50,7 @@ class ShowController extends Controller
/**
* BudgetLimitController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -71,27 +71,26 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudgetLimitByBudget
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listBudgetLimitByBudget
*
* Display a listing of the budget limits for this budget.
*
* @param Request $request
* @param Budget $budget
* @param Request $request
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(Request $request, Budget $budget): JsonResponse
{
$manager = $this->getManager();
$manager->parseIncludes('budget');
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.limits.index', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.limits.index', [$budget->id]).$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -105,26 +104,25 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudgetLimit
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/listBudgetLimit
*
* Display a listing of the budget limits for this budget.
*
* @param DateRequest $request
* @param DateRequest $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function indexAll(DateRequest $request): JsonResponse
{
$manager = $this->getManager();
$manager->parseIncludes('budget');
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->blRepository->getAllBudgetLimits($this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budget-limits.index') . $this->buildParams());
$paginator->setPath(route('api.v1.budget-limits.index').$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -138,18 +136,18 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/getBudgetLimit
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/getBudgetLimit
*
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
*/
public function show(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
if ((int) $budget->id !== (int) $budgetLimit->budget_id) {
if ((int)$budget->id !== (int)$budgetLimit->budget_id) {
throw new FireflyException('20028: The budget limit does not belong to the budget.');
}
// continue!
@@ -163,5 +161,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -42,7 +42,7 @@ class StoreController extends Controller
/**
* BudgetLimitController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,12 +61,12 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/storeBudgetLimit
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/storeBudgetLimit
*
* Store a newly created resource in storage.
*
* @param StoreRequest $request
* @param Budget $budget
* @param StoreRequest $request
* @param Budget $budget
*
* @return JsonResponse
*/

View File

@@ -43,11 +43,11 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/updateBudgetLimit
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/updateBudgetLimit
*
* BudgetLimitController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -66,18 +66,19 @@ class UpdateController extends Controller
/**
* Update the specified resource in storage.
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/budgets/updateBudgetLimit
*
* @param UpdateRequest $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
* @param UpdateRequest $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
*/
public function update(UpdateRequest $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
if ((int) $budget->id !== (int) $budgetLimit->budget_id) {
if ((int)$budget->id !== (int)$budgetLimit->budget_id) {
throw new FireflyException('20028: The budget limit does not belong to the budget.');
}
$data = $request->getAll();
@@ -92,6 +93,5 @@ class UpdateController extends Controller
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -38,7 +38,7 @@ class DestroyController extends Controller
/**
* CategoryController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -55,14 +55,13 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/deleteCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/deleteCategory
*
* Remove the specified resource from storage.
*
* @param Category $category
* @param Category $category
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function destroy(Category $category): JsonResponse
{

View File

@@ -50,7 +50,7 @@ class ListController extends Controller
/**
* CategoryController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -67,18 +67,17 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/listAttachmentByCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/listAttachmentByCategory
*
* @param Category $category
* @param Category $category
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(Category $category): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($category);
$count = $collection->count();
@@ -86,7 +85,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.categories.attachments', [$category->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.categories.attachments', [$category->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -100,21 +99,20 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/listTransactionByCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/listTransactionByCategory
*
* Show all transactions.
*
* @param Request $request
* @param Request $request
*
* @param Category $category
* @param Category $category
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Category $category): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -145,7 +143,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.categories.transactions', [$category->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.categories.transactions', [$category->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -157,5 +155,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -44,7 +44,7 @@ class ShowController extends Controller
/**
* CategoryController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,20 +61,19 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/listCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/listCategory
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
$collection = $this->repository->getCategories();
@@ -83,7 +82,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($categories, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.categories.index') . $this->buildParams());
$paginator->setPath(route('api.v1.categories.index').$this->buildParams());
/** @var CategoryTransformer $transformer */
$transformer = app(CategoryTransformer::class);
@@ -96,14 +95,13 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/getCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/getCategory
*
* Show the category.
*
* @param Category $category
* @param Category $category
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function show(Category $category): JsonResponse
{

View File

@@ -41,7 +41,7 @@ class StoreController extends Controller
/**
* CategoryController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,11 +58,11 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/storeCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/storeCategory
*
* Store new category.
*
* @param StoreRequest $request
* @param StoreRequest $request
*
* @return JsonResponse
* @throws FireflyException
@@ -80,5 +80,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -41,7 +41,7 @@ class UpdateController extends Controller
/**
* CategoryController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,12 +58,12 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/updateCategory
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/categories/updateCategory
*
* Update the category.
*
* @param UpdateRequest $request
* @param Category $category
* @param UpdateRequest $request
* @param Category $category
*
* @return JsonResponse
*/
@@ -80,6 +80,5 @@ class UpdateController extends Controller
$resource = new Item($category, $transformer, 'categories');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -39,7 +39,7 @@ class DestroyController extends Controller
/**
* ObjectGroupController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,13 +58,12 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/deleteObjectGroup
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/object_groups/deleteObjectGroup
*
* Remove the specified resource from storage.
*
* @param ObjectGroup $objectGroup
* @param ObjectGroup $objectGroup
*
* @codeCoverageIgnore
* @return JsonResponse
*/
public function destroy(ObjectGroup $objectGroup): JsonResponse

View File

@@ -45,7 +45,7 @@ class ListController extends Controller
/**
* ObjectGroupController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -64,21 +64,20 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/listBillByObjectGroup
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/object_groups/listBillByObjectGroup
*
* List all bills in this object group
*
* @param ObjectGroup $objectGroup
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function bills(ObjectGroup $objectGroup): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of piggy banks. Count it and split it.
$collection = $this->repository->getBills($objectGroup);
$count = $collection->count();
@@ -86,7 +85,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]).$this->buildParams());
/** @var BillTransformer $transformer */
$transformer = app(BillTransformer::class);
@@ -100,15 +99,14 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/listPiggyBankByObjectGroup
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/object_groups/listPiggyBankByObjectGroup
*
* List all piggies under the object group.
*
* @param ObjectGroup $objectGroup
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function piggyBanks(ObjectGroup $objectGroup): JsonResponse
{
@@ -116,7 +114,7 @@ class ListController extends Controller
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of piggy banks. Count it and split it.
$collection = $this->repository->getPiggyBanks($objectGroup);
@@ -125,7 +123,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.object-groups.piggy_banks', [$objectGroup->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.object-groups.piggy-banks', [$objectGroup->id]).$this->buildParams());
/** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class);
@@ -135,6 +133,5 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -46,7 +46,7 @@ class ShowController extends Controller
/**
* ObjectGroupController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -65,22 +65,21 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/listObjectGroups
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/object_groups/listObjectGroups
*
* Display a listing of the resource.
*
* @param Request $request
* @param Request $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(Request $request): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$this->repository->resetOrder();
$collection = $this->repository->get();
@@ -89,7 +88,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($objectGroups, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.object-groups.index') . $this->buildParams());
$paginator->setPath(route('api.v1.object-groups.index').$this->buildParams());
/** @var ObjectGroupTransformer $transformer */
$transformer = app(ObjectGroupTransformer::class);
@@ -103,11 +102,11 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/getObjectGroup
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/object_groups/getObjectGroup
*
* Show single instance.
*
* @param ObjectGroup $objectGroup
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
*/

View File

@@ -42,7 +42,7 @@ class UpdateController extends Controller
/**
* ObjectGroupController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,10 +61,10 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/updateObjectGroup
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/object_groups/updateObjectGroup
*
* @param UpdateRequest $request
* @param ObjectGroup $objectGroup
* @param UpdateRequest $request
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
*/

View File

@@ -38,7 +38,7 @@ class DestroyController extends Controller
/**
* Constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -55,14 +55,13 @@ class DestroyController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/deletePiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/deletePiggyBank
*
* Delete the resource.
*
* @param PiggyBank $piggyBank
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function destroy(PiggyBank $piggyBank): JsonResponse
{

View File

@@ -44,7 +44,7 @@ class ListController extends Controller
/**
* Constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,18 +61,17 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/listAttachmentByPiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/listAttachmentByPiggyBank
*
* @param PiggyBank $piggyBank
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(PiggyBank $piggyBank): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($piggyBank);
$count = $collection->count();
@@ -80,7 +79,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.piggy_banks.attachments', [$piggyBank->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.piggy-banks.attachments', [$piggyBank->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -94,20 +93,19 @@ class ListController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/listEventByPiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/listEventByPiggyBank
*
* List single resource.
*
* @param PiggyBank $piggyBank
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function piggyBankEvents(PiggyBank $piggyBank): JsonResponse
{
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$manager = $this->getManager();
$collection = $this->repository->getEvents($piggyBank);
@@ -116,7 +114,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.piggy_banks.events', [$piggyBank->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.piggy-banks.events', [$piggyBank->id]).$this->buildParams());
/** @var PiggyBankEventTransformer $transformer */
$transformer = app(PiggyBankEventTransformer::class);
@@ -126,6 +124,5 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -44,7 +44,7 @@ class ShowController extends Controller
/**
* Constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -61,19 +61,18 @@ class ShowController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/listPiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/listPiggyBank
*
* List all of them.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
{
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
$collection = $this->repository->getPiggyBanks();
@@ -82,7 +81,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.piggy_banks.index') . $this->buildParams());
$paginator->setPath(route('api.v1.piggy-banks.index').$this->buildParams());
/** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class);
@@ -92,19 +91,17 @@ class ShowController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/getPiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/getPiggyBank
*
* List single resource.
*
* @param PiggyBank $piggyBank
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function show(PiggyBank $piggyBank): JsonResponse
{
@@ -117,6 +114,5 @@ class ShowController extends Controller
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -41,7 +41,7 @@ class StoreController extends Controller
/**
* Constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,11 +58,11 @@ class StoreController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/storePiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/storePiggyBank
*
* Store new object.
*
* @param StoreRequest $request
* @param StoreRequest $request
*
* @return JsonResponse
* @throws FireflyException

View File

@@ -41,7 +41,7 @@ class UpdateController extends Controller
/**
* Constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
@@ -58,12 +58,12 @@ class UpdateController extends Controller
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/updatePiggyBank
* https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/piggy_banks/updatePiggyBank
*
* Update piggy bank.
*
* @param UpdateRequest $request
* @param PiggyBank $piggyBank
* @param UpdateRequest $request
* @param PiggyBank $piggyBank
*
* @return JsonResponse
*/
@@ -84,6 +84,5 @@ class UpdateController extends Controller
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

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