feat(app): clean architecture with typed repositories, DTO models and calendar event logos

This commit is contained in:
2026-08-15 01:03:22 +02:00
parent f08fecde23
commit 15f8f7896e
34 changed files with 1435 additions and 1420 deletions
@@ -0,0 +1,21 @@
import '../../../core/network/api_client.dart';
import '../models/discovery_asset_model.dart';
/// Clean Architecture Repository for fetching asset discovery data.
class DiscoveryRepository {
final ApiClient apiClient;
const DiscoveryRepository({required this.apiClient});
/// Fetches top discovery assets.
Future<List<DiscoveryAssetModel>> getDiscoveryAssets({int limit = 15}) async {
final res = await apiClient.get('/api/v1/assets/discovery?limit=$limit');
if (res.statusCode == 200 && res.data is List) {
return (res.data as List)
.whereType<Map<String, dynamic>>()
.map((e) => DiscoveryAssetModel.fromJson(e))
.toList();
}
return [];
}
}