Files
thankcard-system/app/DTOs/UserFilterDto.php
T

34 lines
987 B
PHP

<?php
namespace App\DTOs;
use Carbon\Carbon;
use Illuminate\Http\Request;
class UserFilterDto
{
public function __construct(
public readonly string $selectedMonth,
public readonly ?string $search = null,
public readonly ?string $status = '1',
public readonly ?string $role = null,
public readonly ?string $department = null,
public readonly ?string $flagSend = null
) {}
/**
* Create a DTO instance from an HTTP Request.
*/
public static function fromRequest(Request $request): self
{
return new self(
selectedMonth: (string) $request->input('month', Carbon::now()->format('Y-m')),
search: $request->input('search'),
status: $request->has('status') ? (string) $request->input('status') : '1',
role: $request->input('role'),
department: $request->input('department'),
flagSend: $request->input('flag_send')
);
}
}