Compare commits

..

2 Commits

Author SHA1 Message Date
James Cole
5085a384dc Update changelog. 2021-07-25 19:49:28 +02:00
James Cole
07abfd78e1 Throttle logins. Update changelog. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3663 2021-07-25 19:48:34 +02:00
1203 changed files with 21345 additions and 31536 deletions

View File

@@ -188,7 +188,7 @@ AUTHENTICATION_GUARD=web
# Enter a custom URL here that will force a logout (your authentication provider can tell you).
# Setting this variable only works when AUTHENTICATION_GUARD != web
#
CUSTOM_LOGOUT_URL=
CUSTOM_LOGOUT_URI=
# LDAP connection configuration
# OpenLDAP, FreeIPA or ActiveDirectory
@@ -260,6 +260,12 @@ DISABLE_CSP_HEADER=false
TRACKER_SITE_ID=
TRACKER_URL=
#
# Firefly III can collect telemetry on how you use Firefly III. This is opt-in.
# In order to allow this, change the following variable to true.
# To read more about this feature, go to this page: https://docs.firefly-iii.org/support/telemetry
SEND_TELEMETRY=false
# You can fine tune the start-up of a Docker container by editing these environment variables.
# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data.
# However if you know what you're doing you can significantly speed up container start times.

View File

@@ -189,7 +189,7 @@ AUTHENTICATION_GUARD=web
# Enter a custom URL here that will force a logout (your authentication provider can tell you).
# Setting this variable only works when AUTHENTICATION_GUARD != web
#
CUSTOM_LOGOUT_URL=
CUSTOM_LOGOUT_URI=
# LDAP connection configuration
# OpenLDAP, FreeIPA or ActiveDirectory
@@ -261,6 +261,12 @@ DISABLE_CSP_HEADER=false
TRACKER_SITE_ID=
TRACKER_URL=
#
# Firefly III can collect telemetry on how you use Firefly III. This is opt-in.
# In order to allow this, change the following variable to true.
# To read more about this feature, go to this page: https://docs.firefly-iii.org/support/telemetry
SEND_TELEMETRY=false
# You can fine tune the start-up of a Docker container by editing these environment variables.
# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data.
# However if you know what you're doing you can significantly speed up container start times.

View File

@@ -37,15 +37,14 @@ TRUSTED_PROXIES=
# Several other options exist. You can use 'single' for one big fat error log (not recommended).
# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself.
# A rotating log option is 'daily', creates 5 files that (surprise) rotate.
# A cool option is 'papertrail' for cloud logging
# Default setting 'stack' will log to 'daily' and to 'stdout' at the same time.
LOG_CHANNEL=stack
#
# Used when logging to papertrail:
#
PAPERTRAIL_HOST=
PAPERTRAIL_PORT=
# - Docker + versions <= 4.8.1.8 and before: use "stdout"
# - Docker + versions > 4.8.1.8 : use "docker_out"
# - Docker + versions >= 5.1.1 : use "stack"
# - For everything else (als not Docker) : use 'stack'
LOG_CHANNEL=stack
# Log level. You can set this from least severe to most severe:
# debug, info, notice, warning, error, critical, alert, emergency
@@ -54,7 +53,8 @@ PAPERTRAIL_PORT=
APP_LOG_LEVEL=notice
# Audit log level.
# Set this to "emergency" if you dont want to store audit logs, leave on info otherwise.
# set to "emergency" if you dont want to store audit logs.
# leave on info otherwise.
AUDIT_LOG_LEVEL=info
# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
@@ -89,11 +89,11 @@ PGSQL_SSL_CERT=null
PGSQL_SSL_KEY=null
PGSQL_SSL_CRL_FILE=null
# If you're looking for performance improvements, you could install memcached or redis
# If you're looking for performance improvements, you could install memcached.
CACHE_DRIVER=file
SESSION_DRIVER=file
# If you set either of the options above to 'redis', you might want to update these settings too
# If you set either of these to 'redis', you might want to update these settings too
# If you use Docker or similar, you can set REDIS_HOST_FILE, REDIS_PASSWORD_FILE or
# REDIS_PORT_FILE to set the value from a file instead of from an environment variable
@@ -106,8 +106,8 @@ REDIS_PATH=
# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise.
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=null
REDIS_PASSWORD=null
# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly.
REDIS_DB="0"
REDIS_CACHE_DB="1"
@@ -115,13 +115,12 @@ REDIS_CACHE_DB="1"
# Cookie settings. Should not be necessary to change these.
# If you use Docker or similar, you can set COOKIE_DOMAIN_FILE to set
# the value from a file instead of from an environment variable
# Setting samesite to "strict" may give you trouble logging in.
COOKIE_PATH="/"
COOKIE_DOMAIN=
COOKIE_SECURE=false
COOKIE_SAMESITE=lax
# If you want Firefly III to email you, update these settings
# If you want Firefly III to mail you, update these settings
# For instructions, see: https://docs.firefly-iii.org/advanced-installation/email
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
MAIL_MAILER=log
@@ -146,7 +145,7 @@ MAILGUN_ENDPOINT=api.mailgun.net
MANDRILL_SECRET=
SPARKPOST_SECRET=
# Firefly III can send you the following messages.
# Firefly III can send you the following messages
SEND_REGISTRATION_MAIL=true
SEND_ERROR_MESSAGE=true
SEND_LOGIN_NEW_IP_WARNING=true
@@ -154,9 +153,16 @@ SEND_LOGIN_NEW_IP_WARNING=true
# These messages contain (sensitive) transaction information:
SEND_REPORT_JOURNALS=true
# Set this value to true if you want to set the location
# Set a Mapbox API key here (see mapbox.com) so there might be a map available at various places.
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
# Take note: it is no longer necessary to set this value, and it will be removed in future versions.
MAPBOX_API_KEY=
#
# Instead of the mapbox API key, just set this value to true if you want to set the location
# of certain things, like transactions. Since this involves an external service, it's optional
# and disabled by default.
#
ENABLE_EXTERNAL_MAP=false
# The map will default to this location:
@@ -164,59 +170,100 @@ MAP_DEFAULT_LAT=51.983333
MAP_DEFAULT_LONG=5.916667
MAP_DEFAULT_ZOOM=6
#
# Firefly III authentication settings
#
#
# Firefly III supports a few authentication methods:
# - 'web' (default, uses built in DB)
# - 'ldap'
# - 'remote_user_guard' for Authelia etc
# Read more about these settings in the documentation.
# Firefly III has two options for user authentication. "eloquent" is the default,
# and "ldap" for LDAP servers.
# For full instructions on these settings please visit:
# https://docs.firefly-iii.org/advanced-installation/authentication
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
#
# If you enable 'ldap' AND you run Docker, the Docker image will contact packagist.org
# This is necessary to download the required packages.
#
LOGIN_PROVIDER=eloquent
# It's also possible to change the way users are authenticated. You could use Authelia for example.
# Authentication via the REMOTE_USER header is supported. Change the value below to "remote_user_guard".
#
# This will also allow Windows SSO.
#
# If you do this please read the documentation for instructions and warnings:
# https://docs.firefly-iii.org/advanced-installation/authentication
#
# This function is available in Firefly III v5.3.0 and higher.
AUTHENTICATION_GUARD=web
# If the guard is changed, Firefly III uses the 'REMOTE_USER' header as per RFC 3875.
# You can also use another header, like AUTH_USER when using Windows SSO.
# Some systems use X-Auth headers. In that case, use HTTP_X_AUTH_USERNAME or HTTP_X_AUTH_EMAIL
# Depending on your system, REMOTE_USER may need to be changed to HTTP_REMOTE_USER
#
# Your LDAP server may speak a dialect. You can choose between 'OpenLDAP' and 'ActiveDirectory'
# Anything else defaults to 'ActiveDirectory'
#
LDAP_DIALECT=OpenLDAP
#
# LDAP connection settings:
#
LDAP_HOST=ldap.yourserver.com
LDAP_PORT=389
LDAP_TIMEOUT=5
LDAP_SSL=false
LDAP_TLS=false
LDAP_BASE_DN="o=something,dc=site,dc=com"
LDAP_USERNAME="uid=X,ou=,o=,dc=something,dc=com"
LDAP_PASSWORD=super_secret
LDAP_AUTH_FIELD=uid
#
# If you wish to only authenticate users from a specific group, use the base DN above.
#
# If you require extra/special filters please use the LDAP_EXTRA_FILTER with a valid DN.
#
# The extra filter will only be applied after the user is authenticated.
#
LDAP_EXTRA_FILTER=
#
# Remote user guard settings
# If this header is 'unexpectedly empty', check out the documentation.
# https://docs.firefly-iii.org/advanced-installation/authentication
#
AUTHENTICATION_GUARD_HEADER=REMOTE_USER
AUTHENTICATION_GUARD_EMAIL=
#
# Extra authentication settings
# Firefly III uses email addresses as user identifiers. When you're using an external authentication guard
# that doesn't do this, Firefly III is incapable of emailing you. Messages sent to "Bill Gates" always fail.
#
CUSTOM_LOGOUT_URL=
# However, if you set this value, Firefly III will store the value from this header as the user's backup
# email address and use it to communicate. So user "Bill Gates" could still have
# the email address "bill@microsoft.com".
#
# Example value: AUTHENTICATION_GUARD_EMAIL=HTTP_X_AUTH_EMAIL
#
AUTHENTICATION_GUARD_EMAIL=
# It's impossible to log out users who's authentication is handled by an external system.
# Enter a custom URL here that will force a logout (your authentication provider can tell you).
# Setting this variable only works when AUTHENTICATION_GUARD != web
#
CUSTOM_LOGOUT_URI=
# LDAP connection configuration
# OpenLDAP, FreeIPA or ActiveDirectory
# # If you use Docker or similar, you can set this variable from a file by appending it with _FILE
ADLDAP_CONNECTION_SCHEME=OpenLDAP
ADLDAP_AUTO_CONNECT=true
# LDAP connection settings
# You can set the following variables from a file by appending them with _FILE:
# ADLDAP_CONTROLLERS, ADLDAP_PORT, ADLDAP_BASEDN
ADLDAP_CONTROLLERS=
ADLDAP_PORT=389
ADLDAP_TIMEOUT=5
ADLDAP_BASEDN=""
ADLDAP_FOLLOW_REFFERALS=false
# SSL/TLS settings
ADLDAP_USE_SSL=false
ADLDAP_USE_TLS=false
ADLDAP_SSL_CACERTDIR=
ADLDAP_SSL_CACERTFILE=
ADLDAP_SSL_CERTFILE=
ADLDAP_SSL_KEYFILE=
ADLDAP_SSL_CIPHER_SUITE=
ADLDAP_SSL_REQUIRE_CERT=
# You can set the following variables from a file by appending them with _FILE:
ADLDAP_ADMIN_USERNAME=
ADLDAP_ADMIN_PASSWORD=
# You can set the following variables from a file by appending them with _FILE:
ADLDAP_ACCOUNT_PREFIX=
ADLDAP_ACCOUNT_SUFFIX=
# LDAP authentication settings.
ADLDAP_PASSWORD_SYNC=false
ADLDAP_LOGIN_FALLBACK=false
ADLDAP_DISCOVER_FIELD=distinguishedname
ADLDAP_AUTH_FIELD=distinguishedname
# field to sync as local username.
# You can set the following variable from a file by appending it with _FILE:
ADLDAP_SYNC_FIELD=userprincipalname
# You can disable the X-Frame-Options header if it interferes with tools like
# Organizr. This is at your own risk. Applications running in frames run the risk
@@ -237,20 +284,16 @@ DISABLE_CSP_HEADER=false
TRACKER_SITE_ID=
TRACKER_URL=
# Firefly III can collect telemetry on how you use Firefly III. This is opt-in.
# In order to allow this, change the following variable to true.
# To read more about this feature, go to this page: https://docs.firefly-iii.org/support/telemetry
SEND_TELEMETRY=false
#
# Firefly III supports webhooks. These are security sensitive and must be enabled manually first.
#
ALLOW_WEBHOOKS=false
#
# The static cron job token can be useful when you use Docker and wish to manage cron jobs.
# 1. Set this token to any 32-character value (this is important!).
# 2. Use this token in the cron URL instead of a user's command line token.
#
# For more info: https://docs.firefly-iii.org/firefly-iii/advanced-installation/cron/
#
STATIC_CRON_TOKEN=
# You can fine tune the start-up of a Docker container by editing these environment variables.
# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data.
# However if you know what you're doing you can significantly speed up container start times.
@@ -302,8 +345,6 @@ FIREFLY_III_LAYOUT=v1
# It won't work. It doesn't do ANYTHING. Don't believe the lies you read online. I'm not joking.
# This configuration value WILL NOT HELP.
#
# Notable exception to this rule is Synology, which, according to some users, will use APP_URL to rewrite stuff.
#
# This variable is ONLY used in some of the emails Firefly III sends around. Nowhere else.
# So when configuring anything WEB related this variable doesn't do anything. Nothing
#

7
.github/.mergify.yml vendored Normal file
View File

@@ -0,0 +1,7 @@
pull_request_rules:
- name: PR on main is never approved.
conditions:
- base=main
actions:
close:
message: Please reopen this PR on the `develop` branch. Thank you.

33
.github/ISSUE_TEMPLATE/Bug_report.md vendored Normal file
View File

@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help Firefly III improve
title: ''
labels: ''
assignees: ''
---
**Bug description**
I am running Firefly III version x.x.x, and my problem is:
<!-- Replace the version and describe your problem or your issue may be closed. -->
**Steps to reproduce**
<!-- What do you need to do to trigger this bug? -->
**Extra info**
<!-- Please add extra info here, such as OS, browser, and the output from the /debug page of your Firefly III installation (click the version at the bottom).
DO NOT PUT ```BACKTICKS``` AROUND THE OUTPUT OF THE /debug PAGE
-->
**Bonus points**
<!-- Before you submit, verify the following please: -->
- I searched and nobody reported this bug before
- I have added a stack trace from my log files <!-- (see https://bit.ly/FF3-get-debug-info) -->
- I have added a screenshot.
- I was able to replicate it on the demo site https://demo.firefly-iii.org/
<!-- - I donated money (this is a joke ;)-->

27
.github/ISSUE_TEMPLATE/Custom.md vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: I have a question or a problem
about: Ask away!
---
I am running Firefly III version x.x.x.
**Description**
<!-- (if relevant of course) -->
**Extra info**
<!-- Please add extra info here, such as OS, browser, and the output from the `/debug`-page of your Firefly III installation (click the version at the bottom).
DO NOT PUT ```BACKTICKS``` AROUND THE OUTPUT OF THE /debug PAGE
-->
**Bonus points**
<!-- Complete the following checklist for bonus points -->
- I have read the FAQ at https://bit.ly/FF3-FAQ
- I added a screenshot
- I added log files <!-- (see https://bit.ly/FF3-get-debug-info) -->
- I was able to replicate the issue on the demo site.
<!-- - I donated money (this is a joke :wink:)-->

View File

@@ -0,0 +1,34 @@
---
name: Feature request
about: Suggest an idea or feature for Firefly III
title: ''
labels: ''
assignees: ''
---
**Description**
<!--
Please describe your feature request:
- I would like Firefly III to do ABC.
- What if you would add feature XYZ?
- Firefly III doesn't do DEF.
-->
**Solution**
<!-- Describe what your feature would add to Firefly III. -->
**What are alternatives?**
<!-- Please describe what alternatives currently exist. -->
**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->
**Bonus points**
<!-- Earn bonus points by:
- Make a drawing
- Donate money (just kidding ;)
-->

View File

@@ -1,56 +0,0 @@
name: Bug Report
description: Report a bug in Firefly III (or associated tools)
body:
- type: checkboxes
attributes:
label: Support guidelines
description: Please read the support guidelines before proceeding.
options:
- label: I've read the [support guidelines](https://github.com/firefly-iii/firefly-iii/blob/main/.github/support.md)
required: true
- type: checkboxes
attributes:
label: I've found a bug and checked that ...
description: Make sure that your request fulfills all of the following requirements. If one requirement cannot be satisfied, explain in detail why.
options:
- label: ... the documentation does not mention anything about my problem
- label: ... there are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: Please provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: Please describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Debug information
description: Please provide the table from the /debug page
placeholder: The output from the /debug page
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: Please describe the steps to reproduce the bug.
placeholder: |
1. ...
2. ...
3. ...
validations:
required: false
- type: textarea
attributes:
label: Additional info
description: Please provide any additional information that seem useful.

View File

@@ -1,42 +0,0 @@
name: Feature Request
description: Request a feature or enhancement in Firefly III (or associated tools)
body:
- type: checkboxes
attributes:
label: Support guidelines
description: Please read the support guidelines before proceeding.
options:
- label: I've read the [support guidelines](https://github.com/firefly-iii/firefly-iii/blob/main/.github/support.md)
required: true
- label: My request is not listed as [a very good idea, but unfortunately...](https://docs.firefly-iii.org/firefly-iii/about-firefly-iii/what-its-not/)
required: true
- label: I've used [the search](https://github.com/firefly-iii/firefly-iii/issues?q=is%3Aissue) and this has not been discussed before.
required: true
- type: textarea
attributes:
label: Description
description: Please describe your feature request
placeholder: |
- I would like Firefly III to do ABC.
- What if you would add feature XYZ?
- Firefly III doesn't do DEF.
validations:
required: true
- type: textarea
attributes:
label: Solution
description: Describe what your feature would add to Firefly III.
validations:
required: true
- type: textarea
attributes:
label: What are alternatives?
description: Please describe what alternatives currently exist.
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 921 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -6,7 +6,6 @@ updates:
directory: "/" # Location of package manifests
target-branch: develop
labels: ["bug"]
versioning-strategy: increase
schedule:
interval: "weekly"
@@ -15,7 +14,6 @@ updates:
directory: "/"
target-branch: develop
labels: ["bug"]
versioning-strategy: increase
schedule:
interval: "weekly"
@@ -23,7 +21,6 @@ updates:
- package-ecosystem: "npm"
directory: "/frontend"
target-branch: develop
versioning-strategy: increase
labels: ["bug"]
schedule:
interval: "weekly"

View File

@@ -2,7 +2,8 @@
Before you create a new PR, please consider:
1) Pull requests for the MAIN branch will be closed.
2) DO NOT include translations in your PR. Only English US sentences.
2) We cannot accept pull requests to add new currencies.
3) DO NOT include translations in your PR. Only English US sentences.
Thanks.
-->

4
.github/stale.yml vendored
View File

@@ -1,11 +1,11 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 14
daysUntilStale: 7
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 14
daysUntilClose: 7
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
# - "[Status] Maybe Later"

32
.github/support.md vendored
View File

@@ -1,32 +1,12 @@
# Support [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/firefly-iii/firefly-iii.svg)](http://isitmaintained.com/project/firefly-iii/firefly-iii "Average time to resolve an issue")
# Welcome to Firefly III on Github!
:+1::tada: Thank you for taking the time to contribute something to Firefly III!
## Reporting an issue
## Bugs
First of all: thank you for reporting a bug instead of ditching the tool altogether. Bugs have a lot of priority!
First of all: thank you for reporting a bug instead of ditching the tool altogether. If you find a bug, please take the time and see if the [demo site](https://demo.firefly-iii.org/) is also suffering from this bug. Include as many log files and details as you think are necessary. Bugs have a lot of priority!
1. Open bugs will have open issues, so search for one first.
2. If your feature request is already there, vote on it with :+1: or :-1: reactions.
3. Do NOT hijack old issues with the bug you found, open your own issue.
4. If relevant, take the time and see if the [demo site](https://demo.firefly-iii.org/) is also suffering from your issue.
5. If relevant, read the [documentation](https://docs.firefly-iii.org/).
## Installation problems
Please follow these guidelines when opening new issues:
## Writing good issues
- File a single issue for a single problem or feature requests. Feel free to open multiple issues.
- Collect as many details as you can.
- Be clear and specific, and state what you're not sure about.
Only then [create a new issue](https://github.com/firefly-iii/firefly-iii/issues/new/choose)!
## Issue closure and abandonment policy
- Issues can be converted into discussions if it's not a bug or feature request.
- Features that won't be implemented will be labelled "wontfix". [This isn't personal](https://docs.firefly-iii.org/firefly-iii/support/features/#ideas-that-wont-be-implemented).
- Issues can be closed if they're duplicates of other issues.
- Issues can be closed if the answer is in the FAQ.
- Issues will be closed automatically after 14 days.
- Issues will be locked automatically after 90 days.
Please take the time to read the [documentation](https://docs.firefly-iii.org/) and make sure you search through closed issues for the problems other people
have had. Your problem may be among them! If not, open an issue and I will help where I can.

View File

@@ -13,3 +13,7 @@ jobs:
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: '90'
issue-lock-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.

2
.gitignore vendored
View File

@@ -15,4 +15,4 @@ yarn-error.log
public/google*.html
report.html
composer.phar
app.js.map
app.js.map

View File

@@ -1,13 +0,0 @@
pull_request_rules:
- name: Automatic merge on approval
conditions:
- "#approved-reviews-by>=1"
actions:
merge:
method: merge
- name: Security update by dependabot
conditions:
- "author=dependabot"
actions:
merge:
method: merge

58
.scrutinizer.yml Normal file
View File

@@ -0,0 +1,58 @@
---
build:
nodes:
analysis:
project_setup:
override: true
tests:
override:
- php-scrutinizer-run
checks:
javascript: true
php:
align_assignments: true
avoid_fixme_comments: true
avoid_multiple_statements_on_same_line: true
avoid_perl_style_comments: true
avoid_todo_comments: true
duplication: false
encourage_single_quotes: true
newline_at_end_of_file: true
no_goto: true
no_long_variable_names:
maximum: "20"
no_short_method_names:
minimum: "3"
no_short_variable_names:
minimum: "3"
optional_parameters_at_the_end: true
parameter_doc_comments: true
remove_extra_empty_lines: true
return_doc_comment_if_not_inferrable: true
return_doc_comments: true
uppercase_constants: true
use_self_instead_of_fqcn: true
coding_style:
php:
spaces:
around_operators:
concatenation: true
other:
after_type_cast: false
filter:
excluded_paths:
- database/migrations/*
- bootstrap/*
- config/*
- docker/*
- public/js/lib/*
- public/lib/adminlte/js/*
- public/lib/bootstrap/js/*
- resources/*
- routes/*
- storage/*
paths:
- app/*
- public/js/ff/*
tools:
external_code_coverage: false

20
.travis.yml Normal file
View File

@@ -0,0 +1,20 @@
language: php
php:
- '7.4'
dist: xenial
os: linux
cache:
directories:
- "/home/travis/.config"
- "/home/travis/build/firefly-iii/firefly-iii/vendor"
branches:
only:
- develop
before_script:
- phpenv config-rm xdebug.ini || return 0
script:
- "./.ci/phpstan.sh"
- "./.ci/phpunit.sh"

View File

@@ -25,14 +25,12 @@ namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use JsonException;
/**
* Class AccountController
@@ -64,14 +62,9 @@ class AccountController extends Controller
}
/**
* Documentation for this endpoint:
* https://api-docs.firefly-iii.org/#/autocomplete/getAccountsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
* @throws FireflyException
* @throws JsonException
*/
public function accounts(AutocompleteRequest $request): JsonResponse
{

View File

@@ -56,9 +56,6 @@ class BillController extends Controller
}
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getBillsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -56,9 +56,6 @@ class BudgetController extends Controller
}
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getBudgetsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -56,9 +56,6 @@ class CategoryController extends Controller
}
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getCategoriesAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -56,9 +56,6 @@ class CurrencyController extends Controller
}
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getCurrenciesAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
@@ -84,13 +81,9 @@ class CurrencyController extends Controller
}
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getCurrenciesCodeAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
* @deprecated
*/
public function currenciesWithCode(AutocompleteRequest $request): JsonResponse
{

View File

@@ -56,9 +56,6 @@ class ObjectGroupController extends Controller
}
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getObjectGroupsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -36,7 +36,7 @@ use Illuminate\Http\JsonResponse;
*/
class PiggyBankController extends Controller
{
private AccountRepositoryInterface $accountRepository;
private AccountRepositoryInterface $accountRepository;
private PiggyBankRepositoryInterface $piggyRepository;
/**
@@ -60,9 +60,6 @@ class PiggyBankController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getPiggiesAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
@@ -83,7 +80,6 @@ class PiggyBankController extends Controller
'currency_id' => $currency->id,
'currency_name' => $currency->name,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
];
}
@@ -92,9 +88,6 @@ class PiggyBankController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getPiggiesBalanceAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
@@ -119,7 +112,6 @@ class PiggyBankController extends Controller
'currency_id' => $currency->id,
'currency_name' => $currency->name,
'currency_code' => $currency->code,
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
];
}

View File

@@ -25,7 +25,7 @@ namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\Recurrence;
use FireflyIII\Models\Rule;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use Illuminate\Http\JsonResponse;
@@ -53,25 +53,22 @@ class RecurrenceController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getRecurringAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
*/
public function recurring(AutocompleteRequest $request): JsonResponse
{
$data = $request->getData();
$recurrences = $this->repository->searchRecurrence($data['query'], $data['limit']);
$response = [];
$data = $request->getData();
$rules = $this->repository->searchRecurrence($data['query'], $data['limit']);
$response = [];
/** @var Recurrence $recurrence */
foreach ($recurrences as $recurrence) {
/** @var Rule $rule */
foreach ($rules as $rule) {
$response[] = [
'id' => (string)$recurrence->id,
'name' => $recurrence->title,
'description' => $recurrence->description,
'id' => (string)$rule->id,
'name' => $rule->title,
'description' => $rule->description,
];
}

View File

@@ -53,9 +53,6 @@ class RuleController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getRulesAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -53,9 +53,6 @@ class RuleGroupController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getRuleGroupsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -56,9 +56,6 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getTagAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -61,9 +61,6 @@ class TransactionController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getTransactionsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse
@@ -91,9 +88,6 @@ class TransactionController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/autocomplete/getTransactionsIDAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -52,9 +52,6 @@ class TransactionTypeController extends Controller
}
/**
* This endpoint is documented at
* https://api-docs.firefly-iii.org/#/autocomplete/getTransactionTypesAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -27,7 +27,6 @@ namespace FireflyIII\Api\V1\Controllers\Chart;
use Carbon\Carbon;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Data\DateRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
@@ -70,13 +69,9 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/charts/getChartAccountOverview
*
* @param DateRequest $request
*
* @return JsonResponse
* @throws FireflyException
*/
public function overview(DateRequest $request): JsonResponse
{
@@ -92,7 +87,7 @@ class AccountController extends Controller
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
$default = app('amount')->getDefaultCurrency();
if (empty($frontPage->data)) {
if (0 === count($frontPage->data)) {
$frontPage->data = $defaultSet;
$frontPage->save();
}
@@ -105,9 +100,9 @@ class AccountController extends Controller
foreach ($accounts as $account) {
$currency = $this->repository->getAccountCurrency($account);
if (null === $currency) {
$currency = $default;
$currency = $default;
}
$currentSet = [
$currentSet = [
'label' => $account->name,
'currency_id' => (string)$currency->id,
'currency_code' => $currency->code,
@@ -119,6 +114,7 @@ class AccountController extends Controller
'yAxisID' => 0, // 0, 1, 2
'entries' => [],
];
/** @var Carbon $currentStart */
$currentStart = clone $start;
$range = app('steam')->balanceInRange($account, $start, clone $end);
$previous = round((float)array_values($range)[0], 12);

View File

@@ -26,7 +26,6 @@ namespace FireflyIII\Api\V1\Controllers;
use Carbon\Carbon;
use Carbon\Exceptions\InvalidDateException;
use Carbon\Exceptions\InvalidFormatException;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
@@ -46,7 +45,6 @@ abstract class Controller extends BaseController
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
protected const CONTENT_TYPE = 'application/vnd.api+json';
protected array $allowedSort;
protected ParameterBag $parameters;
/**
@@ -55,8 +53,7 @@ abstract class Controller extends BaseController
public function __construct()
{
// get global parameters
$this->allowedSort = config('firefly.allowed_sort_parameters');
$this->parameters = $this->getParameters();
$this->parameters = $this->getParameters();
$this->middleware(
function ($request, $next) {
if (auth()->check()) {
@@ -92,7 +89,7 @@ abstract class Controller extends BaseController
if (null !== $date) {
try {
$obj = Carbon::parse($date);
} catch (InvalidDateException | InvalidFormatException $e) {
} catch (InvalidDateException $e) {
// don't care
Log::error(sprintf('Invalid date exception in API controller: %s', $e->getMessage()));
}
@@ -109,39 +106,9 @@ abstract class Controller extends BaseController
}
}
// sort fields:
return $this->getSortParameters($bag);
}
/**
* @param ParameterBag $bag
*
* @return ParameterBag
*/
private function getSortParameters(ParameterBag $bag): ParameterBag
{
$sortParameters = [];
$param = (string)request()->query->get('sort');
if ('' === $param) {
return $bag;
}
$parts = explode(',', $param);
foreach ($parts as $part) {
$part = trim($part);
$direction = 'asc';
if ('-' === $part[0]) {
$part = substr($part, 1);
$direction = 'desc';
}
if (in_array($part, $this->allowedSort, true)) {
$sortParameters[] = [$part, $direction];
}
}
$bag->set('sort', $sortParameters);
return $bag;
}
}
/**
* Method to help build URI's.

View File

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

View File

@@ -1,100 +0,0 @@
<?php
/*
* TransactionController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Data\Bulk;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Data\Bulk\TransactionRequest;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Services\Internal\Destroy\AccountDestroyService;
use Illuminate\Http\JsonResponse;
/**
* Class TransactionController
*
* Endpoint to update transactions by submitting
* (optional) a "where" clause and an "update"
* clause.
*
* Because this is a security nightmare waiting to happen validation
* is pretty strict.
*/
class TransactionController extends Controller
{
private AccountRepositoryInterface $repository;
/**
*
*/
public function __construct()
{
parent::__construct();
$this->middleware(
function ($request, $next) {
$this->repository = app(AccountRepositoryInterface::class);
$this->repository->setUser(auth()->user());
return $next($request);
}
);
}
/**
* This endpoint is documented at:
*
* @param TransactionRequest $request
*
* @return JsonResponse
*/
public function update(TransactionRequest $request): JsonResponse
{
$query = $request->getAll();
$params = $query['query'];
// this deserves better code, but for now a loop of basic if-statements
// 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']);
/** @var AccountDestroyService $service */
$service = app(AccountDestroyService::class);
$service->moveTransactions($original, $destination);
}
return response()->json([], 204);
}
/**
* @param array $params
*
* @return bool
*/
private function updatesTransactionAccount(array $params): bool
{
return array_key_exists('account_id', $params['where']) && array_key_exists('account_id', $params['update']);
}
}

View File

@@ -52,9 +52,6 @@ use Illuminate\Http\JsonResponse;
class DestroyController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/destroyData
*
* @param DestroyRequest $request
*
* @return JsonResponse

View File

@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);
/*
* ExportController.php
* AccountController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@@ -20,15 +20,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Data\Export;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Data\Export\ExportRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Support\Export\ExportDataGenerator;
use Illuminate\Http\Response as LaravelResponse;
use League\Csv\CannotInsertRecord;
/**
* Class ExportController
@@ -54,13 +52,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportAccounts
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function accounts(ExportRequest $request): LaravelResponse
{
@@ -74,13 +69,13 @@ class ExportController extends Controller
* @param string $key
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
private function returnExport(string $key): LaravelResponse
{
$date = date('Y-m-d-H-i-s');
$date = date('Y-m-d-H-i-s');
$fileName = sprintf('%s-export-%s.csv', $date, $key);
$data = $this->exporter->export();
$data = $this->exporter->export();
/** @var LaravelResponse $response */
$response = response($data[$key]);
@@ -99,13 +94,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportBills
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function bills(ExportRequest $request): LaravelResponse
{
@@ -115,13 +107,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportBudgets
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function budgets(ExportRequest $request): LaravelResponse
{
@@ -131,13 +120,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportCategories
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function categories(ExportRequest $request): LaravelResponse
{
@@ -147,13 +133,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportPiggies
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function piggyBanks(ExportRequest $request): LaravelResponse
{
@@ -163,13 +146,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportRecurring
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function recurring(ExportRequest $request): LaravelResponse
{
@@ -179,13 +159,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportRules
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function rules(ExportRequest $request): LaravelResponse
{
@@ -195,13 +172,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportTags
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function tags(ExportRequest $request): LaravelResponse
{
@@ -211,13 +185,10 @@ class ExportController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/data/exportTransactions
*
* @param ExportRequest $request
*
* @return LaravelResponse
* @throws FireflyException
* @throws CannotInsertRecord
*/
public function transactions(ExportRequest $request): LaravelResponse
{

View File

@@ -37,7 +37,7 @@ use Illuminate\Http\JsonResponse;
* Class AccountController
*
* Shows expense information grouped or limited by date.
* I.e. all expenses grouped by account + currency.
* Ie. all expenses grouped by account + currency.
*/
class AccountController extends Controller
{
@@ -73,9 +73,6 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseAsset
*
* @param GenericRequest $request
*
* @return JsonResponse
@@ -104,9 +101,6 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseExpense
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);
/*
* BillController.php
* PeriodController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@@ -20,8 +20,6 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
@@ -56,9 +54,6 @@ class BillController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseBill
*
* Expenses per bill, possibly filtered by bill and account.
*
* @param GenericRequest $request
@@ -119,9 +114,6 @@ class BillController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseNoBill
*
* Expenses for no bill filtered by account.
*
* @param GenericRequest $request

View File

@@ -65,9 +65,6 @@ class BudgetController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseBudget
*
* @param GenericRequest $request
*
* @return JsonResponse
@@ -84,7 +81,7 @@ class BudgetController extends Controller
}
/** @var Budget $budget */
foreach ($budgets as $budget) {
$expenses = $this->opsRepository->sumExpenses($start, $end, $assetAccounts, new Collection([$budget]));
$expenses = $this->opsRepository->sumExpenses($start, $end, $assetAccounts, new Collection([$budget]), null);
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [
@@ -102,9 +99,6 @@ class BudgetController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseNoBudget
*
* @param GenericRequest $request
*
* @return JsonResponse
@@ -115,7 +109,7 @@ class BudgetController extends Controller
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$result = [];
$expenses = $this->noRepository->sumExpenses($start, $end, $assetAccounts);
$expenses = $this->noRepository->sumExpenses($start, $end, $assetAccounts, null);
/** @var array $expense */
foreach ($expenses as $expense) {
$result[] = [

View File

@@ -66,9 +66,6 @@ class CategoryController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferCategory
*
* @param GenericRequest $request
*
* @return JsonResponse
@@ -103,9 +100,6 @@ class CategoryController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferNoCategory
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -36,9 +36,6 @@ class PeriodController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseTotal
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);
/*
* TagController.php
* PeriodController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@@ -20,8 +20,6 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Expense;
use FireflyIII\Api\V1\Controllers\Controller;
@@ -55,9 +53,6 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseNoTag
*
* Expenses for no tag filtered by account.
*
* @param GenericRequest $request
@@ -108,9 +103,6 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightExpenseTag
*
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request

View File

@@ -38,6 +38,7 @@ use Illuminate\Http\JsonResponse;
*
* Shows income information grouped or limited by date.
* Ie. all income grouped by account + currency.
* TODO same code as Expense/AccountController.
*/
class AccountController extends Controller
{
@@ -73,9 +74,8 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeAsset
*
* TODO same code as Expense/AccountController.
* TODO does not actually include the name of the expense account.
* @param GenericRequest $request
*
* @return JsonResponse
@@ -103,8 +103,7 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeRevenue
* TODO does not actually include the name of the expense account.
*
* @param GenericRequest $request
*

View File

@@ -35,6 +35,7 @@ use Illuminate\Support\Collection;
/**
* Class CategoryController
* TODO same as opposing category controller
*/
class CategoryController extends Controller
{
@@ -66,9 +67,6 @@ class CategoryController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeCategory
*
* @param GenericRequest $request
*
* @return JsonResponse
@@ -103,9 +101,6 @@ class CategoryController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeNoCategory
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -36,9 +36,6 @@ class PeriodController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeTotal
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);
/*
* TagController.php
* PeriodController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@@ -20,8 +20,6 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Insight\Income;
use FireflyIII\Api\V1\Controllers\Controller;
@@ -56,9 +54,6 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeTag
*
* Expenses for no tag filtered by account.
*
* @param GenericRequest $request
@@ -111,9 +106,6 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightIncomeNoTag
*
* Expenses per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request

View File

@@ -58,8 +58,8 @@ class AccountController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransfers
* TODO same code as Expense/AccountController.
* TODO does not actually include the name of the expense account.
*
* @param GenericRequest $request
*
@@ -71,7 +71,6 @@ class AccountController extends Controller
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$transfers = $this->opsRepository->sumTransfers($start, $end, $assetAccounts);
return response()->json($transfers);
}
}

View File

@@ -65,9 +65,6 @@ class CategoryController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferCategory
*
* @param GenericRequest $request
*
* @return JsonResponse
@@ -102,9 +99,6 @@ class CategoryController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferNoCategory
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -36,9 +36,6 @@ class PeriodController extends Controller
{
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferTotal
*
* @param GenericRequest $request
*
* @return JsonResponse

View File

@@ -39,6 +39,7 @@ class TagController extends Controller
/**
* TagController constructor.
* TODO lots of copying and pasting here.
*/
public function __construct()
{
@@ -55,8 +56,7 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferNoTag
* Expenses for no tag filtered by account.
*
* @param GenericRequest $request
*
@@ -108,9 +108,6 @@ class TagController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/insight/insightTransferTag
*
* Transfers per tag, possibly filtered by tag and account.
*
* @param GenericRequest $request

View File

@@ -56,9 +56,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/deleteAccount
*
* Remove the specified resource from storage.
*
* @param Account $account

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Account;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Account;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
@@ -70,14 +69,10 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listAttachmentByAccount
*
* @param Account $account
*
* @return JsonResponse
* @codeCoverageIgnore
* @throws FireflyException
*/
public function attachments(Account $account): JsonResponse
{
@@ -103,13 +98,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listPiggyBankByAccount
* List all piggies.
*
* @param Account $account
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function piggyBanks(Account $account): JsonResponse
@@ -141,9 +134,6 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listTransactionByAccount
*
* Show all transaction groups related to the account.
*
* @codeCoverageIgnore
@@ -152,7 +142,6 @@ class ListController extends Controller
* @param Account $account
*
* @return JsonResponse
* @throws FireflyException
*/
public function transactions(Request $request, Account $account): JsonResponse
{

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Account;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Support\Http\Api\AccountFilter;
@@ -66,16 +65,12 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/listAccount
*
* Display a listing of the resource.
*
* @param Request $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
* @return JsonResponse
*/
public function index(Request $request): JsonResponse
{
@@ -84,18 +79,14 @@ class ShowController extends Controller
$this->parameters->set('type', $type);
// types to get, page size:
$types = $this->mapAccountTypes($this->parameters->get('type'));
$types = $this->mapAccountTypes($this->parameters->get('type'));
$pageSize = (int)app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
// get list of accounts. Count it and split it.
$this->repository->resetAccountOrder();
$collection = $this->repository->getAccountsByType($types, $this->parameters->get('sort') ?? []);
$collection = $this->repository->getAccountsByType($types);
$count = $collection->count();
// continue sort:
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// make paginator:
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
@@ -112,9 +103,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/getAccount
*
* Show single instance.
*
* @param Account $account

View File

@@ -58,9 +58,6 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/storeAccount
*
* Store a new instance.
*
* @param StoreRequest $request

View File

@@ -31,7 +31,6 @@ use FireflyIII\Transformers\AccountTransformer;
use Illuminate\Http\JsonResponse;
use League\Fractal\Resource\Item;
use Log;
use Preferences;
/**
* Class UpdateController
@@ -61,9 +60,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/accounts/updateAccount
*
* Update account.
*
* @param UpdateRequest $request
@@ -74,12 +70,11 @@ class UpdateController extends Controller
public function update(UpdateRequest $request, Account $account): JsonResponse
{
Log::debug(sprintf('Now in %s', __METHOD__));
$data = $request->getUpdateData();
$data = $request->getUpdateData();
$data['type'] = config('firefly.shortNamesByFullName.' . $account->accountType->type);
$account = $this->repository->update($account, $data);
$manager = $this->getManager();
$account = $this->repository->update($account, $data);
$manager = $this->getManager();
$account->refresh();
Preferences::mark();
/** @var AccountTransformer $transformer */
$transformer = app(AccountTransformer::class);

View File

@@ -49,7 +49,7 @@ class DestroyController extends Controller
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
$this->repository = app(AttachmentRepositoryInterface::class);
$this->repository->setUser($user);
@@ -59,9 +59,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/deleteAttachment
*
* Remove the specified resource from storage.
*
* @codeCoverageIgnore

View File

@@ -66,9 +66,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/downloadAttachment
*
* Download an attachment.
*
* @param Attachment $attachment
@@ -111,13 +108,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/listAttachment
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
@@ -147,9 +140,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/getAttachment
*
* Display the specified resource.
*
* @param Attachment $attachment

View File

@@ -66,9 +66,6 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/uploadAttachment
*
* Store a newly created resource in storage.
*
* @param StoreRequest $request

View File

@@ -52,7 +52,7 @@ class UpdateController extends Controller
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
$this->repository = app(AttachmentRepositoryInterface::class);
$this->repository->setUser($user);
@@ -62,9 +62,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/attachments/updateAttachment
*
* Update the specified resource in storage.
*
* @param UpdateRequest $request

View File

@@ -47,7 +47,7 @@ class DestroyController extends Controller
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
$this->abRepository = app(AvailableBudgetRepositoryInterface::class);
$this->abRepository->setUser($user);
@@ -57,9 +57,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/listAvailableBudget
*
* Remove the specified resource from storage.
*
* @param AvailableBudget $availableBudget

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\AvailableBudget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\AvailableBudget;
use FireflyIII\Repositories\Budget\AvailableBudgetRepositoryInterface;
use FireflyIII\Transformers\AvailableBudgetTransformer;
@@ -63,13 +62,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/getAvailableBudget
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
@@ -102,9 +97,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/getAvailableBudget
*
* Display the specified resource.
*
* @param AvailableBudget $availableBudget

View File

@@ -25,13 +25,11 @@ 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;
/**
@@ -62,16 +60,11 @@ class StoreController extends Controller
}
/**
* 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
{

View File

@@ -61,9 +61,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/available_budgets/updateAvailableBudget
*
* Update the specified resource in storage.
*
* @param Request $request

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**
@@ -54,9 +55,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/deleteBill
*
* Remove the specified resource from storage.
*
* @param Bill $bill

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
@@ -67,15 +66,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listAttachmentByBill
*
* Display a listing of the resource.
*
* @param Bill $bill
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(Bill $bill): JsonResponse
@@ -102,15 +97,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listRuleByBill
*
* List all of them.
*
* @param Bill $bill
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function rules(Bill $bill): JsonResponse
@@ -140,9 +131,6 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listTransactionByBill
*
* Show all transactions.
*
* @param Request $request
@@ -150,7 +138,6 @@ class ListController extends Controller
* @param Bill $bill
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Bill $bill): JsonResponse

View File

@@ -24,10 +24,10 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Bill;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\Transformers\BillTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Pagination\LengthAwarePaginator;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
@@ -60,13 +60,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/listBill
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
@@ -90,9 +86,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/getBill
*
* Show the specified bill.
*
* @param Bill $bill

View File

@@ -29,6 +29,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\BillTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use League\Fractal\Resource\Item;
@@ -60,9 +61,6 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/storeBill
*
* Store a bill.
*
* @param StoreRequest $request
@@ -72,8 +70,8 @@ class StoreController extends Controller
*/
public function store(StoreRequest $request): JsonResponse
{
$data = $request->getAll();
$bill = $this->repository->store($data);
$data = $request->getAll();
$bill = $this->repository->store($data);
$manager = $this->getManager();
/** @var BillTransformer $transformer */

View File

@@ -28,6 +28,7 @@ use FireflyIII\Api\V1\Requests\Models\Bill\UpdateRequest;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\Transformers\BillTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use League\Fractal\Resource\Item;
@@ -57,9 +58,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/bills/updateBill
*
* Update a bill.
*
* @param UpdateRequest $request
@@ -69,8 +67,8 @@ class UpdateController extends Controller
*/
public function update(UpdateRequest $request, Bill $bill): JsonResponse
{
$data = $request->getAll();
$bill = $this->repository->update($bill, $data);
$data = $request->getAll();
$bill = $this->repository->update($bill, $data);
$manager = $this->getManager();
/** @var BillTransformer $transformer */

View File

@@ -54,9 +54,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/deleteBudget
*
* Remove the specified resource from storage.
*
* @param Budget $budget

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Budget;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
@@ -71,13 +70,9 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listAttachmentByBudget
*
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(Budget $budget): JsonResponse
@@ -104,15 +99,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudgetLimitByBudget
*
* Display a listing of the resource.
*
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function budgetLimits(Budget $budget): JsonResponse
@@ -136,9 +127,6 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listTransactionByBudget
*
* Show all transactions.
*
* @param Request $request
@@ -146,7 +134,6 @@ class ListController extends Controller
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Budget $budget): JsonResponse

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Budget;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Budget;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
@@ -53,7 +52,7 @@ class ShowController extends Controller
parent::__construct();
$this->middleware(
function ($request, $next) {
$this->repository = app(BudgetRepositoryInterface::class);
$this->repository = app(BudgetRepositoryInterface::class);
$this->blRepository = app(BudgetLimitRepositoryInterface::class);
$this->repository->setUser(auth()->user());
$this->blRepository->setUser(auth()->user());
@@ -64,13 +63,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudget
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse

View File

@@ -57,9 +57,6 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/storeBudget
*
* Store a budget.
*
* @param StoreRequest $request

View File

@@ -57,9 +57,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/updateBudget
*
* Update a budget.
*
* @param UpdateRequest $request

View File

@@ -59,16 +59,12 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/deleteBudgetLimit
*
* Remove the specified resource from storage.
*
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function destroy(Budget $budget, BudgetLimit $budgetLimit): JsonResponse

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
@@ -67,8 +66,6 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listTransactionByBudgetLimit
* Show all transactions.
*
* @param Request $request
@@ -76,7 +73,6 @@ class ListController extends Controller
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse

View File

@@ -70,16 +70,11 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudgetLimitByBudget
*
* Display a listing of the budget limits for this budget.
* Display a listing of the budget limits for this budget..
*
* @param Request $request
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(Request $request, Budget $budget): JsonResponse
@@ -104,15 +99,11 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/listBudgetLimit
*
* Display a listing of the budget limits for this budget.
* Display a listing of the budget limits for this budget..
*
* @param DateRequest $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function indexAll(DateRequest $request): JsonResponse
@@ -137,15 +128,11 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/getBudgetLimit
*
* @param Request $request
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
*/
public function show(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\BudgetLimit\StoreRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Budget;
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
use FireflyIII\Transformers\BudgetLimitTransformer;
@@ -60,15 +61,13 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/storeBudgetLimit
*
* Store a newly created resource in storage.
*
* @param StoreRequest $request
* @param Budget $budget
*
* @return JsonResponse
* @throws FireflyException
*
*/
public function store(StoreRequest $request, Budget $budget): JsonResponse
{

View File

@@ -42,9 +42,6 @@ class UpdateController extends Controller
private BudgetLimitRepositoryInterface $blRepository;
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/budgets/updateBudgetLimit
*
* BudgetLimitController constructor.
*
* @codeCoverageIgnore
@@ -72,7 +69,6 @@ class UpdateController extends Controller
* @param BudgetLimit $budgetLimit
*
* @return JsonResponse
* @throws FireflyException
*/
public function update(UpdateRequest $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**
@@ -54,9 +55,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/deleteCategory
*
* Remove the specified resource from storage.
*
* @param Category $category

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
@@ -66,13 +65,9 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/listAttachmentByCategory
*
* @param Category $category
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(Category $category): JsonResponse
@@ -99,9 +94,6 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/listTransactionByCategory
*
* Show all transactions.
*
* @param Request $request
@@ -109,7 +101,6 @@ class ListController extends Controller
* @param Category $category
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Category $category): JsonResponse

View File

@@ -24,10 +24,10 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Category;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Transformers\CategoryTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Pagination\LengthAwarePaginator;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
@@ -60,13 +60,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/listCategory
*
* Display a listing of the resource.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
@@ -95,9 +91,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/getCategory
*
* Show the category.
*
* @param Category $category

View File

@@ -28,6 +28,7 @@ use FireflyIII\Api\V1\Requests\Models\Category\StoreRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Transformers\CategoryTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use League\Fractal\Resource\Item;
@@ -57,9 +58,6 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/storeCategory
*
* Store new category.
*
* @param StoreRequest $request

View File

@@ -28,6 +28,7 @@ use FireflyIII\Api\V1\Requests\Models\Category\UpdateRequest;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Transformers\CategoryTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use League\Fractal\Resource\Item;
@@ -57,9 +58,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/categories/updateCategory
*
* Update the category.
*
* @param UpdateRequest $request
@@ -69,9 +67,9 @@ class UpdateController extends Controller
*/
public function update(UpdateRequest $request, Category $category): JsonResponse
{
$data = $request->getAll();
$data = $request->getAll();
$category = $this->repository->update($category, $data);
$manager = $this->getManager();
$manager = $this->getManager();
/** @var CategoryTransformer $transformer */
$transformer = app(CategoryTransformer::class);

View File

@@ -47,7 +47,7 @@ class DestroyController extends Controller
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
$this->repository = app(ObjectGroupRepositoryInterface::class);
$this->repository->setUser($user);
@@ -57,9 +57,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/deleteObjectGroup
*
* Remove the specified resource from storage.
*
* @param ObjectGroup $objectGroup

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\ObjectGroup;
use FireflyIII\Repositories\ObjectGroup\ObjectGroupRepositoryInterface;
use FireflyIII\Transformers\BillTransformer;
@@ -53,7 +52,7 @@ class ListController extends Controller
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
$this->repository = app(ObjectGroupRepositoryInterface::class);
$this->repository->setUser($user);
@@ -63,15 +62,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/listBillByObjectGroup
*
* List all bills in this object group
* List all bills
*
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function bills(ObjectGroup $objectGroup): JsonResponse
@@ -99,15 +94,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/listPiggyBankByObjectGroup
*
* List all piggies under the object group.
*
* @param ObjectGroup $objectGroup
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function piggyBanks(ObjectGroup $objectGroup): JsonResponse

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\ObjectGroup;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\ObjectGroup;
use FireflyIII\Repositories\ObjectGroup\ObjectGroupRepositoryInterface;
use FireflyIII\Transformers\ObjectGroupTransformer;
@@ -64,16 +63,12 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/listObjectGroups
*
* Display a listing of the resource.
*
* @param Request $request
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
* @return JsonResponse
*/
public function index(Request $request): JsonResponse
{
@@ -102,9 +97,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/getObjectGroup
*
* Show single instance.
*
* @param ObjectGroup $objectGroup

View File

@@ -50,7 +50,7 @@ class UpdateController extends Controller
$this->middleware(
function ($request, $next) {
/** @var User $user */
$user = auth()->user();
$user = auth()->user();
$this->repository = app(ObjectGroupRepositoryInterface::class);
$this->repository->setUser($user);
@@ -60,9 +60,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/object_groups/updateObjectGroup
*
* @param UpdateRequest $request
* @param ObjectGroup $objectGroup
*

View File

@@ -54,9 +54,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/deletePiggyBank
*
* Delete the resource.
*
* @param PiggyBank $piggyBank

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\Transformers\AttachmentTransformer;
@@ -60,13 +59,9 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/listAttachmentByPiggyBank
*
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function attachments(PiggyBank $piggyBank): JsonResponse
@@ -93,15 +88,11 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/listEventByPiggyBank
*
* List single resource.
*
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function piggyBankEvents(PiggyBank $piggyBank): JsonResponse

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\PiggyBank;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\Transformers\PiggyBankTransformer;
@@ -60,13 +59,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/listPiggyBank
*
* List all of them.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
@@ -96,9 +91,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/getPiggyBank
*
* List single resource.
*
* @param PiggyBank $piggyBank

View File

@@ -57,9 +57,6 @@ class StoreController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/storePiggyBank
*
* Store new object.
*
* @param StoreRequest $request

View File

@@ -57,9 +57,6 @@ class UpdateController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/piggy_banks/updatePiggyBank
*
* Update piggy bank.
*
* @param UpdateRequest $request
@@ -69,7 +66,7 @@ class UpdateController extends Controller
*/
public function update(UpdateRequest $request, PiggyBank $piggyBank): JsonResponse
{
$data = $request->getAll();
$data = $request->getAll();
$piggyBank = $this->repository->update($piggyBank, $data);
if (array_key_exists('current_amount', $data) && '' !== $data['current_amount']) {

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Models\Recurrence;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
/**
@@ -54,9 +55,6 @@ class DestroyController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/recurrences/deleteRecurrence
*
* Delete the resource.
*
* @param Recurrence $recurrence

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Recurrence;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
@@ -64,16 +63,12 @@ class ListController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/recurrences/listTransactionByRecurrence
*
* Show transactions for this recurrence.
*
* @param Request $request
* @param Recurrence $recurrence
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function transactions(Request $request, Recurrence $recurrence): JsonResponse

View File

@@ -24,10 +24,10 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\Recurrence;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Recurrence;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use FireflyIII\Transformers\RecurrenceTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Pagination\LengthAwarePaginator;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
@@ -60,13 +60,9 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/recurrences/listRecurrence
*
* List all of them.
*
* @return JsonResponse
* @throws FireflyException
* @codeCoverageIgnore
*/
public function index(): JsonResponse
@@ -97,9 +93,6 @@ class ShowController extends Controller
}
/**
* This endpoint is documented at:
* https://api-docs.firefly-iii.org/#/recurrences/getRecurrence
*
* List single resource.
*
* @param Recurrence $recurrence

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