getUserDetails method

Future<RegisteredDriver?> getUserDetails()

Retrieves detailed information about the currently logged-in user.

Returns:

  • RegisteredDriver?: User details object, or null if not available

Usage:

try {
  final userInfo = await communicator.getUserDetails();
  if (userInfo != null) {
    print('User: ${userInfo.name}');
    print('Driver ID: ${userInfo.driverId}');
  }
} catch (e) {
  print('Failed to get user details: $e');
}

Throws:

  • Future.error("Unable to get user details"): When retrieval fails

Prerequisites:

  • User must be logged in
  • Valid session must exist

Implementation

Future<RegisteredDriver?> getUserDetails() async {
  try {
    return await kruzr_comm.getUserDetails();
  } on PlatformException catch (e) {
    if (kDebugMode) {
      print(e);
      print("PlatformException in getUserDetails");
    }
    return Future.error({"code": e.code, "message": e.message, "details": e.details});
  } on Exception catch (e) {
    if (kDebugMode) {
      print(e);
      print("Exception in getUserDetails");
    }
    return Future.error(PlatformException(code: "PLUGIN_ERROR", message: e.toString()));
  }
}