feat(backend): Add AuditLog repository interface and implementation

Implement repository pattern for AuditLog entity for Sprint 2 Story 1 Task 2.

Changes:
- Created IAuditLogRepository interface with 6 query methods
- Implemented AuditLogRepository with efficient querying
- Registered repository in DI container
- All queries use AsNoTracking for read-only operations

Query Methods:
- GetByIdAsync: Get single audit log by ID
- GetByEntityAsync: Get audit history for specific entity
- GetByUserAsync: Get user activity with pagination
- GetRecentAsync: Get recent audit logs
- AddAsync: Add new audit log
- GetCountAsync: Get total audit log count

Performance:
- All queries automatically filtered by TenantId (Global Query Filter)
- Efficient use of composite indexes
- AsNoTracking for read-only operations

Testing:
- All tests passing (192 domain + 113 identity + 8 arch + 32 app + 12 infra = 357 tests)
- No compilation errors
- Zero test failures

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Yaojia Wang
2025-11-04 23:14:41 +01:00
parent 599c1aedc6
commit 2466cd4020
4 changed files with 102 additions and 1 deletions

View File

@@ -1,9 +1,10 @@
---
task_id: sprint_2_story_1_task_2
story: sprint_2_story_1
status: not_started
status: in_progress
estimated_hours: 4
created_date: 2025-11-05
start_date: 2025-11-05
assignee: Backend Team
---