22 lines
708 B
Dart
22 lines
708 B
Dart
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 [];
|
|
}
|
|
}
|