📊 StreamA2026 Coverage Report

Generated: 2026-04-17 22:08:10

🔌 API Endpoint Coverage

Total Endpoints
92
Covered
55 (59.8%)
Unused
10 (10.9%)
Intentionally Unused
70 (76.1%)
New
0

⚠️ Unused Endpoints (may be intentional)

DELETE /api/permissions/{permission_id} UNUSED
POST /api/roles/{role_id}/permissions UNUSED
DELETE /api/roles/{role_id}/permissions/{permission_id} UNUSED
DELETE /api/roles/{role_id} UNUSED
PUT /api/permissions/{permission_id} UNUSED
GET /api/roles/{role_id} UNUSED
GET /api/roles/{role_id}/permissions UNUSED
PUT /api/roles/{role_id} UNUSED
GET /api/permissions/{permission_id} UNUSED
PUT /api/roles/{role_id}/permissions/bulk UNUSED

🔧 Intentionally Unused (Internal Features)

POST /api/admin/backup/upload INTERNAL
POST /api/streams/{stream_id}/play INTERNAL
POST /api/streams/{stream_id}/re-download INTERNAL
POST /api/settings/upload-favicon INTERNAL
GET /api/streams/popular INTERNAL
POST /api/auth/register INTERNAL
GET /api/users/me/watch-history INTERNAL
GET /api/streams/{stream_id}/comments INTERNAL
POST /api/streams/{stream_id}/comments INTERNAL
GET /api/tags/streams/{stream_id} INTERNAL
GET /api/streams/{stream_id}/thumbnail/{segment_number} INTERNAL
POST /api/streams/{stream_id}/generate-thumbnails INTERNAL
DELETE /api/admin/users/{user_id} INTERNAL
GET /api/auth/twitch/login INTERNAL
PUT /api/admin/users/{user_id}/activate INTERNAL
GET /api/permissions/admin INTERNAL
POST /api/auth/twitch/unlink INTERNAL
GET /api/permissions/public INTERNAL
GET /api/admin/users/{user_id} INTERNAL
GET /api/events INTERNAL
GET /api/streams/{stream_id}/download-progress INTERNAL
PUT /api/users/me/watch-history/{stream_id} INTERNAL
GET /api/streams/{stream_id}/processing-progress INTERNAL
GET /api/streams/{stream_id}/chat INTERNAL
PUT /api/admin/users/{user_id}/deactivate INTERNAL
POST /api/settings/bulk INTERNAL
GET /api/streams/{stream_id} INTERNAL
GET /api/streams/search INTERNAL
GET /api/settings/{key} INTERNAL
PUT /api/admin/users/{user_id}/role INTERNAL
GET /api/admin/backup/restore/status INTERNAL
GET /api/auth/twitch/callback INTERNAL
PUT /api/streams/{stream_id} INTERNAL
DELETE /api/admin/backup/{filename} INTERNAL
DELETE /api/streams/{stream_id} INTERNAL
POST /api/streams/{stream_id}/import-chat-json INTERNAL
POST /api/auth/login INTERNAL
DELETE /api/users/me/watch-history/{stream_id} INTERNAL
POST /api/streams/{stream_id}/upload INTERNAL
DELETE /api/streams/{stream_id}/comments/{comment_id} INTERNAL
GET /api/streams/{stream_id}/thumbnail-progress INTERNAL
PUT /api/streams/{stream_id}/comments/{comment_id} INTERNAL
GET /api/settings INTERNAL
POST /api/settings/upload-logo INTERNAL
DELETE /api/tags/streams/{stream_id}/{tag_id} INTERNAL
GET /api/streams/random INTERNAL
GET /api/users/me/watch-history/stream/{stream_id} INTERNAL
GET /api/permissions/protected INTERNAL
POST /api/tags/streams/{stream_id}/{tag_id} INTERNAL
POST /api/admin/backup/restore/{filename} INTERNAL
GET /api/streams/{stream_id}/chat/proxy-image INTERNAL
POST /api/streams/{stream_id}/chat/upload INTERNAL
PUT /api/settings/{key} INTERNAL
POST /api/auth/logout INTERNAL
GET /api/health INTERNAL
POST /api/streams/twitch-import INTERNAL
GET /api/admin/users INTERNAL
PUT /api/streams/{stream_id}/metadata INTERNAL
GET /api/auth/me INTERNAL
GET /api/admin/backup INTERNAL
GET /api/admin/backup/{filename} INTERNAL
GET / INTERNAL
POST /api/admin/backup/create INTERNAL
GET /api/streams/latest INTERNAL
POST /api/streams/{stream_id}/process INTERNAL
POST /api/auth/refresh INTERNAL
GET /permissions/admin INTERNAL
GET /permissions/public INTERNAL
GET /permissions INTERNAL
GET /permissions/protected INTERNAL

📋 Model-Schema Coverage

Total Models
16
Total Fields
135
Coverage
96 (71.1%)

⚠️ Schema-Payload Validation

Issues Found
16

❌ Missing Required Field in Interface

Field: role_id

Expected Type: Optional[UUID]

Actual: missing from UserListResponse interface

⚠️ Extra Field in Interface

Field: role

Expected:

Actual: present in UserResponse interface

❌ Missing Required Field in Interface

Field: role_id

Expected Type: Optional[UUID]

Actual: missing from UserResponse interface

❌ Missing Required Field in Interface

Field: role_name

Expected Type: Optional[str]

Actual: missing from UserResponse interface

⚠️ Extra Field in Interface

Field: stream_title

Expected:

Actual: present in WatchHistoryResponse interface

⚠️ Extra Field in Interface

Field: stream_thumbnail_url

Expected:

Actual: present in WatchHistoryResponse interface

⚠️ Extra Field in Interface

Field: stream_duration_seconds

Expected:

Actual: present in WatchHistoryResponse interface

⚠️ Orphan TypeScript Interface

Expected: schema PermissionResponse

Actual: not found in backend

⚠️ Orphan TypeScript Interface

Expected: schema RoleResponse

Actual: not found in backend

⚠️ Orphan TypeScript Interface

Expected: schema PermissionCreate

Actual: not found in backend

⚠️ Orphan TypeScript Interface

Expected: schema RoleCreate

Actual: not found in backend

⚠️ Orphan TypeScript Interface

Expected: schema SSEEvent

Actual: not found in backend

🗄️ Database Consistency

Total Issues: 3

Missing In Model: 3

Model: Role

Schema: RoleUpdate

Field: is_default

Model Type:

Schema Type: Optional[bool]

Model: Role

Schema: RoleUpdate

Field: permission_ids

Model Type:

Schema Type: Optional[List[UUID]]

Model: User

Schema: UserResponse

Field: role_name

Model Type:

Schema Type: Optional[str]

🔐 Permissions Summary

Total Endpoints
0