import 'dart:convert'; import 'package:job_app/config/apiUrl.dart'; import 'package:job_app/models/APiResponse.dart'; import 'package:job_app/models/wishlist.dart'; import 'package:job_app/singletons/locators.dart'; import 'package:http/http.dart' as http; import 'package:job_app/singletons/wishlist.dart'; import 'getToken.dart'; class WishlistService{ String token; WishListModel _wishlist; Future getAllUserWishlist()async{ int statusCode =-1; token= await locator.get().getTokenValue(); if(token!="" && token!="InvalidToken"){ final request =await http.get(Uri.parse(ApiUrl.url+"v5/all_my_wishlist"),headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer $token', }); statusCode=request.statusCode; if(statusCode==200||statusCode==201){ final responseJson = jsonDecode(request.body); _wishlist=WishListModel.fromJson(responseJson); wishlistSingleTons.updateWishList(_wishlist); return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: _wishlist); } } return ApiResponseModel(statusCode: statusCode,errorMessage: "Try again later",data: null); } Future addRemoveFromWishlist(int offerId)async{ int statusCode = -1; bool added; token= await locator.get().getTokenValue(); if(token!="" && token!="InvalidToken") { final request = await http.patch(Uri.parse(ApiUrl.url+"v5/add_remove_to_my_wishlist/$offerId"),headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer $token', }); statusCode=request.statusCode; if(statusCode==200||statusCode==201){ final responseJson = jsonDecode(request.body); _wishlist=WishListModel.fromJson(responseJson); if(_wishlist.offer.isEmpty){ added =false; } else if(_wishlist.offer.isNotEmpty){ added=true; } return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: added); } } return ApiResponseModel(statusCode: statusCode,errorMessage: "Try again later",data: null); } }