import 'dart:convert'; import 'package:photolink_beta/Model/AuthModel/TokenResponse.dart'; import 'package:photolink_beta/Model/CustomResponse/APIResponse.dart'; import 'package:photolink_beta/Model/AuthModel/login.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:http/http.dart' as http; class loginServices{ String Get_token = "InvalidToken"; int statusCode = -1; bool Error_token = false; Future GetToken() async { final prefs = await SharedPreferences.getInstance(); if (prefs.getString('token') == null || prefs.getString('token') == '') { prefs.setString('token', 'InvalidToken'); } Get_token = prefs.getString('token'); return Get_token.toString(); } /*******************************************LOGIN***************************************************************/ Future> getToken(String email, String password) async { Error_token = false; statusCode = -1; final prefs = await SharedPreferences.getInstance(); login userlogin = login(email: email, password: password); tokeResponse token; return await http .post( Uri.http('51.222.156.166:8000', 'login/'), headers: { 'Content-type': 'application/json', 'Accept': 'application/json' }, body: jsonEncode(userlogin.toJson())) .then((data) async { statusCode = data.statusCode; if (data.statusCode == 200 ||data.statusCode == 201) { final jsonData = json.decode(data.body); token = tokeResponse.fromJson(jsonData); prefs.setString('token', token.access); print(prefs.getString('token')); return APIResponse(statusCode: statusCode, data: token); } return APIResponse( statusCode: statusCode, errorMessage: 'Please check your info'); }).catchError((_) => APIResponse( statusCode: statusCode, errorMessage: 'no internet connection')); } }