You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
driver-app/lib/core/service/authentication_service.dart

102 lines
2.8 KiB
Dart

import 'package:driverapp/config/config.dart';
import 'package:driverapp/core/model/authentication/authenticated_user.dart';
import 'package:driverapp/core/model/authentication/login_request.dart';
import 'package:driverapp/core/service/base_service.dart';
class AuthenticationService extends BaseService {
String selectedClinicName;
bool isLogin = false;
bool isLoading = true;
AuthenticatedUser authenticatedUser;
String token;
String loginTokenId;
String tokenID;
int userID;
AuthenticationService() {
// getUserAuthentication();
}
login(LoginRequest loginRequest) async {
hasError = false;
try {
await baseAppClient.post(LOGIN,
onSuccess: (dynamic response, int statusCode) {
authenticatedUser =
AuthenticatedUser.fromJson(response['PatientER_DriverFile']);
token = response['LogInTokenID'];
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: loginRequest.toJson());
} catch (error) {
hasError = true;
super.error = error;
throw error;
}
}
getOpt(int driverId) async {
hasError = false;
userID = driverId;
try {
await baseAppClient.post(GET_OPT,
onSuccess: (dynamic response, int statusCode) {
loginTokenId = response['LogInTokenID'];
print(response['ActivationCode']);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: {"DriverID": driverId});
} catch (error) {
hasError = true;
super.error = error;
throw error;
}
}
changePassword(String password, String confirmPassword) async {
hasError = false;
try {
await baseAppClient.post(CHANGE_FORGOT_PASSWORD,
onSuccess: (dynamic response, int statusCode) {
loginTokenId = response['LogInTokenID'];
print(response['ActivationCode']);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: {
"TokenID": tokenID,
"NewPassword": password,
"ConfirmPassword": confirmPassword,
"UserID": userID
});
} catch (error) {
hasError = true;
super.error = error;
throw error;
}
}
checkActivationCode(int activationCode) async {
hasError = false;
try {
await baseAppClient.post(CHECK_ACTIVATION_CODE,
onSuccess: (dynamic response, int statusCode) {
tokenID = response['TokenID'];
print(response['ActivationCode']);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: {
"LogInTokenID": loginTokenId,
"activationCode": activationCode
});
} catch (error) {
hasError = true;
super.error = error;
throw error;
}
}
}