Added Nextcloud base

This commit is contained in:
2023-02-20 10:56:51 +01:00
parent e54ae9c2ff
commit fea36b9a6d
63 changed files with 1863 additions and 700 deletions

@ -3,19 +3,20 @@ import 'dart:developer';
import 'package:marianum_mobile/api/apiRequest.dart';
import 'package:http/http.dart' as http;
import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
import 'package:marianum_mobile/api/webuntis/apiResponse.dart';
import 'package:marianum_mobile/api/apiResponse.dart';
import 'apiParams.dart';
import '../apiParams.dart';
import 'queries/authenticate/authenticate.dart';
abstract class WebuntisApi extends ApiRequest {
Uri endpoint = Uri.parse("https://peleus.webuntis.com/WebUntis/jsonrpc.do?school=marianum-fulda");
String method;
ApiParams? genericParam;
http.Response? response;
bool authenticatedResponse;
WebuntisApi(this.method, this.genericParam, {this.authenticatedResponse = true}) : super(Uri.parse("https://peleus.webuntis.com/WebUntis/jsonrpc.do?school=marianum-fulda"));
WebuntisApi(this.method, this.genericParam, {this.authenticatedResponse = true});
Future<String> query(WebuntisApi untis) async {
@ -50,4 +51,14 @@ abstract class WebuntisApi extends ApiRequest {
String _body() {
return genericParam == null ? "{}" : jsonEncode(genericParam);
}
Future<http.Response> post(String data, Map<String, String>? headers) async {
log("POST: $endpoint\n$data");
return await http
.post(endpoint, body: data, headers: headers)
.timeout(
const Duration(seconds: 10),
onTimeout: () => throw WebuntisError("Timeout", 1)
);
}
}