generateShareableURL method

Future<ShareableTripUrlResponseModel?> generateShareableURL(
  1. String appTripId
)

Generates a shareable URL for a specific trip.

Creates a public URL that can be shared with others to view trip details without requiring the Kruzr app or authentication.

Parameters:

  • appTripId: Unique identifier for the trip to share

Returns:

  • ShareableTripUrlResponseModel?: URL response containing shareable link, or null if failed

Usage:

try {
  final shareableUrl = await communicator.generateShareableURL('trip-123');
  if (shareableUrl != null) {
    print('Share this trip: ${shareableUrl.url}');
    // Copy to clipboard or share via social media
  }
} catch (e) {
  print('Failed to generate shareable URL: $e');
}

Throws:

  • Future.error("Unable to generate trip link"): When URL generation fails

Use Cases:

  • Social media sharing
  • Family and friends trip sharing
  • Public trip showcasing

Implementation

Future<ShareableTripUrlResponseModel?> generateShareableURL(
  String appTripId,
) async {
  try {
    ShareableTripUrlResponseModel? shareableTripUrlResponseModel =
        await kruzr_comm.generateShareableURL(appTripId);
    return shareableTripUrlResponseModel;
  } on Exception catch (e, stackTrace) {
    if (kDebugMode) {
      print("Error in generateShareableURL");
      print(stackTrace);
      print(e);
    }
    return Future.error("Unable to generate trip link");
  }
}