import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:job_app/config/apiUrl.dart'; import 'package:job_app/models/APiResponse.dart'; import 'package:job_app/models/Country/country_details.dart'; import 'package:job_app/models/Country/country_paginator.dart'; import 'package:job_app/singletons/country.dart'; class CountriesService { CountryPaginatorModel countries; CountryDetailsModel countryDetails; Future getCountries({int size, int page}) async { int statusCode = -1; final queryParams = {'page': page.toString(), 'size': size.toString()}; var uri = Uri.https('server.thejob.net', 'api/v0/all_country', queryParams); final request = await http.get(uri); statusCode = request.statusCode; if (statusCode == 200 || statusCode == 201) { final responseJson = jsonDecode(request.body); countries = CountryPaginatorModel.fromJson(responseJson); countrySingleTons.getCountries(countries.countries); return ApiResponseModel( statusCode: statusCode, errorMessage: null, data: countries); } return ApiResponseModel( statusCode: statusCode, errorMessage: "Try again later", data: []); } Future getCountryById(int id)async{ int statusCode = -1; final request= await http.get(Uri.parse(ApiUrl.url+"v0/country_by_id/$id")); statusCode = request.statusCode; if(statusCode==200|| statusCode==201){ final responseJson = jsonDecode(request.body); countryDetails = CountryDetailsModel.fromJson(responseJson); countrySingleTons.getCountryDetails(countryDetails); return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: countryDetails); } return ApiResponseModel( statusCode: statusCode, errorMessage: "Try again later", data: []); } }