oneIDReset function
Future<OneIDResetOTP?>
oneIDReset(
- BuildContext context,
- String phoneNumber,
- String accessToken,
- int tryCatch,
Implementation
Future<OneIDResetOTP?> oneIDReset(
BuildContext context,
String phoneNumber,
String accessToken,
int tryCatch,
) async {
String url = APIPath.ONE_ID_RESET + phoneNumber;
String? locale = await PreferenceInfo().getLocaleLanguage();
try {
var response = await http.get(
Uri.parse(url),
headers: {
'accept': 'text/plain',
'Authorization': 'Bearer $accessToken',
},
);
if (response.statusCode == 200) {
return oneIDResetModelFromJson(response.body);
} else if (response.statusCode == 400) {
Navigator.pop(context);
BadRequestModel data = badRequestModelFromJson(response.body);
errorDialog(
context,
locale == 'en' ? 'Warning' : 'ແຈ້ງເຕືອນ',
'OneID reset\n${data.code} ${data.detail}',
locale == 'en' ? 'Close' : 'ປິດ',
'Phetsarath',
);
return null;
} else {
Navigator.pop(context);
errorDialog(
context,
locale == 'en' ? 'Warning' : 'ແຈ້ງເຕືອນ',
'OneID Reset\n${response.statusCode} ${response.body}',
locale == 'en' ? 'Close' : 'ປິດ',
'Phetsarath',
);
return null;
}
} on SocketException {
if (tryCatch < 3) {
return await oneIDReset(
context,
phoneNumber,
accessToken,
tryCatch + 1,
);
} else {
Navigator.pop(context);
errorDialog(
context,
'ແຈ້ງເຕືອນ',
'ກະລຸນາກວດສອບອິນເຕີເນັດຂອງທ່ານ',
'ປິດ',
'Phetsarath',
);
return null;
}
} catch (e) {
if (tryCatch < 3) {
return await oneIDReset(
context,
phoneNumber,
accessToken,
tryCatch + 1,
);
} else {
Navigator.pop(context);
errorDialog(
context,
'ແຈ້ງເຕືອນ',
'ເກີດຂໍ້ຜິດພາດກະລຸນາລອງໃໝ່ອີກຄັ້ງ',
'ປິດ',
'Phetsarath',
);
return null;
}
}
}