# StreamA2026 Coverage Report

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

---

## 🔌 API Endpoint Coverage

| Metric | Value |
|--------|-------|
| 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}`
- **POST** `/api/roles/{role_id}/permissions`
- **DELETE** `/api/roles/{role_id}/permissions/{permission_id}`
- **DELETE** `/api/roles/{role_id}`
- **PUT** `/api/permissions/{permission_id}`
- **GET** `/api/roles/{role_id}`
- **GET** `/api/roles/{role_id}/permissions`
- **PUT** `/api/roles/{role_id}`
- **GET** `/api/permissions/{permission_id}`
- **PUT** `/api/roles/{role_id}/permissions/bulk`

### 🔧 Intentionally Unused (Internal Features)

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

## 📋 Model-Schema Coverage

| Metric | Value |
|--------|-------|
| Total Models | 16 |
| Total Fields | 135 |
| Coverage | 96 (71.1%) |

## ⚠️ Schema-Payload Validation

**Issues Found:** 16

❌ missing_required_field
Field: role_id
Expected: Optional[UUID]
Actual: missing from UserListResponse interface

⚠️ extra_field
Field: role
Expected: 
Actual: present in UserResponse interface

❌ missing_required_field
Field: role_id
Expected: Optional[UUID]
Actual: missing from UserResponse interface

❌ missing_required_field
Field: role_name
Expected: Optional[str]
Actual: missing from UserResponse interface

⚠️ extra_field
Field: stream_title
Expected: 
Actual: present in WatchHistoryResponse interface

⚠️ extra_field
Field: stream_thumbnail_url
Expected: 
Actual: present in WatchHistoryResponse interface

⚠️ extra_field
Field: stream_duration_seconds
Expected: 
Actual: present in WatchHistoryResponse interface

❌ missing_in_backend
Field: role
Expected: field in UserResponse schema
Actual: field missing from backend schema

❌ missing_in_backend
Field: stream_title
Expected: field in WatchHistoryResponse schema
Actual: field missing from backend schema

❌ missing_in_backend
Field: stream_thumbnail_url
Expected: field in WatchHistoryResponse schema
Actual: field missing from backend schema

❌ missing_in_backend
Field: stream_duration_seconds
Expected: field in WatchHistoryResponse schema
Actual: field missing from backend schema

❌ orphan_interface
Field: 
Expected: schema PermissionResponse
Actual: not found in backend

❌ orphan_interface
Field: 
Expected: schema RoleResponse
Actual: not found in backend

❌ orphan_interface
Field: 
Expected: schema PermissionCreate
Actual: not found in backend

❌ orphan_interface
Field: 
Expected: schema RoleCreate
Actual: not found in backend

❌ orphan_interface
Field: 
Expected: schema SSEEvent
Actual: not found in backend

## 🗄️ Database Consistency

**Total Issues:** 3

- missing_in_model
  Model: Role
  Schema: RoleUpdate
  Field: is_default

- missing_in_model
  Model: Role
  Schema: RoleUpdate
  Field: permission_ids

- missing_in_model
  Model: User
  Schema: UserResponse
  Field: role_name

## 🔐 Permissions Summary

**Total Endpoints:** 0

---

*Report generated by StreamA2026 Test System*
