import 'dart:convert'; import 'dart:io'; import 'package:job_app/config/apiUrl.dart'; import 'package:job_app/models/APiResponse.dart'; import 'package:job_app/models/user/auth/login.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:http/http.dart' as http; class LoginService{ LoginModel loginModel; Future loginUser(String username, String password)async{ SharedPreferences prefs=await SharedPreferences.getInstance(); int statusCode = -1; var response =await http.post(Uri.parse(ApiUrl.url+"v1/signin"), body: jsonEncode({ "username":username, "password":password, }), headers: { "Accept": "application/json", "content-type": "application/json" }); statusCode=response.statusCode; if(statusCode==200 || statusCode==201){ final String responseString=response.body; final responseJson=jsonDecode(responseString); loginModel=LoginModel.fromJson(responseJson); prefs.setString("token", loginModel.token); prefs.setString("ROLES", loginModel.roles); return ApiResponseModel(data:responseJson,statusCode: statusCode,errorMessage: null); } return ApiResponseModel(statusCode: response.statusCode,errorMessage: response.body.toString()); } }