// public_service.dart import 'dart:developer'; import 'package:http/http.dart' as http; import '../config/api_response.dart'; import '../config/constants/app_constant.dart'; import '../models/OfferModel.dart'; class PublicService { // singleton boilerplate PublicService._(); static final PublicService _instance = PublicService._(); factory PublicService() => _instance; Future>> getAllOffer(String type) async { try { var uri = Uri.https(url, '/api/v1/public/all_offers_list', {'type': type}); final request = await http.get( uri, headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, ); log("request.statusCode getAllOffer : ${request.statusCode}"); log("request.statusCode getAllOffer : ${request.body}"); if (request.statusCode == 200 || request.statusCode == 201) { List offers = offerModelFromJson(request.body); log("offers ! ! : $offers"); return APIResponse( statusCode: request.statusCode, errorMessage: null, data: offers, ); } else { return APIResponse( statusCode: request.statusCode, errorMessage: "Please try again later", ); } } catch (e) { log("Error fetching group messages: $e"); return APIResponse( statusCode: 500, errorMessage: "An error occurred. Please try again later.", ); } } }