1
0

update api ticket type

This commit is contained in:
Wian Drs
2026-06-25 17:11:48 +07:00
parent ad472a9880
commit af1c98b38b
29 changed files with 1097 additions and 34 deletions
+70
View File
@@ -0,0 +1,70 @@
<?php
namespace App\Services\Audit;
use App\Models\AuditLog;
class AuditLogService
{
public function list(array $filters = [])
{
$query = AuditLog::query();
if (!empty($filters['module'])) {
$query->where('module', $filters['module']);
}
if (!empty($filters['action'])) {
$query->where('action', $filters['action']);
}
if (!empty($filters['user_id'])) {
$query->where('user_id', $filters['user_id']);
}
if (!empty($filters['tenant_id'])) {
$query->where('tenant_id', $filters['tenant_id']);
}
return $query
->latest('id')
->paginate(
$filters['per_page'] ?? 20
);
}
public function detail($id)
{
return AuditLog::findOrFail($id);
}
public static function log(
string $module,
string $action,
?string $tableName = null,
?int $recordId = null,
?array $oldValues = null,
?array $newValues = null,
?string $description = null
): void {
AuditLog::create([
'user_id' => auth()->id(),
'tenant_id' => request()->header('X-Tenant-Id'),
'module' => $module,
'action' => $action,
'table_name' => $tableName,
'record_id' => $recordId,
'old_values' => $oldValues,
'new_values' => $newValues,
'ip_address' => request()->ip(),
'user_agent' => request()->userAgent(),
'description' => $description,
]);
}
}
+38 -7
View File
@@ -6,19 +6,50 @@ use App\Models\TicketType;
class TicketTypeService
{
public function list(array $filters = [])
{
return TicketType::query()
->when(
!empty($filters['search']),
fn($q) => $q->where(function ($x) use ($filters) {
$x->where(
'code',
'ILIKE',
"%{$filters['search']}%"
)
->orWhere(
'name',
'ILIKE',
"%{$filters['search']}%"
);
})
)
->latest('id')
->paginate(
$filters['per_page'] ?? 10
);
}
public function create(array $data): TicketType
{
return TicketType::create($data);
}
public function update(TicketType $type, array $data): TicketType
{
$type->update($data);
return $type->fresh();
public function update(
TicketType $ticketType,
array $data
): TicketType {
$ticketType->update($data);
return $ticketType->fresh();
}
public function delete(TicketType $type): bool
{
return $type->delete();
public function delete(
TicketType $ticketType
): bool {
return $ticketType->delete();
}
}