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,22 @@
import 'package:news/utils/api.dart';
import 'package:news/utils/strings.dart';
class SectionByIdRemoteDataSource {
Future<dynamic> getSectionById({required String langId, required String limit, required String offset, required String sectionId, String? latitude, String? longitude}) async {
try {
final body = {LANGUAGE_ID: langId, SECTION_ID: sectionId};
if (latitude != null && latitude != "null") body[LATITUDE] = latitude;
if (longitude != null && longitude != "null") body[LONGITUDE] = longitude;
if (sectionId.isNotEmpty) {
body[SECTION_ID] = sectionId;
}
body[LIMIT] = limit;
body[OFFSET] = offset;
final result = await Api.sendApiRequest(body: body, url: Api.getFeatureSectionApi);
return result;
} catch (e) {
throw ApiMessageAndCodeException(errorMessage: e.toString());
}
}
}

View File

@@ -0,0 +1,25 @@
import 'package:news/data/models/FeatureSectionModel.dart';
import 'package:news/data/repositories/SectionById/sectionByIdRemoteDataSource.dart';
import 'package:news/utils/strings.dart';
class SectionByIdRepository {
static final SectionByIdRepository _sectionByIdRepository = SectionByIdRepository._internal();
late SectionByIdRemoteDataSource _sectionByIdRemoteDataSource;
factory SectionByIdRepository() {
_sectionByIdRepository._sectionByIdRemoteDataSource = SectionByIdRemoteDataSource();
return _sectionByIdRepository;
}
SectionByIdRepository._internal();
Future<Map<String, dynamic>> getSectionById({required String langId, required String sectionId, required String limit, required String offset, String? latitude, String? longitude}) async {
final result = await _sectionByIdRemoteDataSource.getSectionById(langId: langId, sectionId: sectionId, latitude: latitude, longitude: longitude, limit: limit, offset: offset);
if ((result[ERROR])) {
return {ERROR: result[ERROR], MESSAGE: result[MESSAGE]};
} else {
return {ERROR: result[ERROR], DATA: (result[DATA] as List).map((e) => FeatureSectionModel.fromJson(e)).toList()};
}
}
}