getUrl method

Uri getUrl(
  1. RecordModel record,
  2. String filename, {
  3. String? thumb,
  4. String? token,
  5. bool? download,
  6. Map<String, dynamic> query = const {},
})

Builds and returns an absolute record file url.

Implementation

Uri getUrl(
  RecordModel record,
  String filename, {
  String? thumb,
  String? token,
  bool? download,
  Map<String, dynamic> query = const {},
}) {
  if (filename.isEmpty || record.id.isEmpty) {
    return Uri(); // blank Uri
  }

  final params = Map<String, dynamic>.of(query);
  params["thumb"] ??= thumb;
  params["token"] ??= token;
  if (download != null && download) {
    params["download"] = "";
  }

  return client.buildUrl(
    "/api/files/${Uri.encodeComponent(record.collectionId)}/${Uri.encodeComponent(record.id)}/${Uri.encodeComponent(filename)}",
    params,
  );
}