refactor: refactor controllers, services, validation and introduce DTOs, FormRequests and domain exceptions

This commit is contained in:
antv
2026-07-09 10:27:47 +07:00
parent 54048bb4ff
commit 326e1f1028
15 changed files with 501 additions and 150 deletions
+33
View File
@@ -0,0 +1,33 @@
<?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')
);
}
}