Update TODO.md with comprehensive module audit
This commit is contained in:
parent
24d5fca625
commit
556a27bb7d
1 changed files with 269 additions and 0 deletions
269
TODO.md
Normal file
269
TODO.md
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
# TODO: Platform Module Audit & Implementation Status
|
||||
|
||||
**Last Audit Date:** 2025-01-20
|
||||
**Auditor:** Automated Code Analysis
|
||||
|
||||
---
|
||||
|
||||
## 🔴 CRITICAL: Modules Using In-Memory Storage (Need Database)
|
||||
|
||||
### 1. Meet Module (`botserver/src/meet/`)
|
||||
**Status:** IN-MEMORY ONLY - Data lost on restart
|
||||
|
||||
**Files with HashMap storage:**
|
||||
- `service.rs` - `rooms: Arc<RwLock<HashMap<String, MeetingRoom>>>`
|
||||
- `service.rs` - `connections: Arc<RwLock<HashMap<String, mpsc::Sender<MeetingMessage>>>>`
|
||||
- `whiteboard.rs` - `whiteboards: Arc<RwLock<HashMap<Uuid, WhiteboardState>>>`
|
||||
- `whiteboard.rs` - `broadcast_channels: Arc<RwLock<HashMap<Uuid, broadcast::Sender<WhiteboardMessage>>>>`
|
||||
- `whiteboard_export.rs` - `export_history: Arc<RwLock<HashMap<Uuid, Vec<ExportResult>>>>`
|
||||
- `recording.rs` - `active_sessions: Arc<RwLock<HashMap<Uuid, RecordingSession>>>`
|
||||
- `recording.rs` - `transcription_jobs: Arc<RwLock<HashMap<Uuid, TranscriptionJob>>>`
|
||||
|
||||
**Priority:** MEDIUM (real-time data, but meeting history should persist)
|
||||
|
||||
**Tables Needed:**
|
||||
- `meetings` - Meeting room definitions
|
||||
- `meeting_participants` - Participant records
|
||||
- `meeting_recordings` - Recording metadata
|
||||
- `meeting_transcriptions` - Transcription records
|
||||
- `whiteboards` - Whiteboard state persistence
|
||||
- `whiteboard_elements` - Whiteboard elements
|
||||
|
||||
**Missing UI Routes:** Yes - No `meet/ui.rs` file
|
||||
|
||||
---
|
||||
|
||||
### 2. Insights Service (`botserver/src/analytics/insights.rs`)
|
||||
**Status:** STUB - Returns empty data
|
||||
|
||||
**Stub Methods:**
|
||||
```
|
||||
L284-294: get_weekly_insights() returns empty daily_breakdown, top_apps
|
||||
L311-313: get_trends() returns Ok(vec![])
|
||||
```
|
||||
|
||||
**Priority:** LOW (analytics feature)
|
||||
|
||||
**Tables Needed:**
|
||||
- `user_activity_tracking` - Usage data
|
||||
- `daily_insights` - Aggregated daily stats
|
||||
- `app_usage` - Application usage tracking
|
||||
|
||||
---
|
||||
|
||||
## 🟡 WARNING: Modules with Partial Stubs
|
||||
|
||||
### 3. Auto Task Module (`botserver/src/auto_task/`)
|
||||
**Status:** PARTIAL STUBS
|
||||
|
||||
**Stub Locations:**
|
||||
- `autotask_api.rs:2008` - `get_task_logs()` returns hardcoded data with TODO comment
|
||||
- `autotask_api.rs:2027` - `apply_recommendation()` is stub with TODO comment
|
||||
- `intent_compiler.rs:803` - `store_compiled_intent()` is stub
|
||||
|
||||
**Priority:** MEDIUM
|
||||
|
||||
---
|
||||
|
||||
### 4. Face API Service (`botserver/src/basic/keywords/face_api.rs`)
|
||||
**Status:** MULTIPLE PROVIDERS NOT IMPLEMENTED
|
||||
|
||||
**NotImplemented Providers:**
|
||||
- AWS Rekognition (L688-709)
|
||||
- OpenCV (L719-740)
|
||||
- InsightFace (L750-771)
|
||||
|
||||
**Priority:** LOW (optional integrations)
|
||||
|
||||
---
|
||||
|
||||
### 5. Canvas Collaboration (`botserver/src/canvas/mod.rs`)
|
||||
**Status:** STUB
|
||||
|
||||
**Stub Location:**
|
||||
- `L1163-1166: get_collaboration_info()` returns `Ok(Json(vec![]))`
|
||||
|
||||
**Priority:** LOW
|
||||
|
||||
---
|
||||
|
||||
### 6. Contacts Integration Services (`botserver/src/contacts/`)
|
||||
**Status:** EMPTY SERVICE STRUCTS
|
||||
|
||||
**Empty Services:**
|
||||
- `calendar_integration.rs:183` - `CalendarIntegrationService {}`
|
||||
- `tasks_integration.rs:330` - `TasksIntegrationService {}`
|
||||
|
||||
**Priority:** LOW (integration features)
|
||||
|
||||
---
|
||||
|
||||
## 🟢 COMPLETED: Modules with Database Persistence
|
||||
|
||||
| Module | Storage | API Routes | UI Routes | Status |
|
||||
|--------|---------|------------|-----------|--------|
|
||||
| tickets | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| people | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| attendant | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| CRM/contacts | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| billing | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| products | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| canvas | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| workspaces | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| calendar | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| goals/OKR | PostgreSQL | ✅ | ✅ | COMPLETE |
|
||||
| video | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| research | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| social | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| tasks | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| email | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| learn | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| sources | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| designer | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| dashboards | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| legal | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
| compliance | PostgreSQL | ✅ | ❌ | NEEDS UI |
|
||||
|
||||
---
|
||||
|
||||
## 🟢 COMPLETED: File Storage Modules
|
||||
|
||||
| Module | Storage | Status |
|
||||
|--------|---------|--------|
|
||||
| drive | S3/MinIO | ✅ COMPLETE |
|
||||
| docs/paper | S3/MinIO | ✅ COMPLETE |
|
||||
| sheet | S3/MinIO | ✅ COMPLETE |
|
||||
| slides | S3/MinIO | ✅ COMPLETE |
|
||||
| player | S3/MinIO (streaming) | ✅ COMPLETE |
|
||||
|
||||
---
|
||||
|
||||
## 📋 Missing UI Routes (Need `ui.rs` files)
|
||||
|
||||
The following modules have API routes but NO UI routes:
|
||||
|
||||
| Module | API Routes File | Needs UI |
|
||||
|--------|-----------------|----------|
|
||||
| video | `video/mod.rs` | ✅ |
|
||||
| research | `research/mod.rs` | ✅ |
|
||||
| social | `social/mod.rs` | ✅ |
|
||||
| email | `email/mod.rs` | ✅ |
|
||||
| learn | `learn/mod.rs` | ✅ |
|
||||
| sources | `sources/mod.rs` | ✅ |
|
||||
| designer | `designer/mod.rs` | ✅ |
|
||||
| dashboards | `dashboards/mod.rs` | ✅ |
|
||||
| legal | `legal/mod.rs` | ✅ |
|
||||
| compliance | `compliance/mod.rs` | ✅ |
|
||||
| meet | `meet/mod.rs` | ✅ |
|
||||
|
||||
**Existing UI Routes (for reference):**
|
||||
- `attendant/ui.rs` - configure_attendant_ui_routes()
|
||||
- `calendar/ui.rs` - configure_calendar_ui_routes()
|
||||
- `canvas/ui.rs` - configure_canvas_ui_routes()
|
||||
- `people/ui.rs` - configure_people_ui_routes()
|
||||
- `tickets/ui.rs` - configure_tickets_ui_routes()
|
||||
- `workspaces/ui.rs` - configure_workspaces_ui_routes()
|
||||
- `analytics/goals_ui.rs` - configure_goals_ui_routes()
|
||||
- `billing/billing_ui.rs` - configure_billing_routes()
|
||||
- `contacts/crm_ui.rs` - configure_crm_routes()
|
||||
- `products/` - configure_products_routes() (in mod.rs)
|
||||
|
||||
---
|
||||
|
||||
## 📋 Routes Registered in main.rs
|
||||
|
||||
**Confirmed Registered:**
|
||||
- ✅ `botserver::dashboards::configure_dashboards_routes()`
|
||||
- ✅ `botserver::legal::configure_legal_routes()`
|
||||
- ✅ `botserver::compliance::configure_compliance_routes()`
|
||||
- ✅ `botserver::tasks::configure_task_routes()`
|
||||
- ✅ `botserver::analytics::configure_analytics_routes()`
|
||||
- ✅ `botserver::docs::configure_docs_routes()`
|
||||
- ✅ `botserver::paper::configure_paper_routes()`
|
||||
- ✅ `botserver::sheet::configure_sheet_routes()`
|
||||
- ✅ `botserver::slides::configure_slides_routes()`
|
||||
- ✅ `botserver::video::configure_video_routes()`
|
||||
- ✅ `botserver::research::configure_research_routes()`
|
||||
- ✅ `botserver::sources::configure_sources_routes()`
|
||||
- ✅ `botserver::designer::configure_designer_routes()`
|
||||
- ✅ `botserver::social::configure_social_routes()`
|
||||
- ✅ `botserver::canvas::configure_canvas_routes()`
|
||||
- ✅ `botserver::player::configure_player_routes()`
|
||||
- ✅ `botserver::workspaces::configure_workspaces_routes()`
|
||||
- ✅ `botserver::tickets::configure_tickets_routes()`
|
||||
- ✅ `botserver::people::configure_people_routes()`
|
||||
- ✅ `botserver::attendant::configure_attendant_routes()`
|
||||
- ✅ `botserver::billing::api::configure_billing_api_routes()`
|
||||
- ✅ `botserver::products::api::configure_products_api_routes()`
|
||||
- ✅ `botserver::contacts::crm::configure_crm_api_routes()`
|
||||
- ✅ `crate::calendar::configure_calendar_routes()` (feature gated)
|
||||
- ✅ `crate::attendance::configure_attendance_routes()` (feature gated)
|
||||
|
||||
**NOT Registered (meet module uses different pattern):**
|
||||
- ⚠️ Meet module uses `crate::meet::configure()` - needs verification
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ File Size Warnings (>1000 lines)
|
||||
|
||||
Per PROMPT.md, files should not exceed 1000 lines:
|
||||
|
||||
| File | Lines | Action Needed |
|
||||
|------|-------|---------------|
|
||||
| `dashboards/mod.rs` | ~1462 | Split into types.rs, handlers.rs |
|
||||
| `compliance/mod.rs` | ~1416 | Split into types.rs, handlers.rs |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Implementation Priority
|
||||
|
||||
### HIGH Priority
|
||||
1. **Meet Module Database** - User meeting history is lost on restart
|
||||
2. **Missing UI Routes** - Users can't access features from web UI
|
||||
|
||||
### MEDIUM Priority
|
||||
3. **Auto Task Stubs** - Task logs and recommendations incomplete
|
||||
4. **Insights Service** - Analytics dashboard shows no data
|
||||
|
||||
### LOW Priority
|
||||
5. **Face API Providers** - Optional integrations
|
||||
6. **Canvas Collaboration** - Real-time feature
|
||||
7. **Contact Integration Services** - Optional integrations
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Technical Debt
|
||||
|
||||
1. **Recursion Limit** - Added `#![recursion_limit = "512"]` to lib.rs due to many tables
|
||||
2. **LegalService Stub** - Empty struct kept for backward compatibility with AppState
|
||||
3. **Empty Service Structs** - CalendarIntegrationService, TasksIntegrationService
|
||||
|
||||
---
|
||||
|
||||
## ✅ Recently Completed (2025-01-20)
|
||||
|
||||
1. **Dashboards Module** - Full PostgreSQL persistence
|
||||
- 6 tables: dashboards, dashboard_widgets, dashboard_data_sources, dashboard_filters, dashboard_widget_data_sources, conversational_queries
|
||||
- Full CRUD API with spawn_blocking pattern
|
||||
|
||||
2. **Legal Module** - Full PostgreSQL persistence
|
||||
- 7 tables: legal_documents, legal_document_versions, cookie_consents, consent_history, legal_acceptances, data_deletion_requests, data_export_requests
|
||||
- GDPR-compliant consent tracking
|
||||
|
||||
3. **Compliance Module** - Full PostgreSQL persistence
|
||||
- 8 tables: compliance_checks, compliance_issues, compliance_audit_log, compliance_evidence, compliance_risk_assessments, compliance_risks, compliance_training_records, compliance_access_reviews
|
||||
- Multi-framework support (GDPR, SOC2, ISO27001, HIPAA, PCI-DSS)
|
||||
|
||||
---
|
||||
|
||||
## 📊 Summary
|
||||
|
||||
| Category | Count |
|
||||
|----------|-------|
|
||||
| Modules with Database | 21 |
|
||||
| Modules with File Storage | 5 |
|
||||
| Modules with In-Memory Only | 1 (meet) |
|
||||
| Modules with Stubs | 4 |
|
||||
| Modules Missing UI Routes | 11 |
|
||||
| Total API Route Functions | 40+ |
|
||||
| Total UI Route Functions | 10 |
|
||||
Loading…
Add table
Reference in a new issue