19 lines
758 B
Dart
19 lines
758 B
Dart
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);
|