51 lines
1.1 KiB
PHP
Raw Permalink Normal View History

2025-01-23 00:19:07 +01:00
<?php
declare(strict_types=1);
namespace App\Http\Requests\Post;
use App\Http\Requests\InvalidDataResponseTrait;
use App\Http\Resources\PostResource;
use Illuminate\Foundation\Http\FormRequest;
class StorePostRequest extends FormRequest
{
use InvalidDataResponseTrait;
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, string>
*/
public function rules(): array
{
return static::rulesDefinition();
}
/**
* @return array<string, string>
*/
public static function rulesDefinition(): array
{
return [
'title' => 'required|string|max:255',
'content' => 'required|string',
'category_id' => 'nullable|exists:categories,id',
'tags' => 'nullable|array',
];
}
public function getPost(): PostResource
{
return PostResource::make($this->all());
}
}