Client/lib/api/marianumcloud/webdav/webdavApi.dart

30 lines
1.1 KiB
Dart

import 'package:nextcloud/nextcloud.dart';
import 'package:shared_preferences/shared_preferences.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<String> webdavConnectString = buildWebdavConnectString();
static Future<WebDavClient> establishWebdavConnection() async {
SharedPreferences preferences = await SharedPreferences.getInstance();
return NextcloudClient("https://cloud.marianum-fulda.de/", username: preferences.getString("username"), password: preferences.getString("password"), loginName: preferences.getString("username")).webdav;
}
static Future<String> buildWebdavConnectString() async {
SharedPreferences preferences = await SharedPreferences.getInstance();
return "https://${preferences.getString("username")}:${preferences.getString("password")}@cloud.marianum-fulda.de/remote.php/dav/files/${preferences.getString("username")}/";
}
}