import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:job_app/config/apiUrl.dart'; import 'package:job_app/models/APiResponse.dart'; import 'package:job_app/models/user/user.dart'; import 'package:job_app/services/getToken.dart'; import 'package:job_app/singletons/locators.dart'; import 'package:http/http.dart' as http; import 'package:job_app/singletons/user_info.dart'; class GetCurrentUserService{ UserModel user; Future getCurrentUser()async{ int statusCode=-1; String token =await locator.get().getTokenValue(); if(token!="" && token!="InvalidToken"){ final request = await http.get(Uri.parse(ApiUrl.url+"v1/current_user"),headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer $token', }); statusCode=request.statusCode; if(statusCode==200 || statusCode==201){ var responseString =json.decode(request.body); user=UserModel.fromJson(responseString); userInfo.user=user; userInfo.isValidToken=true; return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: user); } else{ userInfo.isValidToken=false; return ApiResponseModel(statusCode: statusCode,errorMessage: "Could not reach the profile"); } } return ApiResponseModel(statusCode: statusCode,errorMessage: "Could not reach the profile"); } }