Compare commits

...

271 Commits

Author SHA1 Message Date
James Cole
4c27bbf069 Merge branch 'release/5.8.0-alpha.1' 2023-01-07 08:51:43 +01:00
James Cole
a90214273b Small textual changes to changelog. 2023-01-07 08:50:25 +01:00
James Cole
5167f53fd5 Update meta files for new alpha release. 2023-01-07 08:41:16 +01:00
James Cole
40083230fd Update meta files for new alpha release. 2023-01-07 08:12:53 +01:00
James Cole
ca57942b38 Force PHP 8.2 2023-01-07 07:53:25 +01:00
James Cole
ef58d5b1b2 Update meta data for first alpha release. 2023-01-07 07:52:55 +01:00
James Cole
cc218e203f Some small fixes in UI 2023-01-07 05:53:48 +01:00
James Cole
9fdaf1cee8 Fix https://github.com/firefly-iii/firefly-iii/issues/6810 2023-01-06 21:12:10 +01:00
James Cole
770d092e93 Rebuild frontend 2023-01-06 06:13:55 +01:00
James Cole
6d4e45b89f Make sure rules are consistent and catch more errors. 2023-01-06 06:12:39 +01:00
James Cole
1fee2092d6 Clear up webhooks 2023-01-05 19:05:23 +01:00
James Cole
7bd824e8cb Update packages and meta data. 2023-01-04 20:40:57 +01:00
James Cole
fa588db1a9 Enable webhooks. 2023-01-04 20:11:56 +01:00
James Cole
c3e0ce0c08 Merge branch 'develop' into 5.8-dev 2023-01-03 08:45:04 +01:00
James Cole
6a629a7da3 Add a little sort and active filter. 2023-01-03 08:44:54 +01:00
James Cole
07e4e93632 Various code cleanup 2023-01-03 06:48:53 +01:00
James Cole
6784fe4436 Fix incompatible function declaration. 2023-01-02 16:24:35 +01:00
James Cole
af8c127106 Fix incompatible function declaration. 2023-01-02 16:21:18 +01:00
James Cole
ebd32e0e08 Update code style. 2023-01-02 16:18:17 +01:00
James Cole
b56acf36c5 Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Events/ChangedPiggyBankAmount.php
#	app/Handlers/Events/PiggyBankEventHandler.php
#	changelog.md
#	composer.lock
#	config/firefly.php
2023-01-02 16:17:52 +01:00
James Cole
4daaa44ba8 Merge branch 'release/5.7.18' 2023-01-02 16:10:17 +01:00
James Cole
93ae82691b Merge tag '5.7.18' into develop
5.7.18
2023-01-02 16:10:17 +01:00
James Cole
c3e739cd6f Update packages. 2023-01-02 16:08:46 +01:00
James Cole
851da6a0a1 Update meta files for new release. 2023-01-02 07:03:36 +01:00
James Cole
a99f68fd17 Merge pull request #6789 from firefly-iii/dependabot/composer/develop/ramsey/uuid-4.7.1
Bump ramsey/uuid from 4.7.0 to 4.7.1
2023-01-02 06:54:11 +01:00
James Cole
1266eff7f6 Add strict_types 2023-01-02 06:52:18 +01:00
James Cole
e5d5e774dc Merge branch 'develop' into 5.8-dev
# Conflicts:
#	app/Models/AvailableBudget.php
2023-01-02 06:46:05 +01:00
James Cole
0429f50e5c Add attributes 2023-01-02 06:44:52 +01:00
dependabot[bot]
e9e0225731 Bump ramsey/uuid from 4.7.0 to 4.7.1
Bumps [ramsey/uuid](https://github.com/ramsey/uuid) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/ramsey/uuid/releases)
- [Changelog](https://github.com/ramsey/uuid/blob/4.x/CHANGELOG.md)
- [Commits](https://github.com/ramsey/uuid/compare/4.7.0...4.7.1)

---
updated-dependencies:
- dependency-name: ramsey/uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

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

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

@@ -0,0 +1 @@
vendor

View File

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

View File

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

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

File diff suppressed because it is too large Load Diff

37
.ci/phpcs.sh Executable file
View File

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

View File

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

View File

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

View File

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

View File

@@ -4,6 +4,7 @@ on:
branches:
- main
- develop
- 5.8-dev
pull_request:
types: [opened, synchronize, reopened]
jobs:

View File

@@ -82,7 +82,7 @@ class AccountController extends Controller
$date = $data['date'] ?? today(config('app.timezone'));
$return = [];
$result = $this->repository->searchAccount((string) $query, $types, $data['limit']);
$result = $this->repository->searchAccount((string)$query, $types, $data['limit']);
$defaultCurrency = app('amount')->getDefaultCurrency();
/** @var Account $account */
@@ -96,7 +96,7 @@ class AccountController extends Controller
}
$return[] = [
'id' => (string) $account->id,
'id' => (string)$account->id,
'name' => $account->name,
'name_with_balance' => $nameWithBalance,
'type' => $account->accountType->type,
@@ -111,9 +111,10 @@ class AccountController extends Controller
// custom order.
$order = [AccountType::ASSET, AccountType::REVENUE, AccountType::EXPENSE];
usort(
$return, function ($a, $b) use ($order) {
$pos_a = array_search($a['type'], $order);
$pos_b = array_search($b['type'], $order);
$return,
function ($a, $b) use ($order) {
$pos_a = array_search($a['type'], $order, true);
$pos_b = array_search($b['type'], $order, true);
return $pos_a - $pos_b;
}

View File

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

View File

@@ -70,7 +70,7 @@ class BudgetController extends Controller
$filtered = $result->map(
static function (Budget $item) {
return [
'id' => (string) $item->id,
'id' => (string)$item->id,
'name' => $item->name,
];
}

View File

@@ -70,7 +70,7 @@ class CategoryController extends Controller
$filtered = $result->map(
static function (Category $item) {
return [
'id' => (string) $item->id,
'id' => (string)$item->id,
'name' => $item->name,
];
}

View File

@@ -72,7 +72,7 @@ class CurrencyController extends Controller
/** @var TransactionCurrency $currency */
foreach ($collection as $currency) {
$result[] = [
'id' => (string) $currency->id,
'id' => (string)$currency->id,
'name' => $currency->name,
'code' => $currency->code,
'symbol' => $currency->symbol,
@@ -101,7 +101,7 @@ class CurrencyController extends Controller
/** @var TransactionCurrency $currency */
foreach ($collection as $currency) {
$result[] = [
'id' => (string) $currency->id,
'id' => (string)$currency->id,
'name' => sprintf('%s (%s)', $currency->name, $currency->code),
'code' => $currency->code,
'symbol' => $currency->symbol,

View File

@@ -72,7 +72,7 @@ class ObjectGroupController extends Controller
/** @var ObjectGroup $objectGroup */
foreach ($result as $objectGroup) {
$return[] = [
'id' => (string) $objectGroup->id,
'id' => (string)$objectGroup->id,
'name' => $objectGroup->title,
'title' => $objectGroup->title,
];
@@ -80,5 +80,4 @@ class ObjectGroupController extends Controller
return response()->json($return);
}
}

View File

@@ -78,7 +78,7 @@ class PiggyBankController extends Controller
foreach ($piggies as $piggy) {
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$response[] = [
'id' => (string) $piggy->id,
'id' => (string)$piggy->id,
'name' => $piggy->name,
'currency_id' => $currency->id,
'currency_name' => $currency->name,
@@ -110,10 +110,12 @@ class PiggyBankController extends Controller
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$currentAmount = $this->piggyRepository->getRepetition($piggy)->currentamount ?? '0';
$response[] = [
'id' => (string) $piggy->id,
'id' => (string)$piggy->id,
'name' => $piggy->name,
'name_with_balance' => sprintf(
'%s (%s / %s)', $piggy->name, app('amount')->formatAnything($currency, $currentAmount, false),
'%s (%s / %s)',
$piggy->name,
app('amount')->formatAnything($currency, $currentAmount, false),
app('amount')->formatAnything($currency, $piggy->targetamount, false),
),
'currency_id' => $currency->id,
@@ -126,5 +128,4 @@ class PiggyBankController extends Controller
return response()->json($response);
}
}

View File

@@ -69,7 +69,7 @@ class RecurrenceController extends Controller
/** @var Recurrence $recurrence */
foreach ($recurrences as $recurrence) {
$response[] = [
'id' => (string) $recurrence->id,
'id' => (string)$recurrence->id,
'name' => $recurrence->title,
'description' => $recurrence->description,
];
@@ -77,5 +77,4 @@ class RecurrenceController extends Controller
return response()->json($response);
}
}

View File

@@ -69,7 +69,7 @@ class RuleController extends Controller
/** @var Rule $rule */
foreach ($rules as $rule) {
$response[] = [
'id' => (string) $rule->id,
'id' => (string)$rule->id,
'name' => $rule->title,
'description' => $rule->description,
];
@@ -77,5 +77,4 @@ class RuleController extends Controller
return response()->json($response);
}
}

View File

@@ -69,7 +69,7 @@ class RuleGroupController extends Controller
/** @var RuleGroup $group */
foreach ($groups as $group) {
$response[] = [
'id' => (string) $group->id,
'id' => (string)$group->id,
'name' => $group->title,
'description' => $group->description,
];

View File

@@ -72,7 +72,7 @@ class TagController extends Controller
/** @var Tag $tag */
foreach ($result as $tag) {
$array[] = [
'id' => (string) $tag->id,
'id' => (string)$tag->id,
'name' => $tag->tag,
'tag' => $tag->tag,
];

View File

@@ -80,8 +80,8 @@ class TransactionController extends Controller
/** @var TransactionJournal $journal */
foreach ($filtered as $journal) {
$array[] = [
'id' => (string) $journal->id,
'transaction_group_id' => (string) $journal->transaction_group_id,
'id' => (string)$journal->id,
'transaction_group_id' => (string)$journal->transaction_group_id,
'name' => $journal->description,
'description' => $journal->description,
];
@@ -101,10 +101,10 @@ class TransactionController extends Controller
public function transactionsWithID(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$result = new Collection;
$result = new Collection();
if (is_numeric($data['query'])) {
// search for group, not journal.
$firstResult = $this->groupRepository->find((int) $data['query']);
$firstResult = $this->groupRepository->find((int)$data['query']);
if (null !== $firstResult) {
// group may contain multiple journals, each a result:
foreach ($firstResult->transactionJournals as $journal) {
@@ -122,8 +122,8 @@ class TransactionController extends Controller
/** @var TransactionJournal $journal */
foreach ($result as $journal) {
$array[] = [
'id' => (string) $journal->id,
'transaction_group_id' => (string) $journal->transaction_group_id,
'id' => (string)$journal->id,
'transaction_group_id' => (string)$journal->transaction_group_id,
'name' => sprintf('#%d: %s', $journal->transaction_group_id, $journal->description),
'description' => sprintf('#%d: %s', $journal->transaction_group_id, $journal->description),
];

View File

@@ -70,7 +70,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

@@ -98,7 +98,7 @@ class AccountController extends Controller
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
$default = app('amount')->getDefaultCurrency();
if (empty($frontPage->data)) {
if (!(is_array($frontPage->data) && count($frontPage->data) > 0)) {
$frontPage->data = $defaultSet;
$frontPage->save();
}
@@ -115,7 +115,7 @@ class AccountController extends Controller
}
$currentSet = [
'label' => $account->name,
'currency_id' => (string) $currency->id,
'currency_id' => (string)$currency->id,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
@@ -127,7 +127,8 @@ class AccountController extends Controller
];
$currentStart = clone $start;
$range = app('steam')->balanceInRange($account, $start, clone $end);
$previous = $range[0] ?? '0';
// 2022-10-11 this method no longer converts to float.
$previous = array_values($range)[0];
while ($currentStart <= $end) {
$format = $currentStart->format('Y-m-d');
$label = $currentStart->toAtomString();

View File

@@ -33,7 +33,6 @@ use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use League\Fractal\Manager;
use League\Fractal\Serializer\JsonApiSerializer;
use Log;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Symfony\Component\HttpFoundation\ParameterBag;
@@ -45,7 +44,9 @@ use Symfony\Component\HttpFoundation\ParameterBag;
*/
abstract class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
use AuthorizesRequests;
use DispatchesJobs;
use ValidatesRequests;
protected const CONTENT_TYPE = 'application/vnd.api+json';
protected array $allowedSort;
@@ -69,7 +70,6 @@ abstract class Controller extends BaseController
return $next($request);
}
);
}
/**
@@ -81,11 +81,15 @@ abstract class Controller extends BaseController
*/
private function getParameters(): ParameterBag
{
$bag = new ParameterBag;
$bag = new ParameterBag();
$page = (int)request()->get('page');
if (0 === $page) {
if ($page < 1) {
$page = 1;
}
if ($page > (2 ^ 16)) {
$page = (2 ^ 16);
}
$bag->set('page', $page);
// some date fields:
@@ -96,9 +100,9 @@ abstract class Controller extends BaseController
if (null !== $date) {
try {
$obj = Carbon::parse($date);
} catch (InvalidDateException | InvalidFormatException $e) {
} catch (InvalidDateException|InvalidFormatException $e) {
// don't care
Log::warning(sprintf('Ignored invalid date "%s" in API controller parameter check: %s', $date, $e->getMessage()));
app('log')->warning(sprintf('Ignored invalid date "%s" in API controller parameter check: %s', $date, $e->getMessage()));
}
}
$bag->set($field, $obj);
@@ -167,7 +171,7 @@ abstract class Controller extends BaseController
$params[$key] = $value;
}
return $return . http_build_query($params);
return $return.http_build_query($params);
}
/**
@@ -176,8 +180,8 @@ abstract class Controller extends BaseController
final protected function getManager(): Manager
{
// create some objects:
$manager = new Manager;
$baseUrl = request()->getSchemeAndHttpHost() . '/api/v1';
$manager = new Manager();
$baseUrl = request()->getSchemeAndHttpHost().'/api/v1';
$manager->setSerializer(new JsonApiSerializer($baseUrl));
return $manager;

View File

@@ -24,7 +24,6 @@ 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;
@@ -75,7 +74,5 @@ class AccountController extends Controller
$service->moveTransactions($original, $destination);
return response()->json([], 204);
}
}

View File

@@ -76,8 +76,8 @@ class TransactionController extends Controller
// to respond to what is in the $query.
// this is OK because only one thing can be in the query at the moment.
if ($this->updatesTransactionAccount($params)) {
$original = $this->repository->find((int) $params['where']['account_id']);
$destination = $this->repository->find((int) $params['update']['account_id']);
$original = $this->repository->find((int)$params['where']['account_id']);
$destination = $this->repository->find((int)$params['update']['account_id']);
/** @var AccountDestroyService $service */
$service = app(AccountDestroyService::class);
@@ -96,5 +96,4 @@ class TransactionController extends Controller
{
return array_key_exists('account_id', $params['where']) && array_key_exists('account_id', $params['update']);
}
}

View File

@@ -45,12 +45,15 @@ use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Services\Internal\Destroy\AccountDestroyService;
use FireflyIII\Services\Internal\Destroy\JournalDestroyService;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Log;
/**
* Class DestroyController
*/
class DestroyController extends Controller
{
private bool $unused;
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/destroyData
@@ -63,7 +66,7 @@ class DestroyController extends Controller
public function destroy(DestroyRequest $request): JsonResponse
{
$objects = $request->getObjects();
$this->unused = $request->boolean('unused', false);
switch ($objects) {
default:
throw new FireflyException(sprintf('This endpoint can\'t handle object "%s"', $objects));
@@ -94,24 +97,32 @@ class DestroyController extends Controller
case 'accounts':
$this->destroyAccounts(
[
AccountType::ASSET, AccountType::DEFAULT,
AccountType::BENEFICIARY, AccountType::EXPENSE,
AccountType::REVENUE, AccountType::INITIAL_BALANCE,
AccountType::DEBT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::CREDITCARD,
AccountType::ASSET,
AccountType::DEFAULT,
AccountType::BENEFICIARY,
AccountType::EXPENSE,
AccountType::REVENUE,
AccountType::INITIAL_BALANCE,
AccountType::DEBT,
AccountType::LOAN,
AccountType::MORTGAGE,
AccountType::CREDITCARD,
]
);
break;
case 'asset_accounts':
$this->destroyAccounts(
[
AccountType::ASSET, AccountType::DEFAULT,
AccountType::ASSET,
AccountType::DEFAULT,
]
);
break;
case 'expense_accounts':
$this->destroyAccounts(
[
AccountType::BENEFICIARY, AccountType::EXPENSE,
AccountType::BENEFICIARY,
AccountType::EXPENSE,
]
);
break;
@@ -125,7 +136,10 @@ class DestroyController extends Controller
case 'liabilities':
$this->destroyAccounts(
[
AccountType::DEBT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::CREDITCARD,
AccountType::DEBT,
AccountType::LOAN,
AccountType::MORTGAGE,
AccountType::CREDITCARD,
]
);
break;
@@ -261,9 +275,19 @@ class DestroyController extends Controller
$repository = app(AccountRepositoryInterface::class);
$collection = $repository->getAccountsByType($types);
$service = app(AccountDestroyService::class);
/** @var Account $account */
foreach ($collection as $account) {
$count = $account->transactions()->count();
if (true === $this->unused && 0 === $count) {
Log::info(sprintf('Deleted unused account #%d "%s"', $account->id, $account->name));
$service->destroy($account, null);
continue;
}
if (false === $this->unused) {
Log::info(sprintf('Deleting account #%d "%s"', $account->id, $account->name));
$service->destroy($account, null);
}
}
}
@@ -281,5 +305,4 @@ class DestroyController extends Controller
$service->destroy($journal);
}
}
}

View File

@@ -67,7 +67,6 @@ class ExportController extends Controller
$this->exporter->setExportAccounts(true);
return $this->returnExport('accounts');
}
/**
@@ -87,13 +86,13 @@ class ExportController extends Controller
$response
->header('Content-Description', 'File Transfer')
->header('Content-Type', 'application/octet-stream')
->header('Content-Disposition', 'attachment; filename=' . $fileName)
->header('Content-Disposition', 'attachment; filename='.$fileName)
->header('Content-Transfer-Encoding', 'binary')
->header('Connection', 'Keep-Alive')
->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public')
->header('Content-Length', (string) strlen($data[$key]));
->header('Content-Length', (string)strlen($data[$key]));
return $response;
}
@@ -229,5 +228,4 @@ class ExportController extends Controller
return $this->returnExport('transactions');
}
}

View File

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

View File

@@ -91,11 +91,11 @@ class AccountController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $expense['id'],
'id' => (string)$expense['id'],
'name' => $expense['name'],
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -123,16 +123,15 @@ class AccountController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $expense['id'],
'id' => (string)$expense['id'],
'name' => $expense['name'],
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -85,33 +85,33 @@ class BillController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$billId = (int) $journal['bill_id'];
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$billId = (int)$journal['bill_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
$key = sprintf('%d-%d', $billId, $currencyId);
$foreignKey = sprintf('%d-%d', $billId, $foreignCurrencyId);
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $billId,
'id' => (string)$billId,
'name' => $journal['bill_name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
$response[$key]['difference_float'] = (float) $response[$key]['difference']; // intentional float
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // intentional float
}
if (0 !== $foreignCurrencyId) {
$response[$foreignKey] = $response[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; // intentional float
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // intentional float
}
}
@@ -143,32 +143,31 @@ class BillController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference']; // intentional float
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference']; // intentional float
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // intentional float
}
}
return response()->json(array_values($response));
}
}

View File

@@ -88,11 +88,11 @@ class BudgetController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $budget->id,
'id' => (string)$budget->id,
'name' => $budget->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -120,14 +120,12 @@ class BudgetController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -89,11 +89,11 @@ class CategoryController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $category->id,
'id' => (string)$category->id,
'name' => $category->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -121,13 +121,12 @@ class CategoryController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'], // intentional float
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // intentional float
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

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

View File

@@ -79,28 +79,28 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // float but on purpose.
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // float but on purpose.
}
}
@@ -137,8 +137,8 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
@@ -149,15 +149,15 @@ class TagController extends Controller
// on currency ID
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $tagId,
'id' => (string)$tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
$response[$key]['difference_float'] = (float) $response[$key]['difference'];
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // float but on purpose.
}
// on foreign ID
@@ -165,16 +165,15 @@ class TagController extends Controller
$response[$foreignKey] = $journal[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference'];
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // float but on purpose.
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -90,11 +90,11 @@ class AccountController extends Controller
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'id' => (string) $entry['id'],
'id' => (string)$entry['id'],
'name' => $entry['name'],
'difference' => $entry['sum'],
'difference_float' => (float) $entry['sum'],
'currency_id' => (string) $entry['currency_id'],
'difference_float' => (float)$entry['sum'], // float but on purpose.
'currency_id' => (string)$entry['currency_id'],
'currency_code' => $entry['currency_code'],
];
}
@@ -122,16 +122,15 @@ class AccountController extends Controller
/** @var array $entry */
foreach ($income as $entry) {
$result[] = [
'id' => (string) $entry['id'],
'id' => (string)$entry['id'],
'name' => $entry['name'],
'difference' => $entry['sum'],
'difference_float' => (float) $entry['sum'],
'currency_id' => (string) $entry['currency_id'],
'difference_float' => (float)$entry['sum'], // float but on purpose.
'currency_id' => (string)$entry['currency_id'],
'currency_code' => $entry['currency_code'],
];
}
return response()->json($result);
}
}

View File

@@ -89,11 +89,11 @@ class CategoryController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $category->id,
'id' => (string)$category->id,
'name' => $category->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // float but on purpose.
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -121,13 +121,12 @@ class CategoryController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'], // float but on purpose.
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

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

View File

@@ -80,30 +80,31 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], app('steam')->positive($journal['amount']));
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignCurrencyId]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -140,8 +141,8 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
@@ -152,15 +153,15 @@ class TagController extends Controller
// on currency ID
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $tagId,
'id' => (string)$tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$response[$key]['difference_float'] = (float) $response[$key]['difference'];
$response[$key]['difference_float'] = (float)$response[$key]['difference'];
}
// on foreign ID
@@ -168,18 +169,18 @@ class TagController extends Controller
$response[$foreignKey] = $journal[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd(
$response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignKey]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference'];
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference'];
}
}
}
return response()->json(array_values($response));
}
}

View File

@@ -88,11 +88,11 @@ class CategoryController extends Controller
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
'id' => (string) $category->id,
'id' => (string)$category->id,
'name' => $category->name,
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'],
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
@@ -120,13 +120,12 @@ class CategoryController extends Controller
foreach ($expenses as $expense) {
$result[] = [
'difference' => $expense['sum'],
'difference_float' => (float) $expense['sum'],
'currency_id' => (string) $expense['currency_id'],
'difference_float' => (float)$expense['sum'],
'currency_id' => (string)$expense['currency_id'],
'currency_code' => $expense['currency_code'],
];
}
return response()->json($result);
}
}

View File

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

View File

@@ -77,30 +77,31 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
if (0 !== $currencyId) {
$response[$currencyId] = $response[$currencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], app('steam')->positive($journal['amount']));
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference'];
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
}
if (0 !== $foreignCurrencyId) {
$response[$foreignCurrencyId] = $response[$foreignCurrencyId] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignCurrencyId]['difference'] = bcadd(
$response[$foreignCurrencyId]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignCurrencyId]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference'];
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference'];
}
}
@@ -137,8 +138,8 @@ class TagController extends Controller
$genericSet = $collector->getExtractedJournals();
/** @var array $journal */
foreach ($genericSet as $journal) {
$currencyId = (int) $journal['currency_id'];
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
$currencyId = (int)$journal['currency_id'];
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
/** @var array $tag */
foreach ($journal['tags'] as $tag) {
@@ -149,15 +150,15 @@ class TagController extends Controller
// on currency ID
if (0 !== $currencyId) {
$response[$key] = $response[$key] ?? [
'id' => (string) $tagId,
'id' => (string)$tagId,
'name' => $tag['name'],
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $currencyId,
'currency_id' => (string)$currencyId,
'currency_code' => $journal['currency_code'],
];
$response[$key]['difference'] = bcadd($response[$key]['difference'], app('steam')->positive($journal['amount']));
$response[$key]['difference_float'] = (float) $response[$key]['difference'];
$response[$key]['difference_float'] = (float)$response[$key]['difference'];
}
// on foreign ID
@@ -165,13 +166,14 @@ class TagController extends Controller
$response[$foreignKey] = $journal[$foreignKey] ?? [
'difference' => '0',
'difference_float' => 0,
'currency_id' => (string) $foreignCurrencyId,
'currency_id' => (string)$foreignCurrencyId,
'currency_code' => $journal['foreign_currency_code'],
];
$response[$foreignKey]['difference'] = bcadd(
$response[$foreignKey]['difference'], app('steam')->positive($journal['foreign_amount'])
$response[$foreignKey]['difference'],
app('steam')->positive($journal['foreign_amount'])
);
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; // intentional float
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // intentional float
}
}
}

View File

@@ -82,7 +82,7 @@ class ListController extends Controller
public function attachments(Account $account): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($account);
$count = $collection->count();
@@ -90,7 +90,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.accounts.attachments', [$account->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.attachments', [$account->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -118,7 +118,7 @@ class ListController extends Controller
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
$collection = $this->repository->getPiggyBanks($account);
@@ -127,7 +127,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.accounts.piggy_banks', [$account->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.piggy_banks', [$account->id]).$this->buildParams());
/** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class);
@@ -137,7 +137,6 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -156,7 +155,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, Account $account): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -181,7 +180,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.accounts.transactions', [$account->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.transactions', [$account->id]).$this->buildParams());
$groups = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -85,7 +85,7 @@ class ShowController extends Controller
// types to get, page size:
$types = $this->mapAccountTypes($this->parameters->get('type'));
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of accounts. Count it and split it.
$this->repository->resetAccountOrder();
@@ -99,7 +99,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.accounts.index') . $this->buildParams());
$paginator->setPath(route('api.v1.accounts.index').$this->buildParams());
/** @var AccountTransformer $transformer */
$transformer = app(AccountTransformer::class);
@@ -135,5 +135,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -82,5 +82,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -75,7 +75,7 @@ class UpdateController extends Controller
{
Log::debug(sprintf('Now in %s', __METHOD__));
$data = $request->getUpdateData();
$data['type'] = config('firefly.shortNamesByFullName.' . $account->accountType->type);
$data['type'] = config('firefly.shortNamesByFullName.'.$account->accountType->type);
$account = $this->repository->update($account, $data);
$manager = $this->getManager();
$account->refresh();

View File

@@ -97,13 +97,13 @@ class ShowController extends Controller
$response
->header('Content-Description', 'File Transfer')
->header('Content-Type', 'application/octet-stream')
->header('Content-Disposition', 'attachment; filename=' . $quoted)
->header('Content-Disposition', 'attachment; filename='.$quoted)
->header('Content-Transfer-Encoding', 'binary')
->header('Connection', 'Keep-Alive')
->header('Expires', '0')
->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0')
->header('Pragma', 'public')
->header('Content-Length', (string) strlen($content));
->header('Content-Length', (string)strlen($content));
return $response;
}
@@ -125,7 +125,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();
@@ -134,7 +134,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.attachments.index') . $this->buildParams());
$paginator->setPath(route('api.v1.attachments.index').$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);

View File

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

View File

@@ -77,7 +77,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');
@@ -89,7 +89,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.available_budgets.index') . $this->buildParams());
$paginator->setPath(route('api.v1.available_budgets.index').$this->buildParams());
/** @var AvailableBudgetTransformer $transformer */
$transformer = app(AvailableBudgetTransformer::class);
@@ -124,5 +124,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

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

View File

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

View File

@@ -71,5 +71,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}

View File

@@ -81,7 +81,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();
@@ -89,7 +89,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.bills.attachments', [$bill->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.bills.attachments', [$bill->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -118,7 +118,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);
@@ -127,7 +127,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.bills.rules', [$bill->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.bills.rules', [$bill->id]).$this->buildParams());
/** @var RuleTransformer $transformer */
$transformer = app(RuleTransformer::class);
@@ -136,7 +136,6 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -155,7 +154,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);
@@ -188,7 +187,7 @@ class ListController extends Controller
// get paginator.
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.bills.transactions', [$bill->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.bills.transactions', [$bill->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -200,5 +199,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -74,7 +74,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'));

View File

@@ -80,7 +80,5 @@ class UpdateController extends Controller
$resource = new Item($bill, $transformer, 'bills');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -83,7 +83,7 @@ class ListController extends Controller
public function attachments(Budget $budget): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($budget);
$count = $collection->count();
@@ -91,7 +91,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.attachments', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.attachments', [$budget->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -118,13 +118,13 @@ class ListController extends Controller
public function budgetLimits(Budget $budget): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$this->parameters->set('budget_id', $budget->id);
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.budget_limits', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.budget_limits', [$budget->id]).$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -151,7 +151,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, Budget $budget): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// user can overrule page size with limit parameter.
$limit = $this->parameters->get('limit');
@@ -189,7 +189,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -215,7 +215,7 @@ class ListController extends Controller
*/
public function withoutBudget(Request $request): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// user can overrule page size with limit parameter.
$limit = $this->parameters->get('limit');
@@ -253,7 +253,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.budgets.without-budget') . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.without-budget').$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -264,5 +264,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -78,7 +78,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->getBudgets();
@@ -87,7 +87,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($budgets, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.index') . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.index').$this->buildParams());
/** @var BudgetTransformer $transformer */
$transformer = app(BudgetTransformer::class);
@@ -119,5 +119,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -80,6 +80,5 @@ class UpdateController extends Controller
$resource = new Item($budget, $transformer, 'budgets');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -81,7 +81,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -110,7 +110,7 @@ class ListController extends Controller
$collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
$collector->setTypes($types);
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.budgets.limits.transactions', [$budget->id, $budgetLimit->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.limits.transactions', [$budget->id, $budgetLimit->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -86,12 +86,12 @@ class ShowController extends Controller
{
$manager = $this->getManager();
$manager->parseIncludes('budget');
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budgets.limits.index', [$budget->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.budgets.limits.index', [$budget->id]).$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -119,12 +119,12 @@ class ShowController extends Controller
{
$manager = $this->getManager();
$manager->parseIncludes('budget');
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->blRepository->getAllBudgetLimits($this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.budget-limits.index') . $this->buildParams());
$paginator->setPath(route('api.v1.budget-limits.index').$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -149,7 +149,7 @@ class ShowController extends Controller
*/
public function show(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
if ((int) $budget->id !== (int) $budgetLimit->budget_id) {
if ((int)$budget->id !== (int)$budgetLimit->budget_id) {
throw new FireflyException('20028: The budget limit does not belong to the budget.');
}
// continue!
@@ -163,5 +163,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -76,8 +76,7 @@ class UpdateController extends Controller
*/
public function update(UpdateRequest $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
if ((int) $budget->id !== (int) $budgetLimit->budget_id) {
if ((int)$budget->id !== (int)$budgetLimit->budget_id) {
throw new FireflyException('20028: The budget limit does not belong to the budget.');
}
$data = $request->getAll();
@@ -92,6 +91,5 @@ class UpdateController extends Controller
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -78,7 +78,7 @@ class ListController extends Controller
public function attachments(Category $category): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAttachments($category);
$count = $collection->count();
@@ -86,7 +86,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.categories.attachments', [$category->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.categories.attachments', [$category->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -114,7 +114,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, Category $category): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -145,7 +145,7 @@ class ListController extends Controller
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.categories.transactions', [$category->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.categories.transactions', [$category->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -157,5 +157,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -74,7 +74,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();
@@ -83,7 +83,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($categories, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.categories.index') . $this->buildParams());
$paginator->setPath(route('api.v1.categories.index').$this->buildParams());
/** @var CategoryTransformer $transformer */
$transformer = app(CategoryTransformer::class);

View File

@@ -80,5 +80,4 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -80,6 +80,5 @@ class UpdateController extends Controller
$resource = new Item($category, $transformer, 'categories');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -78,7 +78,7 @@ class ListController extends Controller
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of piggy banks. Count it and split it.
$collection = $this->repository->getBills($objectGroup);
$count = $collection->count();
@@ -86,7 +86,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]).$this->buildParams());
/** @var BillTransformer $transformer */
$transformer = app(BillTransformer::class);
@@ -116,7 +116,7 @@ class ListController extends Controller
$manager = $this->getManager();
// types to get, page size:
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of piggy banks. Count it and split it.
$collection = $this->repository->getPiggyBanks($objectGroup);
@@ -125,7 +125,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.object-groups.piggy_banks', [$objectGroup->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.object-groups.piggy_banks', [$objectGroup->id]).$this->buildParams());
/** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class);
@@ -135,6 +135,5 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -80,7 +80,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;
$this->repository->resetOrder();
$collection = $this->repository->get();
@@ -89,7 +89,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($objectGroups, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.object-groups.index') . $this->buildParams());
$paginator->setPath(route('api.v1.object-groups.index').$this->buildParams());
/** @var ObjectGroupTransformer $transformer */
$transformer = app(ObjectGroupTransformer::class);

View File

@@ -72,7 +72,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();
@@ -80,7 +80,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.piggy_banks.attachments', [$piggyBank->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.piggy_banks.attachments', [$piggyBank->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -107,7 +107,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);
@@ -116,7 +116,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.piggy_banks.events', [$piggyBank->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.piggy_banks.events', [$piggyBank->id]).$this->buildParams());
/** @var PiggyBankEventTransformer $transformer */
$transformer = app(PiggyBankEventTransformer::class);
@@ -126,6 +126,5 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -73,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->repository->getPiggyBanks();
@@ -82,7 +82,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.piggy_banks.index') . $this->buildParams());
$paginator->setPath(route('api.v1.piggy_banks.index').$this->buildParams());
/** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class);
@@ -92,7 +92,6 @@ class ShowController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -117,6 +116,5 @@ class ShowController extends Controller
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -84,6 +84,5 @@ class UpdateController extends Controller
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -78,7 +78,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, Recurrence $recurrence): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$type = $request->get('type') ?? 'default';
$this->parameters->set('type', $type);
@@ -110,7 +110,7 @@ class ListController extends Controller
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.transactions.index') . $this->buildParams());
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -74,7 +74,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();
@@ -83,7 +83,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.recurrences.index') . $this->buildParams());
$paginator->setPath(route('api.v1.recurrences.index').$this->buildParams());
/** @var RecurrenceTransformer $transformer */
$transformer = app(RecurrenceTransformer::class);
@@ -93,7 +93,6 @@ class ShowController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**

View File

@@ -80,6 +80,5 @@ class UpdateController extends Controller
$resource = new Item($recurrence, $transformer, 'recurrences');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -78,7 +78,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();
@@ -87,7 +87,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.rules.index') . $this->buildParams());
$paginator->setPath(route('api.v1.rules.index').$this->buildParams());
/** @var RuleTransformer $transformer */
$transformer = app(RuleTransformer::class);
@@ -97,7 +97,6 @@ class ShowController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -121,6 +120,5 @@ class ShowController extends Controller
$resource = new Item($rule, $transformer, 'rules');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -101,7 +101,7 @@ class TriggerController extends Controller
$count = $transactions->count();
$paginator = new LengthAwarePaginator($transactions, $count, 31337, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.rules.test', [$rule->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.rules.test', [$rule->id]).$this->buildParams());
// resulting list is presented as JSON thing.
$manager = $this->getManager();

View File

@@ -76,7 +76,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->ruleGroupRepository->getRules($group);
@@ -85,7 +85,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.rule_groups.rules', [$group->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.rule_groups.rules', [$group->id]).$this->buildParams());
/** @var RuleTransformer $transformer */
$transformer = app(RuleTransformer::class);
@@ -95,6 +95,5 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -76,7 +76,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 rule groups. Count it and split it.
$collection = $this->ruleGroupRepository->get();
@@ -85,7 +85,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($ruleGroups, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.rule_groups.index') . $this->buildParams());
$paginator->setPath(route('api.v1.rule_groups.index').$this->buildParams());
/** @var RuleGroupTransformer $transformer */
$transformer = app(RuleGroupTransformer::class);
@@ -118,7 +118,5 @@ class ShowController extends Controller
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -37,7 +37,6 @@ use League\Fractal\Resource\Item;
*/
class StoreController extends Controller
{
private AccountRepositoryInterface $accountRepository;
private RuleGroupRepositoryInterface $ruleGroupRepository;
@@ -87,6 +86,5 @@ class StoreController extends Controller
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -108,7 +108,7 @@ class TriggerController extends Controller
$count = $transactions->count();
$paginator = new LengthAwarePaginator($transactions, $count, 31337, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.rule_groups.test', [$group->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.rule_groups.test', [$group->id]).$this->buildParams());
// resulting list is presented as JSON thing.
$manager = $this->getManager();
@@ -167,5 +167,4 @@ class TriggerController extends Controller
return response()->json([], 204);
}
}

View File

@@ -37,7 +37,6 @@ use League\Fractal\Resource\Item;
*/
class UpdateController extends Controller
{
private RuleGroupRepositoryInterface $ruleGroupRepository;
/**

View File

@@ -81,7 +81,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();
@@ -89,7 +89,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.tags.attachments', [$tag->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.tags.attachments', [$tag->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -116,7 +116,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);
@@ -145,7 +145,7 @@ class ListController extends Controller
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.tags.transactions', [$tag->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.tags.transactions', [$tag->id]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -77,7 +77,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();
@@ -86,7 +86,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.tags.index') . $this->buildParams());
$paginator->setPath(route('api.v1.tags.index').$this->buildParams());
/** @var TagTransformer $transformer */
$transformer = app(TagTransformer::class);
@@ -119,6 +119,5 @@ class ShowController extends Controller
$resource = new Item($tag, $transformer, 'tags');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -82,4 +82,3 @@ class StoreController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -82,7 +82,5 @@ class UpdateController extends Controller
$resource = new Item($rule, $transformer, 'tags');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Transaction;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Events\DestroyedTransactionGroup;
use FireflyIII\Events\UpdatedAccount;
use FireflyIII\Models\Account;
use FireflyIII\Models\Transaction;
@@ -41,8 +40,8 @@ use Log;
*/
class DestroyController extends Controller
{
private JournalRepositoryInterface $repository;
private TransactionGroupRepository $groupRepository;
private JournalRepositoryInterface $repository;
/**
* TransactionController constructor.
@@ -81,15 +80,16 @@ class DestroyController extends Controller
*/
public function destroy(TransactionGroup $transactionGroup): JsonResponse
{
Log::debug(sprintf('Now in %s', __METHOD__));
// grab asset account(s) from group:
$accounts = [];
/** @var TransactionJournal $journal */
foreach($transactionGroup->transactionJournals as $journal) {
foreach ($transactionGroup->transactionJournals as $journal) {
/** @var Transaction $transaction */
foreach($journal->transactions as $transaction) {
foreach ($journal->transactions as $transaction) {
$type = $transaction->account->accountType->type;
// if is valid liability, trigger event!
if(in_array($type, config('firefly.valid_liabilities'))) {
if (in_array($type, config('firefly.valid_liabilities'), true)) {
$accounts[] = $transaction->account;
}
}
@@ -100,7 +100,7 @@ class DestroyController extends Controller
app('preferences')->mark();
/** @var Account $account */
foreach($accounts as $account) {
foreach ($accounts as $account) {
Log::debug(sprintf('Now going to trigger updated account event for account #%d', $account->id));
event(new UpdatedAccount($account));
}

View File

@@ -79,8 +79,8 @@ class ListController extends Controller
public function attachments(TransactionGroup $transactionGroup): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = new Collection;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = new Collection();
foreach ($transactionGroup->transactionJournals as $transactionJournal) {
$collection = $this->journalAPIRepository->getAttachments($transactionJournal)->merge($collection);
}
@@ -90,7 +90,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.transactions.attachments', [$transactionGroup->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.transactions.attachments', [$transactionGroup->id]).$this->buildParams());
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -115,8 +115,8 @@ class ListController extends Controller
public function piggyBankEvents(TransactionGroup $transactionGroup): JsonResponse
{
$manager = $this->getManager();
$collection = new Collection;
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = new Collection();
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
foreach ($transactionGroup->transactionJournals as $transactionJournal) {
$collection = $this->journalAPIRepository->getPiggyBankEvents($transactionJournal)->merge($collection);
}
@@ -124,7 +124,7 @@ class ListController extends Controller
$events = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// make paginator:
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.transactions.piggy_bank_events', [$transactionGroup->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.transactions.piggy_bank_events', [$transactionGroup->id]).$this->buildParams());
/** @var PiggyBankEventTransformer $transformer */
$transformer = app(PiggyBankEventTransformer::class);
@@ -155,13 +155,13 @@ class ListController extends Controller
{
$manager = $this->getManager();
$collection = $this->journalAPIRepository->getJournalLinks($transactionJournal);
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$count = $collection->count();
$journalLinks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// make paginator:
$paginator = new LengthAwarePaginator($journalLinks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.transaction-journals.transaction_links', [$transactionJournal->id]) . $this->buildParams());
$paginator->setPath(route('api.v1.transaction-journals.transaction_links', [$transactionJournal->id]).$this->buildParams());
/** @var TransactionLinkTransformer $transformer */
$transformer = app(TransactionLinkTransformer::class);

View File

@@ -59,7 +59,7 @@ class ShowController extends Controller
*/
public function index(Request $request): 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);
@@ -85,7 +85,7 @@ class ShowController extends Controller
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.transactions.index') . $this->buildParams());
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -151,5 +151,4 @@ class ShowController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -93,16 +93,17 @@ class StoreController extends Controller
try {
$transactionGroup = $this->groupRepository->store($data);
} catch (DuplicateTransactionException $e) {
Log::warning('Caught a duplicate transaction. Return error message.');
app('log')->warning('Caught a duplicate transaction. Return error message.');
$validator = Validator::make(
['transactions' => [['description' => $e->getMessage()]]], ['transactions.0.description' => new IsDuplicateTransaction]
['transactions' => [['description' => $e->getMessage()]]],
['transactions.0.description' => new IsDuplicateTransaction()]
);
throw new ValidationException($validator, 0, $e);
} catch (FireflyException $e) {
Log::warning('Caught an exception. Return error message.');
app('log')->warning('Caught an exception. Return error message.');
Log::error($e->getMessage());
$message = sprintf('Internal exception: %s', $e->getMessage());
$validator = Validator::make(['transactions' => [['description' => $message]]], ['transactions.0.description' => new IsDuplicateTransaction]);
$validator = Validator::make(['transactions' => [['description' => $message]]], ['transactions.0.description' => new IsDuplicateTransaction()]);
throw new ValidationException($validator, 0, $e);
}
app('preferences')->mark();

View File

@@ -110,5 +110,4 @@ class UpdateController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -28,7 +28,6 @@ use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
@@ -38,7 +37,6 @@ use Illuminate\Http\JsonResponse;
class DestroyController extends Controller
{
private CurrencyRepositoryInterface $repository;
private UserRepositoryInterface $userRepository;
/**
* CurrencyRepository constructor.
@@ -51,7 +49,6 @@ class DestroyController extends Controller
$this->middleware(
function ($request, $next) {
$this->repository = app(CurrencyRepositoryInterface::class);
$this->userRepository = app(UserRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);

View File

@@ -63,11 +63,10 @@ use League\Fractal\Resource\Collection as FractalCollection;
*/
class ListController extends Controller
{
use AccountFilter, TransactionFilter;
use AccountFilter;
use TransactionFilter;
private CurrencyRepositoryInterface $repository;
private UserRepositoryInterface $userRepository;
/**
* CurrencyRepository constructor.
*
@@ -79,7 +78,6 @@ class ListController extends Controller
$this->middleware(
function ($request, $next) {
$this->repository = app(CurrencyRepositoryInterface::class);
$this->userRepository = app(UserRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
@@ -109,7 +107,7 @@ class ListController extends Controller
// types to get, page size:
$types = $this->mapAccountTypes($this->parameters->get('type'));
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of accounts. Count it and split it.
/** @var AccountRepositoryInterface $accountRepository */
@@ -119,7 +117,7 @@ class ListController extends Controller
// filter list on currency preference:
$collection = $unfiltered->filter(
static function (Account $account) use ($currency, $accountRepository) {
$currencyId = (int) $accountRepository->getMetaValue($account, 'currency_id');
$currencyId = (int)$accountRepository->getMetaValue($account, 'currency_id');
return $currencyId === $currency->id;
}
@@ -130,7 +128,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.accounts', [$currency->code]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.accounts', [$currency->code]).$this->buildParams());
/** @var AccountTransformer $transformer */
$transformer = app(AccountTransformer::class);
@@ -157,7 +155,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 available budgets. Count it and split it.
/** @var AvailableBudgetRepositoryInterface $abRepository */
@@ -168,7 +166,7 @@ class ListController extends Controller
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// make paginator:
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.available_budgets', [$currency->code]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.available_budgets', [$currency->code]).$this->buildParams());
/** @var AvailableBudgetTransformer $transformer */
$transformer = app(AvailableBudgetTransformer::class);
@@ -198,7 +196,7 @@ class ListController extends Controller
/** @var BillRepositoryInterface $billRepos */
$billRepos = app(BillRepositoryInterface::class);
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$unfiltered = $billRepos->getBills();
// filter and paginate list:
@@ -212,7 +210,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.bills', [$currency->code]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.bills', [$currency->code]).$this->buildParams());
/** @var BillTransformer $transformer */
$transformer = app(BillTransformer::class);
@@ -242,12 +240,12 @@ class ListController extends Controller
$blRepository = app(BudgetLimitRepositoryInterface::class);
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $blRepository->getAllBudgetLimitsByCurrency($currency, $this->parameters->get('start'), $this->parameters->get('end'));
$count = $collection->count();
$budgetLimits = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($budgetLimits, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.budget_limits', [$currency->code]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.budget_limits', [$currency->code]).$this->buildParams());
/** @var BudgetLimitTransformer $transformer */
$transformer = app(BudgetLimitTransformer::class);
@@ -275,7 +273,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.
/** @var RecurringRepositoryInterface $recurringRepos */
@@ -300,7 +298,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.recurrences', [$currency->code]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.recurrences', [$currency->code]).$this->buildParams());
/** @var RecurrenceTransformer $transformer */
$transformer = app(RecurrenceTransformer::class);
@@ -310,7 +308,6 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -328,7 +325,7 @@ class ListController extends Controller
public function rules(TransactionCurrency $currency): JsonResponse
{
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of budgets. Count it and split it.
/** @var RuleRepositoryInterface $ruleRepos */
@@ -353,7 +350,7 @@ class ListController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.rules.index') . $this->buildParams());
$paginator->setPath(route('api.v1.rules.index').$this->buildParams());
/** @var RuleTransformer $transformer */
$transformer = app(RuleTransformer::class);
@@ -363,7 +360,6 @@ class ListController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -382,7 +378,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, TransactionCurrency $currency): 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);
@@ -411,7 +407,7 @@ class ListController extends Controller
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.currencies.transactions', [$currency->code]) . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.transactions', [$currency->code]).$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */

View File

@@ -43,7 +43,8 @@ use League\Fractal\Resource\Item;
*/
class ShowController extends Controller
{
use AccountFilter, TransactionFilter;
use AccountFilter;
use TransactionFilter;
private CurrencyRepositoryInterface $repository;
@@ -78,13 +79,13 @@ class ShowController extends Controller
*/
public function index(): JsonResponse
{
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$collection = $this->repository->getAll();
$count = $collection->count();
// slice them:
$currencies = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($currencies, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.currencies.index') . $this->buildParams());
$paginator->setPath(route('api.v1.currencies.index').$this->buildParams());
$manager = $this->getManager();
$defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user());
$this->parameters->set('defaultCurrency', $defaultCurrency);

View File

@@ -28,7 +28,6 @@ use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\TransactionCurrency\StoreRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\CurrencyTransformer;
@@ -41,10 +40,10 @@ use League\Fractal\Resource\Item;
*/
class StoreController extends Controller
{
use AccountFilter, TransactionFilter;
use AccountFilter;
use TransactionFilter;
private CurrencyRepositoryInterface $repository;
private UserRepositoryInterface $userRepository;
/**
* CurrencyRepository constructor.
@@ -57,7 +56,6 @@ class StoreController extends Controller
$this->middleware(
function ($request, $next) {
$this->repository = app(CurrencyRepositoryInterface::class);
$this->userRepository = app(UserRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);

View File

@@ -42,10 +42,10 @@ use League\Fractal\Resource\Item;
*/
class UpdateController extends Controller
{
use AccountFilter, TransactionFilter;
use AccountFilter;
use TransactionFilter;
private CurrencyRepositoryInterface $repository;
private UserRepositoryInterface $userRepository;
/**
* CurrencyRepository constructor.
@@ -58,7 +58,6 @@ class UpdateController extends Controller
$this->middleware(
function ($request, $next) {
$this->repository = app(CurrencyRepositoryInterface::class);
$this->userRepository = app(UserRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
@@ -98,38 +97,6 @@ class UpdateController extends Controller
$resource = new Item($currency, $transformer, 'currencies');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/currencies/enableCurrency
*
* Enable a currency.
*
* @param TransactionCurrency $currency
*
* @return JsonResponse
* @throws FireflyException
* @throws JsonException
* @codeCoverageIgnore
*/
public function enable(TransactionCurrency $currency): JsonResponse
{
$this->repository->enable($currency);
$manager = $this->getManager();
$defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user());
$this->parameters->set('defaultCurrency', $defaultCurrency);
/** @var CurrencyTransformer $transformer */
$transformer = app(CurrencyTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new Item($currency, $transformer, 'currencies');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -162,7 +129,36 @@ class UpdateController extends Controller
$resource = new Item($currency, $transformer, 'currencies');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/currencies/enableCurrency
*
* Enable a currency.
*
* @param TransactionCurrency $currency
*
* @return JsonResponse
* @throws FireflyException
* @throws JsonException
* @codeCoverageIgnore
*/
public function enable(TransactionCurrency $currency): JsonResponse
{
$this->repository->enable($currency);
$manager = $this->getManager();
$defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user());
$this->parameters->set('defaultCurrency', $defaultCurrency);
/** @var CurrencyTransformer $transformer */
$transformer = app(CurrencyTransformer::class);
$transformer->setParameters($this->parameters);
$resource = new Item($currency, $transformer, 'currencies');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -200,6 +196,5 @@ class UpdateController extends Controller
$resource = new Item($currency, $transformer, 'currencies');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -32,7 +32,6 @@ use Illuminate\Http\JsonResponse;
class DestroyController extends Controller
{
private LinkTypeRepositoryInterface $repository;
/**
@@ -75,5 +74,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}

View File

@@ -83,7 +83,7 @@ class ShowController extends Controller
$name = $request->get('name');
// 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;
$linkType = $this->repository->findByName($name);
// get list of transaction links. Count it and split it.
@@ -93,7 +93,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($journalLinks, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.transaction_links.index') . $this->buildParams());
$paginator->setPath(route('api.v1.transaction_links.index').$this->buildParams());
/** @var TransactionLinkTransformer $transformer */
$transformer = app(TransactionLinkTransformer::class);
@@ -103,7 +103,6 @@ class ShowController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -128,6 +127,5 @@ class ShowController extends Controller
$resource = new Item($journalLink, $transformer, 'transaction_links');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -87,6 +87,5 @@ class UpdateController extends Controller
$resource = new Item($journalLink, $transformer, 'transaction_links');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -86,5 +86,4 @@ class DestroyController extends Controller
return response()->json([], 204);
}
}

View File

@@ -46,7 +46,6 @@ class ListController extends Controller
use TransactionFilter;
private LinkTypeRepositoryInterface $repository;
private UserRepositoryInterface $userRepository;
/**
* LinkTypeController constructor.
@@ -61,7 +60,6 @@ class ListController extends Controller
/** @var User $user */
$user = auth()->user();
$this->repository = app(LinkTypeRepositoryInterface::class);
$this->userRepository = app(UserRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
@@ -82,7 +80,7 @@ class ListController extends Controller
*/
public function transactions(Request $request, LinkType $linkType): 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);
@@ -114,7 +112,7 @@ class ListController extends Controller
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
}
$paginator = $collector->getPaginatedGroups();
$paginator->setPath(route('api.v1.transactions.index') . $this->buildParams());
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
$transactions = $paginator->getCollection();
/** @var TransactionGroupTransformer $transformer */
@@ -126,5 +124,4 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

View File

@@ -46,7 +46,6 @@ class ShowController extends Controller
use TransactionFilter;
private LinkTypeRepositoryInterface $repository;
private UserRepositoryInterface $userRepository;
/**
* LinkTypeController constructor.
@@ -61,7 +60,6 @@ class ShowController extends Controller
/** @var User $user */
$user = auth()->user();
$this->repository = app(LinkTypeRepositoryInterface::class);
$this->userRepository = app(UserRepositoryInterface::class);
$this->repository->setUser($user);
return $next($request);
@@ -82,7 +80,7 @@ class ShowController extends Controller
{
// create some objects:
$manager = $this->getManager();
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of accounts. Count it and split it.
$collection = $this->repository->get();
@@ -91,7 +89,7 @@ class ShowController extends Controller
// make paginator:
$paginator = new LengthAwarePaginator($linkTypes, $count, $pageSize, $this->parameters->get('page'));
$paginator->setPath(route('api.v1.link_types.index') . $this->buildParams());
$paginator->setPath(route('api.v1.link_types.index').$this->buildParams());
/** @var LinkTypeTransformer $transformer */
$transformer = app(LinkTypeTransformer::class);
@@ -101,7 +99,6 @@ class ShowController extends Controller
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
/**
@@ -125,6 +122,5 @@ class ShowController extends Controller
$resource = new Item($linkType, $transformer, 'link_types');
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
}
}

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