feat: More resturcturings, adapt code to previous changes

This commit is contained in:
Anton Stubenbord
2023-05-01 23:05:54 +02:00
parent 88085b5662
commit d5c68e023c
35 changed files with 475 additions and 200 deletions

View File

@@ -51,7 +51,7 @@ class UserModel with _$UserModel {
if (value.firstName == null) {
return value.lastName;
}
return value.firstName! + (value.lastName ?? '');
return "${value.firstName!} ${value.lastName ?? ''}";
},
);

View File

@@ -18,7 +18,12 @@ class PaperlessServerStatsApiImpl implements PaperlessServerStatsApi {
@override
Future<PaperlessServerInformationModel> getServerInformation() async {
final response = await client.get("/api/");
final response = await client.get("/api/remote_version/");
if (response.statusCode == 200) {
final version = response.data["version"] as String;
final updateAvailable = response.data["update_available"] as bool;
}
throw PaperlessServerException.unknown();
final version =
response.headers[PaperlessServerInformationModel.versionHeader]?.first ?? 'unknown';
final apiVersion = int.tryParse(

View File

@@ -2,5 +2,5 @@ import 'package:paperless_api/paperless_api.dart';
abstract class PaperlessUserApi {
Future<int> findCurrentUserId();
Future<UserModel> find(int id);
Future<UserModel> findCurrentUser();
}

View File

@@ -1,6 +1,5 @@
import 'package:dio/dio.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_api/src/modules/user_api/paperless_user_api.dart';
class PaperlessUserApiV2Impl implements PaperlessUserApi {
final Dio client;
@@ -11,13 +10,13 @@ class PaperlessUserApiV2Impl implements PaperlessUserApi {
Future<int> findCurrentUserId() async {
final response = await client.get("/api/ui_settings/");
if (response.statusCode == 200) {
return response.data['user']['id'];
return response.data['user_id'];
}
throw const PaperlessServerException.unknown();
}
@override
Future<UserModel> find(int id) async {
Future<UserModel> findCurrentUser() async {
final response = await client.get("/api/ui_settings/");
if (response.statusCode == 200) {
return UserModelV2.fromJson(response.data);

View File

@@ -1,7 +1,9 @@
import 'package:paperless_api/src/models/user_model.dart';
abstract class PaperlessUserApiV3 {
Future<Iterable<UserModel>> findWhere({
Future<UserModelV3> find(int id);
Future<Iterable<UserModelV3>> findAll();
Future<Iterable<UserModelV3>> findWhere({
String startsWith,
String endsWith,
String contains,

View File

@@ -1,7 +1,5 @@
import 'package:dio/dio.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_api/src/modules/user_api/paperless_user_api.dart';
import 'package:paperless_api/src/modules/user_api/paperless_user_api_v3.dart';
class PaperlessUserApiV3Impl implements PaperlessUserApi, PaperlessUserApiV3 {
final Dio dio;
@@ -9,7 +7,7 @@ class PaperlessUserApiV3Impl implements PaperlessUserApi, PaperlessUserApiV3 {
PaperlessUserApiV3Impl(this.dio);
@override
Future<UserModel> find(int id) async {
Future<UserModelV3> find(int id) async {
final response = await dio.get("/api/users/$id/");
if (response.statusCode == 200) {
return UserModelV3.fromJson(response.data);
@@ -18,7 +16,7 @@ class PaperlessUserApiV3Impl implements PaperlessUserApi, PaperlessUserApiV3 {
}
@override
Future<Iterable<UserModel>> findWhere({
Future<Iterable<UserModelV3>> findWhere({
String startsWith = '',
String endsWith = '',
String contains = '',
@@ -31,9 +29,9 @@ class PaperlessUserApiV3Impl implements PaperlessUserApi, PaperlessUserApiV3 {
"username__iexact": username,
});
if (response.statusCode == 200) {
return PagedSearchResult<UserModel>.fromJson(
return PagedSearchResult<UserModelV3>.fromJson(
response.data,
UserModelV3.fromJson as UserModel Function(Object?),
UserModelV3.fromJson as UserModelV3 Function(Object?),
).results;
}
throw const PaperlessServerException.unknown();
@@ -43,8 +41,26 @@ class PaperlessUserApiV3Impl implements PaperlessUserApi, PaperlessUserApiV3 {
Future<int> findCurrentUserId() async {
final response = await dio.get("/api/ui_settings/");
if (response.statusCode == 200) {
return response.data['user_id'];
return response.data['user']['id'];
}
throw const PaperlessServerException.unknown();
}
@override
Future<Iterable<UserModelV3>> findAll() async {
final response = await dio.get("/api/users/");
if (response.statusCode == 200) {
return PagedSearchResult<UserModelV3>.fromJson(
response.data,
UserModelV3.fromJson as UserModelV3 Function(Object?),
).results;
}
throw const PaperlessServerException.unknown();
}
@override
Future<UserModel> findCurrentUser() async {
final id = await findCurrentUserId();
return find(id);
}
}