Files
Client/lib/api/marianumcloud/webdav/webdavApi.dart
T
2026-05-05 21:44:23 +02:00

26 lines
961 B
Dart

import 'package:nextcloud/nextcloud.dart';
import '../../../model/account_data.dart';
import '../../../model/endpoint_data.dart';
import '../../apiRequest.dart';
import '../../apiResponse.dart';
abstract class WebdavApi<T> extends ApiRequest {
T genericParams;
WebdavApi(this.genericParams) {
establishWebdavConnection();
}
Future<ApiResponse> run();
static Future<WebDavClient> webdav = establishWebdavConnection();
static Future<WebDavClient> establishWebdavConnection() async => NextcloudClient(Uri.parse('https://${EndpointData().nextcloud().full()}'), password: AccountData().getPassword(), loginName: AccountData().getUsername()).webdav;
/// Builds the WebDAV download URL without embedded credentials. Callers must
/// authenticate via the [AccountData.authHeaders] header instead.
static String buildWebdavUrl() =>
'https://${EndpointData().nextcloud().full()}/remote.php/dav/files/${AccountData().getUsername()}/';
}