elCaribe app - customization and branding

This commit is contained in:
2025-12-12 19:09:42 -04:00
parent 9e5d0d8ebf
commit ba7deac9f3
402 changed files with 31833 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import 'package:news/utils/api.dart';
import 'package:news/utils/constant.dart';
import 'package:news/utils/strings.dart';
class SectionRemoteDataSource {
Future<dynamic> getSections({required String langId, String? latitude, String? longitude, String? limit, String? offset, String? sectionOffset}) async {
try {
final body = {LANGUAGE_ID: langId, LIMIT: limit, OFFSET: offset, SECTION_LIMIT: limitOfSectionsData, SECTION_OFFSET: sectionOffset};
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.getFeatureSectionApi);
return result;
} catch (e) {
throw ApiMessageAndCodeException(errorMessage: e.toString());
}
}
}

View File

@@ -0,0 +1,24 @@
import 'package:news/data/models/FeatureSectionModel.dart';
import 'package:news/data/repositories/FeatureSection/sectionRemoteDataSource.dart';
import 'package:news/utils/strings.dart';
class SectionRepository {
static final SectionRepository _sectionRepository = SectionRepository._internal();
late SectionRemoteDataSource _sectionRemoteDataSource;
factory SectionRepository() {
_sectionRepository._sectionRemoteDataSource = SectionRemoteDataSource();
return _sectionRepository;
}
SectionRepository._internal();
Future<Map<String, dynamic>> getSection({required String langId, String? latitude, String? longitude, String? limit, String? offset, String? sectionOffset}) async {
final result = await _sectionRemoteDataSource.getSections(langId: langId, latitude: latitude, longitude: longitude, limit: limit, offset: offset, sectionOffset: sectionOffset);
return (result[ERROR])
? {ERROR: result[ERROR], MESSAGE: result[MESSAGE]}
: {ERROR: result[ERROR], "Section": (result[DATA] as List).map((e) => FeatureSectionModel.fromJson(e)).toList(), TOTAL: result[TOTAL]};
}
}