Files
Finlytic/FinlyticApp/lib/features/search/repositories/search_repository.dart
T

29 lines
969 B
Dart

import 'package:finlytic_app/core/network/api_client.dart';
import 'package:finlytic_app/features/search/models/search_result_model.dart';
import 'package:finlytic_app/core/utils/asset_utils.dart';
class SearchRepository {
final ApiClient apiClient;
SearchRepository({required this.apiClient});
Future<List<SearchResultModel>> searchAssets(String query) async {
try {
final res = await apiClient.get('/api/v1/assets/search', queryParameters: {'q': query});
if (res.statusCode == 200 && res.data != null) {
final list = res.data as List;
final results = list.map((json) => SearchResultModel.fromJson(json)).toList();
for (final item in results) {
if (item.isinCode.isNotEmpty && item.displayName.isNotEmpty) {
AssetUtils.registerAsset(item.isinCode, item.displayName, item.image);
}
}
return results;
}
return [];
} catch (_) {
return [];
}
}
}