Skip to content

Commit

Permalink
refactor(app): move data deletion to Hive utils
Browse files Browse the repository at this point in the history
  • Loading branch information
tamara-slosarek authored and tamslo committed Jan 17, 2025
1 parent 14138ae commit 0da040c
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 33 deletions.
32 changes: 32 additions & 0 deletions app/lib/common/utilities/hive_utils.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import 'dart:convert';
import 'dart:io';

import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart';

import '../module.dart';

Future<List<int>> retrieveExistingOrGenerateKey() async {
const secureStorage = FlutterSecureStorage();
Expand All @@ -17,3 +21,31 @@ Future<List<int>> retrieveExistingOrGenerateKey() async {
final key = await secureStorage.read(key: 'key');
return base64Url.decode(key!);
}

Future<void> deleteAllAppData() async {
await _deleteCacheDir();
await _deleteAppDir();
await UserData.erase();
await MetaData.erase();
await DrugsWithGuidelines.erase();
}

// The folders themselves cannot be deleted on iOS, therefore delete all content
// inside the folders
void _deleteFolderContent(Directory directory) {
if (!directory.existsSync()) return;
for (final item in directory.listSync()) {
item.deleteSync(recursive: true);
}
}

Future<void> _deleteCacheDir() async {
final tempDir = await getTemporaryDirectory();
_deleteFolderContent(tempDir);
}

Future<void> _deleteAppDir() async {
final appDocDir = await getApplicationDocumentsDirectory();
_deleteFolderContent(appDocDir);
}

2 changes: 1 addition & 1 deletion app/lib/more/pages/more.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import '../../common/module.dart';
import '../utils.dart';
import '../../common/utilities/hive_utils.dart';

@RoutePage()
class MorePage extends StatelessWidget {
Expand Down
32 changes: 0 additions & 32 deletions app/lib/more/utils.dart

This file was deleted.

0 comments on commit 0da040c

Please sign in to comment.