Compare commits

...

321 Commits

Author SHA1 Message Date
James Cole
13b96bb3b6 Merge branch 'release/5.5.11' into main 2021-05-08 21:35:16 +02:00
James Cole
c318790bbf Update packages. 2021-05-08 21:28:24 +02:00
James Cole
0d969dd42a Rebuild all for new release. 2021-05-08 21:26:50 +02:00
James Cole
4e70601d19 Fix reference. 2021-05-08 21:19:26 +02:00
James Cole
e4a6ff293a Temp version of budget view. 2021-05-08 21:19:04 +02:00
James Cole
d0edae76f2 Build v2 with some fixes for #4735 2021-05-08 18:23:50 +02:00
James Cole
9eaacf30ad Fix #4739 2021-05-08 17:56:36 +02:00
James Cole
40111ed25e Expand API point. 2021-05-07 19:32:08 +02:00
James Cole
506f972c75 Merge branch 'main' into develop 2021-05-04 19:00:52 +02:00
James Cole
843f3c9b45 Switch to another host in the default configuration. 2021-05-04 19:00:33 +02:00
James Cole
6c2c2ca41f Changelog. Temp version. 2021-05-04 18:58:55 +02:00
James Cole
8315734471 Update schedule to daily. 2021-05-03 08:08:47 +02:00
James Cole
2d9b2ab379 Merge pull request #4740 from firefly-iii/dependabot/composer/develop/league/commonmark-1.6.0
Bump league/commonmark from 1.5.8 to 1.6.0
2021-05-03 07:24:07 +02:00
dependabot[bot]
45f20509f4 Bump league/commonmark from 1.5.8 to 1.6.0
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 1.5.8 to 1.6.0.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/latest/CHANGELOG-1.x.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/1.5.8...1.6.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-03 05:06:24 +00:00
James Cole
c5b9c79b82 Rebuild frontend. 2021-05-02 15:19:09 +02:00
James Cole
6a196884e5 Merge branch 'main' into develop 2021-05-02 15:13:37 +02:00
James Cole
1d9431795b Add feedback. 2021-05-02 15:12:53 +02:00
James Cole
b3074b2f6a Fix run. 2021-05-02 15:03:56 +02:00
James Cole
3be65ff806 Add manual trigger. 2021-05-02 15:03:09 +02:00
James Cole
8c0005e460 Remove old lock file. 2021-05-02 15:00:56 +02:00
James Cole
c7128dedf2 Lock app. 2021-05-02 15:00:40 +02:00
James Cole
e5736c822d Warn, not info. 2021-05-02 06:40:36 +02:00
James Cole
8f6655f85e Rebuild front 2021-05-01 20:24:36 +02:00
James Cole
dbe827e3c5 Various strict code things. 2021-05-01 20:04:58 +02:00
James Cole
5a7f933a5c Possible fix for #4734 2021-05-01 18:55:49 +02:00
James Cole
54d5f9a9c3 Fix #4707 and fix #4732 2021-05-01 18:54:11 +02:00
James Cole
cc682485fc Fix #4730 2021-05-01 17:59:36 +02:00
James Cole
f8cb8967d9 Fix #4729 2021-05-01 17:52:01 +02:00
James Cole
0480db10ac Merge tag '5.5.10' into develop
5.5.10
2021-05-01 11:40:35 +02:00
James Cole
f52c6f7b00 Merge branch 'release/5.5.10' into main 2021-05-01 11:40:34 +02:00
James Cole
7d1f5f5257 Cast to int 2021-05-01 11:34:11 +02:00
James Cole
ea0942b7fe Update for 5.5.10 2021-05-01 09:47:21 +02:00
James Cole
3298f2d815 Form changes. 2021-05-01 08:47:20 +02:00
James Cole
fae5cdae50 Fix issue in link. 2021-05-01 08:36:19 +02:00
James Cole
8ffe08bfb9 Add more info. 2021-05-01 07:14:43 +02:00
James Cole
1c2b14868b Skip if null 2021-05-01 07:07:32 +02:00
James Cole
7775a0141b Skips pgsql for some reason. 2021-05-01 06:53:42 +02:00
James Cole
831272d971 Repair sequences for #4545 2021-05-01 06:46:36 +02:00
James Cole
c8c4507d4b Merge branch 'main' into develop 2021-04-30 17:58:22 +02:00
James Cole
6a74cd21fb Merge pull request #4727 from firefly-iii/dependabot/composer/laravel/framework-8.40.0
Bump laravel/framework from 8.38.0 to 8.40.0
2021-04-30 06:58:07 +02:00
dependabot[bot]
eb5eca9fa5 Bump laravel/framework from 8.38.0 to 8.40.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 8.38.0 to 8.40.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/8.x/CHANGELOG-8.x.md)
- [Commits](https://github.com/laravel/framework/compare/v8.38.0...v8.40.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-30 04:10:52 +00:00
James Cole
0e702fb334 Merge pull request #4725 from firefly-iii/dependabot/composer/composer/composer-2.0.13
Bump composer/composer from 2.0.12 to 2.0.13
2021-04-30 06:09:41 +02:00
dependabot[bot]
626f97cd65 Bump composer/composer from 2.0.12 to 2.0.13
Bumps [composer/composer](https://github.com/composer/composer) from 2.0.12 to 2.0.13.
- [Release notes](https://github.com/composer/composer/releases)
- [Changelog](https://github.com/composer/composer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/composer/composer/compare/2.0.12...2.0.13)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 21:54:42 +00:00
James Cole
f03b0569cf Update packages 2021-04-27 06:50:10 +02:00
James Cole
82f3a37a3e Clean up some code. 2021-04-27 06:45:11 +02:00
James Cole
112a27dbd9 Clean up some code. 2021-04-27 06:42:07 +02:00
James Cole
366eca3173 Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop 2021-04-27 06:24:49 +02:00
James Cole
fab0c5bfd9 Small code cleanup. 2021-04-27 06:23:16 +02:00
James Cole
dc3b923258 Merge pull request #4716 from rubenvanerk/patch-1
Fix link in index
2021-04-26 20:29:43 +02:00
Ruben van Erk
3622d3234a Fix link in index 2021-04-26 20:08:35 +02:00
James Cole
cf2c99d986 Merge pull request #4711 from firefly-iii/dependabot/composer/develop/vimeo/psalm-4.7.1
Bump vimeo/psalm from 4.7.0 to 4.7.1
2021-04-26 08:19:45 +02:00
James Cole
672add8668 Merge pull request #4712 from firefly-iii/dependabot/composer/develop/filp/whoops-2.12.1
Bump filp/whoops from 2.12.0 to 2.12.1
2021-04-26 08:14:29 +02:00
James Cole
d5826861a0 Merge pull request #4713 from firefly-iii/dependabot/npm_and_yarn/frontend/develop/chart.js-3.2.0
Bump chart.js from 3.1.1 to 3.2.0 in /frontend
2021-04-26 08:10:46 +02:00
dependabot[bot]
a8494bd6f0 Bump chart.js from 3.1.1 to 3.2.0 in /frontend
Bumps [chart.js](https://github.com/chartjs/Chart.js) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/chartjs/Chart.js/releases)
- [Commits](https://github.com/chartjs/Chart.js/compare/v3.1.1...v3.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 05:32:50 +00:00
dependabot[bot]
7fa0c14f8c Bump filp/whoops from 2.12.0 to 2.12.1
Bumps [filp/whoops](https://github.com/filp/whoops) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/filp/whoops/releases)
- [Changelog](https://github.com/filp/whoops/blob/master/CHANGELOG.md)
- [Commits](https://github.com/filp/whoops/compare/2.12.0...2.12.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 05:09:07 +00:00
dependabot[bot]
9bd22d4252 Bump vimeo/psalm from 4.7.0 to 4.7.1
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.7.0...4.7.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 05:08:38 +00:00
James Cole
b78f5bd54a Fix #4708 2021-04-26 06:39:12 +02:00
James Cole
0949a264b8 Fix #4710 2021-04-26 06:18:30 +02:00
James Cole
97a0110931 Merge tag '5.5.9' into develop
5.5.9
2021-04-24 21:37:43 +02:00
James Cole
83ec935ac3 Merge branch 'release/5.5.9' into main 2021-04-24 21:37:42 +02:00
James Cole
e46da428eb Update meta files. 2021-04-24 21:27:36 +02:00
James Cole
26089f992e Remove debug code. 2021-04-24 21:18:15 +02:00
James Cole
13233e0893 Fix #4706 2021-04-24 21:08:46 +02:00
James Cole
da934575a6 Disable unused method. 2021-04-24 06:09:31 +02:00
James Cole
6feb04c800 Rebuild various components. 2021-04-24 05:34:24 +02:00
James Cole
d56f97e86d Files for 5.5.9 2021-04-23 18:48:15 +02:00
James Cole
a78614f198 Align top boxes 2021-04-23 06:15:24 +02:00
James Cole
2b25631611 Fix budget API call 2021-04-23 06:03:06 +02:00
James Cole
98613b5ea6 Update composer 2021-04-22 19:56:52 +02:00
James Cole
105ecc4452 Add debug 2021-04-22 19:56:42 +02:00
James Cole
418a682f7e Remove bad account types. 2021-04-22 19:55:43 +02:00
James Cole
215e5d42a7 Rebuild frontend. 2021-04-22 18:41:44 +02:00
James Cole
21d71bd03c Include user in preference 2021-04-22 18:34:08 +02:00
James Cole
3184a8536e Add another command. 2021-04-22 18:33:53 +02:00
James Cole
ddf9938c00 Fix issue with empty box. 2021-04-22 18:33:37 +02:00
James Cole
388d19b99c Fix #4697 2021-04-22 06:18:46 +02:00
James Cole
ec03017eca Fix possible issue with tag display in bulk editor. 2021-04-21 06:23:12 +02:00
James Cole
0b920b5c64 Catch obscure DB errors. 2021-04-20 07:55:24 +02:00
James Cole
6e0be9a6a2 Rebuild frontend. 2021-04-19 06:49:58 +02:00
James Cole
f1798a1c97 Regenerate frontend. 2021-04-18 12:29:42 +02:00
James Cole
57cb428105 Merge tag '5.5.8' into develop
5.5.8
2021-04-18 07:28:13 +02:00
James Cole
adc52f7b63 Merge branch 'release/5.5.8' into main 2021-04-18 07:28:12 +02:00
James Cole
f8cf02bda1 Make sure debug does timezone right. 2021-04-18 07:28:00 +02:00
James Cole
4b14ad9770 Update packages. 2021-04-18 07:23:05 +02:00
James Cole
2a630b0a50 Rebuild frontend, new translations. 2021-04-18 07:22:10 +02:00
James Cole
1a311664e8 Rebuild frontend. 2021-04-17 20:53:42 +02:00
James Cole
0a4e3edf43 Rebuild frontend, add version to JS calls against caching. 2021-04-17 15:57:51 +02:00
James Cole
9b0b80d1d4 Various fixes for v2 issues in 5.5.7 2021-04-17 15:53:11 +02:00
James Cole
dcd123a9ec Fix #4668 2021-04-17 05:39:56 +02:00
James Cole
e06452d97c Fix #4664 2021-04-16 05:55:23 +02:00
James Cole
e5b4e7afe0 Recreate frontend for correct date #4660 2021-04-15 06:39:07 +02:00
James Cole
0ea22269a0 Fix #4663 2021-04-15 06:15:17 +02:00
James Cole
577dcfa938 Rebuild frontend. 2021-04-14 20:07:39 +02:00
James Cole
99f08da4df Fix #4656 2021-04-13 19:01:43 +02:00
James Cole
2f9724e7ca Fix nullpointers. 2021-04-13 06:26:51 +02:00
James Cole
8cda89569c Update .env.example 2021-04-12 15:50:13 +00:00
James Cole
5421e30293 Add text #4637 2021-04-12 17:25:40 +02:00
James Cole
a2deff0f7a Whoops 2021-04-12 15:28:06 +02:00
James Cole
bff661fe69 Merge branch 'main' into develop 2021-04-12 14:10:52 +02:00
James Cole
f6b890e284 Fix #4652 2021-04-12 14:09:17 +02:00
James Cole
acb8fa522b Merge tag '5.5.7' into develop
5.5.7
2021-04-12 06:30:46 +02:00
James Cole
b47614c965 Merge branch 'release/5.5.7' into main 2021-04-12 06:30:44 +02:00
James Cole
9af458df49 Updates for new release. 2021-04-12 06:30:12 +02:00
James Cole
a67e2b597d Fix #4646 2021-04-12 06:16:00 +02:00
James Cole
3c36eed461 Rebuild frontend. 2021-04-11 07:43:07 +02:00
James Cole
5a7c3bd716 Rebuild v1 2021-04-11 07:27:25 +02:00
James Cole
43476167d8 Remove lots of debug comments. 2021-04-11 07:26:52 +02:00
James Cole
d357eaeb51 Update meta files for new release. 2021-04-11 07:26:37 +02:00
James Cole
2e118c5f22 Fix #4635 2021-04-11 06:49:46 +02:00
James Cole
8e95530ca8 Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop 2021-04-10 17:56:30 +02:00
James Cole
a04a6845f7 Merge pull request #4627 from devfaz/add_bill_nobill
added has_no_bill and has_any_bill search parameters
2021-04-10 12:01:43 +02:00
Fabian Zimmermann
185e9b66d6 added has_no_bill and has_any_bill search parameters 2021-04-10 10:59:59 +02:00
James Cole
93a7c51dd1 Update meta files 2021-04-10 08:01:55 +02:00
James Cole
f9ac40a811 Improve layout of v2 auth forms 2021-04-10 06:36:28 +02:00
James Cole
b0027acf34 Make sure that migrations work on old MySQL servers. 2021-04-10 06:36:09 +02:00
James Cole
f5e5854479 Rebuild frontend 2021-04-09 19:35:03 +02:00
James Cole
95d72d065b Fix #4628 2021-04-09 16:02:50 +02:00
James Cole
56b2fa69bc Fix for #4625 2021-04-09 09:02:00 +02:00
James Cole
e614427925 Fix some submit issues. 2021-04-09 07:03:19 +02:00
James Cole
34dc1f9f53 Merge branch 'release/5.5.6' into main 2021-04-09 06:20:39 +02:00
James Cole
94d9b78a33 Merge tag '5.5.6' into develop
5.5.6
2021-04-09 06:20:39 +02:00
James Cole
b9d949d259 Changelog and version. 2021-04-09 06:20:10 +02:00
James Cole
3376e1e663 Fix issue in date format. 2021-04-09 06:19:43 +02:00
James Cole
ea98c2631f Merge branch 'release/5.5.5' into main 2021-04-09 06:07:05 +02:00
James Cole
50b9fe649d Merge tag '5.5.5' into develop
5.5.5
2021-04-09 06:07:05 +02:00
James Cole
56054531a3 Jump to 5.5.5 2021-04-09 06:06:41 +02:00
James Cole
1912e46113 Remove strict CSP header for #4622 2021-04-09 06:05:27 +02:00
James Cole
075f951cfe Merge tag '5.5.4' into develop
5.5.4
2021-04-09 03:06:18 +02:00
James Cole
26aad765ae Merge branch 'release/5.5.4' into main 2021-04-09 03:06:16 +02:00
James Cole
73ba78d46d Update libraries for new release. 2021-04-09 03:05:37 +02:00
James Cole
0d5dd40134 Updated changelog. 2021-04-09 02:59:23 +02:00
James Cole
f0d84ad142 Update readme. 2021-04-09 02:55:57 +02:00
James Cole
0b4ebf644d Rebuild frontend 2021-04-09 02:07:34 +02:00
James Cole
5b60db120f Submit was broken. 2021-04-08 17:49:25 +02:00
James Cole
f2073a4494 Fix various issues in forms. 2021-04-08 17:41:19 +02:00
James Cole
3e12d26afd Disable almost all things. 2021-04-08 16:47:16 +02:00
James Cole
e458208966 Rebuild frontend 2021-04-08 16:09:09 +02:00
James Cole
e28a77dc87 Add nonce to build. 2021-04-08 12:30:21 +02:00
James Cole
a709596ccb Add headers. 2021-04-08 12:27:54 +02:00
James Cole
849c7dfe02 Strict headers and CSS nonce 2021-04-08 12:10:04 +02:00
James Cole
e580093a34 Weird headers. 2021-04-08 12:05:08 +02:00
James Cole
4fa7a5c1bc Update headers 2021-04-08 11:58:21 +02:00
James Cole
d668007fee Remove style thing 2021-04-08 11:55:10 +02:00
James Cole
6cbccf3be6 Small change in headers 2021-04-08 11:50:59 +02:00
James Cole
9cd75dda1a Link to issue. 2021-04-08 11:34:24 +02:00
James Cole
56dff7ea67 Rebuild new layout. 2021-04-08 11:21:20 +02:00
James Cole
6160f99e92 Update transactions. 2021-04-08 10:23:35 +02:00
James Cole
115639a004 Clean up some code. 2021-04-08 10:13:35 +02:00
James Cole
a0c98c7d9f Update packages. 2021-04-08 09:54:05 +02:00
James Cole
7842700bf1 Do not report specific error. 2021-04-08 06:50:00 +02:00
James Cole
4ecda4d4e0 Add some special headers. 2021-04-07 20:47:40 +02:00
James Cole
c76d140d0b Allow a new config var 2021-04-07 18:24:06 +02:00
James Cole
4f42eb1796 Fix nullpointers. 2021-04-07 14:18:43 +02:00
James Cole
c67b10e38d Fix nullpointer. 2021-04-07 14:17:03 +02:00
James Cole
614ceabd45 Fix #4593 2021-04-07 11:35:53 +02:00
James Cole
a94b2e8806 Extra if 2021-04-07 10:52:38 +02:00
James Cole
732616984b Fix nullpointer. 2021-04-07 09:32:12 +02:00
James Cole
eddf0c1200 Various code cleanup. 2021-04-07 07:53:05 +02:00
James Cole
49013264d5 Various code cleanup. 2021-04-07 07:32:54 +02:00
James Cole
f12744ad8c Various code cleanup. 2021-04-07 07:28:43 +02:00
James Cole
4ddcb0c965 Do not report on OAuth exceptions. 2021-04-07 05:56:50 +02:00
James Cole
0846d4898f Various code cleanup. 2021-04-07 05:55:51 +02:00
James Cole
cb746200fa Various code cleanup. 2021-04-06 18:48:02 +02:00
James Cole
fe06a1f7a0 Various code cleanup. 2021-04-06 18:36:37 +02:00
James Cole
9c1cee738d Update translations. 2021-04-06 17:12:58 +02:00
James Cole
7cc778673a Various code cleanup. 2021-04-06 17:12:31 +02:00
James Cole
38d0f0427f Various code cleanup. 2021-04-06 17:00:16 +02:00
James Cole
8572280b7b Update CI scripts. 2021-04-06 17:00:00 +02:00
James Cole
69b1769f22 Refactor old methods. 2021-04-06 13:30:09 +02:00
James Cole
5ceef2e9c3 Various code cleanup. 2021-04-06 08:51:27 +02:00
James Cole
d32446b171 Various code cleanup. 2021-04-05 22:12:57 +02:00
James Cole
d8ca39ffea Code for #4607 2021-04-05 22:12:11 +02:00
James Cole
d47bddde62 Change code for #4607 2021-04-05 21:53:28 +02:00
James Cole
e4802ec958 Clean up some code. 2021-04-05 21:52:55 +02:00
James Cole
6d855e119d Update frontend. 2021-04-05 14:18:49 +02:00
James Cole
7ab81e493a Delete accounts. 2021-04-05 12:49:02 +02:00
James Cole
fa0397e431 Fix #4603 2021-04-05 12:42:34 +02:00
James Cole
aba3b361be Update composer. 2021-04-05 12:42:20 +02:00
James Cole
1cf188ee08 Add some if-statements to the migrations. 2021-04-05 10:56:56 +02:00
James Cole
f5983f08fd Rename parameter 2021-04-05 10:56:41 +02:00
James Cole
b812c2e09f Simplify account creation. 2021-04-05 10:56:08 +02:00
James Cole
d7466efbe1 Merge pull request #4602 from firefly-iii/dependabot/composer/develop/predis/predis-1.1.7
Bump predis/predis from 1.1.6 to 1.1.7
2021-04-05 07:19:25 +02:00
dependabot[bot]
dff30af9f2 Bump predis/predis from 1.1.6 to 1.1.7
Bumps [predis/predis](https://github.com/predis/predis) from 1.1.6 to 1.1.7.
- [Release notes](https://github.com/predis/predis/releases)
- [Changelog](https://github.com/predis/predis/blob/v1.1.7/CHANGELOG.md)
- [Commits](https://github.com/predis/predis/compare/v1.1.6...v1.1.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-05 05:06:58 +00:00
James Cole
25dcb73e27 Fix #4600 2021-04-05 06:14:13 +02:00
James Cole
63ed3d09d5 Increase digits in bcscale. 2021-04-04 18:01:16 +02:00
James Cole
caf1e6010b Add browser TZ to debug page. 2021-04-04 17:57:46 +02:00
James Cole
2d97408c1f Move debug view so it can be made universal. 2021-04-04 17:54:11 +02:00
James Cole
01c0d76c5a Add info about reset. 2021-04-04 16:05:35 +02:00
James Cole
7c7032d951 Add info about reset. 2021-04-04 16:04:39 +02:00
James Cole
6e722f5833 Ignore 404's. 2021-04-04 15:53:17 +02:00
James Cole
d3502c56d3 Fix #4593 2021-04-04 12:48:44 +02:00
James Cole
1b8eb3cd68 Move some views. 2021-04-04 08:43:33 +02:00
James Cole
bc7bd84221 Add missing library 2021-04-04 08:33:10 +02:00
James Cole
85b22341a4 Various updates. 2021-04-04 08:31:15 +02:00
James Cole
f8c725e5b2 Merge branch 'feature/api-bulk-transaction-move' into develop 2021-04-04 07:28:54 +02:00
James Cole
e6344e4f51 Update changelog. 2021-04-04 07:28:35 +02:00
James Cole
8eac10bf89 Simplify routine. 2021-04-04 07:25:52 +02:00
James Cole
c1da0eeced Update chart to include time. 2021-04-04 07:25:42 +02:00
James Cole
0a6d5b1766 Fix error views. 2021-04-03 20:51:19 +02:00
James Cole
4035ac09ce Clean up error display. 2021-04-03 20:46:37 +02:00
James Cole
f81a7cfac0 Merge tag '5.5.3' into develop
5.5.3
2021-04-03 18:50:37 +02:00
James Cole
2b086879cc Merge branch 'release/5.5.3' into main 2021-04-03 18:50:36 +02:00
James Cole
a3091f7509 Final code for 5.3.3 2021-04-03 18:48:21 +02:00
James Cole
70a6ac0038 Make it easier to login for demo users. 2021-04-03 14:03:54 +02:00
James Cole
468a53d587 Add API route to move transactions from one account to another. 2021-04-03 13:56:45 +02:00
James Cole
51f3b17ad2 Clean up handler. 2021-04-03 13:19:11 +02:00
James Cole
a864d3bd56 Rebuild frontend 2021-04-03 12:52:50 +02:00
James Cole
a4d5aa0d10 Do not report on authentication exceptions. 2021-04-03 12:46:50 +02:00
James Cole
aff5ac2c0a Update changelog and version. 2021-04-03 12:39:01 +02:00
James Cole
effe92a05c Make sure the email error mails everything. 2021-04-03 12:32:29 +02:00
James Cole
a4ca6dfd38 Update email message paths for #4586 2021-04-03 12:30:34 +02:00
James Cole
e6012e1ca2 Fix email templates and handler for #4586 2021-04-03 12:25:35 +02:00
James Cole
472497cafd Fix #4586 2021-04-03 12:16:29 +02:00
James Cole
34f4b16a63 Rebuild frontend. 2021-04-03 10:40:31 +02:00
James Cole
7f55a870d9 Merge tag '5.5.2' into develop
5.5.2
2021-04-03 07:40:01 +02:00
James Cole
6a37ad7c15 Merge branch 'release/5.5.2' into main 2021-04-03 07:40:00 +02:00
James Cole
788981d170 Expand changelog and readme. 2021-04-03 07:39:23 +02:00
James Cole
f377c92d8a Fix percentage call. 2021-04-03 07:32:48 +02:00
James Cole
0dc3068f7f Rebuild frontend and update packages. 2021-04-03 07:22:21 +02:00
James Cole
1ad8ec6dd1 Update transactions. 2021-04-03 07:17:42 +02:00
James Cole
18a80f3519 Update code for API 2021-04-03 07:16:43 +02:00
James Cole
82f8b091c1 Do not run auto budgets for inactive budgets #4582 2021-04-03 06:04:17 +02:00
James Cole
71785bae57 Upgrade frontend. 2021-04-02 22:33:31 +02:00
James Cole
6d979a68f2 Fix missing first_date 2021-04-02 16:31:24 +02:00
James Cole
ef852ef963 Update changelog 2021-04-02 07:06:39 +02:00
James Cole
00b0ce6c6e Add dates for #4575, fiddle with comments for #4578 2021-04-02 06:59:55 +02:00
James Cole
5750087d37 Fix nullpointer in bill transformer. 2021-04-02 06:57:31 +02:00
James Cole
a2ae977550 Tag and recurrence as date-time string 2021-04-02 06:18:04 +02:00
James Cole
b893651223 Turn dates into date-times. 2021-04-01 21:06:40 +02:00
James Cole
e221d37d2b Convert dates into date-times for #4571 2021-04-01 20:56:11 +02:00
James Cole
f0acab21a3 Add timezone to template for #4571 2021-04-01 06:48:06 +02:00
James Cole
93dc5fae09 Fix #4571 2021-04-01 06:47:56 +02:00
James Cole
40746db53e Add timezone to debug for #4571 2021-04-01 06:47:33 +02:00
James Cole
4404db650c Fix #4574 2021-04-01 06:19:01 +02:00
James Cole
ab968a56e6 Fix #4572 2021-04-01 06:15:50 +02:00
James Cole
246a3d000a Make sure admin page is not empty. 2021-04-01 06:15:32 +02:00
James Cole
cbcf251bb3 Fix #4570 2021-03-31 19:36:08 +02:00
James Cole
0756054690 Sort expenses and revenue by percentage. 2021-03-31 08:10:46 +02:00
James Cole
b6109ca93e Update some translations. 2021-03-31 07:03:15 +02:00
James Cole
823ee2cea0 Clean up operations repository for #4566 2021-03-31 06:54:32 +02:00
James Cole
18f6052681 Part of #4566 2021-03-31 06:29:08 +02:00
James Cole
4f2ab72567 Ref #4567 2021-03-31 06:08:02 +02:00
James Cole
bc6a2c2cca Fix #4562 2021-03-30 08:12:48 +02:00
James Cole
7a6a911f7f Fix #4560 2021-03-30 06:32:42 +02:00
James Cole
abeff39829 Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop 2021-03-30 06:11:04 +02:00
James Cole
4d18c1bf83 Add if statement for DB migration issue. 2021-03-29 18:53:31 +02:00
James Cole
8a818059f2 Merge pull request #4554 from firefly-iii/dependabot/composer/develop/vimeo/psalm-4.7.0
Bump vimeo/psalm from 4.6.4 to 4.7.0
2021-03-29 08:37:56 +00:00
James Cole
3768262224 Merge pull request #4553 from firefly-iii/dependabot/composer/develop/league/commonmark-1.5.8
Bump league/commonmark from 1.5.7 to 1.5.8
2021-03-29 08:25:22 +00:00
dependabot[bot]
b790a0731e Bump vimeo/psalm from 4.6.4 to 4.7.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.6.4 to 4.7.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.6.4...4.7.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 05:09:49 +00:00
dependabot[bot]
c38b9eeb08 Bump league/commonmark from 1.5.7 to 1.5.8
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 1.5.7 to 1.5.8.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/latest/CHANGELOG-1.x.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/1.5.7...1.5.8)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 05:09:20 +00:00
James Cole
22b376da71 Regenerate frontend. 2021-03-29 06:54:53 +02:00
James Cole
fde53abb1a Enable edit function 2021-03-29 06:53:51 +02:00
James Cole
c32e09a2b3 Fix #4551 2021-03-29 06:53:30 +02:00
James Cole
a243f3d7c2 Call to bad function breaks several reports, fix #4547 2021-03-28 20:42:03 +02:00
James Cole
3586c76b95 Parse improvements for budget overview. 2021-03-28 14:34:02 +02:00
James Cole
c9d9840235 Merge branch 'release/5.5.1' into main 2021-03-28 12:06:08 +02:00
James Cole
10390953fe Merge tag '5.5.1' into develop
5.5.1
2021-03-28 12:06:08 +02:00
James Cole
d6c6bc05ad Set correct version :( 2021-03-28 12:05:56 +02:00
James Cole
a17601e2a8 Update meta files and build. 2021-03-28 11:59:25 +02:00
James Cole
93d481b515 Merge branch 'release/5.5.0' into main
# Conflicts:
#	config/firefly.php
#	frontend/src/scss/_variables.scss
#	frontend/yarn.lock
#	public/v2/css/app.css
#	public/v2/css/app.css.map
#	public/v2/js/transactions/edit.js
#	public/v2/js/transactions/edit.js.map
#	public/v2/js/vendor.js
#	public/v2/js/vendor.js.map
2021-03-28 11:56:01 +02:00
James Cole
13b8ba3746 Rebuild frontend, final files for 5.5.0 2021-03-28 11:53:27 +02:00
James Cole
e6fbd9259d Remove some newlines 2021-03-28 11:47:34 +02:00
James Cole
b5eeacc128 Code cleanup. 2021-03-28 11:46:23 +02:00
James Cole
2c575f3ca5 Code cleanup. 2021-03-28 11:43:07 +02:00
James Cole
5abbb8a807 Code cleanup. 2021-03-28 11:39:26 +02:00
James Cole
6401b5c9eb Clean up readme and old code. 2021-03-28 10:37:01 +02:00
James Cole
7edc1a2571 Files for new release. 2021-03-27 20:10:05 +01:00
James Cole
f489add855 Update releases.md 2021-03-27 20:03:24 +01:00
James Cole
adfdcdb9c6 Files for new reelase. 2021-03-27 20:01:28 +01:00
James Cole
922050a79b Should be enough to fix order issues. 2021-03-27 15:28:11 +01:00
James Cole
436bef01da Always reset order. 2021-03-27 15:13:48 +01:00
James Cole
b7ba6f81da Option for showing active/inactive accounts. 2021-03-27 15:06:40 +01:00
James Cole
381b09d68b Sortable account list. 2021-03-27 10:19:22 +01:00
James Cole
fbed65d464 Fix broken preference 2021-03-26 06:31:25 +01:00
James Cole
bcd612d42f First frontend with working account lists. No sorting. 2021-03-26 06:14:35 +01:00
James Cole
eac2293778 Remove some debug info. 2021-03-24 19:28:07 +01:00
James Cole
72deff81f9 Fix some alignments and a translation. 2021-03-24 06:28:32 +01:00
James Cole
a8e9ba3041 Fix #4520 2021-03-24 06:06:18 +01:00
James Cole
3e73641378 Rebuild CSS 2021-03-23 18:45:27 +01:00
James Cole
7cf44a604a Rebuild frontpage. 2021-03-23 18:39:01 +01:00
James Cole
9003db6eba Fix #4529 2021-03-23 18:38:24 +01:00
James Cole
d1c87e1c21 Fix issues where rule action would use old data. 2021-03-23 06:42:26 +01:00
James Cole
ccaadd1f52 Update php7/8 detection code. 2021-03-23 06:23:30 +01:00
James Cole
e64653eaff Update firefly.php 2021-03-22 05:46:20 +00:00
James Cole
abb0f3d2be Whoops. 2021-03-22 06:45:13 +01:00
James Cole
7f48a1b6ee Fix validation, update version. 2021-03-22 06:40:36 +01:00
James Cole
4affed8f68 Rebuild frontend, first working edit form (with feedback) 2021-03-21 20:38:44 +01:00
James Cole
1088a43866 Rebuild frontend, first working edit form (no feedback) 2021-03-21 18:48:47 +01:00
James Cole
e0d0f49bfd Merge branch 'release/5.5.0-beta.3' into main
# Conflicts:
#	frontend/yarn.lock
2021-03-21 11:11:25 +01:00
James Cole
ee5b4d6a03 Update packages. 2021-03-21 11:10:11 +01:00
James Cole
7062294419 Rebuild front 2021-03-21 11:09:12 +01:00
James Cole
97a687e40a Final things. 2021-03-21 11:06:08 +01:00
James Cole
206845575c Code cleanup 2021-03-21 09:15:40 +01:00
James Cole
da1751940e Add flame 2021-03-21 09:03:49 +01:00
James Cole
9502544abf Update icons and favicons. 2021-03-21 08:56:51 +01:00
James Cole
b975ed87a0 Remove old Firefly III favicon 2021-03-21 08:54:56 +01:00
James Cole
cbf3118b8a Fix tests 2021-03-21 08:13:19 +01:00
James Cole
657726e667 First run of all tests 2021-03-21 07:30:44 +01:00
James Cole
eb90dac89d Transaction tests work. 2021-03-21 07:09:39 +01:00
James Cole
4c2f758f69 Tests also validate existing data. 2021-03-20 19:17:22 +01:00
James Cole
e577db4635 Catch for RSA 2021-03-20 18:42:38 +01:00
James Cole
b1023cdfda Update test routine. 2021-03-20 15:40:20 +01:00
James Cole
f15da8e4b3 Update test routine. 2021-03-20 15:39:49 +01:00
James Cole
5df6135a0e Make sure expectations work. 2021-03-20 15:28:44 +01:00
James Cole
186cbed777 Refactor available budget test 2021-03-20 08:00:58 +01:00
James Cole
bc5aa4b4cd Update test code. 2021-03-20 07:21:13 +01:00
James Cole
836f0ecf3f Fix tests for account 2021-03-20 07:02:06 +01:00
James Cole
e32f14578c Update frontend. 2021-03-19 09:19:37 +01:00
James Cole
03d3ede036 Expand test code. 2021-03-19 06:12:28 +01:00
James Cole
b4d44fdd2b Fix #4514 2021-03-16 17:39:21 +01:00
James Cole
a93da2a912 Expand some test helpers. 2021-03-16 17:20:41 +01:00
James Cole
df86c89acc Some test scripts. 2021-03-16 14:34:11 +01:00
James Cole
690edb8fcc Some notes in code. 2021-03-16 07:23:53 +01:00
James Cole
a43bd745d1 make sure all forms work as expected for b3. 2021-03-16 06:42:58 +01:00
James Cole
d5ee87ddee Fix some edge cases in recurrences. 2021-03-15 19:51:55 +01:00
James Cole
a0b46d9d8a Fix meta services for recurrences. 2021-03-15 10:31:11 +01:00
James Cole
1783f0beb1 Extra content to fix recurrences. 2021-03-15 08:51:21 +01:00
James Cole
8d84dfb3aa Small bugfixes for issues in beta 2 2021-03-15 07:45:46 +01:00
James Cole
b9bf5c9856 Merge pull request #4510 from firefly-iii/dependabot/composer/develop/vimeo/psalm-4.6.3
Bump vimeo/psalm from 4.6.2 to 4.6.3
2021-03-15 06:43:45 +00:00
dependabot[bot]
83be7c1886 Bump vimeo/psalm from 4.6.2 to 4.6.3
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.6.2 to 4.6.3.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.6.2...4.6.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-15 05:09:48 +00:00
James Cole
81404d934c Fix RSA token creation. 2021-03-14 20:14:51 +01:00
1290 changed files with 32742 additions and 63007 deletions

View File

@@ -10,6 +10,19 @@ parameters:
- '#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#'
-
message: '#Function compact\(\) should not be used.#'
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/ExpandedForm.php
- ../app/Generator/Report
paths:
- ../app
- ../database
@@ -17,4 +30,4 @@ parameters:
- ../bootstrap/app.php
# The level 8 is the highest level. original was 5
level: 5
level: 3

View File

@@ -21,12 +21,13 @@
#
# Install composer packages
composer install --no-scripts --no-ansi
#composer install --no-scripts --no-ansi
# enable test .env file.
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 --no-progress
./vendor/bin/phpstan analyse -c .ci/phpstan.neon
exit 0

View File

@@ -24,6 +24,7 @@
cp .ci/.env.ci ../.env
# 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
# run phpunit

View File

@@ -64,7 +64,7 @@ AUDIT_LOG_LEVEL=info
# Use "mysql" for MySQL and MariaDB.
# Use "sqlite" for SQLite.
DB_CONNECTION=mysql
DB_HOST=fireflyiiidb
DB_HOST=db
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=firefly
@@ -155,8 +155,16 @@ SEND_REPORT_JOURNALS=true
# Set a Mapbox API key here (see mapbox.com) so there might be a map available at various places.
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
# Take note: it is no longer necessary to set this value, and it will be removed in future versions.
MAPBOX_API_KEY=
#
# Instead of the mapbox API key, just set this value to true if you want to set the location
# of certain things, like transactions. Since this involves an external service, it's optional
# and disabled by default.
#
ENABLE_EXTERNAL_MAP=false
# The map will default to this location:
MAP_DEFAULT_LAT=51.983333
MAP_DEFAULT_LONG=5.916667
@@ -167,6 +175,10 @@ MAP_DEFAULT_ZOOM=6
# For full instructions on these settings please visit:
# https://docs.firefly-iii.org/advanced-installation/authentication
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
#
# If you enable 'ldap' AND you run Docker, the Docker image will contact packagist.org
# This is necessary to download the required packages.
#
LOGIN_PROVIDER=eloquent
# It's also possible to change the way users are authenticated. You could use Authelia for example.
@@ -320,6 +332,7 @@ BROADCAST_DRIVER=log
QUEUE_DRIVER=sync
CACHE_PREFIX=firefly
PUSHER_KEY=
IPINFO_TOKEN=
PUSHER_SECRET=
PUSHER_ID=
DEMO_USERNAME=

35
.github/lock.yml vendored
View File

@@ -1,35 +0,0 @@
# Configuration for Lock Threads - https://github.com/dessant/lock-threads
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 90
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: false
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: []
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: false
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: true
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings just for `issues` or `pulls`
# issues:
# exemptLabels:
# - help-wanted
# lockLabel: outdated
# pulls:
# daysUntilLock: 30
# Repository to extend settings from
# _extends: repo

19
.github/workflows/lock.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Lock old issues
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: '90'
issue-lock-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Account;
@@ -43,7 +42,6 @@ class AccountController extends Controller
private array $balanceTypes;
private AccountRepositoryInterface $repository;
/**
* AccountController constructor.
*/
@@ -104,8 +102,6 @@ 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);

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Bill;
@@ -38,7 +37,6 @@ class BillController extends Controller
{
private BillRepositoryInterface $repository;
/**
* BillController constructor.
*/
@@ -75,7 +73,6 @@ class BillController extends Controller
}
);
return response()->json($filtered->toArray());
}

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Budget;
@@ -38,7 +37,6 @@ class BudgetController extends Controller
{
private BudgetRepositoryInterface $repository;
/**
* BudgetController constructor.
*/

View File

@@ -37,7 +37,6 @@ class CategoryController extends Controller
{
private CategoryRepositoryInterface $repository;
/**
* CategoryController constructor.
*/

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\TransactionCurrency;
@@ -38,7 +37,6 @@ class CurrencyController extends Controller
{
private CurrencyRepositoryInterface $repository;
/**
* CurrencyController constructor.
*/
@@ -62,7 +60,7 @@ class CurrencyController extends Controller
*
* @return JsonResponse
*/
public function currenciesWithCode(AutocompleteRequest $request): JsonResponse
public function currencies(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$collection = $this->repository->searchCurrency($data['query'], $data['limit']);
@@ -71,8 +69,8 @@ class CurrencyController extends Controller
/** @var TransactionCurrency $currency */
foreach ($collection as $currency) {
$result[] = [
'id' => (string) $currency->id,
'name' => sprintf('%s (%s)', $currency->name, $currency->code),
'id' => (string)$currency->id,
'name' => $currency->name,
'code' => $currency->code,
'symbol' => $currency->symbol,
'decimal_places' => $currency->decimal_places,
@@ -87,7 +85,7 @@ class CurrencyController extends Controller
*
* @return JsonResponse
*/
public function currencies(AutocompleteRequest $request): JsonResponse
public function currenciesWithCode(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$collection = $this->repository->searchCurrency($data['query'], $data['limit']);
@@ -96,8 +94,8 @@ class CurrencyController extends Controller
/** @var TransactionCurrency $currency */
foreach ($collection as $currency) {
$result[] = [
'id' => (string) $currency->id,
'name' => $currency->name,
'id' => (string)$currency->id,
'name' => sprintf('%s (%s)', $currency->name, $currency->code),
'code' => $currency->code,
'symbol' => $currency->symbol,
'decimal_places' => $currency->decimal_places,

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\ObjectGroup;
@@ -38,7 +37,6 @@ class ObjectGroupController extends Controller
{
private ObjectGroupRepositoryInterface $repository;
/**
* CurrencyController constructor.
*/
@@ -68,7 +66,7 @@ class ObjectGroupController extends Controller
$return = [];
$result = $this->repository->search($data['query'], $data['limit']);
/** @var ObjectGroup $account */
/** @var ObjectGroup $objectGroup */
foreach ($result as $objectGroup) {
$return[] = [
'id' => (string)$objectGroup->id,

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\PiggyBank;
@@ -37,11 +36,9 @@ use Illuminate\Http\JsonResponse;
*/
class PiggyBankController extends Controller
{
private AccountRepositoryInterface $accountRepository;
private PiggyBankRepositoryInterface $piggyRepository;
private AccountRepositoryInterface $accountRepository;
/**
* PiggyBankController constructor.
*/

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Rule;
@@ -37,7 +36,6 @@ class RecurrenceController extends Controller
{
private RecurringRepositoryInterface $repository;
/**
* RecurrenceController constructor.
*/

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Rule;
@@ -37,7 +36,6 @@ class RuleController extends Controller
{
private RuleRepositoryInterface $repository;
/**
* RuleController constructor.
*/
@@ -62,7 +60,7 @@ class RuleController extends Controller
public function rules(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$rules = $this->repository->searchRule($data['query'], $data['limit']);
$rules = $this->repository->searchRule($data['query'], $data['limit']);
$response = [];
/** @var Rule $rule */

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\RuleGroup;
@@ -37,7 +36,6 @@ class RuleGroupController extends Controller
{
private RuleGroupRepositoryInterface $repository;
/**
* RuleGroupController constructor.
*/

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Tag;
@@ -38,7 +37,6 @@ class TagController extends Controller
{
private TagRepositoryInterface $repository;
/**
* TagController constructor.
*/

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\TransactionJournal;
@@ -38,10 +37,8 @@ use Illuminate\Support\Collection;
*/
class TransactionController extends Controller
{
private JournalRepositoryInterface $repository;
private TransactionGroupRepositoryInterface $groupRepository;
private JournalRepositoryInterface $repository;
/**
* TransactionController constructor.
@@ -63,7 +60,6 @@ class TransactionController extends Controller
);
}
/**
* @param AutocompleteRequest $request
*
@@ -102,7 +98,7 @@ class TransactionController extends Controller
$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) {

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\TransactionType;
@@ -37,7 +36,6 @@ class TransactionTypeController extends Controller
{
private TransactionTypeRepositoryInterface $repository;
/**
* TransactionTypeController constructor.
*/
@@ -69,7 +67,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

@@ -45,7 +45,6 @@ class AccountController extends Controller
private CurrencyRepositoryInterface $currencyRepository;
private AccountRepositoryInterface $repository;
/**
* AccountController constructor.
*
@@ -87,12 +86,12 @@ class AccountController extends Controller
$defaultSet = $this->repository->getAccountsByType([AccountType::ASSET])->pluck('id')->toArray();
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
$default = app('amount')->getDefaultCurrency();
// @codeCoverageIgnoreStart
if (0 === count($frontPage->data)) {
$frontPage->data = $defaultSet;
$frontPage->save();
}
// @codeCoverageIgnoreEnd
// get accounts:
$accounts = $this->repository->getAccountsById($frontPage->data);
@@ -101,7 +100,7 @@ class AccountController extends Controller
foreach ($accounts as $account) {
$currency = $this->repository->getAccountCurrency($account);
if (null === $currency) {
$currency = $default; // @codeCoverageIgnore
$currency = $default;
}
$currentSet = [
'label' => $account->name,
@@ -109,8 +108,8 @@ class AccountController extends Controller
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
'start_date' => $start->format('Y-m-d'),
'end_date' => $end->format('Y-m-d'),
'start_date' => $start->toAtomString(),
'end_date' => $end->toAtomString(),
'type' => 'line', // line, area or bar
'yAxisID' => 0, // 0, 1, 2
'entries' => [],
@@ -121,7 +120,7 @@ class AccountController extends Controller
$previous = round((float)array_values($range)[0], 12);
while ($currentStart <= $end) {
$format = $currentStart->format('Y-m-d');
$label = $currentStart->format('Y-m-d');
$label = $currentStart->toAtomString();
$balance = array_key_exists($format, $range) ? round((float)$range[$format], 12) : $previous;
$previous = $balance;
$currentStart->addDay();

View File

@@ -0,0 +1,52 @@
<?php
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
*/
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);
}
);
}
/**
* @param MoveTransactionsRequest $request
*
* @return JsonResponse
*/
public function moveTransactions(MoveTransactionsRequest $request): JsonResponse
{
$accountIds = $request->getAll();
$original = $this->repository->findNull($accountIds['original_account']);
$destination = $this->repository->findNull($accountIds['destination_account']);
/** @var AccountDestroyService $service */
$service = app(AccountDestroyService::class);
$service->moveTransactions($original, $destination);
return response()->json([], 204);
}
}

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
/*
* AccountController.php
* Copyright (c) 2021 james@firefly-iii.org
@@ -21,12 +22,11 @@
namespace FireflyIII\Api\V1\Controllers\Data\Export;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Data\Export\ExportRequest;
use FireflyIII\Support\Export\ExportDataGenerator;
use FireflyIII\User;
use Illuminate\Http\Response as LaravelResponse;
use League\Csv\CannotInsertRecord;
/**
* Class ExportController
@@ -43,23 +43,19 @@ class ExportController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var ExportDataGenerator $exporter */
$this->exporter = app(ExportDataGenerator::class);
$this->exporter->setUser($user);
$this->exporter->setUser(auth()->user());
return $next($request);
}
);
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
* @throws CannotInsertRecord
*/
public function accounts(ExportRequest $request): LaravelResponse
{
@@ -69,120 +65,11 @@ class ExportController extends Controller
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function bills(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportBills(true);
return $this->returnExport('bills');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function budgets(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportBudgets(true);
return $this->returnExport('budgets');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function categories(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportCategories(true);
return $this->returnExport('categories');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function piggyBanks(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportPiggies(true);
return $this->returnExport('piggies');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function recurring(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportRecurring(true);
return $this->returnExport('recurrences');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function rules(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportRules(true);
return $this->returnExport('rules');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function tags(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportTags(true);
return $this->returnExport('tags');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
*/
public function transactions(ExportRequest $request): LaravelResponse
{
$params = $request->getAll();
$this->exporter->setStart($params['start']);
$this->exporter->setEnd($params['end']);
$this->exporter->setAccounts($params['accounts']);
$this->exporter->setExportTransactions(true);
return $this->returnExport('transactions');
}
/**
* @param string $key
*
* @return LaravelResponse
* @throws \League\Csv\CannotInsertRecord
* @throws CannotInsertRecord
*/
private function returnExport(string $key): LaravelResponse
{
@@ -201,9 +88,117 @@ class ExportController extends Controller
->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public')
->header('Content-Length', strlen($data[$key]));
->header('Content-Length', (string)strlen($data[$key]));
return $response;
}
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function bills(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportBills(true);
return $this->returnExport('bills');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function budgets(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportBudgets(true);
return $this->returnExport('budgets');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function categories(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportCategories(true);
return $this->returnExport('categories');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function piggyBanks(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportPiggies(true);
return $this->returnExport('piggies');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function recurring(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportRecurring(true);
return $this->returnExport('recurrences');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function rules(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportRules(true);
return $this->returnExport('rules');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function tags(ExportRequest $request): LaravelResponse
{
$this->exporter->setExportTags(true);
return $this->returnExport('tags');
}
/**
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws CannotInsertRecord
*/
public function transactions(ExportRequest $request): LaravelResponse
{
$params = $request->getAll();
$this->exporter->setStart($params['start']);
$this->exporter->setEnd($params['end']);
$this->exporter->setAccounts($params['accounts']);
$this->exporter->setExportTransactions(true);
return $this->returnExport('transactions');
}
}

View File

@@ -44,8 +44,8 @@ class AccountController extends Controller
use ApiSupport;
private CurrencyRepositoryInterface $currencyRepository;
private AccountRepositoryInterface $repository;
private OperationsRepositoryInterface $opsRepository;
private AccountRepositoryInterface $repository;
/**
* AccountController constructor.
@@ -77,18 +77,19 @@ class AccountController extends Controller
*
* @return JsonResponse
*/
public function expense(GenericRequest $request): JsonResponse
public function asset(GenericRequest $request): JsonResponse
{
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$expenseAccounts = $request->getExpenseAccounts();
$expenses = $this->opsRepository->sumExpenses($start, $end, $assetAccounts, $expenseAccounts);
$result = [];
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$expenses = $this->opsRepository->sumExpensesBySource($start, $end, $assetAccounts);
$result = [];
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string)$expense['id'],
'name' => $expense['name'],
'difference' => $expense['sum'],
'difference_float' => (float)$expense['sum'],
'currency_id' => (string)$expense['currency_id'],
@@ -104,17 +105,20 @@ class AccountController extends Controller
*
* @return JsonResponse
*/
public function asset(GenericRequest $request): JsonResponse
public function expense(GenericRequest $request): JsonResponse
{
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$expenses = $this->opsRepository->sumExpenses($start, $end, $assetAccounts);
$result = [];
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$expenseAccounts = $request->getExpenseAccounts();
$expenses = $this->opsRepository->sumExpensesByDestination($start, $end, $assetAccounts, $expenseAccounts);
$result = [];
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string)$expense['id'],
'name' => $expense['name'],
'difference' => $expense['sum'],
'difference_float' => (float)$expense['sum'],
'currency_id' => (string)$expense['currency_id'],

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
/*
* PeriodController.php
* Copyright (c) 2021 james@firefly-iii.org
@@ -21,7 +22,6 @@
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -87,7 +87,7 @@ class BillController extends Controller
$foreignKey = sprintf('%d-%d', $billId, $foreignCurrencyId);
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
$response[$key] = $response[$key] ?? [
'id' => (string)$billId,
'name' => $journal['bill_name'],
'difference' => '0',
@@ -139,7 +139,7 @@ class BillController extends Controller
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string)$currencyId,
@@ -163,4 +163,4 @@ class BillController extends Controller
return response()->json(array_values($response));
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -36,9 +37,9 @@ use Illuminate\Support\Collection;
*/
class BudgetController extends Controller
{
private NoBudgetRepositoryInterface $noRepository;
private OperationsRepositoryInterface $opsRepository;
private BudgetRepositoryInterface $repository;
private NoBudgetRepositoryInterface $noRepository;
/**
* AccountController constructor.
@@ -123,4 +124,4 @@ class BudgetController extends Controller
}
}
}

View File

@@ -1,9 +1,29 @@
<?php
/*
* CategoryController.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\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
use FireflyIII\Models\Category;
@@ -18,9 +38,9 @@ use Illuminate\Support\Collection;
*/
class CategoryController extends Controller
{
private NoCategoryRepositoryInterface $noRepository;
private OperationsRepositoryInterface $opsRepository;
private CategoryRepositoryInterface $repository;
private NoCategoryRepositoryInterface $noRepository;
/**
* AccountController constructor.
@@ -104,4 +124,4 @@ class CategoryController extends Controller
return response()->json($result);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -79,4 +80,4 @@ class PeriodController extends Controller
return response()->json(array_values($response));
}
}
}

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
/*
* PeriodController.php
* Copyright (c) 2021 james@firefly-iii.org
@@ -21,7 +22,6 @@
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -44,82 +44,14 @@ class TagController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
$user = auth()->user();
$this->repository = app(TagRepositoryInterface::class);
$this->repository->setUser($user);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function tag(GenericRequest $request): JsonResponse
{
$accounts = $request->getAssetAccounts();
$tags = $request->getTags();
$start = $request->getStart();
$end = $request->getEnd();
$response = [];
// get all tags:
if (0 === $tags->count()) {
$tags = $this->repository->get();
}
// collect all expenses in this period (regardless of type) by the given bills and accounts.
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
$collector->setTags($tags);
$genericSet = $collector->getExtractedJournals();
/** @var array $entry */
foreach ($genericSet as $journal) {
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
$tagId = $tag['id'];
$key = sprintf('%d-%d', $tagId, $currencyId);
$foreignKey = sprintf('%d-%d', $tagId, $foreignCurrencyId);
// 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'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
$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'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
/**
* Expenses for no tag filtered by account.
*
@@ -170,4 +102,71 @@ class TagController extends Controller
return response()->json(array_values($response));
}
}
/**
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function tag(GenericRequest $request): JsonResponse
{
$accounts = $request->getAssetAccounts();
$tags = $request->getTags();
$start = $request->getStart();
$end = $request->getEnd();
$response = [];
// get all tags:
if (0 === $tags->count()) {
$tags = $this->repository->get();
}
// collect all expenses in this period (regardless of type) by the given bills and accounts.
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
$collector->setTags($tags);
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
$tagId = $tag['id'];
$key = sprintf('%d-%d', $tagId, $currencyId);
$foreignKey = sprintf('%d-%d', $tagId, $foreignCurrencyId);
// 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'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
$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'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -45,8 +45,8 @@ class AccountController extends Controller
use ApiSupport;
private CurrencyRepositoryInterface $currencyRepository;
private AccountRepositoryInterface $repository;
private OperationsRepositoryInterface $opsRepository;
private AccountRepositoryInterface $repository;
/**
* AccountController constructor.
@@ -74,23 +74,24 @@ class AccountController extends Controller
}
/**
* // TOOD same as
* TODO same code as Expense/AccountController.
* TODO does not actually include the name of the expense account.
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function revenue(GenericRequest $request): JsonResponse
public function asset(GenericRequest $request): JsonResponse
{
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$revenueAccounts = $request->getRevenueAccounts();
$income = $this->opsRepository->sumIncome($start, $end, $assetAccounts, $revenueAccounts);
$result = [];
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$income = $this->opsRepository->sumIncomeByDestination($start, $end, $assetAccounts);
$result = [];
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'id' => (string)$entry['id'],
'name' => $entry['name'],
'difference' => $entry['sum'],
'difference_float' => (float)$entry['sum'],
'currency_id' => (string)$entry['currency_id'],
@@ -102,22 +103,26 @@ class AccountController extends Controller
}
/**
* TODO same code as Expense/AccountController.
* TODO does not actually include the name of the expense account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function asset(GenericRequest $request): JsonResponse
public function revenue(GenericRequest $request): JsonResponse
{
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$income = $this->opsRepository->sumIncome($start, $end, $assetAccounts);
$result = [];
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$revenueAccounts = $request->getRevenueAccounts();
$income = $this->opsRepository->sumIncomeBySource($start, $end, $assetAccounts, $revenueAccounts);
$result = [];
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'id' => (string)$entry['id'],
'name' => $entry['name'],
'difference' => $entry['sum'],
'difference_float' => (float)$entry['sum'],
'currency_id' => (string)$entry['currency_id'],

View File

@@ -1,9 +1,29 @@
<?php
/*
* CategoryController.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\Insight\Income;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
use FireflyIII\Models\Category;
@@ -19,9 +39,9 @@ use Illuminate\Support\Collection;
*/
class CategoryController extends Controller
{
private NoCategoryRepositoryInterface $noRepository;
private OperationsRepositoryInterface $opsRepository;
private CategoryRepositoryInterface $repository;
private NoCategoryRepositoryInterface $noRepository;
/**
* AccountController constructor.
@@ -105,4 +125,4 @@ class CategoryController extends Controller
return response()->json($result);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Income;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Income;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -71,7 +72,9 @@ class PeriodController extends Controller
'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'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -79,4 +82,4 @@ class PeriodController extends Controller
return response()->json(array_values($response));
}
}
}

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
/*
* PeriodController.php
* Copyright (c) 2021 james@firefly-iii.org
@@ -21,7 +22,6 @@
namespace FireflyIII\Api\V1\Controllers\Insight\Income;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -53,73 +53,6 @@ class TagController extends Controller
);
}
/**
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function tag(GenericRequest $request): JsonResponse
{
$accounts = $request->getAssetAccounts();
$tags = $request->getTags();
$start = $request->getStart();
$end = $request->getEnd();
$response = [];
// get all tags:
if (0 === $tags->count()) {
$tags = $this->repository->get();
}
// collect all expenses in this period (regardless of type) by the given bills and accounts.
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
$collector->setTags($tags);
$genericSet = $collector->getExtractedJournals();
/** @var array $entry */
foreach ($genericSet as $journal) {
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
$tagId = $tag['id'];
$key = sprintf('%d-%d', $tagId, $currencyId);
$foreignKey = sprintf('%d-%d', $tagId, $foreignCurrencyId);
// 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'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$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'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount']));
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
/**
* Expenses for no tag filtered by account.
*
@@ -162,7 +95,9 @@ class TagController extends Controller
'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'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -170,4 +105,73 @@ class TagController extends Controller
return response()->json(array_values($response));
}
}
/**
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function tag(GenericRequest $request): JsonResponse
{
$accounts = $request->getAssetAccounts();
$tags = $request->getTags();
$start = $request->getStart();
$end = $request->getEnd();
$response = [];
// get all tags:
if (0 === $tags->count()) {
$tags = $this->repository->get();
}
// collect all expenses in this period (regardless of type) by the given bills and accounts.
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
$collector->setTags($tags);
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
$tagId = $tag['id'];
$key = sprintf('%d-%d', $tagId, $currencyId);
$foreignKey = sprintf('%d-%d', $tagId, $foreignCurrencyId);
// 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'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$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'],
];
$response[$foreignKey]['difference'] = bcadd(
$response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -58,6 +59,7 @@ class AccountController extends Controller
/**
* TODO same code as Expense/AccountController.
* TODO does not actually include the name of the expense account.
*
* @param GenericRequest $request
*
@@ -68,18 +70,7 @@ class AccountController extends Controller
$start = $request->getStart();
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$income = $this->opsRepository->sumTransfers($start, $end, $assetAccounts);
$result = [];
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'difference' => $entry['sum'],
'difference_float' => (float)$entry['sum'],
'currency_id' => (string)$entry['currency_id'],
'currency_code' => $entry['currency_code'],
];
}
return response()->json($result);
$transfers = $this->opsRepository->sumTransfers($start, $end, $assetAccounts);
return response()->json($transfers);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -36,9 +37,9 @@ use Illuminate\Support\Collection;
*/
class CategoryController extends Controller
{
private NoCategoryRepositoryInterface $noRepository;
private OperationsRepositoryInterface $opsRepository;
private CategoryRepositoryInterface $repository;
private NoCategoryRepositoryInterface $noRepository;
/**
* AccountController constructor.
@@ -122,4 +123,4 @@ class CategoryController extends Controller
return response()->json($result);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -71,7 +72,9 @@ class PeriodController extends Controller
'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'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -79,4 +82,4 @@ class PeriodController extends Controller
return response()->json(array_values($response));
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Transfer;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Insight\GenericRequest;
@@ -54,73 +55,6 @@ class TagController extends Controller
);
}
/**
* Transfers per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function tag(GenericRequest $request): JsonResponse
{
$accounts = $request->getAssetAccounts();
$tags = $request->getTags();
$start = $request->getStart();
$end = $request->getEnd();
$response = [];
// get all tags:
if (0 === $tags->count()) {
$tags = $this->repository->get();
}
// collect all expenses in this period (regardless of type) by the given bills and accounts.
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
$collector->setTags($tags);
$genericSet = $collector->getExtractedJournals();
/** @var array $entry */
foreach ($genericSet as $journal) {
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
$tagId = $tag['id'];
$key = sprintf('%d-%d', $tagId, $currencyId);
$foreignKey = sprintf('%d-%d', $tagId, $foreignCurrencyId);
// 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'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$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'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount']));
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
/**
* Expenses for no tag filtered by account.
*
@@ -163,11 +97,82 @@ class TagController extends Controller
'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'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
return response()->json(array_values($response));
}
}
/**
* Transfers per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request
*
* @return JsonResponse
*/
public function tag(GenericRequest $request): JsonResponse
{
$accounts = $request->getAssetAccounts();
$tags = $request->getTags();
$start = $request->getStart();
$end = $request->getEnd();
$response = [];
// get all tags:
if (0 === $tags->count()) {
$tags = $this->repository->get();
}
// collect all expenses in this period (regardless of type) by the given bills and accounts.
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
$collector->setTags($tags);
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
$tagId = $tag['id'];
$key = sprintf('%d-%d', $tagId, $currencyId);
$foreignKey = sprintf('%d-%d', $tagId, $foreignCurrencyId);
// 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'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$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'],
];
$response[$foreignKey]['difference'] = bcadd(
$response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -133,7 +133,6 @@ class ListController extends Controller
}
/**
* Show all transaction groups related to the account.
*

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Account;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Account;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Account;
@@ -123,4 +124,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -39,7 +39,6 @@ class StoreController extends Controller
private AccountRepositoryInterface $repository;
/**
* AccountController constructor.
*
@@ -67,7 +66,7 @@ class StoreController extends Controller
*/
public function store(StoreRequest $request): JsonResponse
{
$data = $request->getAllAccountData();
$data = $request->getAllAccountData();
$this->repository->resetAccountOrder();
$account = $this->repository->store($data);
$manager = $this->getManager();

View File

@@ -41,7 +41,6 @@ class UpdateController extends Controller
private AccountRepositoryInterface $repository;
/**
* AccountController constructor.
*

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Middleware\ApiDemoUser;
@@ -36,7 +37,6 @@ class DestroyController extends Controller
{
private AttachmentRepositoryInterface $repository;
/**
* DestroyController constructor.
*
@@ -53,7 +53,6 @@ class DestroyController extends Controller
$this->repository = app(AttachmentRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
}
);
@@ -74,4 +73,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Middleware\ApiDemoUser;
@@ -43,7 +44,6 @@ class ShowController extends Controller
{
private AttachmentRepositoryInterface $repository;
/**
* ShowController constructor.
*
@@ -60,7 +60,6 @@ class ShowController extends Controller
$this->repository = app(AttachmentRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
}
);
@@ -101,7 +100,7 @@ class ShowController extends Controller
->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public')
->header('Content-Length', strlen($content));
->header('Content-Length', (string)strlen($content));
return $response;
}
@@ -119,7 +118,7 @@ class ShowController 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 attachments. Count it and split it.
$collection = $this->repository->get();
@@ -140,8 +139,6 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Display the specified resource.
*
@@ -160,4 +157,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Middleware\ApiDemoUser;
@@ -43,7 +44,6 @@ class StoreController extends Controller
{
private AttachmentRepositoryInterface $repository;
/**
* StoreController constructor.
*
@@ -60,14 +60,11 @@ class StoreController extends Controller
$this->repository = app(AttachmentRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
}
);
}
/**
* Store a newly created resource in storage.
*
@@ -116,4 +113,4 @@ class StoreController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Attachment;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Middleware\ApiDemoUser;
@@ -39,7 +40,6 @@ class UpdateController extends Controller
{
private AttachmentRepositoryInterface $repository;
/**
* UpdateController constructor.
*
@@ -56,19 +56,16 @@ class UpdateController extends Controller
$this->repository = app(AttachmentRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
}
);
}
/**
* Update the specified resource in storage.
*
* @param UpdateRequest $request
* @param Attachment $attachment
* @param Attachment $attachment
*
* @return JsonResponse
*/
@@ -86,4 +83,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\AvailableBudget;
@@ -54,6 +55,7 @@ class DestroyController extends Controller
}
);
}
/**
* Remove the specified resource from storage.
*
@@ -69,4 +71,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\AvailableBudget;
@@ -71,7 +72,7 @@ class ShowController 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;
$start = $this->parameters->get('start');
$end = $this->parameters->get('end');
@@ -116,4 +117,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
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;
@@ -94,4 +95,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,14 +19,14 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
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\Models\TransactionCurrency;
use FireflyIII\Repositories\Budget\AvailableBudgetRepositoryInterface;
use FireflyIII\Transformers\AvailableBudgetTransformer;
use FireflyIII\User;
@@ -73,9 +73,9 @@ class UpdateController extends Controller
$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();
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']);
@@ -94,4 +94,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Bill;
@@ -45,19 +46,14 @@ class DestroyController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var BillRepositoryInterface repository */
$this->repository = app(BillRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* Remove the specified resource from storage.
*
@@ -73,4 +69,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -46,7 +47,6 @@ class ListController extends Controller
private BillRepositoryInterface $repository;
/**
* BillController constructor.
*
@@ -57,12 +57,8 @@ class ListController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var BillRepositoryInterface repository */
$this->repository = app(BillRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -80,7 +76,7 @@ class ListController extends Controller
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();
@@ -100,8 +96,6 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* List all of them.
*
@@ -115,7 +109,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->getRulesForBill($bill);
@@ -129,8 +123,6 @@ class ListController extends Controller
/** @var RuleTransformer $transformer */
$transformer = app(RuleTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new FractalCollection($rules, $transformer, 'rules');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
@@ -138,8 +130,6 @@ class ListController extends Controller
}
/**
* Show all transactions.
*
@@ -152,7 +142,7 @@ class ListController extends Controller
*/
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);
@@ -198,4 +188,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,13 +19,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\BillTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -51,12 +51,8 @@ class ShowController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var BillRepositoryInterface repository */
$this->repository = app(BillRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -74,7 +70,7 @@ class ShowController extends Controller
$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'));
@@ -108,4 +104,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Bill\StoreRequest;
@@ -41,7 +42,6 @@ class StoreController extends Controller
private BillRepositoryInterface $repository;
/**
* BillController constructor.
*
@@ -52,12 +52,8 @@ class StoreController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var BillRepositoryInterface repository */
$this->repository = app(BillRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -86,4 +82,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Bill\UpdateRequest;
@@ -38,7 +39,6 @@ class UpdateController extends Controller
{
private BillRepositoryInterface $repository;
/**
* BillController constructor.
*
@@ -49,12 +49,8 @@ class UpdateController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var BillRepositoryInterface repository */
$this->repository = app(BillRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -85,4 +81,4 @@ class UpdateController extends Controller
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Budget;
@@ -66,4 +67,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -119,8 +120,6 @@ class ListController extends Controller
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
@@ -183,12 +182,10 @@ class ListController extends Controller
/** @var TransactionGroupTransformer $transformer */
$transformer = app(TransactionGroupTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new FractalCollection($transactions, $transformer, 'transactions');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Budget;
@@ -114,4 +115,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Budget\StoreRequest;
@@ -37,7 +38,6 @@ class StoreController extends Controller
{
private BudgetRepositoryInterface $repository;
/**
* StoreController constructor.
*
@@ -67,7 +67,7 @@ class StoreController extends Controller
*/
public function store(StoreRequest $request): JsonResponse
{
$budget = $this->repository->store($request->getAll());
$budget = $this->repository->store($request->getAll());
$budget->refresh();
$manager = $this->getManager();
@@ -79,4 +79,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Budget\UpdateRequest;
@@ -78,4 +79,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
@@ -37,7 +38,6 @@ class DestroyController extends Controller
{
private BudgetLimitRepositoryInterface $blRepository;
/**
* BudgetLimitController constructor.
*
@@ -76,4 +76,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -44,7 +45,6 @@ class ListController extends Controller
private BudgetLimitRepositoryInterface $blRepository;
/**
* BudgetLimitController constructor.
*
@@ -65,7 +65,6 @@ class ListController extends Controller
);
}
/**
* Show all transactions.
*
@@ -119,4 +118,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,6 +19,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
@@ -96,31 +98,6 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
*/
public function show(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
if ((int)$budget->id !== (int)$budgetLimit->budget_id) {
throw new FireflyException('20028: The budget limit does not belong to the budget.');
}
// continue!
$manager = $this->getManager();
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Display a listing of the budget limits for this budget..
*
@@ -150,4 +127,28 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
/**
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
*/
public function show(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
if ((int)$budget->id !== (int)$budgetLimit->budget_id) {
throw new FireflyException('20028: The budget limit does not belong to the budget.');
}
// continue!
$manager = $this->getManager();
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\BudgetLimit\StoreRequest;
@@ -39,7 +40,6 @@ class StoreController extends Controller
{
private BudgetLimitRepositoryInterface $blRepository;
/**
* BudgetLimitController constructor.
*
@@ -60,7 +60,6 @@ class StoreController extends Controller
);
}
/**
* Store a newly created resource in storage.
*
@@ -79,8 +78,6 @@ class StoreController extends Controller
$budgetLimit = $this->blRepository->store($data);
$manager = $this->getManager();
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
$transformer->setParameters($this->parameters);
@@ -89,4 +86,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\BudgetLimit\UpdateRequest;
@@ -28,7 +29,6 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Transformers\BudgetLimitTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -41,7 +41,6 @@ class UpdateController extends Controller
{
private BudgetLimitRepositoryInterface $blRepository;
/**
* BudgetLimitController constructor.
*
@@ -91,4 +90,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Category;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Category;
@@ -35,7 +36,6 @@ class DestroyController extends Controller
{
private CategoryRepositoryInterface $repository;
/**
* CategoryController constructor.
*
@@ -46,12 +46,8 @@ class DestroyController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var CategoryRepositoryInterface repository */
$this->repository = app(CategoryRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -72,7 +68,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Category;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -55,19 +56,14 @@ class ListController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var CategoryRepositoryInterface repository */
$this->repository = app(CategoryRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* @param Category $category
*
@@ -97,7 +93,6 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Show all transactions.
*
@@ -154,4 +149,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Category;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Category;
@@ -50,19 +51,14 @@ class ShowController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var CategoryRepositoryInterface repository */
$this->repository = app(CategoryRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* Display a listing of the resource.
*
@@ -74,7 +70,7 @@ class ShowController 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->getCategories();
@@ -88,8 +84,6 @@ class ShowController extends Controller
/** @var CategoryTransformer $transformer */
$transformer = app(CategoryTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new FractalCollection($categories, $transformer, 'categories');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
@@ -116,4 +110,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Category;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Category\StoreRequest;
@@ -38,7 +39,6 @@ class StoreController extends Controller
{
private CategoryRepositoryInterface $repository;
/**
* CategoryController constructor.
*
@@ -49,12 +49,8 @@ class StoreController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var CategoryRepositoryInterface repository */
$this->repository = app(CategoryRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -83,4 +79,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Category;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Category\UpdateRequest;
@@ -48,12 +49,8 @@ class UpdateController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $admin */
$admin = auth()->user();
/** @var CategoryRepositoryInterface repository */
$this->repository = app(CategoryRepositoryInterface::class);
$this->repository->setUser($admin);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -64,7 +61,7 @@ class UpdateController extends Controller
* Update the category.
*
* @param UpdateRequest $request
* @param Category $category
* @param Category $category
*
* @return JsonResponse
*/
@@ -83,4 +80,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\ObjectGroup;
@@ -35,7 +36,6 @@ class DestroyController extends Controller
{
private ObjectGroupRepositoryInterface $repository;
/**
* ObjectGroupController constructor.
*
@@ -70,4 +70,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\ObjectGroup;
@@ -40,7 +41,6 @@ class ListController extends Controller
{
private ObjectGroupRepositoryInterface $repository;
/**
* ObjectGroupController constructor.
*
@@ -61,6 +61,37 @@ class ListController extends Controller
);
}
/**
* List all bills
*
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function bills(ObjectGroup $objectGroup): JsonResponse
{
$manager = $this->getManager();
$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();
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// make paginator:
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]) . $this->buildParams());
/** @var BillTransformer $transformer */
$transformer = app(BillTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new FractalCollection($bills, $transformer, 'bills');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* List all piggies under the object group.
@@ -97,36 +128,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* List all bills
*
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
* @codeCoverageIgnore
*/
public function bills(ObjectGroup $objectGroup): JsonResponse
{
$manager = $this->getManager();
$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();
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// make paginator:
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]) . $this->buildParams());
/** @var BillTransformer $transformer */
$transformer = app(BillTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new FractalCollection($bills, $transformer, 'bills');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\ObjectGroup;
@@ -41,7 +42,6 @@ class ShowController extends Controller
{
private ObjectGroupRepositoryInterface $repository;
/**
* ObjectGroupController constructor.
*
@@ -62,7 +62,6 @@ class ShowController extends Controller
);
}
/**
* Display a listing of the resource.
*
@@ -97,7 +96,6 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Show single instance.
*
@@ -118,6 +116,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\ObjectGroup\UpdateRequest;
@@ -38,7 +39,6 @@ class UpdateController extends Controller
{
private ObjectGroupRepositoryInterface $repository;
/**
* ObjectGroupController constructor.
*
@@ -59,7 +59,6 @@ class UpdateController extends Controller
);
}
/**
* @param UpdateRequest $request
* @param ObjectGroup $objectGroup
@@ -80,4 +79,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\PiggyBank;
@@ -47,7 +48,6 @@ class DestroyController extends Controller
$this->repository = app(PiggyBankRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
@@ -67,4 +67,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\PiggyBank;
@@ -52,7 +53,6 @@ class ListController extends Controller
$this->repository = app(PiggyBankRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
@@ -67,7 +67,7 @@ class ListController extends Controller
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();
@@ -98,7 +98,7 @@ class ListController extends Controller
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);
@@ -119,4 +119,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\PiggyBank;
@@ -52,7 +53,6 @@ class ShowController extends Controller
$this->repository = app(PiggyBankRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
@@ -68,7 +68,7 @@ class ShowController 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();
@@ -111,4 +111,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\PiggyBank\StoreRequest;
@@ -50,7 +51,6 @@ class StoreController extends Controller
$this->repository = app(PiggyBankRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
@@ -77,4 +77,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\PiggyBank\UpdateRequest;
@@ -50,7 +51,6 @@ class UpdateController extends Controller
$this->repository = app(PiggyBankRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
@@ -60,7 +60,7 @@ class UpdateController extends Controller
* Update piggy bank.
*
* @param UpdateRequest $request
* @param PiggyBank $piggyBank
* @param PiggyBank $piggyBank
*
* @return JsonResponse
*/
@@ -83,4 +83,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Recurrence;
@@ -45,19 +46,14 @@ class DestroyController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var RecurringRepositoryInterface repository */
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser($user);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* Delete the resource.
*
@@ -72,4 +68,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -53,12 +54,8 @@ class ListController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var RecurringRepositoryInterface repository */
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser($user);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -120,4 +117,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Recurrence;
@@ -50,12 +51,8 @@ class ShowController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var RecurringRepositoryInterface repository */
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser($user);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -114,7 +111,5 @@ class ShowController extends Controller
$resource = new Item($recurrence, $transformer, 'recurrences');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Recurrence\StoreRequest;
@@ -48,12 +49,8 @@ class StoreController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var RecurringRepositoryInterface repository */
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser($user);
$this->repository->setUser(auth()->user());
return $next($request);
}
@@ -82,4 +79,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -1,86 +0,0 @@
<?php
/*
* TriggerController.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/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use FireflyIII\Support\Cronjobs\RecurringCronjob;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use Log;
/**
* Class TriggerController
*/
class TriggerController extends Controller
{
private RecurringRepositoryInterface $repository;
/**
* RecurrenceController constructor.
*
* @codeCoverageIgnore
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var RecurringRepositoryInterface repository */
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
}
);
}
/**
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*
* TODO currently unused + unreachable.
*/
public function trigger(): JsonResponse
{
/** @var RecurringCronjob $recurring */
$recurring = app(RecurringCronjob::class);
try {
$result = $recurring->fire();
} catch (FireflyException $e) {
Log::error($e->getMessage());
throw new FireflyException('200022: Error in cron job.', 0, $e);
}
if (false === $result) {
return response()->json([], 204);
}
return response()->json();
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Recurrence\UpdateRequest;
@@ -48,33 +49,27 @@ class UpdateController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
/** @var RecurringRepositoryInterface repository */
$this->repository = app(RecurringRepositoryInterface::class);
$this->repository->setUser($user);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* Update single recurrence.
*
* @param UpdateRequest $request
* @param Recurrence $recurrence
* @param Recurrence $recurrence
*
* @return JsonResponse
*/
public function update(UpdateRequest $request, Recurrence $recurrence): JsonResponse
{
$data = $request->getAll();
$data = $request->getAll();
$recurrence = $this->repository->update($recurrence, $data);
$manager = $this->getManager();
$manager = $this->getManager();
/** @var RecurrenceTransformer $transformer */
$transformer = app(RecurrenceTransformer::class);
@@ -85,4 +80,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,12 +19,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Rule;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Rule\RuleRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -71,4 +71,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
@@ -33,8 +34,7 @@ use FireflyIII\User;
class ListController extends Controller
{
private AccountRepositoryInterface $accountRepository;
private RuleRepositoryInterface $ruleRepository;
private RuleRepositoryInterface $ruleRepository;
/**
* RuleController constructor.
@@ -59,4 +59,4 @@ class ListController extends Controller
}
);
}
}
}

View File

@@ -19,12 +19,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Rule;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Rule\RuleRepositoryInterface;
use FireflyIII\Transformers\RuleTransformer;
use FireflyIII\User;
@@ -62,7 +62,6 @@ class ShowController extends Controller
);
}
/**
* List all of them.
*
@@ -74,7 +73,7 @@ class ShowController 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->ruleRepository->getAll();
@@ -96,8 +95,6 @@ class ShowController extends Controller
}
/**
* List single resource.
*
@@ -118,4 +115,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Rule\StoreRequest;
@@ -77,4 +78,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Rule\TestRequest;
@@ -43,7 +44,6 @@ class TriggerController extends Controller
{
private RuleRepositoryInterface $ruleRepository;
/**
* RuleController constructor.
*
@@ -112,7 +112,6 @@ class TriggerController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Execute the given rule group on a set of existing transactions.
*
@@ -149,4 +148,4 @@ class TriggerController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Rule;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Rule\UpdateRequest;
@@ -38,7 +39,6 @@ class UpdateController extends Controller
{
private RuleRepositoryInterface $ruleRepository;
/**
* RuleController constructor.
*
@@ -60,12 +60,11 @@ class UpdateController extends Controller
);
}
/**
* Update a rule.
*
* @param UpdateRequest $request
* @param Rule $rule
* @param Rule $rule
*
* @return JsonResponse
*/
@@ -83,4 +82,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\RuleGroup;
@@ -70,4 +71,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\RuleGroup;
@@ -39,7 +40,6 @@ class ListController extends Controller
{
private RuleGroupRepositoryInterface $ruleGroupRepository;
/**
* RuleGroupController constructor.
*
@@ -61,7 +61,6 @@ class ListController extends Controller
);
}
/**
* @param RuleGroup $group
*
@@ -93,4 +92,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\RuleGroup;
@@ -40,7 +41,6 @@ class ShowController extends Controller
{
private RuleGroupRepositoryInterface $ruleGroupRepository;
/**
* RuleGroupController constructor.
*
@@ -62,7 +62,6 @@ class ShowController extends Controller
);
}
/**
* List all of them.
*
@@ -94,7 +93,6 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* List single resource.
*
@@ -116,4 +114,4 @@ class ShowController extends Controller
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\RuleGroup\StoreRequest;
@@ -40,7 +41,6 @@ class StoreController extends Controller
private AccountRepositoryInterface $accountRepository;
private RuleGroupRepositoryInterface $ruleGroupRepository;
/**
* RuleGroupController constructor.
*
@@ -65,7 +65,6 @@ class StoreController extends Controller
);
}
/**
* Store new object.
*
@@ -87,4 +86,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\RuleGroup\TestRequest;
@@ -36,6 +37,7 @@ use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
use League\Fractal\Resource\Collection as FractalCollection;
use Exception;
/**
* Class TriggerController
@@ -44,7 +46,6 @@ class TriggerController extends Controller
{
private RuleGroupRepositoryInterface $ruleGroupRepository;
/**
* RuleGroupController constructor.
*
@@ -66,10 +67,9 @@ class TriggerController extends Controller
);
}
/**
* @param TestRequest $request
* @param RuleGroup $group
* @param RuleGroup $group
*
* @return JsonResponse
* @throws FireflyException
@@ -121,12 +121,11 @@ class TriggerController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Execute the given rule group on a set of existing transactions.
*
* @param TriggerRequest $request
* @param RuleGroup $group
* @param RuleGroup $group
*
* @return JsonResponse
* @throws Exception
@@ -166,4 +165,4 @@ class TriggerController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\RuleGroup\UpdateRequest;
@@ -39,7 +40,6 @@ class UpdateController extends Controller
private RuleGroupRepositoryInterface $ruleGroupRepository;
/**
* RuleGroupController constructor.
*
@@ -61,12 +61,11 @@ class UpdateController extends Controller
);
}
/**
* Update a rule group.
*
* @param UpdateRequest $request
* @param RuleGroup $ruleGroup
* @param RuleGroup $ruleGroup
*
* @return JsonResponse
*/
@@ -83,4 +82,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,13 +19,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Tag;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -36,7 +36,6 @@ class DestroyController extends Controller
{
private TagRepositoryInterface $repository;
/**
* TagController constructor.
*
@@ -58,8 +57,6 @@ class DestroyController extends Controller
);
}
/**
* Delete the resource.
*
@@ -74,4 +71,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}
}

View File

@@ -19,8 +19,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
@@ -42,8 +43,8 @@ use League\Fractal\Resource\Collection as FractalCollection;
class ListController extends Controller
{
use TransactionFilter;
private TagRepositoryInterface $repository;
private TagRepositoryInterface $repository;
/**
* TagController constructor.
@@ -66,8 +67,6 @@ class ListController extends Controller
);
}
/**
* @param Tag $tag
*
@@ -77,7 +76,7 @@ class ListController extends Controller
public function attachments(Tag $tag): 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($tag);
$count = $collection->count();
@@ -97,8 +96,6 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* Show all transactions.
*
@@ -110,7 +107,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, Tag $tag): 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);
@@ -151,4 +148,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,13 +19,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Tag;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\TagTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -41,7 +41,6 @@ class ShowController extends Controller
{
private TagRepositoryInterface $repository;
/**
* TagController constructor.
*
@@ -73,7 +72,7 @@ class ShowController 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->get();
@@ -94,8 +93,6 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* List single resource.
*
@@ -116,4 +113,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}
}

View File

@@ -19,13 +19,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Tag\StoreRequest;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\TagTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -38,7 +38,6 @@ class StoreController extends Controller
{
private TagRepositoryInterface $repository;
/**
* TagController constructor.
*
@@ -60,8 +59,6 @@ class StoreController extends Controller
);
}
/**
* Store new object.
*

View File

@@ -19,14 +19,14 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Tag;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\Tag\UpdateRequest;
use FireflyIII\Models\Tag;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\TagTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -39,7 +39,6 @@ class UpdateController extends Controller
{
private TagRepositoryInterface $repository;
/**
* TagController constructor.
*
@@ -61,13 +60,11 @@ class UpdateController extends Controller
);
}
/**
* Update a rule.
*
* @param UpdateRequest $request
* @param Tag $tag
* @param Tag $tag
*
* @return JsonResponse
*/
@@ -85,4 +82,4 @@ class UpdateController extends Controller
}
}
}

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