plentraLogin method
Implementation
void plentraLogin(
String emailId, String password, PlentraLogin plentraLogin) async {
plentraLogin.onLoading();
if (emailId.isEmpty) {
plentraLogin.onEmailIdNotProvided();
plentraLogin.onLoadfinished();
return;
}
if (password.isEmpty) {
plentraLogin.onPasswordNotProvided();
plentraLogin.onLoadfinished();
return;
}
final loginUrl =
"https://api.plentrasphere.com/v2/client/accounts/index.php";
final loginBody = {
"email": emailId,
"password": password,
"action": "getLoginToken",
};
try {
final loginResponse = await http.post(
Uri.parse(loginUrl),
headers: {"Content-Type": "application/x-www-form-urlencoded"},
body: loginBody,
);
final loginData = json.decode(loginResponse.body);
int loginCode = loginData['response']['code'];
String loginStatus = loginData['response']['status'];
if (loginCode == 400) {
if (loginStatus == "invalid-email") {
plentraLogin.onInvalidEmailId();
plentraLogin.onLoadfinished();
return;
}
if (loginStatus == "invalid-credentials") {
plentraLogin.onInvalidCredentials();
plentraLogin.onLoadfinished();
return;
}
plentraLogin.onError(loginStatus);
plentraLogin.onLoadfinished();
return;
}
final loginToken = loginData['token'];
final adminUrl =
"https://api.plentrasphere.com/v2/client/admin/index.php";
final adminBody = {
"action": "loggin",
"token": loginToken,
"type": "auth",
};
final adminResponse = await http.post(
Uri.parse(adminUrl),
headers: {"Content-Type": "application/x-www-form-urlencoded"},
body: adminBody,
);
final adminData = json.decode(adminResponse.body);
int adminCode = adminData['response']['code'];
String adminStatus = adminData['response']['status'];
if (adminCode == 400) {
plentraLogin.onError(adminStatus);
plentraLogin.onLoadfinished();
return;
}
final adminToken = adminData['token'];
plentraLogin.onSuccess(adminToken);
plentraLogin.onLoadfinished();
} catch (e) {
print(e);
plentraLogin.onError(e.toString());
plentraLogin.onLoadfinished();
}
}