2025-11-16 11:25:27 +00:00
|
|
|
import 'dart:developer';
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
|
|
import 'package:mnemo_cards_backend/cron/task.dart';
|
|
|
|
|
import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart';
|
|
|
|
|
import 'package:mnemo_cards_backend/packs/pack_manager.dart';
|
|
|
|
|
|
|
|
|
|
import '../main.dart';
|
|
|
|
|
import 'package:path/path.dart';
|
|
|
|
|
|
|
|
|
|
class DeleteOldArchives with Task {
|
|
|
|
|
@override
|
|
|
|
|
String get name => 'delete_old_archives';
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Future<void> task() async {
|
2025-12-13 14:48:00 +00:00
|
|
|
return;
|
|
|
|
|
// final archives =
|
|
|
|
|
// (await Directory('${PackManager.assetsDirectory.path}/pack_archives')
|
|
|
|
|
// .list(recursive: true)
|
|
|
|
|
// .toList())
|
|
|
|
|
// .whereType<File>();
|
|
|
|
|
// final packs = await isar.cardPackModels.where().findAll();
|
|
|
|
|
// final toDelete = <File>[];
|
|
|
|
|
// for (final pack in packs) {
|
|
|
|
|
// try {
|
|
|
|
|
// for (final archive in archives) {
|
|
|
|
|
// final names = basename(archive.path).split('_');
|
|
|
|
|
// if (names.first == pack.id?.toString() &&
|
|
|
|
|
// names.last != pack.version) {
|
|
|
|
|
// toDelete.add(archive);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// } catch (e) {
|
|
|
|
|
// print('$name on pack ${pack.id}: $e');
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// try {
|
|
|
|
|
// for (final file in toDelete) {
|
|
|
|
|
// await file.delete();
|
|
|
|
|
// }
|
|
|
|
|
// } catch (e, s) {
|
|
|
|
|
// log(
|
|
|
|
|
// 'Error when deleting packs',
|
|
|
|
|
// error: e,
|
|
|
|
|
// stackTrace: s,
|
|
|
|
|
// );
|
|
|
|
|
// }
|
|
|
|
|
// print('deleted ${toDelete.length} old archives');
|
2025-11-16 11:25:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
int get intervalSeconds => 60 * 60 * 3;
|
|
|
|
|
}
|