diff --git a/app/Api/V1/Controllers/Models/BudgetLimit/ShowController.php b/app/Api/V1/Controllers/Models/BudgetLimit/ShowController.php index 6f26c13bab..9ce3fcb602 100644 --- a/app/Api/V1/Controllers/Models/BudgetLimit/ShowController.php +++ b/app/Api/V1/Controllers/Models/BudgetLimit/ShowController.php @@ -24,7 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers\Models\BudgetLimit; use FireflyIII\Api\V1\Controllers\Controller; -use FireflyIII\Api\V1\Requests\Data\DateRequest; +use FireflyIII\Api\V1\Requests\Data\SameDateRequest; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Budget; use FireflyIII\Models\BudgetLimit; @@ -108,12 +108,12 @@ class ShowController extends Controller * * Display a listing of the budget limits for this budget. * - * @param DateRequest $request + * @param SameDateRequest $request * * @return JsonResponse * @throws FireflyException */ - public function indexAll(DateRequest $request): JsonResponse + public function indexAll(SameDateRequest $request): JsonResponse { $manager = $this->getManager(); $manager->parseIncludes('budget'); diff --git a/app/Api/V1/Requests/Data/SameDateRequest.php b/app/Api/V1/Requests/Data/SameDateRequest.php new file mode 100644 index 0000000000..549bf58563 --- /dev/null +++ b/app/Api/V1/Requests/Data/SameDateRequest.php @@ -0,0 +1,66 @@ +. + */ + +declare(strict_types=1); + +namespace FireflyIII\Api\V1\Requests\Data; + +use FireflyIII\Support\Request\ChecksLogin; +use FireflyIII\Support\Request\ConvertsDataTypes; +use Illuminate\Foundation\Http\FormRequest; + +/** + * Request class for end points that require date parameters. + * + * Class SameDateRequest + */ +class SameDateRequest extends FormRequest +{ + use ConvertsDataTypes; + use ChecksLogin; + + /** + * Get all data from the request. + * + * @return array + */ + public function getAll(): array + { + return [ + 'start' => $this->getCarbonDate('start'), + 'end' => $this->getCarbonDate('end'), + ]; + } + + /** + * The rules that the incoming request must be matched against. + * + * @return array + */ + public function rules(): array + { + return [ + 'start' => 'required|date', + 'end' => 'required|date|after_or_equal:start', + ]; + } +}