import '../webdav/queries/list_files/cacheable_file.dart';

/// Converts a [CacheableFile.path] (relative to the WebDAV files root, folders
/// ending in `/`) into the path the OCS `files_sharing` API expects: rooted
/// with a single leading slash and without a trailing slash on folders.
///
/// Examples:
///   ''                  -> '/'           (files root)
///   'Documents/x.pdf'   -> '/Documents/x.pdf'
///   'Documents/'        -> '/Documents'
///   '/Shared/a/'        -> '/Shared/a'
String ocsPathFor(String webdavPath) {
  final trimmed = webdavPath.replaceAll(RegExp(r'^/+|/+$'), '');
  return trimmed.isEmpty ? '/' : '/$trimmed';
}

/// Convenience wrapper for a [CacheableFile].
String ocsPathOf(CacheableFile file) => ocsPathFor(file.path);
