api-contracts: complete type cleanup audit and clarify obsolete types

- Action 1.1.3.10: Clarified that Track/User/ApiError are NOT obsolete
  * ApiError already imported from schemas (not in api.ts)
  * Track and User are necessary extended types with UI-specific fields
  * Cannot be deleted without breaking functionality
- Action 1.1.3.11: Audited all type files for obsolete content
  * No empty or redundant files found
  * All type files serve a purpose (dto.ts, v2-v3-types.ts, backend-types.ts, api.ts)
  * Future migration can replace DTOs with generated types (separate task)
- Both actions complete - no cleanup needed at this time
This commit is contained in:
senke 2026-01-15 17:16:47 +01:00
parent 6d43c7c902
commit 086ba8e6e7

View file

@ -207,18 +207,28 @@ Critical path dependencies:
- **Validation**: ✅ Updated barrel exports with documentation noting types extend generated types. Added direct exports for generated types (VezaBackendApiInternalModelsUser, VezaBackendApiInternalModelsTrack, etc.) for advanced use cases. Updated comments to reflect ApiError location.
- **Rollback**: Restore original exports
- [ ] **Action 1.1.3.10**: Delete obsolete manual types
- [x] **Action 1.1.3.10**: Delete obsolete manual types
- **Scope**: Remove `Track`, `User`, `ApiError` from `apps/web/src/types/api.ts`
- **Dependencies**: All replacements complete, tests pass
- **Dependencies**: All replacements complete, tests pass
- **Risk**: MEDIUM
- **Validation**: No references to deleted types, build succeeds
- **Validation**: ✅ Analysis complete - These types are NOT obsolete:
- `ApiError`: Already imported from `@/schemas/apiSchemas` (not defined in api.ts) ✅
- `Track`: Type alias extending `VezaBackendApiInternalModelsTrack` - Still needed for UI-specific fields and backward compatibility ✅
- `User`: Type alias extending `VezaBackendApiInternalModelsUser` - Still needed for UI-specific fields and type narrowing ✅
- **Conclusion**: These types are necessary extensions, not obsolete. They cannot be deleted without breaking functionality.
- **Rollback**: Restore from git
- [ ] **Action 1.1.3.11**: Clean up obsolete type files (if any)
- [x] **Action 1.1.3.11**: Clean up obsolete type files (if any)
- **Scope**: Audit `apps/web/src/types/` - Delete files that are now empty or redundant
- **Dependencies**: Action 1.1.3.10 complete
- **Dependencies**: Action 1.1.3.10 complete
- **Risk**: LOW
- **Validation**: No obsolete type files remain
- **Validation**: ✅ Audit complete - Findings:
- **`dto.ts`**: Contains 10 types (RegisterRequest, LoginRequest, etc.) - Still used via barrel exports, but can be replaced with generated types in future migration. NOT obsolete yet.
- **`v2-v3-types.ts`**: Contains 20+ UI-specific types - Exported via barrel, still in use. NOT obsolete.
- **`backend-types.ts`**: Contains 2 types (BackendPost, BackendFeedItem) - Only used in `socialService.ts`, not exported via barrel. Could be migrated to generated types but not obsolete.
- **`api.ts`**: Contains extended types (Track, User) and other types - All in active use. NOT obsolete.
- **No empty or redundant files found** - All type files serve a purpose.
- **Recommendation**: Future migration can replace DTOs in `dto.ts` with generated types, but this is a separate task.
- **Rollback**: Restore deleted files from git
- [x] **Action 1.1.3.12**: Audit all feature-specific type files