2.3 KiB
name, description, type
| name | description | type |
|---|---|---|
| Activity Log System | Hệ thống ghi log toàn diện mọi hành động trên portal - đã implement 2026-05-16 | project |
Đã implement comprehensive activity log system ghi tất cả hành động create/update/delete/restore/login/logout cho cả admin và customer.
Files đã tạo:
database/migrations/2026_05_16_000001_create_activity_logs_table.phpapp/Models/ActivityLog.phpapp/Services/ActivityLogger.php(singleton service)app/Traits/LogsActivity.php(trait gắn vào Eloquent model)app/Repositories/ActivityLog/ActivityLogRepositoryInterface.phpapp/Repositories/ActivityLog/ActivityLogRepository.phpapp/Http/Controllers/Api/Admin/ActivityLog/ActivityLogController.php
Models đã gắn trait LogsActivity: Customer, Order, Invoice, Transaction, Service, Payment, VirtualMachines, ModuleVmware, ModuleHosting, ModuleDomain, IpPool, ModuleSnapshot, DnsDomain, DnsRecord, DnsServer, ModuleIpAddress, Product, Bank, User, Ticket, Addon, Discount
Auth logging: Admin AuthController + Client ClientController đã log login/logout/login_failed/register
Customer endpoint logging (explicit calls, ngoài trait):
ClientController: register, login, logoutOrderController: storeOrder, payOrder, retryOrderProvisioning, updateClientServiceAutoRenew, renewServiceVmController: powerOn, powerOff, changeIp, changePort, restart, changePasswordSnapshotController: store, revert, destroyVmRebuildController: rebuild, upgradeAddonsManualDepositController: prepare, cancel, confirmTransactionController: handle (tạo VNPay), returnCallback (VNPay success)
API Endpoints (admin):
GET /api/v1/administrator/activity-logs— danh sách log với filterGET /api/v1/administrator/activity-logs/modules— danh sách module namesGET /api/v1/administrator/activity-logs/{id}— chi tiết 1 log
Filter params: log_name, event, causer_type (admin/customer/system), causer_id, causer_name, subject_type, subject_id, ip_address, date_from, date_to, search, per_page
Why: User yêu cầu log tất cả hành động từ admin và customer để audit.
How to apply: Khi thêm model mới, thêm use LogsActivity; vào model. Service ActivityLogger được resolve qua IoC container.