30 lines
1.1 KiB
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")}/";
|
|
}
|
|
} |