added initial draft of inbox

This commit is contained in:
Anton Stubenbord
2022-11-22 01:33:50 +01:00
parent a7295fb739
commit 8e7a5dddbf
16 changed files with 243 additions and 27 deletions

View File

@@ -0,0 +1,29 @@
import 'dart:convert';
import 'package:http/http.dart';
import 'package:injectable/injectable.dart';
import 'package:paperless_mobile/core/model/error_message.dart';
import 'package:paperless_mobile/core/model/paperless_statistics.dart';
import 'package:paperless_mobile/core/type/types.dart';
abstract class PaperlessStatisticsService {
Future<PaperlessStatistics> getStatistics();
}
@Injectable(as: PaperlessStatisticsService)
class PaperlessStatisticsServiceImpl extends PaperlessStatisticsService {
final BaseClient client;
PaperlessStatisticsServiceImpl(@Named('timeoutClient') this.client);
@override
Future<PaperlessStatistics> getStatistics() async {
final response = await client.get(Uri.parse('/api/statistics/'));
if (response.statusCode == 200) {
return PaperlessStatistics.fromJson(
jsonDecode(utf8.decode(response.bodyBytes)) as JSON,
);
}
throw const ErrorMessage.unknown();
}
}