Skip to content

feat: add Activity Logging System#164

Open
Husten150 wants to merge 2 commits into
Lumina-eX:mainfrom
Husten150:feat/activity-logging-system
Open

feat: add Activity Logging System#164
Husten150 wants to merge 2 commits into
Lumina-eX:mainfrom
Husten150:feat/activity-logging-system

Conversation

@Husten150

Copy link
Copy Markdown

Description

Implements a comprehensive Activity Logging System to track important actions across the platform for transparency, auditability, and debugging.

Closes #152

Changes

Database

  • New migration 008_activity_logs.sql: Creates activity_logs table with activity_action_type ENUM and indexes for fast lookups by actor, contract, action type, and time.

Backend Service

  • lib/activity/: New service layer with ActivityService.log() and ActivityService.list() with pagination, filtering, and access control

API

  • GET /api/activity: RBAC-protected endpoint (activity:view) with query params for filtering and pagination

Integrated Logging

  • Contract creation, milestone CRUD, escrow funding/release/refund, dispute creation - all now log activity

UI

  • Dashboard Activity Page at /dashboard/activity with timeline view, type filtering, pagination
  • Activity nav item added to sidebar

Permissions

  • Added activity:view permission to all roles

Husten150 and others added 2 commits July 24, 2026 03:18
Implement file upload API for milestone deliverables:

- Add 007_milestone_deliverables migration with metadata table
- Add file validation schemas (allowed MIME types, size limits)
- Add AES-256-CBC file encryption utility for secure storage
- Add POST /api/milestones/[id]/deliverables for uploading files
- Add GET /api/milestones/[id]/deliverables for listing deliverables
- Add GET /api/milestones/[id]/deliverables/[id] for file download
- Add DELETE /api/milestones/[id]/deliverables/[id] for file removal
- Update env.example with FILE_ENCRYPTION_KEY and FILE_UPLOAD_DIR
- Add comprehensive test suite

Closes Lumina-eX#151
- Add migration 008_activity_logs.sql with activity_logs table and indexes
- Create lib/activity/ service with ActivityService (log + list with filtering/pagination)
- Add activity:view permission to all roles in auth constants
- Integrate logging into contract creation, milestone CRUD, escrow funding/release/refund, and dispute creation
- Create GET /api/activity route (RBAC-protected, filterable by actionType, contractId, projectId, actorId)
- Add Activity Log page in dashboard with type filtering, pagination, and timeline UI
- Add Activity nav item to dashboard sidebar

Closes Lumina-eX#152
@drips-wave

drips-wave Bot commented Jul 24, 2026

Copy link
Copy Markdown

@Husten150 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Activity Logging System

1 participant