taktik - laravel
This commit is contained in:
41
app/Http/Requests/Post/DestroyPostRequest.php
Normal file
41
app/Http/Requests/Post/DestroyPostRequest.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Requests\Post;
|
||||
|
||||
use App\Http\Requests\InvalidDataResponseTrait;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class DestroyPostRequest extends FormRequest
|
||||
{
|
||||
use InvalidDataResponseTrait;
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function all($keys = null): array
|
||||
{
|
||||
$request = parent::all($keys);
|
||||
|
||||
$request['id'] = $this->route('id');
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|integer|min:0',
|
||||
];
|
||||
}
|
||||
}
|
||||
73
app/Http/Requests/Post/ListPostRequest.php
Normal file
73
app/Http/Requests/Post/ListPostRequest.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Requests\Post;
|
||||
|
||||
use App\Http\Requests\InvalidDataResponseTrait;
|
||||
use App\Services\QueryRequestModifiers\Post\PostFilter;
|
||||
use App\Services\QueryRequestModifiers\Post\PostFilterDTO;
|
||||
use App\Services\QueryRequestModifiers\Post\PostOrder;
|
||||
use App\Services\QueryRequestModifiers\Post\PostOrderDTO;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class ListPostRequest extends FormRequest
|
||||
{
|
||||
use InvalidDataResponseTrait;
|
||||
|
||||
public function __construct(
|
||||
private readonly PostOrder $postOrder,
|
||||
private readonly PostFilter $postFilter,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function all($keys = null): array
|
||||
{
|
||||
$request = parent::all($keys);
|
||||
|
||||
$request['page'] = $this->route('page');
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'page' => 'required|integer|min:1',
|
||||
... $this->postFilter->validateRules(),
|
||||
... $this->postOrder->validateRules()
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function attributes(): array
|
||||
{
|
||||
return [
|
||||
'page' => 'page number',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function filters(): ?PostFilterDTO
|
||||
{
|
||||
return $this->postFilter->makeFromRequest($this);
|
||||
}
|
||||
|
||||
public function order(): ?PostOrderDTO
|
||||
{
|
||||
return $this->postOrder->makeFromRequest($this);
|
||||
}
|
||||
}
|
||||
45
app/Http/Requests/Post/ShowPostRequest.php
Normal file
45
app/Http/Requests/Post/ShowPostRequest.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Requests\Post;
|
||||
|
||||
use App\Http\Requests\InvalidDataResponseTrait;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class ShowPostRequest extends FormRequest
|
||||
{
|
||||
use InvalidDataResponseTrait;
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function all($keys = null): array
|
||||
{
|
||||
$request = parent::all($keys);
|
||||
|
||||
$request['id'] = $this->route('id');
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|integer|min:0',
|
||||
];
|
||||
}
|
||||
}
|
||||
50
app/Http/Requests/Post/StorePostRequest.php
Normal file
50
app/Http/Requests/Post/StorePostRequest.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?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());
|
||||
}
|
||||
}
|
||||
47
app/Http/Requests/Post/UpdatePostRequest.php
Normal file
47
app/Http/Requests/Post/UpdatePostRequest.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Requests\Post;
|
||||
|
||||
use App\Http\Requests\InvalidDataResponseTrait;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdatePostRequest extends FormRequest
|
||||
{
|
||||
use InvalidDataResponseTrait;
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public function all($keys = null): array
|
||||
{
|
||||
$request = parent::all($keys);
|
||||
|
||||
$request['id'] = $this->route('id');
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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 [
|
||||
...StorePostRequest::rulesDefinition(),
|
||||
'id' => 'required|integer|min:0',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user