mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-15 08:12:28 -06:00
feat: Add remote_version endpoint to mock server, resolve versions, update search
This commit is contained in:
4338
packages/mock_server/lib/english_words.dart
Normal file
4338
packages/mock_server/lib/english_words.dart
Normal file
File diff suppressed because it is too large
Load Diff
@@ -5,16 +5,12 @@ export 'response_delay_generator.dart';
|
||||
import 'dart:convert';
|
||||
import 'dart:math';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:mock_server/english_words.dart';
|
||||
import 'package:mock_server/response_delay_generator.dart';
|
||||
|
||||
import 'package:shelf/shelf.dart';
|
||||
|
||||
import 'package:shelf/shelf_io.dart' as shelf_io;
|
||||
|
||||
import 'package:shelf_router/shelf_router.dart' as shelf_router;
|
||||
|
||||
import 'package:flutter/services.dart' show rootBundle;
|
||||
|
||||
Logger log = Logger('LocalMockApiServer');
|
||||
@@ -233,6 +229,23 @@ class LocalMockApiServer {
|
||||
var data = await loadFixture('statistics');
|
||||
return JsonMockResponse.ok(data, _delayGenerator.nextDelay());
|
||||
});
|
||||
|
||||
app.get('/api/search/autocomplete/', (Request req) async {
|
||||
log.info("Responding to /api/search/autocomplete");
|
||||
final term = req.url.queryParameters["term"] ?? '';
|
||||
final limit = int.parse(req.url.queryParameters["limit"] ?? '5');
|
||||
return JsonMockResponse.ok(
|
||||
mostFrequentWords.where((element) => element.startsWith(term)).take(limit).toList(),
|
||||
_delayGenerator.nextDelay(),
|
||||
);
|
||||
});
|
||||
|
||||
app.get('/api/remote_version/', (Request req) async {
|
||||
return JsonMockResponse.ok({
|
||||
'version': 'v1.14.5',
|
||||
'update_available': false,
|
||||
}, _delayGenerator.nextDelay());
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> start() async {
|
||||
|
||||
@@ -65,7 +65,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
);
|
||||
}
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
throw const PaperlessServerException(ErrorCode.documentUpdateFailed);
|
||||
}
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
throw const PaperlessServerException(ErrorCode.documentLoadFailed);
|
||||
}
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
}
|
||||
throw const PaperlessServerException(ErrorCode.documentDeleteFailed);
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
}
|
||||
throw const PaperlessServerException(ErrorCode.documentPreviewFailed);
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
} on PaperlessServerException {
|
||||
throw const PaperlessServerException(ErrorCode.documentAsnQueryFailed);
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
);
|
||||
}
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
);
|
||||
return response.data;
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
);
|
||||
return response.data;
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
response.data as Map<String, dynamic>,
|
||||
);
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
}
|
||||
throw const PaperlessServerException(ErrorCode.autocompleteQueryError);
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
}
|
||||
throw const PaperlessServerException(ErrorCode.suggestionsQueryError);
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,7 +285,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
return null;
|
||||
}
|
||||
} on DioError catch (err) {
|
||||
throw err.error!;
|
||||
throw err.error ?? const PaperlessServerException.unknown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
equatable: ^2.0.5
|
||||
http: ^0.13.5
|
||||
http: ^1.0.0
|
||||
json_annotation: ^4.8.1
|
||||
intl: any #^0.18.0
|
||||
dio: ^5.0.0
|
||||
|
||||
Reference in New Issue
Block a user