mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-10 14:07:59 -06:00
feat: More resturcturings, adapt code to previous changes
This commit is contained in:
@@ -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 ?? ''}";
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user