Fix endpoints, validate dates.

This commit is contained in:
James Cole
2025-01-25 09:17:21 +01:00
parent 949d818bad
commit 6d89485792
8 changed files with 28 additions and 5 deletions

View File

@@ -73,6 +73,6 @@ class BudgetController extends Controller
}
);
return response()->api($filtered);
return response()->api($filtered->toArray());
}
}

View File

@@ -73,6 +73,6 @@ class CategoryController extends Controller
}
);
return response()->api($filtered);
return response()->api($filtered->toArray());
}
}

View File

@@ -157,7 +157,15 @@ abstract class Controller extends BaseController
$value = null;
}
if (null !== $value) {
$bag->set($integer, (int) $value);
$value = (int) $value;
if ($value < 1) {
$value = 1;
}
if ($value > 2 ** 16) {
$value = 2 ** 16;
}
$bag->set($integer, $value);
}
if (null === $value
&& 'limit' === $integer // @phpstan-ignore-line

View File

@@ -58,6 +58,7 @@ class AutocompleteRequest extends FormRequest
public function rules(): array
{
return [
'date' => 'date|after:1900-01-01|before:2099-12-31'
];
}
}

View File

@@ -25,6 +25,7 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Requests\Data;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Exceptions\ValidationException;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
@@ -49,7 +50,7 @@ class DateRequest extends FormRequest
$start->startOfDay();
$end->endOfDay();
if ($start->diffInYears($end, true) > 5) {
throw new FireflyException('Date range out of range.');
throw new ValidationException('Date range out of range.');
}
return [

View File

@@ -57,6 +57,10 @@ class CronRequest extends FormRequest
if ($this->has('date')) {
$data['date'] = $this->getCarbonDate('date');
}
// catch NULL.
if(null === $data['date']) {
$data['date'] = today(config('app.timezone'));
}
return $data;
}