131 lines
4.2 KiB
Dart
131 lines
4.2 KiB
Dart
import '../ftc_mobile_app.dart';
|
|
|
|
class AuthService {
|
|
static final AuthService _instance = AuthService._constructor();
|
|
|
|
AuthService._constructor();
|
|
|
|
factory AuthService() {
|
|
return _instance;
|
|
}
|
|
|
|
final HttpRequestClient _httpClient = HttpRequestClient();
|
|
|
|
// final LocalStorageManager _sessionManagement = LocalStorageManager();
|
|
|
|
Future<dynamic> loginUser(
|
|
{required String email,
|
|
required String password,
|
|
bool isRememberMe = false}) async {
|
|
Map<String, dynamic> requestBody = {
|
|
"email": email,
|
|
"password": password,
|
|
"fcm_tokens": {
|
|
"token":
|
|
"fY6_DGfGQ06OW4BUVEsEwG:APA91bGUFza2uhaaR0miN2jtY0ut7RuA5ObleZvqv2X8KLOBgksmDmgc9sHDdea-DBvHmz1aUwX1uhkysk92x50WQCLHPDD1VwGX5ybKhUwVdq4aBfI24vhXqMB-FksWXEZwzDAi9BA_",
|
|
// "token": "${await FirebaseMessaging.instance.getToken()}",
|
|
"deviceType": "android"
|
|
}
|
|
};
|
|
|
|
ResponseModel responseModel = await _httpClient.customRequest(
|
|
"POST",
|
|
url: WebUrls.signInUrl,
|
|
requestBody: requestBody,
|
|
requestHeader: {'Content-Type': 'application/json'},
|
|
);
|
|
if (responseModel.statusCode >= 200 && responseModel.statusCode <= 230) {
|
|
return true;
|
|
} else {
|
|
return {
|
|
"message": responseModel.statusDescription,
|
|
};
|
|
}
|
|
}
|
|
|
|
//verify Otp and if success storing token and user data
|
|
Future<dynamic> verifyOtp({required String verificationCode}) async {
|
|
Map<String, dynamic> requestBody = {
|
|
"email": LocalStorageManager.getSessionToken(
|
|
tokenKey: LocalStorageKeys.kSaveEmailKey),
|
|
"verification_code": verificationCode,
|
|
};
|
|
|
|
ResponseModel responseModel = await _httpClient.customRequest(
|
|
"POST",
|
|
url: WebUrls.verifyCodeUrl,
|
|
requestBody: requestBody,
|
|
requestHeader: {'Content-Type': 'application/json'},
|
|
);
|
|
if (responseModel.statusCode >= 200 &&
|
|
responseModel.statusCode <= 230 &&
|
|
responseModel.statusDescription == "Code verified successfully") {
|
|
|
|
final data = UserModel.fromJson(responseModel.data ?? {});
|
|
|
|
LocalStorageManager.setLoginToken(responseModel.userToken);
|
|
LocalStorageManager.setUserId(data.id);
|
|
// await LocalStorageManager.saveSession(
|
|
// tokenKey: LocalStorageKeys.kUserModelKey,
|
|
// tokenValue:
|
|
// json.encode(UserModel.fromJson(responseModel.data ?? "").toJson()),
|
|
// );
|
|
// FrequentFunctions.userModel.value =
|
|
// UserModel.fromJson(responseModel.data ?? "");
|
|
return true;
|
|
} else {
|
|
return {
|
|
"message": responseModel.statusDescription,
|
|
};
|
|
}
|
|
}
|
|
|
|
Future<dynamic> passwordLessLogin(
|
|
{required String email, bool isRememberMe = false}) async {
|
|
Map<String, dynamic> requestBody = {
|
|
"email": email,
|
|
"expiryTime": "3m",
|
|
"fcm_tokens": {
|
|
"token":
|
|
"fY6_DGfGQ06OW4BUVEsEwG:APA91bGUFza2uhaaR0miN2jtY0ut7RuA5ObleZvqv2X8KLOBgksmDmgc9sHDdea-DBvHmz1aUwX1uhkysk92x50WQCLHPDD1VwGX5ybKhUwVdq4aBfI24vhXqMB-FksWXEZwzDAi9BA_",
|
|
"deviceType": "android"
|
|
}
|
|
};
|
|
ResponseModel responseModel = await _httpClient.customRequest(
|
|
"POST",
|
|
url: WebUrls.passwordLessSignInUrl,
|
|
requestBody: requestBody,
|
|
requestHeader: {'Content-Type': 'application/json'},
|
|
);
|
|
if (responseModel.statusCode >= 200 && responseModel.statusCode <= 230) {
|
|
return true;
|
|
} else {
|
|
return {
|
|
"message": responseModel.statusDescription,
|
|
};
|
|
}
|
|
}
|
|
|
|
Future<dynamic> forgetPassword({required String email}) async {
|
|
Map<String, dynamic> requestBody = {
|
|
"email": email,
|
|
// "fcm_tokens": {
|
|
// "token":
|
|
// "fY6_DGfGQ06OW4BUVEsEwG:APA91bGUFza2uhaaR0miN2jtY0ut7RuA5ObleZvqv2X8KLOBgksmDmgc9sHDdea-DBvHmz1aUwX1uhkysk92x50WQCLHPDD1VwGX5ybKhUwVdq4aBfI24vhXqMB-FksWXEZwzDAi9BA_",
|
|
// "deviceType": "android"
|
|
// }
|
|
};
|
|
ResponseModel responseModel = await _httpClient.customRequest(
|
|
"POST",
|
|
url: WebUrls.forgetPasswordUrl,
|
|
requestBody: requestBody,
|
|
requestHeader: {'Content-Type': 'application/json'},
|
|
);
|
|
if (responseModel.statusCode >= 200 && responseModel.statusCode <= 230) {
|
|
return true;
|
|
} else {
|
|
return responseModel.statusDescription;
|
|
}
|
|
}
|
|
}
|