elCaribe app - customization and branding
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import 'package:news/utils/api.dart';
|
||||
import 'package:news/utils/strings.dart';
|
||||
|
||||
class RelatedNewsRemoteDataSource {
|
||||
Future<dynamic> getRelatedNews({required String langId, String? catId, String? subCatId, String? latitude, String? longitude, required String offset, required String perPage}) async {
|
||||
try {
|
||||
final body = {LANGUAGE_ID: langId, OFFSET: offset, LIMIT: perPage, MERGE_TAG: 1}; //merge_tag used to get related news according to tagId along with cat or Subcat Id
|
||||
(subCatId != "0" && subCatId != '') ? body[SUBCAT_ID] = subCatId! : body[CATEGORY_ID] = catId!;
|
||||
if (latitude != null && latitude != "null") body[LATITUDE] = latitude;
|
||||
if (longitude != null && longitude != "null") body[LONGITUDE] = longitude;
|
||||
|
||||
final result = await Api.sendApiRequest(body: body, url: Api.getNewsApi);
|
||||
return result;
|
||||
} catch (e) {
|
||||
throw ApiMessageAndCodeException(errorMessage: e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import 'package:news/data/repositories/RelatedNews/relatedNewsDataSource.dart';
|
||||
import 'package:news/data/models/NewsModel.dart';
|
||||
import 'package:news/utils/strings.dart';
|
||||
|
||||
class RelatedNewsRepository {
|
||||
static final RelatedNewsRepository _relatedNewsRepository = RelatedNewsRepository._internal();
|
||||
|
||||
late RelatedNewsRemoteDataSource _relatedNewsRemoteDataSource;
|
||||
|
||||
factory RelatedNewsRepository() {
|
||||
_relatedNewsRepository._relatedNewsRemoteDataSource = RelatedNewsRemoteDataSource();
|
||||
return _relatedNewsRepository;
|
||||
}
|
||||
|
||||
RelatedNewsRepository._internal();
|
||||
|
||||
Future<Map<String, dynamic>> getRelatedNews({required String langId, required String offset, required String perPage, String? catId, String? subCatId, String? latitude, String? longitude}) async {
|
||||
final result = await _relatedNewsRemoteDataSource.getRelatedNews(langId: langId, catId: catId, subCatId: subCatId, latitude: latitude, longitude: longitude, offset: offset, perPage: perPage);
|
||||
|
||||
return {"RelatedNews": (result[DATA] as List).map((e) => NewsModel.fromJson(e)).toList(), "total": result[TOTAL]};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user