updatePassword method
Reset password
Implementation
Future<CkAuthResult<void>> updatePassword({
required Map<String, dynamic> body,
Map<String, String>? headers,
}) {
return loadingController.wrap(CkAuthLoadingType.updatePassword, () async {
if (config.mockAuth) {
config.handlers?.showLogin();
return const CkAuthResult<void>.success(
statusCode: 200,
rawResponse: {'message': 'Mock password update successful'},
);
}
final finalHeaders = <String, String>{};
if (headers != null) {
finalHeaders.addAll(headers);
}
final resetToken = otpManager.resetPasswordToken;
if (resetToken != null) {
finalHeaders[config.otpConfig.verificationTokenHeaderKey] = resetToken;
}
final response = await CkTransport.request(
input: RequestInput(
endpoint: config.endpoints.resetPassword,
method: config.endpoints.resetPasswordMethod,
jsonBody: body,
headers: finalHeaders,
requiresToken: false,
),
responseBuilder: (data) => data,
showMessage: true,
);
if (response.isSuccess) {
if (config.handlers != null) {
config.handlers!.showLogin();
}
return CkAuthResult<void>.success(
statusCode: response.statusCode,
rawResponse: response.data,
);
}
return CkAuthResult<void>.failure(
message: response.message,
statusCode: response.statusCode,
rawResponse: response.data,
);
});
}