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);