* Pass API data to pagination methods
* Fixed phpStan finding
* Added filtering for data parameters
* Simplify the pagination class by extracting pagination options into a class
* Updated imports
* Move SQL validation before the getAll()
* Moved constants to PaginationOptions and put a sane per_page cap
* Removed `Pagination::getDefaultPerPage()`
* Add focused tests
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* fix: add VERIFYPEER and VERIFYHOST to cspell ignoreWords
Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/c79bcd25-22d6-424f-b7cb-b17b6ef16246
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Fix product recurrent pricing enabling
The new api call function was passing both the hidden element and the input checkbox for enabled.
As the hidden element is no longer required, it has been removed.
* Overwrite duplicate params and default pricing
---------
Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
* Apply suggested fix to tests-legacy/modules/Invoice/Api/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Apply suggested fix to tests-legacy/modules/Invoice/Api/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Improve API validation and payment IPN security
* Validate `order_id` param before use
* Fix for PR finding
Co-Authored-By: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Set admin transaction source; fix params/tests
* Require non-empty order_id for send_file
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Apply suggested fix to tests-legacy/modules/Profile/Api/AdminTest.php from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
* Decouple hide_permissions and can_always_access
* Introduce 13 new permission keys for Client and Hook
* Create a new `has_permission` function in Twig and start using it
* Created 5 new permission keys for Currency
* Remove unused logMock
* Implemented per-request caching for staff permissions
* Decouple hide_permissions and can_always_access
* Introduce 13 new permission keys for Client and Hook
* Create a new `has_permission` function in Twig and start using it
* Created 5 new permission keys for Currency
* Remove unused logMock
* Implemented per-request caching for staff permissions
* Created 3 new permission keys for System
* Return a more helpful exception message
* Make permission errors return HTTP 403 instead of 401
* Created 2 new permission keys for Redirect
* Renamed the keys to keep in line
* Fixed tests
* Add manage_settings permission key to Redirect
* Refactor API authentication flow and improve token handling
* Enforce `client.view` and refactor staff cache
---------
Co-authored-by: Adam Daley <admdly@users.noreply.github.com>