feat: implement system-wide activity logging with database persistence, repository patterns, and admin controller access.
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# Memory Index
|
||||
|
||||
- [project_activity_log.md](project_activity_log.md) — Hệ thống activity log toàn diện đã implement: bảng activity_logs, trait LogsActivity, service ActivityLogger, API admin
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
name: Activity Log System
|
||||
description: Hệ thống ghi log toàn diện mọi hành động trên portal - đã implement 2026-05-16
|
||||
type: 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.php`
|
||||
- `app/Models/ActivityLog.php`
|
||||
- `app/Services/ActivityLogger.php` (singleton service)
|
||||
- `app/Traits/LogsActivity.php` (trait gắn vào Eloquent model)
|
||||
- `app/Repositories/ActivityLog/ActivityLogRepositoryInterface.php`
|
||||
- `app/Repositories/ActivityLog/ActivityLogRepository.php`
|
||||
- `app/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, logout
|
||||
- `OrderController`: storeOrder, payOrder, retryOrderProvisioning, updateClientServiceAutoRenew, renewService
|
||||
- `VmController`: powerOn, powerOff, changeIp, changePort, restart, changePassword
|
||||
- `SnapshotController`: store, revert, destroy
|
||||
- `VmRebuildController`: rebuild, upgradeAddons
|
||||
- `ManualDepositController`: prepare, cancel, confirm
|
||||
- `TransactionController`: handle (tạo VNPay), returnCallback (VNPay success)
|
||||
|
||||
**API Endpoints (admin):**
|
||||
- `GET /api/v1/administrator/activity-logs` — danh sách log với filter
|
||||
- `GET /api/v1/administrator/activity-logs/modules` — danh sách module names
|
||||
- `GET /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.
|
||||
Reference in New Issue
Block a user