Skip to content

Commit 2ca22a7

Browse files
committed
auto upload credentials copy
1 parent 8fd792d commit 2ca22a7

12 files changed

Lines changed: 523 additions & 165 deletions

lib/api/api_interceptor.dart

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,31 @@ import 'package:flutter/material.dart';
33
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
44
import 'package:piwigo_ng/app.dart';
55
import 'package:piwigo_ng/components/snackbars.dart';
6+
import 'package:piwigo_ng/services/preferences_service.dart';
67
import 'package:piwigo_ng/utils/localizations.dart';
78

89
class ApiInterceptor extends Interceptor {
910
@override
10-
void onRequest(RequestOptions options, RequestInterceptorHandler handler) async {
11+
void onRequest(
12+
RequestOptions options, RequestInterceptorHandler handler) async {
1113
print('[${options.method}] ${options.queryParameters['method']}');
1214
FlutterSecureStorage secureStorage = const FlutterSecureStorage();
13-
options.baseUrl = (await secureStorage.read(key: 'SERVER_URL'))!;
15+
options.baseUrl =
16+
(await secureStorage.read(key: Preferences.serverUrlKey))!;
1417
return super.onRequest(options, handler);
1518
}
1619

1720
@override
1821
void onResponse(Response response, ResponseInterceptorHandler handler) async {
19-
print('[${response.statusCode}] ${response.requestOptions.queryParameters['method']}');
22+
print(
23+
'[${response.statusCode}] ${response.requestOptions.queryParameters['method']}');
2024
return super.onResponse(response, handler);
2125
}
2226

2327
@override
2428
void onError(DioError err, ErrorInterceptorHandler handler) async {
25-
debugPrint('[${err.response?.statusCode}] ${err.requestOptions.queryParameters['method']}');
29+
debugPrint(
30+
'[${err.response?.statusCode}] ${err.requestOptions.queryParameters['method']}');
2631
debugPrint('${err.error}\n${err.stackTrace}');
2732
switch (err.response?.statusCode) {
2833
case null:

lib/api/authentication.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Future<ApiResult<bool>> loginUser(
4545

4646
ApiClient.cookieJar.deleteAll();
4747
FlutterSecureStorage secureStorage = const FlutterSecureStorage();
48-
await secureStorage.write(key: 'SERVER_URL', value: url);
48+
await secureStorage.write(key: Preferences.serverUrlKey, value: url);
4949

5050
if (username.isEmpty && password.isEmpty) {
5151
ApiResult<StatusModel> status = await sessionStatus();

lib/api/images.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,8 @@ Future<bool> editImage(ImageModel image,
480480
}
481481

482482
/// Return a list of files that are not in the server
483-
Future<List<File>> checkImagesNotExist(List<File> files) async {
483+
Future<List<File>> checkImagesNotExist(List<File> files,
484+
{bool returnExistFiles = false}) async {
484485
Map<String, File> md5sumList = {};
485486

486487
for (File file in files) {
@@ -503,7 +504,11 @@ Future<List<File>> checkImagesNotExist(List<File> files) async {
503504
if (data['stat'] == 'fail') return [];
504505
print(data['result']);
505506
Map<String, dynamic> existResult = data['result'];
506-
existResult.removeWhere((key, value) => value != null);
507+
if (returnExistFiles) {
508+
existResult.removeWhere((key, value) => value == null);
509+
} else {
510+
existResult.removeWhere((key, value) => value != null);
511+
}
507512
return existResult.keys.map((md5sum) => md5sumList[md5sum]!).toList();
508513
} on DioError catch (e) {
509514
debugPrint('Edit images: ${e.message}');

lib/app.dart

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ import 'package:piwigo_ng/views/upload/upload_view_page.dart';
2424
class App extends StatelessWidget {
2525
const App({Key? key}) : super(key: key);
2626

27-
static final GlobalKey<ScaffoldMessengerState> scaffoldMessengerKey = GlobalKey<ScaffoldMessengerState>();
28-
static final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
27+
static final GlobalKey<ScaffoldMessengerState> scaffoldMessengerKey =
28+
GlobalKey<ScaffoldMessengerState>();
29+
static final GlobalKey<NavigatorState> navigatorKey =
30+
GlobalKey<NavigatorState>();
2931
static final GlobalKey appKey = GlobalKey();
3032

3133
@override
@@ -83,7 +85,7 @@ Route<dynamic> generateRoute(RouteSettings settings) {
8385
arguments = settings.arguments as Map<String, dynamic>;
8486
}
8587

86-
bool isAdmin = appPreferences.getBool('IS_USER_ADMIN') ?? false;
88+
bool isAdmin = appPreferences.getBool(Preferences.isAdminKey) ?? false;
8789

8890
if (settings.name == null) {
8991
debugPrint("no route name");

0 commit comments

Comments
 (0)