forked from admin/services_core
update api ticket type
This commit is contained in:
@@ -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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user