update api to comply with REST

add delete build endpoint
parse some info to new build view
This commit is contained in:
2024-02-17 19:50:15 +01:00
committed by Lukas-Heiligenbrunner
parent 05448a6217
commit a4f1179c94
16 changed files with 309 additions and 211 deletions

View File

@@ -3,7 +3,7 @@ import 'package:flutter/foundation.dart';
class ApiClient {
static const String _apiBase =
kDebugMode ? "https://aurcache.heili.eu/api" : "api";
kDebugMode ? "http://localhost:8081/api" : "api";
final Dio _dio = Dio(BaseOptions(baseUrl: _apiBase));
String? token;

View File

@@ -21,14 +21,19 @@ extension BuildsAPI on ApiClient {
}
Future<Build> getBuild(int id) async {
final resp = await getRawClient().get("/builds/${id}");
final resp = await getRawClient().get("/build/${id}");
return Build.fromJson(resp.data);
}
Future<bool> deleteBuild(int id) async {
final resp = await getRawClient().delete("/build/${id}");
return resp.statusCode == 400;
}
Future<String> getOutput({int? line, required int buildID}) async {
String uri = "/builds/output?buildid=$buildID";
String uri = "/build/$buildID/output";
if (line != null) {
uri += "&startline=$line";
uri += "?startline=$line";
}
final resp = await getRawClient().get(uri);
return resp.data.toString();

View File

@@ -20,19 +20,20 @@ extension PackagesAPI on ApiClient {
}
Future<void> addPackage({required String name}) async {
final resp =
await getRawClient().post("/packages/add", data: {'name': name});
final resp = await getRawClient().post("/package", data: {'name': name});
print(resp.data);
}
Future<void> updatePackage({bool force = false, required int id}) async {
Future<int> updatePackage({bool force = false, required int id}) async {
final resp = await getRawClient()
.post("/packages/$id/update", data: {'force': force});
.post("/package/$id/update", data: {'force': force});
print(resp.data);
return resp.data as int;
}
Future<bool> deletePackage(int id) async {
final resp = await getRawClient().post("/package/delete/$id");
final resp = await getRawClient().delete("/package/$id");
return resp.statusCode == 200;
}
}